optimize iot import

plp
chenshuichuan 2 years ago
parent 46f68077b8
commit 59d9d0ab3e

@ -1,37 +1,35 @@
package cn.iocoder.yudao.module.iot.controller.admin.device;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.DevicePageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.DeviceRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.DeviceSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceAttributeDO;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
import cn.iocoder.yudao.module.iot.dal.dataobject.gateway.GatewayDO;
import cn.iocoder.yudao.module.iot.framework.gateway.service.impl.TheGatewayServiceImpl;
import cn.iocoder.yudao.module.iot.service.device.DeviceService;
import cn.iocoder.yudao.module.iot.service.gateway.GatewayService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceAttributeDO;
import cn.iocoder.yudao.module.iot.service.device.DeviceService;
@Tag(name = "管理后台 - 物联设备")
@RestController
@RequestMapping("/iot/device")
@ -89,13 +87,14 @@ public class DeviceController {
@PreAuthorize("@ss.hasPermission('iot:device:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportDeviceExcel(@Valid DevicePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<DeviceDO> list = deviceService.getDevicePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "物联设备.xls", "数据", DeviceRespVO.class,
BeanUtils.toBean(list, DeviceRespVO.class));
BeanUtils.toBean(list, DeviceRespVO.class));
}
@GetMapping("/pushDevice")
@Operation(summary = "下发物联设备配置到网关")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@ -103,7 +102,7 @@ public class DeviceController {
public CommonResult<String> pushDevice(@RequestParam("id") Long id) {
DeviceDO device = deviceService.getDevice(id);
GatewayDO gatewayDO = gatewayService.getGateway(device.getGatewayId());
return deviceService.pushDevice(device,gatewayDO);
return deviceService.pushDevice(device, gatewayDO);
}
// ==================== 子表(设备属性) ====================
@ -112,7 +111,7 @@ public class DeviceController {
@Parameter(name = "deviceId", description = "设备id")
@PreAuthorize("@ss.hasPermission('iot:device:query')")
public CommonResult<PageResult<DeviceAttributeDO>> getDeviceAttributePage(PageParam pageReqVO,
@RequestParam("deviceId") Long deviceId) {
@RequestParam("deviceId") Long deviceId) {
return success(deviceService.getDeviceAttributePage(pageReqVO, deviceId));
}
@ -142,12 +141,12 @@ public class DeviceController {
return success(true);
}
@GetMapping("/device-attribute/get")
@Operation(summary = "获得设备属性")
@Parameter(name = "id", description = "编号", required = true)
@GetMapping("/device-attribute/get")
@Operation(summary = "获得设备属性")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('iot:device:query')")
public CommonResult<DeviceAttributeDO> getDeviceAttribute(@RequestParam("id") Long id) {
return success(deviceService.getDeviceAttribute(id));
}
public CommonResult<DeviceAttributeDO> getDeviceAttribute(@RequestParam("id") Long id) {
return success(deviceService.getDeviceAttribute(id));
}
}

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.iot.controller.admin.device.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.iot.controller.admin.device.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 物联设备 Response VO")
@Data

@ -1,8 +1,8 @@
package cn.iocoder.yudao.module.iot.controller.admin.device.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import javax.validation.constraints.NotEmpty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 物联设备新增/修改 Request VO")

@ -1,34 +1,33 @@
package cn.iocoder.yudao.module.iot.controller.admin.formula;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.FormulaPageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.FormulaRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.FormulaSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaDO;
import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaDetailDO;
import cn.iocoder.yudao.module.iot.service.formula.FormulaService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaDO;
import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaDetailDO;
import cn.iocoder.yudao.module.iot.service.formula.FormulaService;
@Tag(name = "管理后台 - 计算公式")
@RestController
@RequestMapping("/iot/formula")
@ -84,12 +83,12 @@ public class FormulaController {
@PreAuthorize("@ss.hasPermission('iot:formula:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportFormulaExcel(@Valid FormulaPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<FormulaDO> list = formulaService.getFormulaPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "计算公式.xls", "数据", FormulaRespVO.class,
BeanUtils.toBean(list, FormulaRespVO.class));
BeanUtils.toBean(list, FormulaRespVO.class));
}
// ==================== 子表(计算公式明细) ====================
@ -99,7 +98,7 @@ public class FormulaController {
@Parameter(name = "formulaId", description = "计算公式ID")
@PreAuthorize("@ss.hasPermission('iot:formula:query')")
public CommonResult<PageResult<FormulaDetailDO>> getFormulaDetailPage(PageParam pageReqVO,
@RequestParam("formulaId") Long formulaId) {
@RequestParam("formulaId") Long formulaId) {
return success(formulaService.getFormulaDetailPage(pageReqVO, formulaId));
}
@ -127,12 +126,12 @@ public class FormulaController {
return success(true);
}
@GetMapping("/formula-detail/get")
@Operation(summary = "获得计算公式明细")
@Parameter(name = "id", description = "编号", required = true)
@GetMapping("/formula-detail/get")
@Operation(summary = "获得计算公式明细")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('iot:formula:query')")
public CommonResult<FormulaDetailDO> getFormulaDetail(@RequestParam("id") Long id) {
return success(formulaService.getFormulaDetail(id));
}
public CommonResult<FormulaDetailDO> getFormulaDetail(@RequestParam("id") Long id) {
return success(formulaService.getFormulaDetail(id));
}
}

@ -1,34 +1,31 @@
package cn.iocoder.yudao.module.iot.controller.admin.formula;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.*;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.FormulaRecordPageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.FormulaRecordRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.FormulaRecordSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaRecordDO;
import cn.iocoder.yudao.module.iot.service.formula.FormulaRecordService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 变量记录")
@RestController
@ -85,12 +82,12 @@ public class FormulaRecordController {
@PreAuthorize("@ss.hasPermission('iot:formula-record:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportFormulaRecordExcel(@Valid FormulaRecordPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<FormulaRecordDO> list = formulaRecordService.getFormulaRecordPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "变量记录.xls", "数据", FormulaRecordRespVO.class,
BeanUtils.toBean(list, FormulaRecordRespVO.class));
BeanUtils.toBean(list, FormulaRecordRespVO.class));
}
}

@ -1,11 +1,12 @@
package cn.iocoder.yudao.module.iot.controller.admin.formula.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,11 +1,12 @@
package cn.iocoder.yudao.module.iot.controller.admin.formula.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,17 +1,14 @@
package cn.iocoder.yudao.module.iot.controller.admin.formula.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 变量记录 Response VO")
@Data

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.iot.controller.admin.formula.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.iot.controller.admin.formula.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 计算公式 Response VO")
@Data

@ -1,8 +1,8 @@
package cn.iocoder.yudao.module.iot.controller.admin.formula.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import javax.validation.constraints.NotEmpty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 计算公式新增/修改 Request VO")

@ -1,34 +1,31 @@
package cn.iocoder.yudao.module.iot.controller.admin.frpc;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.frpc.vo.*;
import cn.iocoder.yudao.module.iot.controller.admin.frpc.vo.FrpcProxyServerPageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.frpc.vo.FrpcProxyServerRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.frpc.vo.FrpcProxyServerSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.frpc.FrpcProxyServerDO;
import cn.iocoder.yudao.module.iot.service.frpc.FrpcProxyServerService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 代理服务")
@RestController
@ -85,12 +82,12 @@ public class FrpcProxyServerController {
@PreAuthorize("@ss.hasPermission('iot:frpc-proxy-server:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportFrpcProxyServerExcel(@Valid FrpcProxyServerPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<FrpcProxyServerDO> list = frpcProxyServerService.getFrpcProxyServerPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "代理服务.xls", "数据", FrpcProxyServerRespVO.class,
BeanUtils.toBean(list, FrpcProxyServerRespVO.class));
BeanUtils.toBean(list, FrpcProxyServerRespVO.class));
}
}

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.iot.controller.admin.frpc.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.iot.controller.admin.frpc.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 代理服务 Response VO")
@Data

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.iot.controller.admin.frpc.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotNull;

@ -1,34 +1,32 @@
package cn.iocoder.yudao.module.iot.controller.admin.frps;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.iot.controller.admin.frps.vo.FrpsServerPageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.frps.vo.FrpsServerRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.frps.vo.FrpsServerSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.frps.FrpsServerDO;
import cn.iocoder.yudao.module.iot.service.frps.FrpsServerService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.frps.vo.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.frps.FrpsServerDO;
import cn.iocoder.yudao.module.iot.service.frps.FrpsServerService;
@Tag(name = "管理后台 - 代理服务器")
@RestController
@RequestMapping("/iot/frps-server")
@ -84,12 +82,12 @@ public class FrpsServerController {
@PreAuthorize("@ss.hasPermission('iot:frpc-proxy-server:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportFrpsServerExcel(@Valid FrpsServerPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<FrpsServerDO> list = frpsServerService.getFrpsServerPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "代理服务器.xls", "数据", FrpsServerRespVO.class,
BeanUtils.toBean(list, FrpsServerRespVO.class));
BeanUtils.toBean(list, FrpsServerRespVO.class));
}
}

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.iot.controller.admin.frps.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.iot.controller.admin.frps.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 代理服务器 Response VO")
@Data

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.iot.controller.admin.frps.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotNull;

@ -1,38 +1,37 @@
package cn.iocoder.yudao.module.iot.controller.admin.gateway;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.iot.controller.admin.gateway.vo.GatewayPageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.gateway.vo.GatewayRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.gateway.vo.GatewaySaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
import cn.iocoder.yudao.module.iot.dal.dataobject.gateway.GatewayDO;
import cn.iocoder.yudao.module.iot.framework.constant.IsEnableConstant;
import cn.iocoder.yudao.module.iot.framework.mqtt.consumer.IMqttservice;
import cn.iocoder.yudao.module.iot.service.gateway.GatewayService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.gateway.vo.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.gateway.GatewayDO;
import cn.iocoder.yudao.module.iot.service.gateway.GatewayService;
@Tag(name = "管理后台 - 网关")
@RestController
@RequestMapping("/iot/gateway")
@ -125,12 +124,12 @@ public class GatewayController {
@PreAuthorize("@ss.hasPermission('iot:gateway:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportGatewayExcel(@Valid GatewayPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<GatewayDO> list = gatewayService.getGatewayPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "网关.xls", "数据", GatewayRespVO.class,
BeanUtils.toBean(list, GatewayRespVO.class));
BeanUtils.toBean(list, GatewayRespVO.class));
}
// ==================== 子表(物联设备) ====================
@ -168,12 +167,12 @@ public class GatewayController {
return success(true);
}
@GetMapping("/device/get")
@Operation(summary = "获得物联设备")
@Parameter(name = "id", description = "编号", required = true)
@GetMapping("/device/get")
@Operation(summary = "获得物联设备")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('iot:gateway:query')")
public CommonResult<DeviceDO> getDevice(@RequestParam("id") Long id) {
return success(gatewayService.getDevice(id));
}
public CommonResult<DeviceDO> getDevice(@RequestParam("id") Long id) {
return success(gatewayService.getDevice(id));
}
}

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.iot.controller.admin.gateway.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.iot.controller.admin.gateway.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 网关 Response VO")
@Data

@ -1,9 +1,7 @@
package cn.iocoder.yudao.module.iot.controller.admin.gateway.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import lombok.Data;
@Schema(description = "管理后台 - 网关新增/修改 Request VO")
@Data

@ -1,33 +1,30 @@
package cn.iocoder.yudao.module.iot.controller.admin.iotorganization;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo.IotOrganizationListReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo.IotOrganizationRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo.IotOrganizationSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.iotorganization.IotOrganizationDO;
import cn.iocoder.yudao.module.iot.service.iotorganization.IotOrganizationService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.iotorganization.IotOrganizationDO;
import cn.iocoder.yudao.module.iot.service.iotorganization.IotOrganizationService;
@Tag(name = "管理后台 - IOT组织")
@RestController
@RequestMapping("/iot/organization")
@ -83,11 +80,11 @@ public class IotOrganizationController {
@PreAuthorize("@ss.hasPermission('iot:organization:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportOrganizationExcel(@Valid IotOrganizationListReqVO listReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<IotOrganizationDO> list = organizationService.getOrganizationList(listReqVO);
// 导出 Excel
ExcelUtils.write(response, "IOT组织.xls", "数据", IotOrganizationRespVO.class,
BeanUtils.toBean(list, IotOrganizationRespVO.class));
BeanUtils.toBean(list, IotOrganizationRespVO.class));
}
}

@ -1,12 +1,11 @@
package cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - IOT组织列表 Request VO")

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - IOT组织 Response VO")
@Data

@ -1,9 +1,11 @@
package cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - IOT组织新增/修改 Request VO")
@Data
public class IotOrganizationSaveReqVO {

@ -1,33 +1,32 @@
package cn.iocoder.yudao.module.iot.controller.admin.kanban;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.iot.controller.admin.kanban.vo.KanbanPageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.kanban.vo.KanbanRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.kanban.vo.KanbanSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.kanban.KanbanDO;
import cn.iocoder.yudao.module.iot.service.kanban.KanbanService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.kanban.vo.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.kanban.KanbanDO;
import cn.iocoder.yudao.module.iot.service.kanban.KanbanService;
@Tag(name = "管理后台 - 物联看板")
@RestController
@RequestMapping("/iot/kanban")
@ -83,12 +82,12 @@ public class KanbanController {
@PreAuthorize("@ss.hasPermission('iot:kanban:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportKanbanExcel(@Valid KanbanPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<KanbanDO> list = kanbanService.getKanbanPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "物联看板.xls", "数据", KanbanRespVO.class,
BeanUtils.toBean(list, KanbanRespVO.class));
BeanUtils.toBean(list, KanbanRespVO.class));
}
}

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.iot.controller.admin.kanban.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.iot.controller.admin.kanban.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 物联看板 Response VO")
@Data

@ -1,9 +1,10 @@
package cn.iocoder.yudao.module.iot.controller.admin.kanban.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 物联看板新增/修改 Request VO")
@Data
public class KanbanSaveReqVO {

@ -1,33 +1,31 @@
package cn.iocoder.yudao.module.iot.controller.admin.mqttrecord;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.*;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.MqttRecordPageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.MqttRecordRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.MqttRecordSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.mqttrecord.MqttRecordDO;
import cn.iocoder.yudao.module.iot.service.mqttrecord.MqttRecordService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 数采记录")
@RestController
@ -84,12 +82,12 @@ public class MqttRecordController {
@PreAuthorize("@ss.hasPermission('iot:mqtt-record:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportMqttRecordExcel(@Valid MqttRecordPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<MqttRecordDO> list = mqttRecordService.getMqttRecordPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "数采记录.xls", "数据", MqttRecordRespVO.class,
BeanUtils.toBean(list, MqttRecordRespVO.class));
BeanUtils.toBean(list, MqttRecordRespVO.class));
}
}

@ -1,12 +1,7 @@
package cn.iocoder.yudao.module.iot.controller.admin.mqttrecord;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.MqttRecordPageReqVO;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.MqttRecordRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.MqttRecordSaveReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.mqttrecord.MqttRecordDO;
@ -14,17 +9,12 @@ import cn.iocoder.yudao.module.iot.service.mqttrecord.MqttRecordService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 数采记录")
@ -66,5 +56,4 @@ public class MqttServerController {
}
}

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,12 +1,11 @@
package cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 数采记录 Response VO")
@Data

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.device;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* DO
@ -77,13 +76,13 @@ public class DeviceAttributeDO extends BaseDO {
private String ioStatus;
/**
* 线(01)
*
* <p>
* {@link TODO iot_1_or_0 }
*/
private String isLinearTransfer;
/**
*
*
* <p>
* {@link TODO iot_device_data_type }
*/
private String dataType;
@ -145,7 +144,7 @@ public class DeviceAttributeDO extends BaseDO {
private String sourceDataType;
/**
* binary,octal,hexadecimal,decimal
*
* <p>
* {@link TODO iot_device_data_transfer_type }
*/
private String transferDataType;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.device;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* DO
@ -45,7 +44,7 @@ public class DeviceDO extends BaseDO {
private String deviceType;
/**
* Siemens(S7-300S7-1500)
*
* <p>
* {@link TODO iot_siemens_type }
*/
private String siemensSeries;
@ -55,7 +54,7 @@ public class DeviceDO extends BaseDO {
private String siemensConnectParam;
/**
* (01)
*
* <p>
* {@link TODO iot_1_or_0 }
*/
private String readCronType;
@ -65,7 +64,7 @@ public class DeviceDO extends BaseDO {
private Integer readRepeatValue;
/**
*
*
* <p>
* {@link TODO iot_device_data_unit }
*/
private String readRepeatUnit;
@ -91,13 +90,13 @@ public class DeviceDO extends BaseDO {
private String writeCron;
/**
* (01)
*
* <p>
* {@link TODO iot_1_or_0 }
*/
private String localPersistent;
/**
* (12)
*
* <p>
* {@link TODO iot_device_uploading_type }
*/
private String uploadRate;
@ -107,19 +106,19 @@ public class DeviceDO extends BaseDO {
private Integer rateCount;
/**
* modbus(serial-rtu)
*
* <p>
* {@link TODO iot_modbus_type }
*/
private String modbusProtocol;
/**
* modbus(client)
*
* <p>
* {@link TODO iot_modbus_mold }
*/
private String modbusPattern;
/**
* modbus
*
* <p>
* {@link TODO iot_modbus_port }
*/
private String portName;
@ -129,13 +128,13 @@ public class DeviceDO extends BaseDO {
private String modbusConnectParam;
/**
* (01)
*
* <p>
* {@link TODO iot_1_or_0 }
*/
private String modbusReadAddrGap;
/**
* (0,1)
*
* <p>
* {@link TODO iot_1_or_0 }
*/
private String isUpload;

@ -1,12 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.formula;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* DO
@ -42,7 +40,7 @@ public class FormulaDO extends BaseDO {
private String formula;
/**
*
*
* <p>
* {@link TODO mes_data_type }
*/
private String resultType;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.formula;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* DO
@ -61,13 +60,13 @@ public class FormulaDetailDO extends BaseDO {
private String demoValue;
/**
* sum:max-min:-
*
* <p>
* {@link TODO iot_formula_var_type }
*/
private String sumType;
/**
* day,week,month
*
* <p>
* {@link TODO iot_formula_cal_rang }
*/
private String sumRange;

@ -1,12 +1,13 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.formula;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
@ -46,7 +47,7 @@ public class FormulaRecordDO extends BaseDO {
private String workerName;
/**
*
*
* <p>
* {@link TODO mes_data_type }
*/
private String resultType;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.frpc;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* DO
@ -45,7 +44,7 @@ public class FrpcProxyServerDO extends BaseDO {
private String suffixPath;
/**
*
*
* <p>
* {@link TODO iot_proxy_server_status }
*/
private String localStatus;
@ -63,7 +62,7 @@ public class FrpcProxyServerDO extends BaseDO {
private String proxyAddress;
/**
*
*
* <p>
* {@link TODO iot_proxy_server_status }
*/
private String proxyStatus;
@ -73,7 +72,7 @@ public class FrpcProxyServerDO extends BaseDO {
private String remark;
/**
*
*
* <p>
* {@link TODO infra_boolean_string }
*/
private Boolean isEnable;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.frps;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* DO
@ -53,7 +52,7 @@ public class FrpsServerDO extends BaseDO {
private String frpsPath;
/**
*
*
* <p>
* {@link TODO iot_proxy_server_status }
*/
private String frpsState;
@ -63,7 +62,7 @@ public class FrpsServerDO extends BaseDO {
private String remark;
/**
*
*
* <p>
* {@link TODO infra_boolean_string }
*/
private Boolean isEnable;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.gateway;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* DO
@ -57,7 +56,7 @@ public class GatewayDO extends BaseDO {
private String gatewayCode;
/**
*
*
* <p>
* {@link TODO iot_gateway_status }
*/
private String gatewayStatus;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.iotorganization;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* IOT DO
@ -51,25 +50,25 @@ public class IotOrganizationDO extends BaseDO {
private Long parentId;
/**
*
*
* <p>
* {@link TODO mes_machine_status }
*/
private Integer status;
/**
*
*
* <p>
* {@link TODO iot_device_type }
*/
private String deviceType;
/**
*
*
* <p>
* {@link TODO iot_org_class }
*/
private String orgClass;
/**
*
*
* <p>
* {@link TODO mes_org_type }
*/
private String machineType;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.kanban;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* DO
@ -53,7 +52,7 @@ public class KanbanDO extends BaseDO {
private String remark;
/**
*
*
* <p>
* {@link TODO infra_boolean_string }
*/
private Boolean isEnable;

@ -1,12 +1,12 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.mqttrecord;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* DO

@ -1,14 +1,14 @@
package cn.iocoder.yudao.module.iot.dal.mysql.device;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceAttributeDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* Mapper
*
@ -19,13 +19,14 @@ public interface DeviceAttributeMapper extends BaseMapperX<DeviceAttributeDO> {
default PageResult<DeviceAttributeDO> selectPage(PageParam reqVO, Long deviceId) {
return selectPage(reqVO, new LambdaQueryWrapperX<DeviceAttributeDO>()
.eq(DeviceAttributeDO::getDeviceId, deviceId)
.orderByDesc(DeviceAttributeDO::getId));
.eq(DeviceAttributeDO::getDeviceId, deviceId)
.orderByDesc(DeviceAttributeDO::getId));
}
default int deleteByDeviceId(Long deviceId) {
return delete(DeviceAttributeDO::getDeviceId, deviceId);
}
default List<DeviceAttributeDO> selectByDeviceId(Long deviceId) {
return selectList(DeviceAttributeDO::getDeviceId, deviceId);
}

@ -2,12 +2,11 @@ package cn.iocoder.yudao.module.iot.dal.mysql.device;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceAttributeDO;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.DevicePageReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.*;
import java.util.List;
@ -51,6 +50,7 @@ public interface DeviceMapper extends BaseMapperX<DeviceDO> {
.betweenIfPresent(DeviceDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(DeviceDO::getId));
}
default PageResult<DeviceDO> selectPage(PageParam reqVO, Long gatewayId) {
return selectPage(reqVO, new LambdaQueryWrapperX<DeviceDO>()
.eq(DeviceDO::getGatewayId, gatewayId)
@ -60,6 +60,7 @@ public interface DeviceMapper extends BaseMapperX<DeviceDO> {
default int deleteByGatewayId(Long gatewayId) {
return delete(DeviceDO::getGatewayId, gatewayId);
}
default List<DeviceDO> selectByGatewayId(Long gatewayId) {
return selectList(DeviceDO::getGatewayId, gatewayId);
}

@ -1,11 +1,9 @@
package cn.iocoder.yudao.module.iot.dal.mysql.formula;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaDetailDO;
import org.apache.ibatis.annotations.Mapper;
@ -19,8 +17,8 @@ public interface FormulaDetailMapper extends BaseMapperX<FormulaDetailDO> {
default PageResult<FormulaDetailDO> selectPage(PageParam reqVO, Long formulaId) {
return selectPage(reqVO, new LambdaQueryWrapperX<FormulaDetailDO>()
.eq(FormulaDetailDO::getFormulaId, formulaId)
.orderByDesc(FormulaDetailDO::getId));
.eq(FormulaDetailDO::getFormulaId, formulaId)
.orderByDesc(FormulaDetailDO::getId));
}
default int deleteByFormulaId(Long formulaId) {

@ -1,13 +1,11 @@
package cn.iocoder.yudao.module.iot.dal.mysql.formula;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.FormulaPageReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.*;
/**
* Mapper

@ -1,13 +1,11 @@
package cn.iocoder.yudao.module.iot.dal.mysql.formula;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.FormulaRecordPageReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaRecordDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.formula.vo.*;
/**
* Mapper

@ -1,13 +1,11 @@
package cn.iocoder.yudao.module.iot.dal.mysql.frpc;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.frpc.vo.FrpcProxyServerPageReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.frpc.FrpcProxyServerDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.frpc.vo.*;
/**
* Mapper

@ -1,13 +1,11 @@
package cn.iocoder.yudao.module.iot.dal.mysql.frps;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.frps.vo.FrpsServerPageReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.frps.FrpsServerDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.frps.vo.*;
/**
* Mapper

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.iot.dal.mysql.gateway;
import java.util.*;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.gateway.vo.GatewayPageReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.gateway.GatewayDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.gateway.vo.*;
import java.util.List;
/**
* Mapper
@ -32,6 +31,7 @@ public interface GatewayMapper extends BaseMapperX<GatewayDO> {
.eqIfPresent(GatewayDO::getTopic, reqVO.getTopic())
.orderByDesc(GatewayDO::getId));
}
default List<GatewayDO> selectListByIsEnable(boolean isEnable) {
return selectList(GatewayDO::getIsEnable, isEnable);
}

@ -1,13 +1,12 @@
package cn.iocoder.yudao.module.iot.dal.mysql.iotorganization;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo.IotOrganizationListReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.iotorganization.IotOrganizationDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.iotorganization.vo.*;
import java.util.List;
/**
* IOT Mapper
@ -32,9 +31,9 @@ public interface IotOrganizationMapper extends BaseMapperX<IotOrganizationDO> {
.orderByDesc(IotOrganizationDO::getId));
}
default IotOrganizationDO selectByParentIdAndName(Long parentId, String name) {
return selectOne(IotOrganizationDO::getParentId, parentId, IotOrganizationDO::getName, name);
}
default IotOrganizationDO selectByParentIdAndName(Long parentId, String name) {
return selectOne(IotOrganizationDO::getParentId, parentId, IotOrganizationDO::getName, name);
}
default Long selectCountByParentId(Long parentId) {
return selectCount(IotOrganizationDO::getParentId, parentId);

@ -1,13 +1,11 @@
package cn.iocoder.yudao.module.iot.dal.mysql.kanban;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.kanban.vo.KanbanPageReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.kanban.KanbanDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.kanban.vo.*;
/**
* Mapper

@ -1,13 +1,11 @@
package cn.iocoder.yudao.module.iot.dal.mysql.mqttrecord;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.MqttRecordPageReqVO;
import cn.iocoder.yudao.module.iot.dal.dataobject.mqttrecord.MqttRecordDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.iot.controller.admin.mqttrecord.vo.*;
/**
* Mapper

@ -9,100 +9,106 @@ import java.util.Map;
@Data
@AllArgsConstructor
public class AddressDataType {
private static Map<String,String> tdDataTypeMap = new HashMap<>();
private static Map<String,String> mysqlDataTypeMap = new HashMap<>();
private static Map<String,Integer> gatewayDataTypeMap = new HashMap<>();
static {
tdDataTypeMap.put("bool","BOOL");
tdDataTypeMap.put("int8","INT");
tdDataTypeMap.put("int16","INT");
tdDataTypeMap.put("int32","INT");
tdDataTypeMap.put("int64","BIGINT");
tdDataTypeMap.put("uint8","INT");
tdDataTypeMap.put("uint16","INT");
tdDataTypeMap.put("uint32","BIGINT");
tdDataTypeMap.put("uint64","BIGINT");
tdDataTypeMap.put("float32","float");
tdDataTypeMap.put("float64","float");
tdDataTypeMap.put("string","NCHAR(255)");
tdDataTypeMap.put("date","TIMESTAMP");
tdDataTypeMap.put("bcd","BINARY(64)");
private static Map<String, String> tdDataTypeMap = new HashMap<>();
private static Map<String, String> mysqlDataTypeMap = new HashMap<>();
private static Map<String, Integer> gatewayDataTypeMap = new HashMap<>();
gatewayDataTypeMap.put("bool",1);
gatewayDataTypeMap.put("int8",2);
gatewayDataTypeMap.put("uint8",3);
gatewayDataTypeMap.put("int16",4);
gatewayDataTypeMap.put("uint16",5);
gatewayDataTypeMap.put("int32",6);
gatewayDataTypeMap.put("uint32",7);
gatewayDataTypeMap.put("int64",8);
gatewayDataTypeMap.put("uint64",9);
gatewayDataTypeMap.put("float32",10);
gatewayDataTypeMap.put("float64",11);
gatewayDataTypeMap.put("string",12);
gatewayDataTypeMap.put("date",13);
gatewayDataTypeMap.put("bcd",14);
static {
tdDataTypeMap.put("bool", "BOOL");
tdDataTypeMap.put("int8", "INT");
tdDataTypeMap.put("int16", "INT");
tdDataTypeMap.put("int32", "INT");
tdDataTypeMap.put("int64", "BIGINT");
tdDataTypeMap.put("uint8", "INT");
tdDataTypeMap.put("uint16", "INT");
tdDataTypeMap.put("uint32", "BIGINT");
tdDataTypeMap.put("uint64", "BIGINT");
tdDataTypeMap.put("float32", "float");
tdDataTypeMap.put("float64", "float");
tdDataTypeMap.put("string", "NCHAR(255)");
tdDataTypeMap.put("date", "TIMESTAMP");
tdDataTypeMap.put("bcd", "BINARY(64)");
gatewayDataTypeMap.put("Bool",1);
gatewayDataTypeMap.put("Int8",2);
gatewayDataTypeMap.put("Uint8",3);
gatewayDataTypeMap.put("Int16",4);
gatewayDataTypeMap.put("Uint16",5);
gatewayDataTypeMap.put("Int32",6);
gatewayDataTypeMap.put("Uint32",7);
gatewayDataTypeMap.put("Int64",8);
gatewayDataTypeMap.put("Uint64",9);
gatewayDataTypeMap.put("Float32",10);
gatewayDataTypeMap.put("Float64",11);
gatewayDataTypeMap.put("String",12);
gatewayDataTypeMap.put("Date",13);
gatewayDataTypeMap.put("Bcd",14);
gatewayDataTypeMap.put("bool", 1);
gatewayDataTypeMap.put("int8", 2);
gatewayDataTypeMap.put("uint8", 3);
gatewayDataTypeMap.put("int16", 4);
gatewayDataTypeMap.put("uint16", 5);
gatewayDataTypeMap.put("int32", 6);
gatewayDataTypeMap.put("uint32", 7);
gatewayDataTypeMap.put("int64", 8);
gatewayDataTypeMap.put("uint64", 9);
gatewayDataTypeMap.put("float32", 10);
gatewayDataTypeMap.put("float64", 11);
gatewayDataTypeMap.put("string", 12);
gatewayDataTypeMap.put("date", 13);
gatewayDataTypeMap.put("bcd", 14);
gatewayDataTypeMap.put("BOOL",1);
gatewayDataTypeMap.put("INT8",2);
gatewayDataTypeMap.put("UINT8",3);
gatewayDataTypeMap.put("INT16",4);
gatewayDataTypeMap.put("UINT16",5);
gatewayDataTypeMap.put("INT32",6);
gatewayDataTypeMap.put("UINT32",7);
gatewayDataTypeMap.put("INT64",8);
gatewayDataTypeMap.put("UINT64",9);
gatewayDataTypeMap.put("FLOAT32",10);
gatewayDataTypeMap.put("FLOAT64",11);
gatewayDataTypeMap.put("STRING",12);
gatewayDataTypeMap.put("DATE",13);
gatewayDataTypeMap.put("BCD",14);
gatewayDataTypeMap.put("Bool", 1);
gatewayDataTypeMap.put("Int8", 2);
gatewayDataTypeMap.put("Uint8", 3);
gatewayDataTypeMap.put("Int16", 4);
gatewayDataTypeMap.put("Uint16", 5);
gatewayDataTypeMap.put("Int32", 6);
gatewayDataTypeMap.put("Uint32", 7);
gatewayDataTypeMap.put("Int64", 8);
gatewayDataTypeMap.put("Uint64", 9);
gatewayDataTypeMap.put("Float32", 10);
gatewayDataTypeMap.put("Float64", 11);
gatewayDataTypeMap.put("String", 12);
gatewayDataTypeMap.put("Date", 13);
gatewayDataTypeMap.put("Bcd", 14);
mysqlDataTypeMap.put("bool","BOOL");
mysqlDataTypeMap.put("int8","INT");
mysqlDataTypeMap.put("int16","INT");
mysqlDataTypeMap.put("int32","INT");
mysqlDataTypeMap.put("int64","BIGINT");
mysqlDataTypeMap.put("uint8","INT");
mysqlDataTypeMap.put("uint16","INT");
mysqlDataTypeMap.put("uint32","BIGINT");
mysqlDataTypeMap.put("uint64","BIGINT");
mysqlDataTypeMap.put("float32","float");
mysqlDataTypeMap.put("float64","float");
mysqlDataTypeMap.put("string","varchar(255)");
mysqlDataTypeMap.put("date","TIMESTAMP");
mysqlDataTypeMap.put("bcd","double");
}
public static Map<String,String> getDataTypeMap(){
return tdDataTypeMap;
}
public static String getTdDataType(String originDataType){
return tdDataTypeMap.get(originDataType);
}
public static String getTMysqlDataType(String originDataType){
//return mysqlDataTypeMap.get(originDataType);
return "double(8,4)";
}
public static Map<String,Integer> getGatewayDataTypeMap(){
return gatewayDataTypeMap;
}
public static Integer getGatewayDataTypeMap(String originDataType){
return gatewayDataTypeMap.get(originDataType);
}
gatewayDataTypeMap.put("BOOL", 1);
gatewayDataTypeMap.put("INT8", 2);
gatewayDataTypeMap.put("UINT8", 3);
gatewayDataTypeMap.put("INT16", 4);
gatewayDataTypeMap.put("UINT16", 5);
gatewayDataTypeMap.put("INT32", 6);
gatewayDataTypeMap.put("UINT32", 7);
gatewayDataTypeMap.put("INT64", 8);
gatewayDataTypeMap.put("UINT64", 9);
gatewayDataTypeMap.put("FLOAT32", 10);
gatewayDataTypeMap.put("FLOAT64", 11);
gatewayDataTypeMap.put("STRING", 12);
gatewayDataTypeMap.put("DATE", 13);
gatewayDataTypeMap.put("BCD", 14);
mysqlDataTypeMap.put("bool", "BOOL");
mysqlDataTypeMap.put("int8", "INT");
mysqlDataTypeMap.put("int16", "INT");
mysqlDataTypeMap.put("int32", "INT");
mysqlDataTypeMap.put("int64", "BIGINT");
mysqlDataTypeMap.put("uint8", "INT");
mysqlDataTypeMap.put("uint16", "INT");
mysqlDataTypeMap.put("uint32", "BIGINT");
mysqlDataTypeMap.put("uint64", "BIGINT");
mysqlDataTypeMap.put("float32", "float");
mysqlDataTypeMap.put("float64", "float");
mysqlDataTypeMap.put("string", "varchar(255)");
mysqlDataTypeMap.put("date", "TIMESTAMP");
mysqlDataTypeMap.put("bcd", "double");
}
public static Map<String, String> getDataTypeMap() {
return tdDataTypeMap;
}
public static String getTdDataType(String originDataType) {
return tdDataTypeMap.get(originDataType);
}
public static String getTMysqlDataType(String originDataType) {
//return mysqlDataTypeMap.get(originDataType);
return "double(8,4)";
}
public static Map<String, Integer> getGatewayDataTypeMap() {
return gatewayDataTypeMap;
}
public static Integer getGatewayDataTypeMap(String originDataType) {
return gatewayDataTypeMap.get(originDataType);
}
}

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.iot.framework.constant;
public class Constants {
public final static String MQTT_timestamp_format = "yyyy-MM-dd HH:mm:ss.SSS";
public final static String MQTT_timestamp_format = "yyyy-MM-dd HH:mm:ss.SSS";
}

@ -1,12 +1,9 @@
package cn.iocoder.yudao.module.iot.framework.constant;
import cn.hutool.core.util.ObjUtil;
import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
@Getter
@AllArgsConstructor
public enum DeviceTypeEnum {

@ -1,12 +1,12 @@
package cn.iocoder.yudao.module.iot.framework.constant;
public class IsEnableConstant {
/**
*
*/
public final static boolean IsEnableFalse = false;
/**
*
*/
public final static boolean IsEnableTrue = true;
/**
*
*/
public final static boolean IsEnableFalse = false;
/**
*
*/
public final static boolean IsEnableTrue = true;
}

@ -12,7 +12,7 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class ChangeStatus {
private String changesStatusID;
private String newStatus;
private String oldStatus;
private String changesStatusID;
private String newStatus;
private String oldStatus;
}

@ -9,197 +9,198 @@ import java.util.List;
public class HttpEntity {
public static List<BasicNameValuePair> getRemoveParam(String ids) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("ids", ids));
return params;
}
public static List<BasicNameValuePair> getRemoveSiemens(Integer id) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("ids", id.toString()));
return params;
}
public static List<BasicNameValuePair> getPageParam(PageEntity pageEntity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("pageSize", pageEntity.getPageSize()));
params.add(new BasicNameValuePair("pageNum", pageEntity.getPageNum()));
params.add(new BasicNameValuePair("orderByColumn", pageEntity.getOrderByColumn()));
params.add(new BasicNameValuePair("isAsc", pageEntity.getIsAsc()));
return params;
}
public static List<BasicNameValuePair> getPageParamVo(PageEntityByDecice pageEntity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("pageSize", pageEntity.getPageSize()));
params.add(new BasicNameValuePair("pageNum", pageEntity.getPageNum()));
params.add(new BasicNameValuePair("orderByColumn", pageEntity.getOrderByColumn()));
params.add(new BasicNameValuePair("isAsc", pageEntity.getIsAsc()));
params.add(new BasicNameValuePair("deviceID", pageEntity.getDeviceID()));
return params;
}
public static List<BasicNameValuePair> getParam(DeviceSiemensEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("deviceConfigID", entity.getDeviceConfigID()));
params.add(new BasicNameValuePair("deviceID", entity.getDeviceID()));
params.add(new BasicNameValuePair("deviceName", entity.getDeviceName()));
params.add(new BasicNameValuePair("localPersistent", entity.getLocalPersistent()));
params.add(new BasicNameValuePair("rateCount", entity.getRateCount().toString()));
params.add(new BasicNameValuePair("siemensConnectParam", entity.getSiemensConnectParam()));
params.add(new BasicNameValuePair("siemensSeries", entity.getSiemensSeries()));
params.add(new BasicNameValuePair("uploadRate", entity.getUploadRate()));
params.add(new BasicNameValuePair("pageSize", entity.getReadRepeatValue().toString()));
params.add(new BasicNameValuePair("pageNum", entity.getWriteRepeatValue().toString()));
params.add(new BasicNameValuePair("ReadCron", entity.getReadCron()));
params.add(new BasicNameValuePair("ReadCronType", entity.getReadCronType()));
params.add(new BasicNameValuePair("ReadRepeatUnit", entity.getReadRepeatUnit()));
params.add(new BasicNameValuePair("WriteCron", entity.getWriteCron()));
params.add(new BasicNameValuePair("WriteCronType", entity.getWriteCronType()));
params.add(new BasicNameValuePair("WriteRepeatUnit", entity.getWriteRepeatUnit()));
params.add(new BasicNameValuePair("ids", entity.getWriteRepeatUnit()));
return params;
}
public static List<BasicNameValuePair> getParam(DeviceModbusEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
if (entity.getReadRepeatValue() != null) {
params.add(new BasicNameValuePair("pageSize", entity.getReadRepeatValue().toString()));
}
if (entity.getWriteRepeatValue() != null) {
params.add(new BasicNameValuePair("pageNum", entity.getWriteRepeatValue().toString()));
}
if (entity.getDeviceConfigID() != null) {
params.add(new BasicNameValuePair("orderByColumn", entity.getDeviceConfigID()));
}
if (entity.getDeviceId() != null) {
params.add(new BasicNameValuePair("deviceID", entity.getDeviceId()));
}
if (entity.getDeviceName() != null) {
params.add(new BasicNameValuePair("deviceName", entity.getDeviceName()));
}
if (entity.getModbusProtocol() != null) {
params.add(new BasicNameValuePair("modbusProtocol", entity.getModbusProtocol()));
}
if (entity.getModbusPattern() != null) {
params.add(new BasicNameValuePair("modbusPattern", entity.getModbusPattern()));
}
if (entity.getPortName() != null) {
params.add(new BasicNameValuePair("portName", entity.getPortName()));
}
if (entity.getModbusConnectParam() != null) {
params.add(new BasicNameValuePair("modbusConnectParam", entity.getModbusConnectParam()));
}
if (entity.getReadCronType() != null) {
params.add(new BasicNameValuePair("readCronType", entity.getReadCronType()));
}
if (entity.getReadRepeatValue() != null) {
params.add(new BasicNameValuePair("readRepeatValue", entity.getReadRepeatValue().toString()));
}
if (entity.getReadRepeatUnit() != null) {
params.add(new BasicNameValuePair("readRepeatUnit", entity.getReadRepeatUnit()));
}
if (entity.getReadCron() != null) {
params.add(new BasicNameValuePair("readCron", entity.getReadCron()));
}
if (entity.getWriteCronType() != null) {
params.add(new BasicNameValuePair("writeCronType", entity.getWriteCronType()));
}
if (entity.getWriteRepeatValue() != null) {
params.add(new BasicNameValuePair("writeRepeatValue", entity.getWriteRepeatValue().toString()));
}
if (entity.getWriteRepeatUnit() != null) {
params.add(new BasicNameValuePair("writeRepeatUnit", entity.getWriteRepeatUnit()));
}
if (entity.getReadRepeatValue() != null) {
params.add(new BasicNameValuePair("writeCron", entity.getWriteCron()));
}
if (entity.getLocalPersistent() != null) {
params.add(new BasicNameValuePair("localPersistent", entity.getLocalPersistent()));
}
if (entity.getUploadRate() != null) {
params.add(new BasicNameValuePair("uploadRate", entity.getUploadRate()));
}
if (entity.getRateCount() != null) {
params.add(new BasicNameValuePair("rateCount", entity.getRateCount().toString()));
}
if (entity.getModbusReadAddrGap() != null) {
params.add(new BasicNameValuePair("modbusReadAddrGap", entity.getModbusReadAddrGap()));
}
return params;
}
public static List<BasicNameValuePair> getParam(ModbusPointEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("deviceConfigContentID", entity.getDeviceConfigContentID()));
params.add(new BasicNameValuePair("modbusAddressType", entity.getModbusAddressType()));
public static List<BasicNameValuePair> getRemoveParam(String ids) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("ids", ids));
return params;
}
public static List<BasicNameValuePair> getRemoveSiemens(Integer id) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("ids", id.toString()));
return params;
}
public static List<BasicNameValuePair> getPageParam(PageEntity pageEntity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("pageSize", pageEntity.getPageSize()));
params.add(new BasicNameValuePair("pageNum", pageEntity.getPageNum()));
params.add(new BasicNameValuePair("orderByColumn", pageEntity.getOrderByColumn()));
params.add(new BasicNameValuePair("isAsc", pageEntity.getIsAsc()));
return params;
}
public static List<BasicNameValuePair> getPageParamVo(PageEntityByDecice pageEntity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("pageSize", pageEntity.getPageSize()));
params.add(new BasicNameValuePair("pageNum", pageEntity.getPageNum()));
params.add(new BasicNameValuePair("orderByColumn", pageEntity.getOrderByColumn()));
params.add(new BasicNameValuePair("isAsc", pageEntity.getIsAsc()));
params.add(new BasicNameValuePair("deviceID", pageEntity.getDeviceID()));
return params;
}
public static List<BasicNameValuePair> getParam(DeviceSiemensEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("deviceConfigID", entity.getDeviceConfigID()));
params.add(new BasicNameValuePair("deviceID", entity.getDeviceID()));
params.add(new BasicNameValuePair("deviceName", entity.getDeviceName()));
params.add(new BasicNameValuePair("localPersistent", entity.getLocalPersistent()));
params.add(new BasicNameValuePair("rateCount", entity.getRateCount().toString()));
params.add(new BasicNameValuePair("siemensConnectParam", entity.getSiemensConnectParam()));
params.add(new BasicNameValuePair("siemensSeries", entity.getSiemensSeries()));
params.add(new BasicNameValuePair("uploadRate", entity.getUploadRate()));
params.add(new BasicNameValuePair("pageSize", entity.getReadRepeatValue().toString()));
params.add(new BasicNameValuePair("pageNum", entity.getWriteRepeatValue().toString()));
params.add(new BasicNameValuePair("ReadCron", entity.getReadCron()));
params.add(new BasicNameValuePair("ReadCronType", entity.getReadCronType()));
params.add(new BasicNameValuePair("ReadRepeatUnit", entity.getReadRepeatUnit()));
params.add(new BasicNameValuePair("WriteCron", entity.getWriteCron()));
params.add(new BasicNameValuePair("WriteCronType", entity.getWriteCronType()));
params.add(new BasicNameValuePair("WriteRepeatUnit", entity.getWriteRepeatUnit()));
params.add(new BasicNameValuePair("ids", entity.getWriteRepeatUnit()));
return params;
}
public static List<BasicNameValuePair> getParam(DeviceModbusEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
if (entity.getReadRepeatValue() != null) {
params.add(new BasicNameValuePair("pageSize", entity.getReadRepeatValue().toString()));
}
if (entity.getWriteRepeatValue() != null) {
params.add(new BasicNameValuePair("pageNum", entity.getWriteRepeatValue().toString()));
}
if (entity.getDeviceConfigID() != null) {
params.add(new BasicNameValuePair("orderByColumn", entity.getDeviceConfigID()));
}
if (entity.getDeviceId() != null) {
params.add(new BasicNameValuePair("deviceID", entity.getDeviceId()));
}
if (entity.getDeviceName() != null) {
params.add(new BasicNameValuePair("deviceName", entity.getDeviceName()));
}
if (entity.getModbusProtocol() != null) {
params.add(new BasicNameValuePair("modbusProtocol", entity.getModbusProtocol()));
}
if (entity.getModbusPattern() != null) {
params.add(new BasicNameValuePair("modbusPattern", entity.getModbusPattern()));
}
if (entity.getPortName() != null) {
params.add(new BasicNameValuePair("portName", entity.getPortName()));
}
if (entity.getModbusConnectParam() != null) {
params.add(new BasicNameValuePair("modbusConnectParam", entity.getModbusConnectParam()));
}
if (entity.getReadCronType() != null) {
params.add(new BasicNameValuePair("readCronType", entity.getReadCronType()));
}
if (entity.getReadRepeatValue() != null) {
params.add(new BasicNameValuePair("readRepeatValue", entity.getReadRepeatValue().toString()));
}
if (entity.getReadRepeatUnit() != null) {
params.add(new BasicNameValuePair("readRepeatUnit", entity.getReadRepeatUnit()));
}
if (entity.getReadCron() != null) {
params.add(new BasicNameValuePair("readCron", entity.getReadCron()));
}
if (entity.getWriteCronType() != null) {
params.add(new BasicNameValuePair("writeCronType", entity.getWriteCronType()));
}
if (entity.getWriteRepeatValue() != null) {
params.add(new BasicNameValuePair("writeRepeatValue", entity.getWriteRepeatValue().toString()));
}
if (entity.getWriteRepeatUnit() != null) {
params.add(new BasicNameValuePair("writeRepeatUnit", entity.getWriteRepeatUnit()));
}
if (entity.getReadRepeatValue() != null) {
params.add(new BasicNameValuePair("writeCron", entity.getWriteCron()));
}
if (entity.getLocalPersistent() != null) {
params.add(new BasicNameValuePair("localPersistent", entity.getLocalPersistent()));
}
if (entity.getUploadRate() != null) {
params.add(new BasicNameValuePair("uploadRate", entity.getUploadRate()));
}
if (entity.getRateCount() != null) {
params.add(new BasicNameValuePair("rateCount", entity.getRateCount().toString()));
}
if (entity.getModbusReadAddrGap() != null) {
params.add(new BasicNameValuePair("modbusReadAddrGap", entity.getModbusReadAddrGap()));
}
return params;
}
public static List<BasicNameValuePair> getParam(ModbusPointEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("deviceConfigContentID", entity.getDeviceConfigContentID()));
params.add(new BasicNameValuePair("modbusAddressType", entity.getModbusAddressType()));
// params.add(new BasicNameValuePair("modbusFieldAccess", entity.getModbusFieldAccess()));
params.add(new BasicNameValuePair("modbusFieldAddress", entity.getModbusFieldAddress()));
params.add(new BasicNameValuePair("modbusFieldDataType", entity.getModbusFieldDataType()));
params.add(new BasicNameValuePair("modbusFieldName", entity.getModbusFieldName()));
params.add(new BasicNameValuePair("modbusFieldOrder", entity.getModbusFieldOrder()));
params.add(new BasicNameValuePair("modbusFieldPrecision", entity.getModbusFieldPrecision()));
if (entity.getModbusFieldSize()!=null){
params.add(new BasicNameValuePair("modbusFieldSize",entity.getModbusFieldSize().toString()));
}
params.add(new BasicNameValuePair("modbusFieldUnit", entity.getModbusFieldUnit()));
params.add(new BasicNameValuePair("modbusSlaveID", entity.getModbusSlaveID()));
return params;
}
public static List<BasicNameValuePair> getParam(SiemensPointEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("deviceConfigContentID", String.valueOf(entity.getDeviceConfigContentID())));
params.add(new BasicNameValuePair("siemensFieldAddress", entity.getSiemensFieldAddress()));
params.add(new BasicNameValuePair("siemensFieldDataType", entity.getSiemensFieldDataType().toString()));
params.add(new BasicNameValuePair("siemensFieldName", entity.getSiemensFieldName()));
params.add(new BasicNameValuePair("siemensFieldPrecision",String.valueOf(entity.getSiemensFieldPrecision())));
params.add(new BasicNameValuePair("siemensFieldUnit", entity.getSiemensFieldUnit()));
return params;
}
public static List<BasicNameValuePair> getParam(DeviceVideoEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("modbusFieldAddress", entity.getModbusFieldAddress()));
params.add(new BasicNameValuePair("modbusFieldDataType", entity.getModbusFieldDataType()));
params.add(new BasicNameValuePair("modbusFieldName", entity.getModbusFieldName()));
params.add(new BasicNameValuePair("modbusFieldOrder", entity.getModbusFieldOrder()));
params.add(new BasicNameValuePair("modbusFieldPrecision", entity.getModbusFieldPrecision()));
if (entity.getModbusFieldSize() != null) {
params.add(new BasicNameValuePair("modbusFieldSize", entity.getModbusFieldSize().toString()));
}
params.add(new BasicNameValuePair("modbusFieldUnit", entity.getModbusFieldUnit()));
params.add(new BasicNameValuePair("modbusSlaveID", entity.getModbusSlaveID()));
return params;
}
public static List<BasicNameValuePair> getParam(SiemensPointEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("deviceConfigContentID", String.valueOf(entity.getDeviceConfigContentID())));
params.add(new BasicNameValuePair("siemensFieldAddress", entity.getSiemensFieldAddress()));
params.add(new BasicNameValuePair("siemensFieldDataType", entity.getSiemensFieldDataType().toString()));
params.add(new BasicNameValuePair("siemensFieldName", entity.getSiemensFieldName()));
params.add(new BasicNameValuePair("siemensFieldPrecision", String.valueOf(entity.getSiemensFieldPrecision())));
params.add(new BasicNameValuePair("siemensFieldUnit", entity.getSiemensFieldUnit()));
return params;
}
public static List<BasicNameValuePair> getParam(DeviceVideoEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
// params.add(new BasicNameValuePair("deviceConfigID", String.valueOf(entity.getDeviceConfigID())));
params.add(new BasicNameValuePair("deviceID", entity.getDeviceID()));
params.add(new BasicNameValuePair("videoAddress", entity.getVideoAddress()));
params.add(new BasicNameValuePair("serverAddress", entity.getServerAddress()));
params.add(new BasicNameValuePair("deviceName",String.valueOf(entity.getDeviceName())));
return params;
}
public static List<BasicNameValuePair> getParam(MqttBrokerEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("cloudConfigID", entity.getCloudConfigID()));
params.add(new BasicNameValuePair("cloudStatus", entity.getCloudStatus()));
params.add(new BasicNameValuePair("createTime", entity.getCreateTime()));
params.add(new BasicNameValuePair("updateTime", entity.getUpdateTime()));
params.add(new BasicNameValuePair("mqttAddress", entity.getMqttAddress()));
params.add(new BasicNameValuePair("mqttPassword", entity.getMqttPassword()));
params.add(new BasicNameValuePair("mqttUserName", entity.getMqttUserName()));
params.add(new BasicNameValuePair("mqttPort", entity.getMqttPort()));
params.add(new BasicNameValuePair("mqttPublishTopic", entity.getMqttPublishTopic()));
params.add(new BasicNameValuePair("mqttSslFlag", entity.getMqttSslFlag().toString()));
return params;
}
/*启用模型*/
public static List<BasicNameValuePair> getChangestatus(ChangeStatus changeStatus) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("changesStatusID", changeStatus.getChangesStatusID()));
params.add(new BasicNameValuePair("newStatus", changeStatus.getNewStatus()));
params.add(new BasicNameValuePair("oldStatus", changeStatus.getOldStatus()));
return params;
}
public static List<BasicNameValuePair> getLoginParam(String username,String password) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("password", password));
return params;
}
params.add(new BasicNameValuePair("deviceID", entity.getDeviceID()));
params.add(new BasicNameValuePair("videoAddress", entity.getVideoAddress()));
params.add(new BasicNameValuePair("serverAddress", entity.getServerAddress()));
params.add(new BasicNameValuePair("deviceName", String.valueOf(entity.getDeviceName())));
return params;
}
public static List<BasicNameValuePair> getParam(MqttBrokerEntity entity) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("cloudConfigID", entity.getCloudConfigID()));
params.add(new BasicNameValuePair("cloudStatus", entity.getCloudStatus()));
params.add(new BasicNameValuePair("createTime", entity.getCreateTime()));
params.add(new BasicNameValuePair("updateTime", entity.getUpdateTime()));
params.add(new BasicNameValuePair("mqttAddress", entity.getMqttAddress()));
params.add(new BasicNameValuePair("mqttPassword", entity.getMqttPassword()));
params.add(new BasicNameValuePair("mqttUserName", entity.getMqttUserName()));
params.add(new BasicNameValuePair("mqttPort", entity.getMqttPort()));
params.add(new BasicNameValuePair("mqttPublishTopic", entity.getMqttPublishTopic()));
params.add(new BasicNameValuePair("mqttSslFlag", entity.getMqttSslFlag().toString()));
return params;
}
/*启用模型*/
public static List<BasicNameValuePair> getChangestatus(ChangeStatus changeStatus) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("changesStatusID", changeStatus.getChangesStatusID()));
params.add(new BasicNameValuePair("newStatus", changeStatus.getNewStatus()));
params.add(new BasicNameValuePair("oldStatus", changeStatus.getOldStatus()));
return params;
}
public static List<BasicNameValuePair> getLoginParam(String username, String password) {
List<BasicNameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("password", password));
return params;
}
}

@ -11,8 +11,8 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
public class ListEntity {
String code;
String msg;
String total;
List<JSONObject> rows;
String code;
String msg;
String total;
List<JSONObject> rows;
}

@ -8,104 +8,104 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class DeviceModbusEntity {
/**
* id
*/
private String deviceConfigID;
/**
* ID
*/
private String equipmentsId;
private String deviceConfigId;
/**
* modbus
*/
private String deviceId;
/**
* modbus
*/
private String deviceName;
/**
* modbus(serial-rtu)
*/
private String modbusProtocol;
/**
* modbus(client)
*/
private String modbusPattern;
/**
* modbus
*/
private String portName;
/**
* ( 960081N
*/
private String modbusConnectParam;
/**
* (01)
*/
private String readCronType;
/**
*
*/
private Integer readRepeatValue;
/**
*
*/
private String readRepeatUnit;
/**
*
*/
private String readCron;
/**
*
*/
private String writeCronType;
/**
*
*/
private Integer writeRepeatValue;
/**
*
*/
private String writeRepeatUnit;
/**
*
*/
private String writeCron;
/**
* (01)
*/
private String localPersistent;
/**
* (12)
*/
private String uploadRate;
/**
*
*/
private Integer rateCount;
/**
* (01)
*/
private String modbusReadAddrGap;
/**
* id
*/
private String deviceConfigID;
/**
* ID
*/
private String equipmentsId;
private String deviceConfigId;
/**
* modbus
*/
private String deviceId;
/**
* modbus
*/
private String deviceName;
/**
* modbus(serial-rtu)
*/
private String modbusProtocol;
/**
* modbus(client)
*/
private String modbusPattern;
/**
* modbus
*/
private String portName;
/**
* ( 960081N
*/
private String modbusConnectParam;
/**
* (01)
*/
private String readCronType;
/**
*
*/
private Integer readRepeatValue;
/**
*
*/
private String readRepeatUnit;
/**
*
*/
private String readCron;
/**
*
*/
private String writeCronType;
/**
*
*/
private Integer writeRepeatValue;
/**
*
*/
private String writeRepeatUnit;
/**
*
*/
private String writeCron;
/**
* (01)
*/
private String localPersistent;
/**
* (12)
*/
private String uploadRate;
/**
*
*/
private Integer rateCount;
/**
* (01)
*/
private String modbusReadAddrGap;
}

@ -9,63 +9,90 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public class DeviceSiemensEntity {
/**数据库id*/
String deviceConfigID;
/**设备编号*/
String deviceID;//71220220500200001
/**设备名称*/
String deviceName;
/**Siemens系列*/
String siemensSeries;
/**连接参数*/
String siemensConnectParam;
/**读取任务*/
String readCronType;//无、频率、定点
/**频率值*/
Integer readRepeatValue;//正整数
/**读单位*/
String readRepeatUnit;//秒、分、时、毫秒
/**读取任务时间表达式*/
String readCron;
//写入任务时间间隔
String writeCronType;
//写入任务时间间隔
Integer writeRepeatValue;
/**数据库id*/
String writeRepeatUnit;
/**
*
*/
String writeCron;
/**是否持久化*/
String localPersistent;
/**上传*/
String uploadRate;
/**不变次数*/
Integer rateCount;
/**设备类型*/
String deviceType; //siemens、modbus
String deviceComm; //1
String deviceStatus;//0,notok; 1,ok
String createTime;
String updateTime;
String portName;
/**
* id
*/
String deviceConfigID;
/**
*
*/
String deviceID;//71220220500200001
/**
*
*/
String deviceName;
/**
* Siemens
*/
String siemensSeries;
/**
*
*/
String siemensConnectParam;
/**
*
*/
String readCronType;//无、频率、定点
/**
*
*/
Integer readRepeatValue;//正整数
/**
*
*/
String readRepeatUnit;//秒、分、时、毫秒
/**
*
*/
String readCron;
//写入任务时间间隔
String writeCronType;
//写入任务时间间隔
Integer writeRepeatValue;
/**
* id
*/
String writeRepeatUnit;
/**
*
*/
String writeCron;
/**
*
*/
String localPersistent;
/**
*
*/
String uploadRate;
/**
*
*/
Integer rateCount;
/**
*
*/
String deviceType; //siemens、modbus
String deviceComm; //1
String deviceStatus;//0,notok; 1,ok
String createTime;
String updateTime;
String portName;
}

@ -8,24 +8,24 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class DeviceVideoEntity {
/**
* id
*/
private String deviceConfigID;
/**
*
*/
private String deviceID;
/**
*
*/
private String videoAddress;
/**
*
*/
private String serverAddress;
/**
*
*/
private String deviceName;
/**
* id
*/
private String deviceConfigID;
/**
*
*/
private String deviceID;
/**
*
*/
private String videoAddress;
/**
*
*/
private String serverAddress;
/**
*
*/
private String deviceName;
}

@ -14,39 +14,39 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public class ModbusPointEntity {
String deviceConfigContentID;
//站号
//@Excel(name = "站号")
String modbusSlaveID;
//地址名称/编码(下发用)
//@Excel(name = "地址编码")
String modbusFieldName;// json_flag
//地址名称 真的名称
//@Excel(name = "地址名称")
String modbusName;// json_flag
//寄存器地址
//@Excel(name = "寄存器地址")
String modbusFieldAddress;// 111
//寄存器地址类型
//@Excel(name = "寄存器地址类型")
String modbusAddressType;// 1
//个数
//@Excel(name = "个数")
Integer modbusFieldSize;// 2
//缩放因子
//@Excel(name = "缩放因子")
String modbusFieldPrecision;// 1
//数据类型
//@Excel(name = "数据类型")
String modbusFieldDataType;// 1
//字节顺序
//@Excel(name = "字节顺序")
String modbusFieldOrder;//DCBA
//单位
//@Excel(name = "单位")
String modbusFieldUnit;// s
//@Excel(name = "机台编码")
String equipmentCode;
//@Excel(name = "设备编码")
String deviceCode;
String deviceConfigContentID;
//站号
//@Excel(name = "站号")
String modbusSlaveID;
//地址名称/编码(下发用)
//@Excel(name = "地址编码")
String modbusFieldName;// json_flag
//地址名称 真的名称
//@Excel(name = "地址名称")
String modbusName;// json_flag
//寄存器地址
//@Excel(name = "寄存器地址")
String modbusFieldAddress;// 111
//寄存器地址类型
//@Excel(name = "寄存器地址类型")
String modbusAddressType;// 1
//个数
//@Excel(name = "个数")
Integer modbusFieldSize;// 2
//缩放因子
//@Excel(name = "缩放因子")
String modbusFieldPrecision;// 1
//数据类型
//@Excel(name = "数据类型")
String modbusFieldDataType;// 1
//字节顺序
//@Excel(name = "字节顺序")
String modbusFieldOrder;//DCBA
//单位
//@Excel(name = "单位")
String modbusFieldUnit;// s
//@Excel(name = "机台编码")
String equipmentCode;
//@Excel(name = "设备编码")
String deviceCode;
}

@ -7,16 +7,16 @@ import lombok.Data;
@AllArgsConstructor
public class MqttBrokerEntity {
private String mqttAddress;//ip地址
private String mqttPort;//端口
private String mqttUserName;//授权账号 一定要授权的
private String mqttPassword;//密码
private String mqttPublishTopic;//发布主题
private Boolean mqttSslFlag; //是否启用ssl
private String mqttAddress;//ip地址
private String mqttPort;//端口
private String mqttUserName;//授权账号 一定要授权的
private String mqttPassword;//密码
private String mqttPublishTopic;//发布主题
private Boolean mqttSslFlag; //是否启用ssl
private String cloudConfigID;
private String cloudAddress;
private String cloudStatus;
private String createTime;
private String updateTime;
private String cloudConfigID;
private String cloudAddress;
private String cloudStatus;
private String createTime;
private String updateTime;
}

@ -7,16 +7,17 @@ import lombok.Data;
@AllArgsConstructor
public class PageEntity {
//String pageSize,String pageNum,String orderByColumn,String isAsc
String pageSize; // 10
String pageNum; //: 1
String orderByColumn; //: updateTime
String isAsc; //: asc
// String deviceID; //: 设备编码
public PageEntity(){
this.isAsc = "asc";
this.orderByColumn = "updateTime";
this.pageSize = "100";
this.pageNum = "1";
}
//String pageSize,String pageNum,String orderByColumn,String isAsc
String pageSize; // 10
String pageNum; //: 1
String orderByColumn; //: updateTime
String isAsc; //: asc
// String deviceID; //: 设备编码
public PageEntity() {
this.isAsc = "asc";
this.orderByColumn = "updateTime";
this.pageSize = "100";
this.pageNum = "1";
}
}

@ -7,16 +7,17 @@ import lombok.Data;
@AllArgsConstructor
public class PageEntityByDecice {
//String pageSize,String pageNum,String orderByColumn,String isAsc
String pageSize; // 10
String pageNum; //: 1
String orderByColumn; //: updateTime
String isAsc; //: asc
String deviceID; //: 设备编码
public PageEntityByDecice(){
this.isAsc = "asc";
this.orderByColumn = "updateTime";
this.pageSize = "100";
this.pageNum = "1";
}
//String pageSize,String pageNum,String orderByColumn,String isAsc
String pageSize; // 10
String pageNum; //: 1
String orderByColumn; //: updateTime
String isAsc; //: asc
String deviceID; //: 设备编码
public PageEntityByDecice() {
this.isAsc = "asc";
this.orderByColumn = "updateTime";
this.pageSize = "100";
this.pageNum = "1";
}
}

@ -12,46 +12,46 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class SiemensPointEntity {
/**
* id
*/
Integer deviceConfigContentID;
/**
*
*/
//@Excel(name = "地址编码")
String siemensFieldName;
/**
*
*/
//@Excel(name = "地址名称")
String siemensName;
/**
*
*/
//@Excel(name = "地址")
String siemensFieldAddress;
/**
* (value)
*/
Integer siemensFieldDataType;
/**
*
*/
//@Excel(name = "数据类型名称")
String siemensFieldDataTypeName;
/**
*
*/
//@Excel(name = "数据精度")
Integer siemensFieldPrecision;
/**
*
*/
//@Excel(name = "数据单位")
String siemensFieldUnit;
//@Excel(name = "机台编码")
String equipmentCode;
//@Excel(name = "设备编码")
String deviceCode;
/**
* id
*/
Integer deviceConfigContentID;
/**
*
*/
//@Excel(name = "地址编码")
String siemensFieldName;
/**
*
*/
//@Excel(name = "地址名称")
String siemensName;
/**
*
*/
//@Excel(name = "地址")
String siemensFieldAddress;
/**
* (value)
*/
Integer siemensFieldDataType;
/**
*
*/
//@Excel(name = "数据类型名称")
String siemensFieldDataTypeName;
/**
*
*/
//@Excel(name = "数据精度")
Integer siemensFieldPrecision;
/**
*
*/
//@Excel(name = "数据单位")
String siemensFieldUnit;
//@Excel(name = "机台编码")
String equipmentCode;
//@Excel(name = "设备编码")
String deviceCode;
}

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.iot.framework.gateway.service;
import cn.iocoder.yudao.module.iot.framework.gateway.bo.ChangeStatus;
import cn.iocoder.yudao.module.iot.framework.gateway.entity.MqttBrokerEntity;
@ -9,17 +8,18 @@ import java.util.List;
public interface GatewayMqttService {
public void login(String url ,String username ,String password);
//获取mqtt主题
public List<MqttBrokerEntity> getMqttBrokerEntity(String url, String username , String password);
public void login(String url, String username, String password);
//获取mqtt主题
public List<MqttBrokerEntity> getMqttBrokerEntity(String url, String username, String password);
//下发单个mqtt主题
public int add(MqttBrokerEntity entity, String url);
//下发单个mqtt主题
public int add(MqttBrokerEntity entity, String url);
//删除mqtt主题
public int delete( String url, String ids);
//删除mqtt主题
public int delete(String url, String ids);
//启用网关
public int changeStatus(ChangeStatus changeStatus, String url);
//启用网关
public int changeStatus(ChangeStatus changeStatus, String url);
}

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.iot.framework.gateway.service;
import cn.iocoder.yudao.module.iot.framework.gateway.bo.ChangeStatus;
import cn.iocoder.yudao.module.iot.framework.gateway.entity.DeviceModbusEntity;
import cn.iocoder.yudao.module.iot.framework.gateway.entity.ModbusPointEntity;
@ -11,38 +10,39 @@ import java.util.List;
public interface IModbusPointService {
public void login(String url, String username, String password);
public void login(String url, String username, String password);
/*modbus*/
//获取设备列表
public List<DeviceModbusEntity> getModbusList(String url, String username, String password);
/*modbus*/
//获取设备列表
public List<DeviceModbusEntity> getModbusList(String url, String username, String password);
//获取指定设备编码列表
public List<DeviceModbusEntity> getModbusList(String url, String username, String password,String deviceId);
//获取指定设备编码列表
public List<DeviceModbusEntity> getModbusList(String url, String username, String password, String deviceId);
//下发单个设备
public int add(DeviceModbusEntity entity, String url);
//下发单个设备
public int add(DeviceModbusEntity entity, String url);
public int add(List<DeviceModbusEntity> list, String url);
public int add(List<DeviceModbusEntity> list, String url);
//删除单个设备
public int delete(String url, String ids);
//删除单个设备
public int delete(String url, String ids);
//启用
public int changeStatus(ChangeStatus changeStatus, String url);
//启用
public int changeStatus(ChangeStatus changeStatus, String url);
//获取设备点位列表
public List<ModbusPointEntity> getPointList(String url, String username, String password, String deviceConfigID); //下发点位
//获取设备点位列表
public List<ModbusPointEntity> getPointList(String url, String username, String password, String deviceConfigID); //下发点位
//下发点位
public int add(ModbusPointEntity point, String url, String id);
//下发点位
public int add(ModbusPointEntity point, String url, String id);
public int add(List<ModbusPointEntity> list, String address, String deviceConfigID);
public int add(List<ModbusPointEntity> list, String address, String deviceConfigID);
//删除点位
public int deletePoint(String url, String ids);
//删除点位
public int deletePoint(String url, String ids);
Integer getPointListByCount(String url, String username, String password, String deviceConfigID);
Integer getPointListByCount(String url, String username, String password, String deviceConfigID);
List<ModbusPointEntity> getPointListAll(String adminIp, String username, String password, String deviceConfigID);
List<ModbusPointEntity> getPointListAll(String adminIp, String username, String password, String deviceConfigID);
}

@ -10,43 +10,48 @@ import java.util.List;
public interface ISiemensPointService {
//调用前统一登录保存cookies
public String login(String url ,String username ,String password);
/*西门子*/
//获取设备列表
public List<DeviceSiemensEntity> getSiemensList(String url, String username , String password);
//获取指定编码设备列表
public List<DeviceSiemensEntity> getSiemensList(String url, String username , String password,String deviceId);
//调用前统一登录保存cookies
public String login(String url, String username, String password);
//下发单个设备
public int add(DeviceSiemensEntity siemens,String url);
//下发单个设备
public int add(List<DeviceSiemensEntity> list,String url);
//删除单个设备
public int delete(String url, String ids);
/*西门子*/
//获取设备列表
public List<DeviceSiemensEntity> getSiemensList(String url, String username, String password);
//启用
public int changeStatus(ChangeStatus changeStatus, String url);
//获取指定编码设备列表
public List<DeviceSiemensEntity> getSiemensList(String url, String username, String password, String deviceId);
//下发单个设备
public int add(DeviceSiemensEntity siemens, String url);
//获取设备点位列表
public List<SiemensPointEntity> getPointList(String url, String deviceConfigID, String username , String password);
//下发单个设备
public int add(List<DeviceSiemensEntity> list, String url);
//下发点位
public int add(SiemensPointEntity point, String url, String id);
public int add(List<SiemensPointEntity> list, String url, String deviceConfigID);
//更改点位状态
public int edit(SiemensPointEntity point,String url);
//删除单个设备
public int delete(String url, String ids);
//删除点位
public int deletePoint(String url, String ids);
//启用
public int changeStatus(ChangeStatus changeStatus, String url);
//获取设备点位列表
public List<SiemensPointEntity> getPointList(String url, String deviceConfigID, String username, String password);
//启用设备
public int changeStatusDevice(List<String>deviceIds,ChangeStatus changeStatus, String url);
//下发点位
public int add(SiemensPointEntity point, String url, String id);
Integer getPointListByCount(String url, String deviceConfigID, String username, String password);
public int add(List<SiemensPointEntity> list, String url, String deviceConfigID);
//更改点位状态
public int edit(SiemensPointEntity point, String url);
//删除点位
public int deletePoint(String url, String ids);
//启用设备
public int changeStatusDevice(List<String> deviceIds, ChangeStatus changeStatus, String url);
Integer getPointListByCount(String url, String deviceConfigID, String username, String password);
List<SiemensPointEntity> getPointListAll(String adminIp, String deviceConfigID, String username, String password);
}

@ -1,22 +1,21 @@
package cn.iocoder.yudao.module.iot.framework.gateway.service;
import cn.iocoder.yudao.module.iot.framework.gateway.entity.DeviceVideoEntity;
import java.util.List;
public interface IVideoService {
public void login(String url, String username, String password);
public void login(String url, String username, String password);
List<DeviceVideoEntity> getVideoId(String adminIp, String username, String password, String monitorCode);
List<DeviceVideoEntity> getVideoId(String adminIp, String username, String password, String monitorCode);
int deleteByIds(String adminIp, String ids);
int deleteByIds(String adminIp, String ids);
int add(DeviceVideoEntity list, String adminIp);
int add(DeviceVideoEntity list, String adminIp);
int openOrClose(String adminIp, String videoId);
int openOrClose(String adminIp, String videoId);
}

@ -23,119 +23,121 @@ import java.util.List;
@Service
public class GatewayMqttServiceImpl implements GatewayMqttService {
private static final Logger log = LoggerFactory.getLogger(GatewayMqttServiceImpl.class);
private String cookie;
//先登录
@Override
public void login(String url ,String username ,String password){
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = HttpUtils.getHttpPost(url + UrlConstans.loginUrl, HttpEntity.getLoginParam(username,password));
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
this.cookie = HttpUtils.getCookies(httpResponse);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
}
@Override
public List<MqttBrokerEntity> getMqttBrokerEntity(String url, String username , String password) {
private static final Logger log = LoggerFactory.getLogger(GatewayMqttServiceImpl.class);
private String cookie;
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<MqttBrokerEntity> list = null;
try {
String getlistUrl = url + UrlConstans.mqtt_list;
HttpPost httpPost = HttpUtils.getHttpPost(getlistUrl, null);//检索条件
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toMqttEntityList(entityStr);
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
//先登录
@Override
public void login(String url, String username, String password) {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = HttpUtils.getHttpPost(url + UrlConstans.loginUrl, HttpEntity.getLoginParam(username, password));
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
this.cookie = HttpUtils.getCookies(httpResponse);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
}
@Override
public int add(MqttBrokerEntity entity, String address) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
@Override
public List<MqttBrokerEntity> getMqttBrokerEntity(String url, String username, String password) {
try {
if (entity.getCloudConfigID() != null) {
httpPost = HttpUtils.getHttpPost(address + UrlConstans.mqtt_edit, HttpEntity.getParam(entity));
} else {
httpPost = HttpUtils.getHttpPost(address + UrlConstans.mqtt_add, HttpEntity.getParam(entity));
}
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<MqttBrokerEntity> list = null;
try {
String getlistUrl = url + UrlConstans.mqtt_list;
HttpPost httpPost = HttpUtils.getHttpPost(getlistUrl, null);//检索条件
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toMqttEntityList(entityStr);
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public int delete( String address, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = HttpUtils.getHttpPost(address + UrlConstans.mqtt_remove, HttpEntity.getRemoveParam(ids));//网关上设备的id
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println("删除" + httpResponse.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(MqttBrokerEntity entity, String address) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
@Override
public int changeStatus(ChangeStatus changeStatus, String address) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
httpPost.setHeader("Cookie", cookie);
try {
httpPost = HttpUtils.getHttpPost(address + UrlConstans.mqtt_changestatus, HttpEntity.getChangestatus(changeStatus));
try {
if (entity.getCloudConfigID() != null) {
httpPost = HttpUtils.getHttpPost(address + UrlConstans.mqtt_edit, HttpEntity.getParam(entity));
} else {
httpPost = HttpUtils.getHttpPost(address + UrlConstans.mqtt_add, HttpEntity.getParam(entity));
}
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int delete(String address, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = HttpUtils.getHttpPost(address + UrlConstans.mqtt_remove, HttpEntity.getRemoveParam(ids));//网关上设备的id
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println("删除" + httpResponse.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int changeStatus(ChangeStatus changeStatus, String address) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
httpPost.setHeader("Cookie", cookie);
try {
httpPost = HttpUtils.getHttpPost(address + UrlConstans.mqtt_changestatus, HttpEntity.getChangestatus(changeStatus));
// httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println("启用" + httpResponse.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
httpResponse = httpClient.execute(httpPost);
System.err.println("启用" + httpResponse.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
}

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.iot.framework.gateway.service.impl;
import cn.iocoder.yudao.module.iot.framework.gateway.bo.ChangeStatus;
import cn.iocoder.yudao.module.iot.framework.gateway.bo.HttpEntity;
import cn.iocoder.yudao.module.iot.framework.gateway.entity.DeviceModbusEntity;
@ -38,324 +37,324 @@ import static cn.iocoder.yudao.module.iot.framework.gateway.util.HttpUtils.getHt
*/
@Service
public class ModbusPointServiceImpl implements IModbusPointService {
private static final Logger log = LoggerFactory.getLogger(ModbusPointServiceImpl.class);
private String cookie;
private static final Logger log = LoggerFactory.getLogger(ModbusPointServiceImpl.class);
private String cookie;
//先登录
@Override
public void login(String url, String username, String password) {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(url + UrlConstans.loginUrl, HttpEntity.getLoginParam(username, password));
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
this.cookie = HttpUtils.getCookies(httpResponse);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
}
//先登录
@Override
public void login(String url, String username, String password) {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(url + UrlConstans.loginUrl, HttpEntity.getLoginParam(username, password));
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
this.cookie = HttpUtils.getCookies(httpResponse);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
}
/*获取西门子设备列表*/
@Override
public List<DeviceModbusEntity> getModbusList(String address, String username, String password) {
/*获取西门子设备列表*/
@Override
public List<DeviceModbusEntity> getModbusList(String address, String username, String password) {
PageEntity pageEntity = new PageEntity();
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceModbusEntity> list = null;
try {
String getlistUrl = address + UrlConstans.modbus_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParam(pageEntity));//检索条件
login(getlistUrl, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toDeviceModbusEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
PageEntity pageEntity = new PageEntity();
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceModbusEntity> list = null;
try {
String getlistUrl = address + UrlConstans.modbus_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParam(pageEntity));//检索条件
login(getlistUrl, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toDeviceModbusEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
/*获取指定设备编码Modbus设备*/
@Override
public List<DeviceModbusEntity> getModbusList(String address, String username, String password, String deviceId) {
PageEntityByDecice pageEntity = new PageEntityByDecice();
pageEntity.setDeviceID(deviceId);
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceModbusEntity> list = null;
try {
String getlistUrl = address + UrlConstans.modbus_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParamVo(pageEntity));//检索条件
login(address, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toDeviceModbusEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
/*获取指定设备编码Modbus设备*/
@Override
public List<DeviceModbusEntity> getModbusList(String address, String username, String password, String deviceId) {
PageEntityByDecice pageEntity = new PageEntityByDecice();
pageEntity.setDeviceID(deviceId);
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceModbusEntity> list = null;
try {
String getlistUrl = address + UrlConstans.modbus_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParamVo(pageEntity));//检索条件
login(address, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toDeviceModbusEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public int add(DeviceModbusEntity deviceModbusEntity, String address) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
if (deviceModbusEntity.getDeviceConfigID() != null) {
httpPost = getHttpPost(address + UrlConstans.modbus_edit, HttpEntity.getParam(deviceModbusEntity));
} else {
httpPost = getHttpPost(address + UrlConstans.modbus_add, HttpEntity.getParam(deviceModbusEntity));
}
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println(EntityUtils.toString(httpResponse.getEntity()));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return 1;
} catch (ClientProtocolException e) {
e.printStackTrace();
return 1;
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(DeviceModbusEntity deviceModbusEntity, String address) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
if (deviceModbusEntity.getDeviceConfigID() != null) {
httpPost = getHttpPost(address + UrlConstans.modbus_edit, HttpEntity.getParam(deviceModbusEntity));
} else {
httpPost = getHttpPost(address + UrlConstans.modbus_add, HttpEntity.getParam(deviceModbusEntity));
}
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println(EntityUtils.toString(httpResponse.getEntity()));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return 1;
} catch (ClientProtocolException e) {
e.printStackTrace();
return 1;
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(List<DeviceModbusEntity> list, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.modbus_add, null);
httpPost.setHeader("Cookie", cookie);
for (DeviceModbusEntity entity : list) {
List<BasicNameValuePair> pairList = HttpEntity.getParam(entity);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(List<DeviceModbusEntity> list, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.modbus_add, null);
httpPost.setHeader("Cookie", cookie);
for (DeviceModbusEntity entity : list) {
List<BasicNameValuePair> pairList = HttpEntity.getParam(entity);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int delete(String address, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(address + UrlConstans.siemens_remove, HttpEntity.getRemoveParam(ids));//网关上设备的id
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int delete(String address, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(address + UrlConstans.siemens_remove, HttpEntity.getRemoveParam(ids));//网关上设备的id
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int changeStatus(ChangeStatus changeStatus, String address) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(address + UrlConstans.siemens_changestatus, HttpEntity.getChangestatus(changeStatus));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println("启用" + httpResponse.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int changeStatus(ChangeStatus changeStatus, String address) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(address + UrlConstans.siemens_changestatus, HttpEntity.getChangestatus(changeStatus));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println("启用" + httpResponse.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public List<ModbusPointEntity> getPointList(String address, String username, String password, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<ModbusPointEntity> list = new ArrayList<>();
try {
/**
* TODO deviceSiemensEntity.getDeviceConfigID()
* */
String getlistUrl = address + UrlConstans.modbus_iopoint_list + deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toModbusPointEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public List<ModbusPointEntity> getPointList(String address, String username, String password, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<ModbusPointEntity> list = new ArrayList<>();
try {
/**
* TODO deviceSiemensEntity.getDeviceConfigID()
* */
String getlistUrl = address + UrlConstans.modbus_iopoint_list + deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toModbusPointEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public int add(ModbusPointEntity point, String address, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
//https://71220220500200002.ng.xjzyun.com/device/config/siemens/content/add/r/0/82
httpPost = getHttpPost(address + UrlConstans.modbus_iopoint_add_r + deviceConfigID, HttpEntity.getParam(point));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println(EntityUtils.toString(httpResponse.getEntity()));
} catch (Exception e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(ModbusPointEntity point, String address, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
//https://71220220500200002.ng.xjzyun.com/device/config/siemens/content/add/r/0/82
httpPost = getHttpPost(address + UrlConstans.modbus_iopoint_add_r + deviceConfigID, HttpEntity.getParam(point));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println(EntityUtils.toString(httpResponse.getEntity()));
} catch (Exception e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(List<ModbusPointEntity> list, String address, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
//https://71220220500200002.ng.xjzyun.com/device/config/siemens/content/add/r/0/82
httpPost = getHttpPost(address + UrlConstans.modbus_iopoint_add_r + deviceConfigID, null);
httpPost.setHeader("Cookie", cookie);
for (ModbusPointEntity entity : list) {
List<BasicNameValuePair> pairList = HttpEntity.getParam(entity);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
@Override
public int add(List<ModbusPointEntity> list, String address, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
//https://71220220500200002.ng.xjzyun.com/device/config/siemens/content/add/r/0/82
httpPost = getHttpPost(address + UrlConstans.modbus_iopoint_add_r + deviceConfigID, null);
httpPost.setHeader("Cookie", cookie);
for (ModbusPointEntity entity : list) {
List<BasicNameValuePair> pairList = HttpEntity.getParam(entity);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
////{"code":500,"msg":"缩放因子必须是有效的正小数"}
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
httpResponse = httpClient.execute(httpPost);
////{"code":500,"msg":"缩放因子必须是有效的正小数"}
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int deletePoint(String address, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(address + UrlConstans.modbus_iopoint_remove, HttpEntity.getRemoveParam(ids));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int deletePoint(String address, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(address + UrlConstans.modbus_iopoint_remove, HttpEntity.getRemoveParam(ids));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public Integer getPointListByCount(String url, String username, String password, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
Integer count = 0;
try {
/**
* TODO deviceSiemensEntity.getDeviceConfigID()
* */
String getlistUrl = url + UrlConstans.modbus_iopoint_list + deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
@Override
public Integer getPointListByCount(String url, String username, String password, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
Integer count = 0;
try {
/**
* TODO deviceSiemensEntity.getDeviceConfigID()
* */
String getlistUrl = url + UrlConstans.modbus_iopoint_list + deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
count = Integer.parseInt(JsonUtils.toPointEntity(entityStr).getTotal());
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return count;
}
String entityStr = EntityUtils.toString(httpResponse.getEntity());
count = Integer.parseInt(JsonUtils.toPointEntity(entityStr).getTotal());
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return count;
}
@Override
public List<ModbusPointEntity> getPointListAll(String address, String username, String password, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<ModbusPointEntity> list = new ArrayList<>();
try {
/**
* TODO deviceSiemensEntity.getDeviceConfigID()
* */
String getlistUrl = address + UrlConstans.modbus_iopoint_list + deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStrTotal = EntityUtils.toString(httpResponse.getEntity());
String total = JsonUtils.toModbusPointEntityTotal(entityStrTotal);
@Override
public List<ModbusPointEntity> getPointListAll(String address, String username, String password, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<ModbusPointEntity> list = new ArrayList<>();
try {
/**
* TODO deviceSiemensEntity.getDeviceConfigID()
* */
String getlistUrl = address + UrlConstans.modbus_iopoint_list + deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStrTotal = EntityUtils.toString(httpResponse.getEntity());
String total = JsonUtils.toModbusPointEntityTotal(entityStrTotal);
PageEntity pageEntity = new PageEntity();
pageEntity.setPageNum("1");
pageEntity.setPageSize(total);
List<BasicNameValuePair> pageParam = HttpEntity.getPageParam(pageEntity);
httpPost.setEntity(new UrlEncodedFormEntity(pageParam, "UTF-8"));
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toModbusPointEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
PageEntity pageEntity = new PageEntity();
pageEntity.setPageNum("1");
pageEntity.setPageSize(total);
List<BasicNameValuePair> pageParam = HttpEntity.getPageParam(pageEntity);
httpPost.setEntity(new UrlEncodedFormEntity(pageParam, "UTF-8"));
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toModbusPointEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
}

@ -37,362 +37,363 @@ import static cn.iocoder.yudao.module.iot.framework.gateway.util.HttpUtils.getHt
*/
@Service
public class SiemensPointServiceImpl implements ISiemensPointService {
private static final Logger log = LoggerFactory.getLogger(SiemensPointServiceImpl.class);
private String cookie;
//先登录
@Override
public String login(String url ,String username ,String password){
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(url + UrlConstans.loginUrl, HttpEntity.getLoginParam(username,password));
httpResponse = httpClient.execute(httpPost);
this.cookie = HttpUtils.getCookies(httpResponse);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return cookie;
}
private static final Logger log = LoggerFactory.getLogger(SiemensPointServiceImpl.class);
private String cookie;
//先登录
@Override
public String login(String url, String username, String password) {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(url + UrlConstans.loginUrl, HttpEntity.getLoginParam(username, password));
httpResponse = httpClient.execute(httpPost);
this.cookie = HttpUtils.getCookies(httpResponse);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return cookie;
}
public HashMap<String, Object> getDate(SiemensPointEntity point) {
HashMap<String, Object> map = new HashMap<>();
map.put("siemensFieldName", point.getSiemensFieldName());
map.put("siemensFieldAddress", point.getSiemensFieldAddress());
map.put("siemensFieldDataType", point.getSiemensFieldDataType());
map.put("siemensFieldPrecision", point.getSiemensFieldPrecision());
map.put("siemensFieldUnit", point.getSiemensFieldUnit());
return map;
}
/*获取西门子设备列表*/
@Override
public List<DeviceSiemensEntity> getSiemensList(String url , String username , String password) {
PageEntity pageEntity = new PageEntity();
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceSiemensEntity> list = null;
try {
String getlistUrl = url + UrlConstans.siemens_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParam(pageEntity));//检索条件
login(url, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toDeviceSiemensEntityList(entityStr);
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
/*获取西门子设备列表*/
@Override
public List<DeviceSiemensEntity> getSiemensList(String url , String username , String password,String deviceId) {
PageEntityByDecice pageEntity = new PageEntityByDecice();
pageEntity.setDeviceID(deviceId);
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceSiemensEntity> list = null;
try {
String getlistUrl = url + UrlConstans.siemens_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParamVo(pageEntity));//检索条件
login(url, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toDeviceSiemensEntityList(entityStr);
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
public HashMap<String, Object> getDate(SiemensPointEntity point) {
HashMap<String, Object> map = new HashMap<>();
map.put("siemensFieldName", point.getSiemensFieldName());
map.put("siemensFieldAddress", point.getSiemensFieldAddress());
map.put("siemensFieldDataType", point.getSiemensFieldDataType());
map.put("siemensFieldPrecision", point.getSiemensFieldPrecision());
map.put("siemensFieldUnit", point.getSiemensFieldUnit());
return map;
}
/*获取西门子设备列表*/
@Override
public List<DeviceSiemensEntity> getSiemensList(String url, String username, String password) {
PageEntity pageEntity = new PageEntity();
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceSiemensEntity> list = null;
try {
String getlistUrl = url + UrlConstans.siemens_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParam(pageEntity));//检索条件
login(url, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toDeviceSiemensEntityList(entityStr);
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public int add(DeviceSiemensEntity deviceSiemensEntity, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
/*获取西门子设备列表*/
@Override
public List<DeviceSiemensEntity> getSiemensList(String url, String username, String password, String deviceId) {
PageEntityByDecice pageEntity = new PageEntityByDecice();
pageEntity.setDeviceID(deviceId);
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceSiemensEntity> list = null;
try {
String getlistUrl = url + UrlConstans.siemens_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParamVo(pageEntity));//检索条件
login(url, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toDeviceSiemensEntityList(entityStr);
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
try {
httpPost = getHttpPost(url + UrlConstans.siemens_add, HttpEntity.getParam(deviceSiemensEntity));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(List<DeviceSiemensEntity> list, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
@Override
public int add(DeviceSiemensEntity deviceSiemensEntity, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_add, null);
httpPost.setHeader("Cookie", cookie);
for (DeviceSiemensEntity entity: list) {
List<BasicNameValuePair> pairList = HttpEntity.getParam(entity);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
try {
httpPost = getHttpPost(url + UrlConstans.siemens_add, HttpEntity.getParam(deviceSiemensEntity));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
System.err.println(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(List<DeviceSiemensEntity> list, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
@Override
public int delete(String url, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_remove, HttpEntity.getRemoveParam(ids));//网关上设备的id
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
try {
httpPost = getHttpPost(url + UrlConstans.siemens_add, null);
httpPost.setHeader("Cookie", cookie);
for (DeviceSiemensEntity entity : list) {
List<BasicNameValuePair> pairList = HttpEntity.getParam(entity);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int changeStatus(ChangeStatus changeStatus, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_changestatus, HttpEntity.getChangestatus(changeStatus));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int delete(String url, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_remove, HttpEntity.getRemoveParam(ids));//网关上设备的id
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int changeStatus(ChangeStatus changeStatus, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_changestatus, HttpEntity.getChangestatus(changeStatus));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public List<SiemensPointEntity> getPointList(String url, String deviceConfigID,String username ,String password) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<SiemensPointEntity> list = new ArrayList<>();
try {
String getlistUrl = url + UrlConstans.siemens_iopoint_list_r +
deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toSiemensPointEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public List<SiemensPointEntity> getPointList(String url, String deviceConfigID, String username, String password) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<SiemensPointEntity> list = new ArrayList<>();
try {
String getlistUrl = url + UrlConstans.siemens_iopoint_list_r +
deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
@Override
public int add(SiemensPointEntity point, String url, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_iopoint_edit_r+deviceConfigID, HttpEntity.getParam(point));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (Exception e) {
e.printStackTrace();
}
finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(List<SiemensPointEntity> list, String url, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_iopoint_add_r+deviceConfigID, null);
httpPost.setHeader("Cookie", cookie);
for (SiemensPointEntity entity: list) {
if(entity.getSiemensFieldDataType()==null)continue;
List<BasicNameValuePair> pairList = HttpEntity.getParam(entity);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toSiemensPointEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public int edit(SiemensPointEntity point, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_iopoint_edit_r, HttpEntity.getParam(point));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(SiemensPointEntity point, String url, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_iopoint_edit_r + deviceConfigID, HttpEntity.getParam(point));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (Exception e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int deletePoint( String url, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_iopoint_remove_r, HttpEntity.getRemoveParam(ids));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(List<SiemensPointEntity> list, String url, String deviceConfigID) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_iopoint_add_r + deviceConfigID, null);
httpPost.setHeader("Cookie", cookie);
for (SiemensPointEntity entity : list) {
if (entity.getSiemensFieldDataType() == null) continue;
List<BasicNameValuePair> pairList = HttpEntity.getParam(entity);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int changeStatusDevice(List<String>deviceIds,ChangeStatus changeStatus, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(url + UrlConstans.siemens_changestatus, null);
httpPost.setHeader("Cookie", cookie);
for (String id: deviceIds) {
changeStatus.setChangesStatusID(id);
List<BasicNameValuePair> pairList = HttpEntity.getChangestatus(changeStatus);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int edit(SiemensPointEntity point, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_iopoint_edit_r, HttpEntity.getParam(point));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public Integer getPointListByCount(String url, String deviceConfigID, String username, String password) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
Integer count = 0;
try {
String getlistUrl = url + UrlConstans.siemens_iopoint_list_r +
deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
count = Integer.parseInt(JsonUtils.toPointEntity(entityStr).getTotal());
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return count;
}
@Override
public List<SiemensPointEntity> getPointListAll(String url, String deviceConfigID,String username ,String password) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<SiemensPointEntity> list = new ArrayList<>();
try {
String getlistUrl = url + UrlConstans.siemens_iopoint_list_r +
deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
@Override
public int deletePoint(String url, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(url + UrlConstans.siemens_iopoint_remove_r, HttpEntity.getRemoveParam(ids));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
String entityStrTotal = EntityUtils.toString(httpResponse.getEntity());
String total = JsonUtils.toSiemensPointEntityTotal(entityStrTotal);
@Override
public int changeStatusDevice(List<String> deviceIds, ChangeStatus changeStatus, String url) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(url + UrlConstans.siemens_changestatus, null);
httpPost.setHeader("Cookie", cookie);
for (String id : deviceIds) {
changeStatus.setChangesStatusID(id);
List<BasicNameValuePair> pairList = HttpEntity.getChangestatus(changeStatus);
if (pairList != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(pairList);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
PageEntity pageEntity = new PageEntity();
pageEntity.setPageNum("1");
pageEntity.setPageSize(total);
List<BasicNameValuePair> pageParam = HttpEntity.getPageParam(pageEntity);
httpPost.setEntity(new UrlEncodedFormEntity(pageParam, "UTF-8"));
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toSiemensPointEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public Integer getPointListByCount(String url, String deviceConfigID, String username, String password) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
Integer count = 0;
try {
String getlistUrl = url + UrlConstans.siemens_iopoint_list_r +
deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
count = Integer.parseInt(JsonUtils.toPointEntity(entityStr).getTotal());
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return count;
}
@Override
public List<SiemensPointEntity> getPointListAll(String url, String deviceConfigID, String username, String password) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<SiemensPointEntity> list = new ArrayList<>();
try {
String getlistUrl = url + UrlConstans.siemens_iopoint_list_r +
deviceConfigID;
HttpPost httpPost = getHttpPost(getlistUrl, null);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
String entityStrTotal = EntityUtils.toString(httpResponse.getEntity());
String total = JsonUtils.toSiemensPointEntityTotal(entityStrTotal);
PageEntity pageEntity = new PageEntity();
pageEntity.setPageNum("1");
pageEntity.setPageSize(total);
List<BasicNameValuePair> pageParam = HttpEntity.getPageParam(pageEntity);
httpPost.setEntity(new UrlEncodedFormEntity(pageParam, "UTF-8"));
httpResponse = httpClient.execute(httpPost);
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toSiemensPointEntityList(entityStr);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
}

@ -17,7 +17,6 @@ import cn.iocoder.yudao.module.iot.framework.gateway.service.ISiemensPointServic
import cn.iocoder.yudao.module.iot.framework.gateway.service.IVideoService;
import cn.iocoder.yudao.module.iot.framework.gateway.util.HttpUtils;
import cn.iocoder.yudao.module.iot.framework.gateway.util.UrlConstans;
import cn.iocoder.yudao.module.iot.service.device.DeviceService;
import cn.iocoder.yudao.module.iot.service.gateway.GatewayService;
import com.alibaba.fastjson.JSON;
import lombok.Data;
@ -26,7 +25,6 @@ import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -37,22 +35,22 @@ import java.util.List;
@Service
public class TheGatewayServiceImpl {
@Resource
private DeviceMapper deviceMapper;
@Resource
private DeviceAttributeMapper deviceAttributeMapper;
@Resource
private IVideoService videoService;
@Resource
private ISiemensPointService siemensPointService;
@Resource
private IModbusPointService modbusPointService;
@Resource
private GatewayMqttService gatewayMqttService;
@Resource
private GatewayService gatewayService;
//清除原本的西门子设备和点位数据
@Resource
private DeviceMapper deviceMapper;
@Resource
private DeviceAttributeMapper deviceAttributeMapper;
@Resource
private IVideoService videoService;
@Resource
private ISiemensPointService siemensPointService;
@Resource
private IModbusPointService modbusPointService;
@Resource
private GatewayMqttService gatewayMqttService;
@Resource
private GatewayService gatewayService;
//清除原本的西门子设备和点位数据
// public void deleteSiemensEntity(BeEquipments equipments) {
// siemensPointService.login(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
// List<DeviceSiemensEntity> list = siemensPointService.getSiemensList(equipments.getAdminIp(),
@ -79,35 +77,35 @@ public class TheGatewayServiceImpl {
// }
// }
//清除指定原本的西门子设备和点位数据
public void deleteSiemensEntity(GatewayDO gatewayDO, DeviceDO deviceDO) {
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
List<DeviceSiemensEntity> list = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
if (null != list && list.size() > 0) {
//先清除点位数据
String[] deviceIds = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
deviceIds[i] = list.get(i).getDeviceConfigID();
//删除每个设备下的原有点位
List<SiemensPointEntity> pointList = siemensPointService.getPointListAll(gatewayDO.getAdminIp(),
list.get(i).getDeviceConfigID(), gatewayDO.getUsername(), gatewayDO.getPassword());
if (pointList != null && pointList.size() > 0) {
String[] addressIds = new String[pointList.size()];
for (int j = 0; j < pointList.size(); j++) {
addressIds[j] = pointList.get(j).getDeviceConfigContentID().toString();
}
//删除点位
siemensPointService.deletePoint(gatewayDO.getAdminIp(), String.join(",", addressIds));
}
}
//再清除设备数据
siemensPointService.delete(gatewayDO.getAdminIp(), String.join(",", deviceIds));
}
}
//查询西门子设备列表 并新增
//清除指定原本的西门子设备和点位数据
public void deleteSiemensEntity(GatewayDO gatewayDO, DeviceDO deviceDO) {
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
List<DeviceSiemensEntity> list = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
if (null != list && list.size() > 0) {
//先清除点位数据
String[] deviceIds = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
deviceIds[i] = list.get(i).getDeviceConfigID();
//删除每个设备下的原有点位
List<SiemensPointEntity> pointList = siemensPointService.getPointListAll(gatewayDO.getAdminIp(),
list.get(i).getDeviceConfigID(), gatewayDO.getUsername(), gatewayDO.getPassword());
if (pointList != null && pointList.size() > 0) {
String[] addressIds = new String[pointList.size()];
for (int j = 0; j < pointList.size(); j++) {
addressIds[j] = pointList.get(j).getDeviceConfigContentID().toString();
}
//删除点位
siemensPointService.deletePoint(gatewayDO.getAdminIp(), String.join(",", addressIds));
}
}
//再清除设备数据
siemensPointService.delete(gatewayDO.getAdminIp(), String.join(",", deviceIds));
}
}
//查询西门子设备列表 并新增
// public void addSiemensEntity(BeEquipments equipments) {
// siemensPointService.login(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
// //根据机台编号查询设备
@ -138,57 +136,57 @@ public class TheGatewayServiceImpl {
// }
// }
//新增西门子设备
public void addSiemensEntity(GatewayDO gatewayDO, DeviceDO siemens) {
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
DeviceSiemensEntity deviceSiemensEntity = new DeviceSiemensEntity();
deviceSiemensEntity.setDeviceID(siemens.getDeviceCode());
deviceSiemensEntity.setDeviceName(siemens.getDeviceName());
deviceSiemensEntity.setSiemensSeries(siemens.getSiemensSeries());
deviceSiemensEntity.setSiemensConnectParam(siemens.getSiemensConnectParam());
deviceSiemensEntity.setReadCronType(siemens.getReadCronType());
deviceSiemensEntity.setReadRepeatValue(siemens.getReadRepeatValue());
deviceSiemensEntity.setReadRepeatUnit(siemens.getReadRepeatUnit());
deviceSiemensEntity.setReadCron(siemens.getReadCron());
deviceSiemensEntity.setWriteCronType(siemens.getWriteCronType());
deviceSiemensEntity.setWriteRepeatValue(siemens.getWriteRepeatValue());
deviceSiemensEntity.setWriteCron(siemens.getWriteCron());
deviceSiemensEntity.setLocalPersistent(siemens.getLocalPersistent());
deviceSiemensEntity.setUploadRate(siemens.getUploadRate());
deviceSiemensEntity.setRateCount(siemens.getRateCount());
siemensPointService.add(deviceSiemensEntity, gatewayDO.getAdminIp());
}
//下发完成西门子设备后 下发对应设备的点位
public void addDeviceSiemensEntity(GatewayDO gatewayDO,Long machineId, DeviceDO deviceDO) {
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
/*下发好设备后获取设备列表找点位*/
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
for (DeviceSiemensEntity deviceSiemensEntity : siemensList) {
//根据deviceId 和机台编码查询sql数据库点位信息
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
List<SiemensPointEntity> list = new ArrayList<>();
for (DeviceAttributeDO point : points) {
Integer dataType = AddressDataType.getGatewayDataTypeMap(point.getDataType());
//新增点位
SiemensPointEntity siemensPointEntity = new SiemensPointEntity()
.setSiemensFieldName(point.getAttributeCode())
.setSiemensFieldAddress(point.getAddress())
.setSiemensFieldDataType(dataType)
.setSiemensFieldPrecision(point.getSiemensFieldPrecision())
.setSiemensFieldUnit(point.getUnit());
list.add(siemensPointEntity);
}
if (list.size() > 0)
siemensPointService.add(list, gatewayDO.getAdminIp(), deviceSiemensEntity.getDeviceConfigID());
}
}
//清除原本的Modbus设备数据
//新增西门子设备
public void addSiemensEntity(GatewayDO gatewayDO, DeviceDO siemens) {
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
DeviceSiemensEntity deviceSiemensEntity = new DeviceSiemensEntity();
deviceSiemensEntity.setDeviceID(siemens.getDeviceCode());
deviceSiemensEntity.setDeviceName(siemens.getDeviceName());
deviceSiemensEntity.setSiemensSeries(siemens.getSiemensSeries());
deviceSiemensEntity.setSiemensConnectParam(siemens.getSiemensConnectParam());
deviceSiemensEntity.setReadCronType(siemens.getReadCronType());
deviceSiemensEntity.setReadRepeatValue(siemens.getReadRepeatValue());
deviceSiemensEntity.setReadRepeatUnit(siemens.getReadRepeatUnit());
deviceSiemensEntity.setReadCron(siemens.getReadCron());
deviceSiemensEntity.setWriteCronType(siemens.getWriteCronType());
deviceSiemensEntity.setWriteRepeatValue(siemens.getWriteRepeatValue());
deviceSiemensEntity.setWriteCron(siemens.getWriteCron());
deviceSiemensEntity.setLocalPersistent(siemens.getLocalPersistent());
deviceSiemensEntity.setUploadRate(siemens.getUploadRate());
deviceSiemensEntity.setRateCount(siemens.getRateCount());
siemensPointService.add(deviceSiemensEntity, gatewayDO.getAdminIp());
}
//下发完成西门子设备后 下发对应设备的点位
public void addDeviceSiemensEntity(GatewayDO gatewayDO, Long machineId, DeviceDO deviceDO) {
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
/*下发好设备后获取设备列表找点位*/
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
for (DeviceSiemensEntity deviceSiemensEntity : siemensList) {
//根据deviceId 和机台编码查询sql数据库点位信息
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
List<SiemensPointEntity> list = new ArrayList<>();
for (DeviceAttributeDO point : points) {
Integer dataType = AddressDataType.getGatewayDataTypeMap(point.getDataType());
//新增点位
SiemensPointEntity siemensPointEntity = new SiemensPointEntity()
.setSiemensFieldName(point.getAttributeCode())
.setSiemensFieldAddress(point.getAddress())
.setSiemensFieldDataType(dataType)
.setSiemensFieldPrecision(point.getSiemensFieldPrecision())
.setSiemensFieldUnit(point.getUnit());
list.add(siemensPointEntity);
}
if (list.size() > 0)
siemensPointService.add(list, gatewayDO.getAdminIp(), deviceSiemensEntity.getDeviceConfigID());
}
}
//清除原本的Modbus设备数据
// public void deleteModbusEntity(BeEquipments equipments) {
// modbusPointService.login(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
// List<DeviceModbusEntity> list = modbusPointService.getModbusList(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
@ -214,282 +212,284 @@ public class TheGatewayServiceImpl {
// }
// }
//清除原本的Modbus设备数据
public void deleteModbusEntity(GatewayDO gatewayDO, String deviceId) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
List<DeviceModbusEntity> list = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceId);
if (null != list && list.size() > 0) {
//先清除点位数据
String[] deviceIds = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
deviceIds[i] = list.get(i).getDeviceConfigID();
//删除每个设备下的原有点位
List<ModbusPointEntity> pointList = modbusPointService.getPointListAll(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), list.get(i).getDeviceConfigID());
if (pointList != null && pointList.size() > 0) {
String[] addressIds = new String[pointList.size()];
for (int j = 0; j < pointList.size(); j++) {
addressIds[j] = pointList.get(j).getDeviceConfigContentID();
}
//删除点位数据
modbusPointService.deletePoint(gatewayDO.getAdminIp(), String.join(",", addressIds));
}
}
//再清除设备数据
modbusPointService.delete(gatewayDO.getAdminIp(), String.join(",", deviceIds));
}
}
public void addModbusEntity(GatewayDO gatewayDO) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
List<DeviceDO> modbuses = deviceMapper.selectByGatewayId(gatewayDO.getId());
List<DeviceModbusEntity> list = new ArrayList<>();
if (modbuses != null && modbuses.size() > 0) {
for (DeviceDO modbus : modbuses) {
DeviceModbusEntity deviceModbusEntity = initEntity(modbus);
list.add(deviceModbusEntity);
//mob 下发失败 {"code":500,"msg":"该串口已经配置"}
}
modbusPointService.add(list, gatewayDO.getAdminIp());
}
}
private DeviceModbusEntity initEntity(DeviceDO modbus) {
DeviceModbusEntity deviceModbusEntity = new DeviceModbusEntity();
deviceModbusEntity.setEquipmentsId(modbus.getOrgId().toString());
deviceModbusEntity.setDeviceId(modbus.getDeviceCode());
deviceModbusEntity.setDeviceName(modbus.getDeviceName());
deviceModbusEntity.setModbusProtocol(modbus.getModbusProtocol());
deviceModbusEntity.setModbusPattern(modbus.getModbusPattern());
deviceModbusEntity.setPortName(modbus.getPortName());
deviceModbusEntity.setModbusConnectParam(modbus.getModbusConnectParam());
deviceModbusEntity.setReadCronType(modbus.getReadCronType());
deviceModbusEntity.setReadRepeatValue(modbus.getReadRepeatValue());
deviceModbusEntity.setReadRepeatUnit(modbus.getReadRepeatUnit());
deviceModbusEntity.setReadCron(modbus.getReadCron());
deviceModbusEntity.setWriteCronType(modbus.getWriteCronType());
deviceModbusEntity.setWriteRepeatValue(modbus.getWriteRepeatValue());
deviceModbusEntity.setWriteRepeatUnit(modbus.getWriteRepeatUnit());
deviceModbusEntity.setWriteCron(modbus.getWriteCron());
deviceModbusEntity.setLocalPersistent(modbus.getLocalPersistent());
deviceModbusEntity.setUploadRate(modbus.getUploadRate());
deviceModbusEntity.setRateCount(modbus.getRateCount());
deviceModbusEntity.setModbusReadAddrGap(modbus.getModbusReadAddrGap());
return deviceModbusEntity;
}
public void addModbusEntity(GatewayDO gatewayDO, DeviceDO modbus) {
DeviceModbusEntity deviceModbusEntity = initEntity(modbus);
//mob 下发失败 {"code":500,"msg":"该串口已经配置"}
modbusPointService.add(deviceModbusEntity, gatewayDO.getAdminIp());
}
public void addDeviceModbusEntity(GatewayDO gatewayDO) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
/*下发好设备后获取设备列表找点位*/
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword());
for (DeviceModbusEntity deviceModbusEntity : modbusPointList) {
//根据deviceId 和机台编码查询sql数据库点位信息
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(1L);
getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
List<ModbusPointEntity> list = getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
//下发
if (list.size() > 0)
modbusPointService.add(list, gatewayDO.getAdminIp(), deviceModbusEntity.getDeviceConfigID());
}
}
public void addDeviceModbusEntity(GatewayDO gatewayDO, DeviceDO deviceDO) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
/*下发好设备后获取设备列表找点位*/
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
for (DeviceModbusEntity deviceModbusEntity : modbusPointList) {
//根据deviceId 和机台编码查询sql数据库点位信息
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
List<ModbusPointEntity> list = getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
if (list.size() > 0)
modbusPointService.add(list, gatewayDO.getAdminIp(), deviceModbusEntity.getDeviceConfigID());
}
}
private List<ModbusPointEntity> getModbusPointEntityList(GatewayDO gatewayDO,
DeviceModbusEntity deviceModbusEntity,
List<DeviceAttributeDO> points) {
List<ModbusPointEntity> list = new ArrayList<>();
for (DeviceAttributeDO point : points) {
//新增点位
ModbusPointEntity modbusPointEntity = new ModbusPointEntity();
modbusPointEntity.setModbusSlaveID(point.getModbusSlaveId());
modbusPointEntity.setModbusFieldName(point.getAttributeCode());
modbusPointEntity.setModbusFieldAddress(point.getModbusFieldAddress());
modbusPointEntity.setModbusAddressType(point.getModbusAddressType());
modbusPointEntity.setModbusFieldSize(point.getModbusFieldSize());
modbusPointEntity.setModbusFieldPrecision(point.getModbusFieldPrecision());
modbusPointEntity.setModbusFieldDataType(point.getDataType());
modbusPointEntity.setModbusFieldOrder(point.getModbusFieldOrder());
modbusPointEntity.setModbusFieldUnit(point.getUnit());
list.add(modbusPointEntity);
}
return list;
}
/**
* mqtt
* 1
* 2
* 3
* 4
* 5
*/
public void deleteMqttEntity(GatewayDO gatewayDO) {
modbusPointService.login(gatewayDO.getAdminIp(),gatewayDO.getUsername(),gatewayDO.getPassword());
List<MqttBrokerEntity> mqttBrokerEntity = gatewayMqttService.getMqttBrokerEntity(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword());
for (MqttBrokerEntity brokerEntity : mqttBrokerEntity) {
gatewayMqttService.delete(gatewayDO.getAdminIp(), brokerEntity.getCloudConfigID());
}
}
/***启用设备 */
public void changeStatus(GatewayDO gatewayDO, String deviceCode, String type) {
List<String> deviceIds = new ArrayList<>();
if (type.equals("modbus")) {
/*下发好设备后获取设备列表找点位*/
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceCode);
for (DeviceModbusEntity entity : modbusPointList) {
deviceIds.add(entity.getDeviceConfigID());
}
}
if (type.equals("siemens")) {
/*下发好设备后获取设备列表找点位*/
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceCode);
for (DeviceSiemensEntity entity : siemensList) {
deviceIds.add(entity.getDeviceConfigID());
}
}
ChangeStatus changeStatus = new ChangeStatus();
changeStatus.setNewStatus("2");
changeStatus.setOldStatus("1");
siemensPointService.changeStatusDevice(deviceIds, changeStatus, gatewayDO.getAdminIp());
}
/***启用设备 */
public void changeStatus(GatewayDO gatewayDO) {
/*下发好设备后获取设备列表找点位*/
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword());
/*下发好设备后获取设备列表找点位*/
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword());
List<String> deviceIds = new ArrayList<>();
for (DeviceModbusEntity entity : modbusPointList) {
deviceIds.add(entity.getDeviceConfigID());
}
for (DeviceSiemensEntity entity : siemensList) {
deviceIds.add(entity.getDeviceConfigID());
}
ChangeStatus changeStatus = new ChangeStatus();
changeStatus.setNewStatus("2");
changeStatus.setOldStatus("1");
siemensPointService.changeStatusDevice(deviceIds, changeStatus, gatewayDO.getAdminIp());
}
/*检测下发数据和实际下发数量是否匹配*/
public CommonResult<String> compare(GatewayDO gatewayDO, DeviceDO deviceDO, String type) {
String deviceConfigID = null;
Integer pointList = 0;
if ("modbus".equals(type)) {
List<DeviceModbusEntity> modbusList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
if (modbusList != null && modbusList.size() > 0) {
deviceConfigID = modbusList.get(0).getDeviceConfigID();
}
pointList = modbusPointService.getPointListByCount(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceConfigID);
} else {
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
if (siemensList != null && siemensList.size() > 0) {
deviceConfigID = siemensList.get(0).getDeviceConfigID();
}
pointList = siemensPointService.getPointListByCount(gatewayDO.getAdminIp(), deviceConfigID,
gatewayDO.getUsername(), gatewayDO.getPassword());
}
//根据deviceId 和机台编码查询sql数据库点位信息
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
int size = points.size();
String str = "应下发" + points.size() + "个地址,实下发" + pointList + "个地址";
return size!=pointList? CommonResult.error(500,"下发失败!"+str)
: CommonResult.success("下发成功!"+str);
}
/**网关登录测试*/
public CommonResult login(GatewayDO gateway){
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = HttpUtils.getHttpPost(
gateway.getAdminIp() + UrlConstans.loginUrl,
HttpEntity.getLoginParam(gateway.getUsername(),gateway.getPassword()));
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
if(entityStr.contains("服务不可用") || entityStr.contains("<!DOCTYPE html>"))
return CommonResult.success("网关服务不可用!");
ResponseInfo info = JSON.parseObject(entityStr, ResponseInfo.class);
if(info.code==0)return CommonResult.success("网关登录测试成功!");
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return CommonResult.error(500,"网关登录测试失败!");
}
public int openOrClose(String adminIp, String username, String password, String monitorCode) {
List<DeviceVideoEntity> videoId = videoService.getVideoId(adminIp, username, password, monitorCode);
if (videoId != null && videoId.size() > 0) {
String[] addressIds = new String[videoId.size()];
for (int j = 0; j < videoId.size(); j++) {
addressIds[j] = videoId.get(j).getDeviceConfigID();
}
return videoService.openOrClose(adminIp,String.join(",",addressIds));
}
return 1;
}
@Data
@NoArgsConstructor
public static class ResponseInfo {
int code;
String msg;
}
public void deleteVideo(String adminIp,String username,String password,String monitorCode) {
videoService.login(adminIp,username,password);
List<DeviceVideoEntity> videoId = videoService.getVideoId(adminIp, username, password, monitorCode);
if (videoId != null && videoId.size() > 0) {
String[] addressIds = new String[videoId.size()];
for (int j = 0; j < videoId.size(); j++) {
addressIds[j] = videoId.get(j).getDeviceConfigID();
}
videoService.deleteByIds(adminIp, String.join(",", addressIds));
}
}
//清除原本的Modbus设备数据
public void deleteModbusEntity(GatewayDO gatewayDO, String deviceId) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
List<DeviceModbusEntity> list = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceId);
if (null != list && list.size() > 0) {
//先清除点位数据
String[] deviceIds = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
deviceIds[i] = list.get(i).getDeviceConfigID();
//删除每个设备下的原有点位
List<ModbusPointEntity> pointList = modbusPointService.getPointListAll(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), list.get(i).getDeviceConfigID());
if (pointList != null && pointList.size() > 0) {
String[] addressIds = new String[pointList.size()];
for (int j = 0; j < pointList.size(); j++) {
addressIds[j] = pointList.get(j).getDeviceConfigContentID();
}
//删除点位数据
modbusPointService.deletePoint(gatewayDO.getAdminIp(), String.join(",", addressIds));
}
}
//再清除设备数据
modbusPointService.delete(gatewayDO.getAdminIp(), String.join(",", deviceIds));
}
}
public void addModbusEntity(GatewayDO gatewayDO) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
List<DeviceDO> modbuses = deviceMapper.selectByGatewayId(gatewayDO.getId());
List<DeviceModbusEntity> list = new ArrayList<>();
if (modbuses != null && modbuses.size() > 0) {
for (DeviceDO modbus : modbuses) {
DeviceModbusEntity deviceModbusEntity = initEntity(modbus);
list.add(deviceModbusEntity);
//mob 下发失败 {"code":500,"msg":"该串口已经配置"}
}
modbusPointService.add(list, gatewayDO.getAdminIp());
}
}
private DeviceModbusEntity initEntity(DeviceDO modbus) {
DeviceModbusEntity deviceModbusEntity = new DeviceModbusEntity();
deviceModbusEntity.setEquipmentsId(modbus.getOrgId().toString());
deviceModbusEntity.setDeviceId(modbus.getDeviceCode());
deviceModbusEntity.setDeviceName(modbus.getDeviceName());
deviceModbusEntity.setModbusProtocol(modbus.getModbusProtocol());
deviceModbusEntity.setModbusPattern(modbus.getModbusPattern());
deviceModbusEntity.setPortName(modbus.getPortName());
deviceModbusEntity.setModbusConnectParam(modbus.getModbusConnectParam());
deviceModbusEntity.setReadCronType(modbus.getReadCronType());
deviceModbusEntity.setReadRepeatValue(modbus.getReadRepeatValue());
deviceModbusEntity.setReadRepeatUnit(modbus.getReadRepeatUnit());
deviceModbusEntity.setReadCron(modbus.getReadCron());
deviceModbusEntity.setWriteCronType(modbus.getWriteCronType());
deviceModbusEntity.setWriteRepeatValue(modbus.getWriteRepeatValue());
deviceModbusEntity.setWriteRepeatUnit(modbus.getWriteRepeatUnit());
deviceModbusEntity.setWriteCron(modbus.getWriteCron());
deviceModbusEntity.setLocalPersistent(modbus.getLocalPersistent());
deviceModbusEntity.setUploadRate(modbus.getUploadRate());
deviceModbusEntity.setRateCount(modbus.getRateCount());
deviceModbusEntity.setModbusReadAddrGap(modbus.getModbusReadAddrGap());
return deviceModbusEntity;
}
public void addModbusEntity(GatewayDO gatewayDO, DeviceDO modbus) {
DeviceModbusEntity deviceModbusEntity = initEntity(modbus);
//mob 下发失败 {"code":500,"msg":"该串口已经配置"}
modbusPointService.add(deviceModbusEntity, gatewayDO.getAdminIp());
}
public void addDeviceModbusEntity(GatewayDO gatewayDO) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
/*下发好设备后获取设备列表找点位*/
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword());
for (DeviceModbusEntity deviceModbusEntity : modbusPointList) {
//根据deviceId 和机台编码查询sql数据库点位信息
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(1L);
getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
List<ModbusPointEntity> list = getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
//下发
if (list.size() > 0)
modbusPointService.add(list, gatewayDO.getAdminIp(), deviceModbusEntity.getDeviceConfigID());
}
}
public void addDeviceModbusEntity(GatewayDO gatewayDO, DeviceDO deviceDO) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
/*下发好设备后获取设备列表找点位*/
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
for (DeviceModbusEntity deviceModbusEntity : modbusPointList) {
//根据deviceId 和机台编码查询sql数据库点位信息
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
List<ModbusPointEntity> list = getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
if (list.size() > 0)
modbusPointService.add(list, gatewayDO.getAdminIp(), deviceModbusEntity.getDeviceConfigID());
}
}
private List<ModbusPointEntity> getModbusPointEntityList(GatewayDO gatewayDO,
DeviceModbusEntity deviceModbusEntity,
List<DeviceAttributeDO> points) {
List<ModbusPointEntity> list = new ArrayList<>();
for (DeviceAttributeDO point : points) {
//新增点位
ModbusPointEntity modbusPointEntity = new ModbusPointEntity();
modbusPointEntity.setModbusSlaveID(point.getModbusSlaveId());
modbusPointEntity.setModbusFieldName(point.getAttributeCode());
modbusPointEntity.setModbusFieldAddress(point.getModbusFieldAddress());
modbusPointEntity.setModbusAddressType(point.getModbusAddressType());
modbusPointEntity.setModbusFieldSize(point.getModbusFieldSize());
modbusPointEntity.setModbusFieldPrecision(point.getModbusFieldPrecision());
modbusPointEntity.setModbusFieldDataType(point.getDataType());
modbusPointEntity.setModbusFieldOrder(point.getModbusFieldOrder());
modbusPointEntity.setModbusFieldUnit(point.getUnit());
list.add(modbusPointEntity);
}
return list;
}
/**
* mqtt
* 1
* 2
* 3
* 4
* 5
*/
public void deleteMqttEntity(GatewayDO gatewayDO) {
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
List<MqttBrokerEntity> mqttBrokerEntity = gatewayMqttService.getMqttBrokerEntity(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword());
for (MqttBrokerEntity brokerEntity : mqttBrokerEntity) {
gatewayMqttService.delete(gatewayDO.getAdminIp(), brokerEntity.getCloudConfigID());
}
}
/***启用设备 */
public void changeStatus(GatewayDO gatewayDO, String deviceCode, String type) {
List<String> deviceIds = new ArrayList<>();
if (type.equals("modbus")) {
/*下发好设备后获取设备列表找点位*/
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceCode);
for (DeviceModbusEntity entity : modbusPointList) {
deviceIds.add(entity.getDeviceConfigID());
}
}
if (type.equals("siemens")) {
/*下发好设备后获取设备列表找点位*/
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceCode);
for (DeviceSiemensEntity entity : siemensList) {
deviceIds.add(entity.getDeviceConfigID());
}
}
ChangeStatus changeStatus = new ChangeStatus();
changeStatus.setNewStatus("2");
changeStatus.setOldStatus("1");
siemensPointService.changeStatusDevice(deviceIds, changeStatus, gatewayDO.getAdminIp());
}
/***启用设备 */
public void changeStatus(GatewayDO gatewayDO) {
/*下发好设备后获取设备列表找点位*/
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword());
/*下发好设备后获取设备列表找点位*/
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword());
List<String> deviceIds = new ArrayList<>();
for (DeviceModbusEntity entity : modbusPointList) {
deviceIds.add(entity.getDeviceConfigID());
}
for (DeviceSiemensEntity entity : siemensList) {
deviceIds.add(entity.getDeviceConfigID());
}
ChangeStatus changeStatus = new ChangeStatus();
changeStatus.setNewStatus("2");
changeStatus.setOldStatus("1");
siemensPointService.changeStatusDevice(deviceIds, changeStatus, gatewayDO.getAdminIp());
}
/*检测下发数据和实际下发数量是否匹配*/
public CommonResult<String> compare(GatewayDO gatewayDO, DeviceDO deviceDO, String type) {
String deviceConfigID = null;
Integer pointList = 0;
if ("modbus".equals(type)) {
List<DeviceModbusEntity> modbusList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
if (modbusList != null && modbusList.size() > 0) {
deviceConfigID = modbusList.get(0).getDeviceConfigID();
}
pointList = modbusPointService.getPointListByCount(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceConfigID);
} else {
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
if (siemensList != null && siemensList.size() > 0) {
deviceConfigID = siemensList.get(0).getDeviceConfigID();
}
pointList = siemensPointService.getPointListByCount(gatewayDO.getAdminIp(), deviceConfigID,
gatewayDO.getUsername(), gatewayDO.getPassword());
}
//根据deviceId 和机台编码查询sql数据库点位信息
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
int size = points.size();
String str = "应下发" + points.size() + "个地址,实下发" + pointList + "个地址";
return size != pointList ? CommonResult.error(500, "下发失败!" + str)
: CommonResult.success("下发成功!" + str);
}
/**
*
*/
public CommonResult login(GatewayDO gateway) {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = HttpUtils.getHttpPost(
gateway.getAdminIp() + UrlConstans.loginUrl,
HttpEntity.getLoginParam(gateway.getUsername(), gateway.getPassword()));
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
if (entityStr.contains("服务不可用") || entityStr.contains("<!DOCTYPE html>"))
return CommonResult.success("网关服务不可用!");
ResponseInfo info = JSON.parseObject(entityStr, ResponseInfo.class);
if (info.code == 0) return CommonResult.success("网关登录测试成功!");
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return CommonResult.error(500, "网关登录测试失败!");
}
public int openOrClose(String adminIp, String username, String password, String monitorCode) {
List<DeviceVideoEntity> videoId = videoService.getVideoId(adminIp, username, password, monitorCode);
if (videoId != null && videoId.size() > 0) {
String[] addressIds = new String[videoId.size()];
for (int j = 0; j < videoId.size(); j++) {
addressIds[j] = videoId.get(j).getDeviceConfigID();
}
return videoService.openOrClose(adminIp, String.join(",", addressIds));
}
return 1;
}
@Data
@NoArgsConstructor
public static class ResponseInfo {
int code;
String msg;
}
public void deleteVideo(String adminIp, String username, String password, String monitorCode) {
videoService.login(adminIp, username, password);
List<DeviceVideoEntity> videoId = videoService.getVideoId(adminIp, username, password, monitorCode);
if (videoId != null && videoId.size() > 0) {
String[] addressIds = new String[videoId.size()];
for (int j = 0; j < videoId.size(); j++) {
addressIds[j] = videoId.get(j).getDeviceConfigID();
}
videoService.deleteByIds(adminIp, String.join(",", addressIds));
}
}
// public void addVideo(String adminIp,String username,String password, Monitor monitor) {
// videoService.login(adminIp,username,password);

@ -23,106 +23,107 @@ import static cn.iocoder.yudao.module.iot.framework.gateway.util.HttpUtils.getHt
@Service
public class VideoServiceImpl implements IVideoService {
private static final Logger log = LoggerFactory.getLogger(VideoServiceImpl.class);
private String cookie;
//先登录
@Override
public void login(String url ,String username ,String password){
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(url + UrlConstans.loginUrl, HttpEntity.getLoginParam(username,password));
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
this.cookie = HttpUtils.getCookies(httpResponse);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
}
private static final Logger log = LoggerFactory.getLogger(VideoServiceImpl.class);
private String cookie;
@Override
public List<DeviceVideoEntity> getVideoId(String adminIp, String username, String password, String monitorCode) {
PageEntityByDecice pageEntity = new PageEntityByDecice();
pageEntity.setDeviceID(monitorCode);
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceVideoEntity> list = null;
try {
String getlistUrl = adminIp + UrlConstans.video_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParamVo(pageEntity));//检索条件
login(adminIp, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toVideoEntityList(entityStr);
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
//先登录
@Override
public void login(String url, String username, String password) {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(url + UrlConstans.loginUrl, HttpEntity.getLoginParam(username, password));
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
this.cookie = HttpUtils.getCookies(httpResponse);
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
}
@Override
public int deleteByIds(String adminIp, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(adminIp + UrlConstans.video_remove, HttpEntity.getRemoveParam(ids));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public List<DeviceVideoEntity> getVideoId(String adminIp, String username, String password, String monitorCode) {
PageEntityByDecice pageEntity = new PageEntityByDecice();
pageEntity.setDeviceID(monitorCode);
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
List<DeviceVideoEntity> list = null;
try {
String getlistUrl = adminIp + UrlConstans.video_list;
HttpPost httpPost = getHttpPost(getlistUrl, HttpEntity.getPageParamVo(pageEntity));//检索条件
login(adminIp, username, password);
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
if (httpResponse.getEntity() != null) {
String entityStr = EntityUtils.toString(httpResponse.getEntity());
list = JsonUtils.toVideoEntityList(entityStr);
}
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return list;
}
@Override
public int deleteByIds(String adminIp, String ids) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(adminIp + UrlConstans.video_remove, HttpEntity.getRemoveParam(ids));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(DeviceVideoEntity list, String adminIp) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(adminIp + UrlConstans.video_add, HttpEntity.getParam(list));
httpPost.setHeader("Cookie", cookie);
// 设置 HttpPost 参数
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int openOrClose(String adminIp, String videoId) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(adminIp + UrlConstans.video_push_stream, HttpEntity.getRemoveParam(videoId));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int add(DeviceVideoEntity list, String adminIp) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
HttpPost httpPost = null;
try {
httpPost = getHttpPost(adminIp + UrlConstans.video_add, HttpEntity.getParam(list));
httpPost.setHeader("Cookie", cookie);
// 设置 HttpPost 参数
httpResponse = httpClient.execute(httpPost);
log.debug(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
e.printStackTrace();
return 1;
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
@Override
public int openOrClose(String adminIp, String videoId) {
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpPost httpPost = getHttpPost(adminIp + UrlConstans.video_push_stream, HttpEntity.getRemoveParam(videoId));
httpPost.setHeader("Cookie", cookie);
httpResponse = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return 0;
}
}

@ -36,36 +36,32 @@ import java.util.List;
*
* @author ruoyi
*/
public class HttpUtils
{
public class HttpUtils {
private static final Logger log = LoggerFactory.getLogger(HttpUtils.class);
/**
* URL GET
*
* @param url URL
* @param url URL
* @param param name1=value1&name2=value2
* @return
*/
public static String sendGet(String url, String param)
{
public static String sendGet(String url, String param) {
return sendGet(url, param, "UTF-8");
}
/**
* URL GET
*
* @param url URL
* @param param name1=value1&name2=value2
* @param url URL
* @param param name1=value1&name2=value2
* @param contentType
* @return
*/
public static String sendGet(String url, String param, String contentType)
{
public static String sendGet(String url, String param, String contentType) {
StringBuilder result = new StringBuilder();
BufferedReader in = null;
try
{
try {
String urlNameString = url + "?" + param;
log.info("sendGet - {}", urlNameString);
URL realUrl = new URL(urlNameString);
@ -76,39 +72,24 @@ public class HttpUtils
connection.connect();
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), contentType));
String line;
while ((line = in.readLine()) != null)
{
while ((line = in.readLine()) != null) {
result.append(line);
}
log.info("recv - {}", result);
}
catch (ConnectException e)
{
} catch (ConnectException e) {
log.error("调用HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e);
}
catch (SocketTimeoutException e)
{
} catch (SocketTimeoutException e) {
log.error("调用HttpUtils.sendGet SocketTimeoutException, url=" + url + ",param=" + param, e);
}
catch (IOException e)
{
} catch (IOException e) {
log.error("调用HttpUtils.sendGet IOException, url=" + url + ",param=" + param, e);
}
catch (Exception e)
{
} catch (Exception e) {
log.error("调用HttpsUtil.sendGet Exception, url=" + url + ",param=" + param, e);
}
finally
{
try
{
if (in != null)
{
} finally {
try {
if (in != null) {
in.close();
}
}
catch (Exception ex)
{
} catch (Exception ex) {
log.error("调用in.close Exception, url=" + url + ",param=" + param, ex);
}
}
@ -118,17 +99,15 @@ public class HttpUtils
/**
* URL POST
*
* @param url URL
* @param url URL
* @param param name1=value1&name2=value2
* @return
*/
public static String sendPost(String url, String param)
{
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
StringBuilder result = new StringBuilder();
try
{
try {
String urlNameString = url;
log.info("sendPost - {}", urlNameString);
URL realUrl = new URL(urlNameString);
@ -145,58 +124,40 @@ public class HttpUtils
out.flush();
in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
String line;
while ((line = in.readLine()) != null)
{
while ((line = in.readLine()) != null) {
result.append(line);
}
log.info("recv - {}", result);
}
catch (ConnectException e)
{
} catch (ConnectException e) {
log.error("调用HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e);
}
catch (SocketTimeoutException e)
{
} catch (SocketTimeoutException e) {
log.error("调用HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e);
}
catch (IOException e)
{
} catch (IOException e) {
log.error("调用HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e);
}
catch (Exception e)
{
} catch (Exception e) {
log.error("调用HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e);
}
finally
{
try
{
if (out != null)
{
} finally {
try {
if (out != null) {
out.close();
}
if (in != null)
{
if (in != null) {
in.close();
}
}
catch (IOException ex)
{
} catch (IOException ex) {
log.error("调用in.close Exception, url=" + url + ",param=" + param, ex);
}
}
return result.toString();
}
public static String sendSSLPost(String url, String param)
{
public static String sendSSLPost(String url, String param) {
StringBuilder result = new StringBuilder();
String urlNameString = url + "?" + param;
try
{
try {
log.info("sendSSLPost - {}", urlNameString);
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom());
sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
URL console = new URL(urlNameString);
HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
conn.setRequestProperty("accept", "*/*");
@ -213,173 +174,161 @@ public class HttpUtils
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String ret = "";
while ((ret = br.readLine()) != null)
{
if (ret != null && !"".equals(ret.trim()))
{
while ((ret = br.readLine()) != null) {
if (ret != null && !"".equals(ret.trim())) {
result.append(new String(ret.getBytes("ISO-8859-1"), "utf-8"));
}
}
log.info("recv - {}", result);
conn.disconnect();
br.close();
}
catch (ConnectException e)
{
} catch (ConnectException e) {
log.error("调用HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e);
}
catch (SocketTimeoutException e)
{
} catch (SocketTimeoutException e) {
log.error("调用HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param, e);
}
catch (IOException e)
{
} catch (IOException e) {
log.error("调用HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e);
}
catch (Exception e)
{
} catch (Exception e) {
log.error("调用HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e);
}
return result.toString();
}
private static class TrustAnyTrustManager implements X509TrustManager
{
private static class TrustAnyTrustManager implements X509TrustManager {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType)
{
public void checkClientTrusted(X509Certificate[] chain, String authType) {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType)
{
public void checkServerTrusted(X509Certificate[] chain, String authType) {
}
@Override
public X509Certificate[] getAcceptedIssuers()
{
return new X509Certificate[] {};
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[]{};
}
}
private static class TrustAnyHostnameVerifier implements HostnameVerifier
{
private static class TrustAnyHostnameVerifier implements HostnameVerifier {
@Override
public boolean verify(String hostname, SSLSession session)
{
public boolean verify(String hostname, SSLSession session) {
return true;
}
}
public static CloseableHttpClient createSSLClientDefault() {
try {
//使用 loadTrustMaterial() 方法实现一个信任策略,信任所有证书
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
// 信任所有
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
return true;
}
}).build();
//NoopHostnameVerifier类: 作为主机名验证工具,实质上关闭了主机名验证,它接受任何
//有效的SSL会话并匹配到目标主机。
HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE;
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, hostnameVerifier);
return HttpClients.custom().setSSLSocketFactory(sslsf).build();
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
}
return HttpClients.createDefault();
}
public static CloseableHttpClient createSSLClientDefault() {
try {
//使用 loadTrustMaterial() 方法实现一个信任策略,信任所有证书
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
// 信任所有
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
return true;
}
}).build();
//NoopHostnameVerifier类: 作为主机名验证工具,实质上关闭了主机名验证,它接受任何
//有效的SSL会话并匹配到目标主机。
HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE;
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, hostnameVerifier);
return HttpClients.custom().setSSLSocketFactory(sslsf).build();
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
}
return HttpClients.createDefault();
public static HttpPost getHttpPost(String url, List<BasicNameValuePair> list) throws UnsupportedEncodingException {
// 创建 HttpPost 请求
HttpPost httpPost = new HttpPost(url);
// 设置长连接
httpPost.setHeader("Connection", "keep-alive");
// 设置代理(模拟浏览器版本)
httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
httpPost.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");
httpPost.setHeader("Accept-Encoding", "gzip, deflate, br");
httpPost.setHeader("Accept-Language", "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7");
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
}
// 设置 Cookie
//httpPost.setHeader("Cookie", "UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4");
// 创建 HttpPost 参数
if (list != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(list);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
return httpPost;
}
public static HttpGet getHttpGet(String url, List<BasicNameValuePair> list) throws UnsupportedEncodingException {
// 创建 HttpGet 请求
HttpGet httpGet = new HttpGet(url);
// 设置长连接
httpGet.setHeader("Connection", "keep-alive");
// 设置代理(模拟浏览器版本)
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
httpGet.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");
httpGet.setHeader("Accept-Encoding", "gzip, deflate, br");
httpGet.setHeader("Accept-Language", "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7");
httpGet.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
// 创建 httpGet 参数
if (list != null) {
for (BasicNameValuePair pair : list) {
// 设置 httpGet 参数
httpGet.setHeader(pair.getName(),pair.getValue());
}
}
return httpGet;
}
public static boolean testNetworkConnected(String url){
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpGet httpGet = HttpUtils.getHttpGet(url,new ArrayList<>());
httpResponse = httpClient.execute(httpGet);
StatusLine statusLine = httpResponse.getStatusLine();
if(statusLine.getStatusCode() == 200)return true;
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return false;
}
public static String getCookies(CloseableHttpResponse httpResponse) {
Header str = httpResponse.getHeaders("Set-Cookie")[0];
return str.getValue().split(";")[0];
}
public static HttpPost getHttpPost(String url, List<BasicNameValuePair> list) throws UnsupportedEncodingException {
// 创建 HttpPost 请求
HttpPost httpPost = new HttpPost(url);
// 设置长连接
httpPost.setHeader("Connection", "keep-alive");
// 设置代理(模拟浏览器版本)
httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
httpPost.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");
httpPost.setHeader("Accept-Encoding", "gzip, deflate, br");
httpPost.setHeader("Accept-Language", "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7");
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
public static void closeHttp(CloseableHttpClient httpClient, CloseableHttpResponse httpResponse) {
try {
if (httpClient != null) {
httpClient.close();
}
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
// 设置 Cookie
//httpPost.setHeader("Cookie", "UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4");
// 创建 HttpPost 参数
if (list != null) {
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(list);
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
return httpPost;
}
public static HttpGet getHttpGet(String url, List<BasicNameValuePair> list) throws UnsupportedEncodingException {
// 创建 HttpGet 请求
HttpGet httpGet = new HttpGet(url);
// 设置长连接
httpGet.setHeader("Connection", "keep-alive");
// 设置代理(模拟浏览器版本)
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
httpGet.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");
httpGet.setHeader("Accept-Encoding", "gzip, deflate, br");
httpGet.setHeader("Accept-Language", "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7");
httpGet.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
// 创建 httpGet 参数
if (list != null) {
for (BasicNameValuePair pair : list) {
// 设置 httpGet 参数
httpGet.setHeader(pair.getName(), pair.getValue());
}
}
return httpGet;
}
public static boolean testNetworkConnected(String url) {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpUtils.createSSLClientDefault();
CloseableHttpResponse httpResponse = null;
try {
HttpGet httpGet = HttpUtils.getHttpGet(url, new ArrayList<>());
httpResponse = httpClient.execute(httpGet);
StatusLine statusLine = httpResponse.getStatusLine();
if (statusLine.getStatusCode() == 200) return true;
}
// 无论如何必须关闭连接
catch (IOException e) {
e.printStackTrace();
} finally {
HttpUtils.closeHttp(httpClient, httpResponse);
}
return false;
}
/*post操作是否成功*/
public static Boolean isOk(CloseableHttpResponse httpResponse) {
try {
return "200".equals(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
}
return false;
}
public static String getCookies(CloseableHttpResponse httpResponse) {
Header str = httpResponse.getHeaders("Set-Cookie")[0];
return str.getValue().split(";")[0];
}
public static void closeHttp(CloseableHttpClient httpClient, CloseableHttpResponse httpResponse) {
try {
if (httpClient != null) {
httpClient.close();
}
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
/*post操作是否成功*/
public static Boolean isOk(CloseableHttpResponse httpResponse) {
try {
return "200".equals(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e) {
}
return false;
}
}

@ -11,79 +11,79 @@ import java.util.List;
public class JsonUtils {
public static List<SiemensPointEntity> toSiemensPointEntityList(String jsonStr) {
List<SiemensPointEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, SiemensPointEntity.class));
}
return list;
}
public static List<SiemensPointEntity> toSiemensPointEntityList(String jsonStr) {
List<SiemensPointEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, SiemensPointEntity.class));
}
return list;
}
public static String toSiemensPointEntityTotal(String jsonStr) {
List<SiemensPointEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
return entity.getTotal();
}
public static String toSiemensPointEntityTotal(String jsonStr) {
List<SiemensPointEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
return entity.getTotal();
}
public static List<ModbusPointEntity> toModbusPointEntityList(String jsonStr) {
List<ModbusPointEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, ModbusPointEntity.class));
}
return list;
}
public static List<ModbusPointEntity> toModbusPointEntityList(String jsonStr) {
List<ModbusPointEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, ModbusPointEntity.class));
}
return list;
}
public static String toModbusPointEntityTotal(String jsonStr) {
List<ModbusPointEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
return entity.getTotal();
}
public static String toModbusPointEntityTotal(String jsonStr) {
List<ModbusPointEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
return entity.getTotal();
}
public static ListEntity toPointEntity(String jsonStr) {
return JSON.parseObject(jsonStr, ListEntity.class);
}
public static ListEntity toPointEntity(String jsonStr) {
return JSON.parseObject(jsonStr, ListEntity.class);
}
public static List<DeviceSiemensEntity> toDeviceSiemensEntityList(String jsonStr) {
List<DeviceSiemensEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, DeviceSiemensEntity.class));
}
return list;
}
public static List<DeviceSiemensEntity> toDeviceSiemensEntityList(String jsonStr) {
List<DeviceSiemensEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, DeviceSiemensEntity.class));
}
return list;
}
public static List<DeviceModbusEntity> toDeviceModbusEntityList(String jsonStr) {
List<DeviceModbusEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, DeviceModbusEntity.class));
}
return list;
}
public static List<DeviceModbusEntity> toDeviceModbusEntityList(String jsonStr) {
List<DeviceModbusEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, DeviceModbusEntity.class));
}
return list;
}
public static List<MqttBrokerEntity> toMqttEntityList(String jsonStr) {
List<MqttBrokerEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, MqttBrokerEntity.class));
}
return list;
}
public static List<MqttBrokerEntity> toMqttEntityList(String jsonStr) {
List<MqttBrokerEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, MqttBrokerEntity.class));
}
return list;
}
public static List<DeviceVideoEntity> toVideoEntityList(String jsonStr) {
List<DeviceVideoEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, DeviceVideoEntity.class));
}
return list;
}
public static List<DeviceVideoEntity> toVideoEntityList(String jsonStr) {
List<DeviceVideoEntity> list = new ArrayList<>();
ListEntity entity = JSON.parseObject(jsonStr, ListEntity.class);
for (JSONObject json : entity.getRows()) {
String obj = json.toJSONString();
list.add(JSON.parseObject(obj, DeviceVideoEntity.class));
}
return list;
}
}

@ -6,49 +6,49 @@ import java.security.cert.X509Certificate;
public class SslUtil {
private static void trustAllHttpsCertificates() throws Exception {
TrustManager[] trustAllCerts = new TrustManager[1];
TrustManager tm = new miTM();
trustAllCerts[0] = tm;
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
static class miTM implements TrustManager, X509TrustManager {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(X509Certificate[] certs) {
return true;
}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType) {
return;
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType)
throws CertificateException {
return;
}
}
/**
* HTTPSSSLopenConnection
*/
public static void ignoreSsl() throws Exception{
HostnameVerifier hv = (urlHostName, session) -> true;
trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier(hv);
}
private static void trustAllHttpsCertificates() throws Exception {
TrustManager[] trustAllCerts = new TrustManager[1];
TrustManager tm = new miTM();
trustAllCerts[0] = tm;
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
static class miTM implements TrustManager, X509TrustManager {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(X509Certificate[] certs) {
return true;
}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType) {
return;
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType)
throws CertificateException {
return;
}
}
/**
* HTTPSSSLopenConnection
*/
public static void ignoreSsl() throws Exception {
HostnameVerifier hv = (urlHostName, session) -> true;
trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier(hv);
}
}

@ -1,4 +1,3 @@
package cn.iocoder.yudao.module.iot.framework.gateway.util;
import cn.iocoder.yudao.module.iot.framework.gateway.bo.ListEntity;
@ -8,7 +7,6 @@ import cn.iocoder.yudao.module.iot.framework.mqtt.utils.DateUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
@ -35,150 +33,153 @@ import java.util.Map;
@Service
@EnableScheduling
public class TestApp {
@Autowired
private ISiemensPointService iopointUploadService;
public static void main(String[] args){
BigDecimal b1 = new BigDecimal("123.564");
BigDecimal b2 = new BigDecimal("3.3");
BigDecimal divide = b1.divide(b2, 3, RoundingMode.HALF_UP);
System.out.println(divide);
System.out.println(DateUtils.getMillsLong());//1657075430559 1657461174420
//get();
//post();
//test();
}
//@Scheduled(fixedRate = 5000)
public void testHttp(){
//iopointUploadService.getList();
}
private static void get() {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建 HttpGet 请求
HttpGet httpGet = new HttpGet("https://71220220500200002.ng.xjzyun.com/");
// 设置长连接
httpGet.setHeader("Connection", "keep-alive");
// 设置代理(模拟浏览器版本)
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
// 设置 Cookie
//httpGet.setHeader("Cookie", "UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4");
CloseableHttpResponse httpResponse = null;
try {
// 请求并获得响应结果
httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
// 输出请求结果
System.out.println(EntityUtils.toString(httpEntity));
} catch (IOException e) {
e.printStackTrace();
}
// 无论如何必须关闭连接
finally {
if (httpResponse != null) {
try {
httpResponse.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (httpClient != null) {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private static void post() {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建 HttpPost 请求
HttpPost httpPost = new HttpPost("https://71220220500200002.ng.xjzyun.com/login");
// 设置长连接
httpPost.setHeader("Connection", "keep-alive");
// 设置代理(模拟浏览器版本)
httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
// 设置 Cookie
//httpPost.setHeader("Cookie", "UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4");
// 创建 HttpPost 参数
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
params.add(new BasicNameValuePair("username", "admini"));
params.add(new BasicNameValuePair("password", "adminx@052002"));
CloseableHttpResponse httpResponse = null;
try {
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
// 输出请求结果
System.out.println(EntityUtils.toString(httpEntity));
for (Header str :
httpResponse.getHeaders("Set-Cookie")) {
System.out.println("name:"+str.getName()+",value:"+str.getValue());
}
System.out.println();;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 无论如何必须关闭连接
finally {
try {
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (httpClient != null) {
httpClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void test(){
String str = "{\"code\":0,\"total\":14,\"msg\":\"\",\"rows\":[{\"deviceConfigContentID\":\"6\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.0\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统手动\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"7\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.1\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统自动\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"8\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.2\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统启动\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"9\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.3\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统停止\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"10\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.4\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"找原点\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"11\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.5\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统复位\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"12\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.2\",\"siemensFieldDataType\":\"2\",\"siemensFieldName\":\"sys_test1\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"13\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.5\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"sys_test2\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"14\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.6\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"sys_test3\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"15\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.0\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"sys_test4\",\"siemensFieldPrecision\":\"0\"}]}";
Map<String,Object> map = JSON.parseObject(str);
for (Object obj : map.keySet()){
Object value = map.get(obj);
System.out.println("key为"+obj+"值为:"+value);
}
String key ="rows";
List<JSONArray> jsonArrays = (List<JSONArray>) map.get(key);
ListEntity entity = JSON.parseObject(str, ListEntity.class);
for (JSONObject json :
entity.getRows()) {
String obj = json.toJSONString();
SiemensPointEntity pointEntity = JSON.parseObject(obj, SiemensPointEntity.class);
System.out.println(pointEntity.toString());
}
}
@Autowired
private ISiemensPointService iopointUploadService;
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("123.564");
BigDecimal b2 = new BigDecimal("3.3");
BigDecimal divide = b1.divide(b2, 3, RoundingMode.HALF_UP);
System.out.println(divide);
System.out.println(DateUtils.getMillsLong());//1657075430559 1657461174420
//get();
//post();
//test();
}
//@Scheduled(fixedRate = 5000)
public void testHttp() {
//iopointUploadService.getList();
}
private static void get() {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建 HttpGet 请求
HttpGet httpGet = new HttpGet("https://71220220500200002.ng.xjzyun.com/");
// 设置长连接
httpGet.setHeader("Connection", "keep-alive");
// 设置代理(模拟浏览器版本)
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
// 设置 Cookie
//httpGet.setHeader("Cookie", "UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4");
CloseableHttpResponse httpResponse = null;
try {
// 请求并获得响应结果
httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
// 输出请求结果
System.out.println(EntityUtils.toString(httpEntity));
} catch (IOException e) {
e.printStackTrace();
}
// 无论如何必须关闭连接
finally {
if (httpResponse != null) {
try {
httpResponse.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (httpClient != null) {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private static void post() {
// 创建 HttpClient 客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建 HttpPost 请求
HttpPost httpPost = new HttpPost("https://71220220500200002.ng.xjzyun.com/login");
// 设置长连接
httpPost.setHeader("Connection", "keep-alive");
// 设置代理(模拟浏览器版本)
httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
// 设置 Cookie
//httpPost.setHeader("Cookie", "UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4");
// 创建 HttpPost 参数
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
params.add(new BasicNameValuePair("username", "admini"));
params.add(new BasicNameValuePair("password", "adminx@052002"));
CloseableHttpResponse httpResponse = null;
try {
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
// 输出请求结果
System.out.println(EntityUtils.toString(httpEntity));
for (Header str :
httpResponse.getHeaders("Set-Cookie")) {
System.out.println("name:" + str.getName() + ",value:" + str.getValue());
}
System.out.println();
;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 无论如何必须关闭连接
finally {
try {
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (httpClient != null) {
httpClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void test() {
String str = "{\"code\":0,\"total\":14,\"msg\":\"\",\"rows\":[{\"deviceConfigContentID\":\"6\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.0\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统手动\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"7\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.1\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统自动\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"8\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.2\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统启动\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"9\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.3\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统停止\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"10\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.4\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"找原点\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"11\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.5\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"系统复位\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"12\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.2\",\"siemensFieldDataType\":\"2\",\"siemensFieldName\":\"sys_test1\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"13\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.5\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"sys_test2\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"14\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.6\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"sys_test3\",\"siemensFieldPrecision\":\"0\"},{\"deviceConfigContentID\":\"15\",\"siemensFieldAccess\":\"r\",\"siemensFieldAddress\":\"I0.0\",\"siemensFieldDataType\":\"1\",\"siemensFieldName\":\"sys_test4\",\"siemensFieldPrecision\":\"0\"}]}";
Map<String, Object> map = JSON.parseObject(str);
for (Object obj : map.keySet()) {
Object value = map.get(obj);
System.out.println("key为" + obj + "值为:" + value);
}
String key = "rows";
List<JSONArray> jsonArrays = (List<JSONArray>) map.get(key);
ListEntity entity = JSON.parseObject(str, ListEntity.class);
for (JSONObject json :
entity.getRows()) {
String obj = json.toJSONString();
SiemensPointEntity pointEntity = JSON.parseObject(obj, SiemensPointEntity.class);
System.out.println(pointEntity.toString());
}
}
}

@ -2,90 +2,90 @@ package cn.iocoder.yudao.module.iot.framework.gateway.util;
public class UrlConstans {
public static final String loginUrl = "/login";
public static final String loginUrl = "/login";
/**
* mqtt
*/
public static final String mqtt_add = "/cloud/config/mqtt/add";
public static final String mqtt_list = "/cloud/config/mqtt/list";
public static final String mqtt_edit = "/cloud/config/mqtt/add";
public static final String mqtt_remove = "/cloud/config/remove";
public static final String mqtt_changestatus = "/cloud/config/changestatus";//启用
/**
* mqtt
*/
public static final String mqtt_add = "/cloud/config/mqtt/add";
public static final String mqtt_list = "/cloud/config/mqtt/list";
public static final String mqtt_edit = "/cloud/config/mqtt/add";
public static final String mqtt_remove = "/cloud/config/remove";
public static final String mqtt_changestatus = "/cloud/config/changestatus";//启用
/***/
public static final String siemens_list = "/device/config/siemens/list";
public static final String siemens_add = "/device/config/siemens/add";
public static final String siemens_edit = "/device/config/siemens/add";
public static final String siemens_remove = "/device/config/remove";
public static final String siemens_changestatus = "/device/config/changeStatus";//启用
/***/
public static final String siemens_list = "/device/config/siemens/list";
public static final String siemens_add = "/device/config/siemens/add";
public static final String siemens_edit = "/device/config/siemens/add";
public static final String siemens_remove = "/device/config/remove";
public static final String siemens_changestatus = "/device/config/changeStatus";//启用
/**
* Video
*/
public static final String video_list = "/device/config/video/list";
public static final String video_add = "/device/config/video/add";
// public static final String video_edit = "/device/config/video/add";
public static final String video_remove = "/device/config/video/remove";
//device/config/video/push/stream/399/?_=1665714825994
public static final String video_push_stream = "/device/config/video/push/stream";//推流
/**
* Video
*/
public static final String video_list = "/device/config/video/list";
public static final String video_add = "/device/config/video/add";
// public static final String video_edit = "/device/config/video/add";
public static final String video_remove = "/device/config/video/remove";
//device/config/video/push/stream/399/?_=1665714825994
public static final String video_push_stream = "/device/config/video/push/stream";//推流
// public static final String Video_changestatus = "/device/config/changeStatus";//启用
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_list_r = "/device/config/siemens/contentlist/r/";
/**
* siemens iopoint add
*/
//https://71220220500200002.ng.xjzyun.com/device/config/siemens/content/add/r/0/82
public static final String siemens_iopoint_add_r = "/device/config/siemens/content/add/r/0/";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_edit_r = "/device/config/siemens/content/add/r/";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_remove_r = "/device/configcontent/remove";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_list_r = "/device/config/siemens/contentlist/r/";
/**
* siemens iopoint add
*/
//https://71220220500200002.ng.xjzyun.com/device/config/siemens/content/add/r/0/82
public static final String siemens_iopoint_add_r = "/device/config/siemens/content/add/r/0/";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_edit_r = "/device/config/siemens/content/add/r/";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_remove_r = "/device/configcontent/remove";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_list_w = "/device/config/siemens/contentlist/r/";
/**
* siemens iopoint add
*/
public static final String siemens_iopoint_add_w = "/device/config/siemens/content/add/w/0/";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_edit_w = "/device/config/siemens/content/add/w/";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_remove_w = "/device/configcontent/remove";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_list_w = "/device/config/siemens/contentlist/r/";
/**
* siemens iopoint add
*/
public static final String siemens_iopoint_add_w = "/device/config/siemens/content/add/w/0/";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_edit_w = "/device/config/siemens/content/add/w/";
/**
* siemens iopoint list
*/
public static final String siemens_iopoint_remove_w = "/device/configcontent/remove";
/***/
public static final String modbus_list = "/device/config/modbus/list";
public static final String modbus_add = "/device/config/modbus/add";
public static final String modbus_edit = "/device/config/modbus/edit";
public static final String modbus_remove = "/device/config/modbus/remove";
public static final String modbus_changestatus = "/device/config/changestatus";//启用
/**
* modbus iopoint list
*/
public static final String modbus_iopoint_list = "/device/config/modbus/contentlist/r/";
/**
* modbus iopoint add
*/
public static final String modbus_iopoint_add_r = "/device/config/modbus/content/add/r/0/";
/**
* modbus iopoint list
*/
public static final String modbus_iopoint_edit = "/device/config/modbus/content/add/r/";
/**
* siemens iopoint list
*/
public static final String modbus_iopoint_remove = "/device/configcontent/remove";
/***/
public static final String modbus_list = "/device/config/modbus/list";
public static final String modbus_add = "/device/config/modbus/add";
public static final String modbus_edit = "/device/config/modbus/edit";
public static final String modbus_remove = "/device/config/modbus/remove";
public static final String modbus_changestatus = "/device/config/changestatus";//启用
/**
* modbus iopoint list
*/
public static final String modbus_iopoint_list = "/device/config/modbus/contentlist/r/";
/**
* modbus iopoint add
*/
public static final String modbus_iopoint_add_r = "/device/config/modbus/content/add/r/0/";
/**
* modbus iopoint list
*/
public static final String modbus_iopoint_edit = "/device/config/modbus/content/add/r/";
/**
* siemens iopoint list
*/
public static final String modbus_iopoint_remove = "/device/configcontent/remove";
}

@ -7,6 +7,7 @@ import java.lang.annotation.*;
/**
*
*
* @author jie
*/
@Component
@ -17,24 +18,28 @@ public @interface Topic {
/**
* topic
*
* @return
*/
String topic() default "";
/**
* qos
*
* @return
*/
int qos() default 0;
/**
*
*
* @return
*/
Pattern patten() default Pattern.NONE;
/**
*
*
* @return
*/
String group() default "group1";

@ -47,7 +47,7 @@ public class MqttCallbackImpl implements MqttCallbackExtended {
public void messageArrived(String topic, MqttMessage message) throws Exception {
for (SubscriptTopic subscriptTopic : topicMap) {
if (subscriptTopic.getPattern() != Pattern.NONE && isMatched(subscriptTopic.getTopic(), topic)) {
log.info("MqttCallbackImpl,messageArrived:topic="+topic+",message="+message);
log.info("MqttCallbackImpl,messageArrived:topic=" + topic + ",message=" + message);
subscriptTopic.getMessageListener().messageArrived(topic, message);
break;
}

@ -9,6 +9,7 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
public interface MsgDecoder<T> {
/**
*
*
* @param msg
* @return
*/

@ -6,6 +6,7 @@ package cn.iocoder.yudao.module.iot.framework.mqtt.common;
public interface MsgEncoder<T> {
/**
* string
*
* @param t
* @return
*/

@ -21,7 +21,7 @@ public abstract class SuperConsumer<T> implements IMqttMessageListener, MsgDecod
msgHandler(topic, decoder);
} catch (Exception ex) {
//解决业务处理错误导致断线问题
log.error(topic+":解决业务处理错误导致断线问题");
log.error(topic + ":解决业务处理错误导致断线问题");
log.error(ex.toString());
}
});

@ -38,8 +38,8 @@ public class DefaultEmqConfig {
@Bean
public MqttConnectOptions getOption(DefaultEmqProperties emqProperties) {
MqttConnectOptions options = new MqttConnectOptions();
emqProperties.setClientId("clientId"+String.valueOf(DateUtils.getMillsLong()));
log.info("------mqtt clientid ="+ emqProperties.getClientId());
emqProperties.setClientId("clientId" + String.valueOf(DateUtils.getMillsLong()));
log.info("------mqtt clientid =" + emqProperties.getClientId());
options.setUserName(emqProperties.getUserName());
options.setPassword(emqProperties.getPassword().toCharArray());
// 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录这里设置为true表示每次连接到服务器都以新的身份连接
@ -54,7 +54,7 @@ public class DefaultEmqConfig {
}
@Bean
public DefaultBizTopicSet defaultBizTopicSet(ApplicationContext applicationContext){
public DefaultBizTopicSet defaultBizTopicSet(ApplicationContext applicationContext) {
List<SubscriptTopic> topicMap = new ArrayList<>();
//得到所有使用@Topic注解的类
Map<String, Object> beansWithAnnotation = applicationContext.getBeansWithAnnotation(Topic.class);
@ -81,8 +81,8 @@ public class DefaultEmqConfig {
/**
* MQTT
*
* @param options MQTT
* @param emqProperties MQTT
* @param options MQTT
* @param emqProperties MQTT
* @param applicationContext
* @return
* @throws Exception
@ -90,7 +90,7 @@ public class DefaultEmqConfig {
@Bean
public MqttClient mqttClient(MqttConnectOptions options, DefaultEmqProperties emqProperties, DefaultBizTopicSet defaultBizTopicSet, ApplicationContext applicationContext) throws Exception {
MqttClient mqttClient = new MqttClient(emqProperties.getBroker(), emqProperties.getClientId(), new MemoryPersistence());
mqttClient.setCallback(new MqttCallbackImpl(defaultBizTopicSet.getTopicMap(), mqttClient, options));
mqttClient.setCallback(new MqttCallbackImpl(defaultBizTopicSet.getTopicMap(), mqttClient, options));
return mqttClient;
}
}

@ -5,6 +5,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
/**
*
*
* @author jie
*/
@Data

@ -5,7 +5,6 @@ import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;

@ -4,18 +4,20 @@ import org.eclipse.paho.client.mqttv3.MqttException;
public interface IMqttservice {
/**
*
* topic client
* */
public void subscribeMysqlTopic() throws Exception;
/**
* topic client
* */
public int subscribeTopic(String topic) throws MqttException;
/**
* topic clienttopic
* */
public int unsubscribeTopic(String topic) throws MqttException;
/**
*
* topic client
*/
public void subscribeMysqlTopic() throws Exception;
/**
* topic client
*/
public int subscribeTopic(String topic) throws MqttException;
/**
* topic clienttopic
*/
public int unsubscribeTopic(String topic) throws MqttException;
}

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.iot.framework.mqtt.consumer;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.iocoder.yudao.module.iot.dal.dataobject.iotorganization.IotOrganizationDO;
import cn.iocoder.yudao.module.iot.dal.dataobject.mqttrecord.MqttRecordDO;
import cn.iocoder.yudao.module.iot.dal.mysql.mqttrecord.MqttRecordMapper;
@ -15,49 +14,43 @@ import cn.iocoder.yudao.module.iot.service.device.DeviceService;
import cn.iocoder.yudao.module.iot.service.iotorganization.IotOrganizationService;
import cn.iocoder.yudao.module.iot.service.mqttrecord.MqttRecordService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.cache.RedisCache;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.ParseException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.concurrent.TimeUnit;
@Slf4j
@Component
public class MqttDataHandler extends SuperConsumer<String> {
@Resource
private IotOrganizationService organizationService;
@Resource
private DeviceService deviceService;
@Resource
private AsyncService asyncService;
@Resource
private IotOrganizationService organizationService;
@Resource
private DeviceService deviceService;
@Resource
private AsyncService asyncService;
@Resource
private MqttRecordService mqttRecordService;
@Resource
private MqttRecordMapper mqttRecordMapper;
@Override
public String decoder(MqttMessage msg) {
return new String(msg.getPayload());
}
@Resource
private MqttRecordService mqttRecordService;
@Resource
private MqttRecordMapper mqttRecordMapper;
@Override
protected void msgHandler(String topic, String entity) {
log.debug("msgHandler"+":topic="+topic);
log.debug("entity:"+entity);
@Override
public String decoder(MqttMessage msg) {
return new String(msg.getPayload());
}
MqttData data = MqttDataUtils.parse(entity);
IotOrganizationDO machine = new IotOrganizationDO();
machine.setId(1L);
if (data!=null) {
//根据设定转化
@Override
protected void msgHandler(String topic, String entity) {
log.debug("msgHandler" + ":topic=" + topic);
log.debug("entity:" + entity);
MqttData data = MqttDataUtils.parse(entity);
IotOrganizationDO machine = new IotOrganizationDO();
machine.setId(1L);
if (data != null) {
//根据设定转化
// try {
// String transfer = asyncService.transferBase(data,equipments.getEquipmentsId());
// if(StringUtils.isNotBlank(transfer))
@ -66,32 +59,32 @@ public class MqttDataHandler extends SuperConsumer<String> {
// log.error("asyncService.transferBase error:"+entity);
// }
save(machine, entity, data);
}
}
save(machine, entity, data);
}
}
public void save(IotOrganizationDO machine, String entity, MqttData data) {
try {
long timestamp = DateUtils.strToTimeStamp(data.getDeviceDataTime(), Constants.MQTT_timestamp_format);
//timestamp = DateUtils.getMillsLong();
LocalDateTime date = DateUtils.strToLocalDateTime(data.getDeviceDataTime());
public void save(IotOrganizationDO machine, String entity, MqttData data) {
try {
long timestamp = DateUtils.strToTimeStamp(data.getDeviceDataTime(), Constants.MQTT_timestamp_format);
//timestamp = DateUtils.getMillsLong();
LocalDateTime date = DateUtils.strToLocalDateTime(data.getDeviceDataTime());
MqttRecordDO recordDO = new MqttRecordDO();
recordDO.setDeviceCode(data.getDeviceID());
recordDO.setGatewayCode(data.getGatewayID());
recordDO.setDeviceData(entity);
recordDO.setDeviceDataTime(date);
recordDO.setDeviceDataTimeLong(timestamp);
/**直接保存原始mqtt*/
mqttRecordMapper.insert(recordDO);
MqttRecordDO recordDO = new MqttRecordDO();
recordDO.setDeviceCode(data.getDeviceID());
recordDO.setGatewayCode(data.getGatewayID());
recordDO.setDeviceData(entity);
recordDO.setDeviceDataTime(date);
recordDO.setDeviceDataTimeLong(timestamp);
/**直接保存原始mqtt*/
mqttRecordMapper.insert(recordDO);
/**
* mqtt
* */
//tsMqttService.insertDataAddress(data, taskId, timestamp, equipment);
} catch (Exception e) {
log.error("-----mqttTableName:");
e.printStackTrace();
}
}
/**
* mqtt
* */
//tsMqttService.insertDataAddress(data, taskId, timestamp, equipment);
} catch (Exception e) {
log.error("-----mqttTableName:");
e.printStackTrace();
}
}
}

@ -1,33 +1,30 @@
package cn.iocoder.yudao.module.iot.framework.mqtt.consumer.impl;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
import cn.iocoder.yudao.module.iot.framework.mqtt.entity.MqttData;
import cn.iocoder.yudao.module.iot.service.device.DeviceService;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import javax.annotation.Resource;
import javax.script.ScriptException;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Configuration
@EnableAsync
@Slf4j
@EnableScheduling
public class AsyncService {
@Resource
private DeviceService deviceService;
@Resource
private DeviceService deviceService;
/**地址转换进制*/
//@Async
/**地址转换进制*/
//@Async
// public String transferBase(MqttData data, String equipmentId) {
// //data数据改变标记
// boolean isTransfer = false;
@ -73,78 +70,85 @@ public class AsyncService {
// else
// return null;
// }
/**系数**/
private String factor(String value, String factor){
if(StringUtils.isNotBlank(factor)){
return String.format("%.2f",Double.parseDouble(value)*Double.parseDouble(factor));
}
return value;
}
private Map<String, String> getValueMap(MqttData data){
Map<String, String> valueMap = new HashMap<>();
for (String key: data.getDeviceData().keySet()){
valueMap.put(key,data.getDeviceData().get(key).getV());
}
return valueMap;
}
/**
* java valuebinary,octal,hexadecimal,decimal
* */
private String transferBase(String value,String originBase, String transferBase){
switch (transferBase){
case "decimal":{
switch (originBase){
case "binary":
value = convertBase(value,2,10);
break;
case "octal":
value = convertBase(value,8,10);
break;
case "hexadecimal":
value = convertBase(value,16,10);
case "hexfloat":
value = hexToDecimal(value);
}
}
break;
default:log.debug("数据未进行转换!:(value,originBase,transferBase)("+value+","+originBase+","+transferBase+")");
}
return value;
}
private static String hexToDecimal(String value){
return String.valueOf(Integer.parseInt(value, 16));
}
public static String convertBase(String value, int fromBase, int toBase) {
return String.valueOf(Integer.parseInt(value, fromBase));
}
public static void main(String[] args) {
String value = "479624"; // 要转换的值
int fromBase = 16; // 起始进制
int toBase = 10; // 目标进制
String convertedValue = convertBase(value, fromBase, toBase);
System.out.println("Converted value: " + convertedValue);
int intValue = Integer.parseInt(value, 16); // 将十六进制字符串解析为十进制整数
System.out.println(intValue);
intValue = Integer.parseInt("476c", 16); // 将十六进制字符串解析为十进制整数
System.out.println(intValue);
// 获取当前日期
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date date = calendar.getTime();
long timestamp = date.getTime() / 1000; // 将时间戳转换为秒
System.out.println("当天 00:00:00 的时间戳:" + timestamp);
}
/**
*
**/
private String factor(String value, String factor) {
if (StringUtils.isNotBlank(factor)) {
return String.format("%.2f", Double.parseDouble(value) * Double.parseDouble(factor));
}
return value;
}
private Map<String, String> getValueMap(MqttData data) {
Map<String, String> valueMap = new HashMap<>();
for (String key : data.getDeviceData().keySet()) {
valueMap.put(key, data.getDeviceData().get(key).getV());
}
return valueMap;
}
/**
* java valuebinary,octal,hexadecimal,decimal
*/
private String transferBase(String value, String originBase, String transferBase) {
switch (transferBase) {
case "decimal": {
switch (originBase) {
case "binary":
value = convertBase(value, 2, 10);
break;
case "octal":
value = convertBase(value, 8, 10);
break;
case "hexadecimal":
value = convertBase(value, 16, 10);
case "hexfloat":
value = hexToDecimal(value);
}
}
break;
default:
log.debug("数据未进行转换!:(value,originBase,transferBase)(" + value + "," + originBase + "," + transferBase + ")");
}
return value;
}
private static String hexToDecimal(String value) {
return String.valueOf(Integer.parseInt(value, 16));
}
public static String convertBase(String value, int fromBase, int toBase) {
return String.valueOf(Integer.parseInt(value, fromBase));
}
public static void main(String[] args) {
String value = "479624"; // 要转换的值
int fromBase = 16; // 起始进制
int toBase = 10; // 目标进制
String convertedValue = convertBase(value, fromBase, toBase);
System.out.println("Converted value: " + convertedValue);
int intValue = Integer.parseInt(value, 16); // 将十六进制字符串解析为十进制整数
System.out.println(intValue);
intValue = Integer.parseInt("476c", 16); // 将十六进制字符串解析为十进制整数
System.out.println(intValue);
// 获取当前日期
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date date = calendar.getTime();
long timestamp = date.getTime() / 1000; // 将时间戳转换为秒
System.out.println("当天 00:00:00 的时间戳:" + timestamp);
}
}

@ -14,7 +14,6 @@ import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.DependsOn;
@ -30,82 +29,83 @@ import java.util.List;
@Slf4j
public class MqttserviceImpl implements IMqttservice, ApplicationListener<ApplicationReadyEvent> {
@Resource
private GatewayService gatewayService;
@Resource
private GatewayService gatewayService;
@Resource
private MqttClient client;
@Resource
private DefaultBizTopicSet defaultBizTopicSet;
@Resource
private MqttConnectOptions options;
@Resource
private MqttClient client;
@Resource
private DefaultBizTopicSet defaultBizTopicSet;
@Resource
private MqttConnectOptions options;
@Resource
private MqttDataHandler dataHandler;
@Resource
private MqttDataHandler dataHandler;
@Override
public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) {
new Thread(() -> {
subscribeMysqlTopic();
}).start();
}
/**
*
* topic client
* */
@Override
public void subscribeMysqlTopic(){
if(client.isConnected()){
@Override
public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) {
new Thread(() -> {
subscribeMysqlTopic();
}).start();
}
List<GatewayDO> gatewayList = gatewayService.selectListByIsEnable(IsEnableConstant.IsEnableTrue);
for (GatewayDO gateway : gatewayList) {
if(StringUtils.isNotBlank(gateway.getTopic())){
SubscriptTopic topic = new SubscriptTopic(gateway.getTopic(),
gateway.getTopic(), Pattern.QUEUE, 0, dataHandler );
defaultBizTopicSet.getTopicMap().add(topic);
try {
client.subscribe(topic.getSubTopic(),0, dataHandler);
} catch (MqttException e) {
e.printStackTrace();
}
}
}
client.setCallback(new MqttCallbackImpl(defaultBizTopicSet.getTopicMap(),client,options));
log.info("共订阅: " + defaultBizTopicSet.getTopicMap().size() + " 个主题!");
}
else{
log.error("Mqtt is not connected !");
}
/**
*
* topic client
*/
@Override
public void subscribeMysqlTopic() {
if (client.isConnected()) {
}
List<GatewayDO> gatewayList = gatewayService.selectListByIsEnable(IsEnableConstant.IsEnableTrue);
for (GatewayDO gateway : gatewayList) {
if (StringUtils.isNotBlank(gateway.getTopic())) {
SubscriptTopic topic = new SubscriptTopic(gateway.getTopic(),
gateway.getTopic(), Pattern.QUEUE, 0, dataHandler);
defaultBizTopicSet.getTopicMap().add(topic);
try {
client.subscribe(topic.getSubTopic(), 0, dataHandler);
} catch (MqttException e) {
e.printStackTrace();
}
}
}
client.setCallback(new MqttCallbackImpl(defaultBizTopicSet.getTopicMap(), client, options));
log.info("共订阅: " + defaultBizTopicSet.getTopicMap().size() + " 个主题!");
} else {
log.error("Mqtt is not connected !");
}
/**
* topic client
* */
@Override
public int subscribeTopic(String topic)throws MqttException{
SubscriptTopic subscriptTopic = new SubscriptTopic(topic, topic,Pattern.QUEUE, 0, dataHandler );
defaultBizTopicSet.getTopicMap().add(subscriptTopic);
client.subscribe(topic,0, dataHandler);
client.setCallback(new MqttCallbackImpl(defaultBizTopicSet.getTopicMap(),client,options));
return 0;
}
/**
* topic clienttopic
* */
@Override
public int unsubscribeTopic(String topic)throws MqttException{
for (int i = 0; i < defaultBizTopicSet.getTopicMap().size(); i++) {
if(topic.equals(defaultBizTopicSet.getTopicMap().get(i).getSubTopic())){
defaultBizTopicSet.getTopicMap().remove(defaultBizTopicSet.getTopicMap().get(i));
break;
}
}
client.unsubscribe(topic);
client.setCallback(new MqttCallbackImpl(defaultBizTopicSet.getTopicMap(),client,options));
return 0;
}
}
/**
* topic client
*/
@Override
public int subscribeTopic(String topic) throws MqttException {
SubscriptTopic subscriptTopic = new SubscriptTopic(topic, topic, Pattern.QUEUE, 0, dataHandler);
defaultBizTopicSet.getTopicMap().add(subscriptTopic);
client.subscribe(topic, 0, dataHandler);
client.setCallback(new MqttCallbackImpl(defaultBizTopicSet.getTopicMap(), client, options));
return 0;
}
/**
* topic clienttopic
*/
@Override
public int unsubscribeTopic(String topic) throws MqttException {
for (int i = 0; i < defaultBizTopicSet.getTopicMap().size(); i++) {
if (topic.equals(defaultBizTopicSet.getTopicMap().get(i).getSubTopic())) {
defaultBizTopicSet.getTopicMap().remove(defaultBizTopicSet.getTopicMap().get(i));
break;
}
}
client.unsubscribe(topic);
client.setCallback(new MqttCallbackImpl(defaultBizTopicSet.getTopicMap(), client, options));
return 0;
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save