lipenghui 3 月之前
父节点
当前提交
66789051bd

+ 110 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/yanfan/vo/DevicePageReqVO.java

@@ -0,0 +1,110 @@
+package cn.iocoder.yudao.module.pms.controller.admin.yanfan.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+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 = "管理后台 - 设备分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class DevicePageReqVO extends PageParam {
+
+    @Schema(description = "设备名称", example = "芋艿")
+    private String deviceName;
+
+    @Schema(description = "产品ID", example = "30992")
+    private Long productId;
+
+    @Schema(description = "产品名称", example = "王五")
+    private String productName;
+
+    @Schema(description = "租户名称", example = "芋艿")
+    private String tenantName;
+
+    @Schema(description = "设备编号")
+    private String serialNumber;
+
+    @Schema(description = "子设备网关编号")
+    private String gwDevCode;
+
+    @Schema(description = "固件版本")
+    private Double firmwareVersion;
+
+    @Schema(description = "设备状态(1-未激活,2-禁用,3-在线,4-离线)", example = "2")
+    private Boolean status;
+
+    @Schema(description = "信号强度(	信号极好4格[-55— 0],	信号好3格[-70— -55],	信号一般2格[-85— -70],	信号差1格[-100— -85])")
+    private Integer rssi;
+
+    @Schema(description = "是否启用设备影子(0=禁用,1=启用)")
+    private Boolean isShadow;
+
+    @Schema(description = "定位方式(1=ip自动定位,2=设备定位,3=自定义)")
+    private Boolean locationWay;
+
+    @Schema(description = "物模型值")
+    private String thingsModelValue;
+
+    @Schema(description = "设备所在地址")
+    private String networkAddress;
+
+    @Schema(description = "设备入网IP")
+    private String networkIp;
+
+    @Schema(description = "设备经度")
+    private Double longitude;
+
+    @Schema(description = "设备纬度")
+    private Double latitude;
+
+    @Schema(description = "激活时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] activeTime;
+
+    @Schema(description = "设备摘要")
+    private String summary;
+
+    @Schema(description = "图片地址", example = "https://www.iocoder.cn")
+    private String imgUrl;
+
+    @Schema(description = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+    @Schema(description = "创建者")
+    private String createBy;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+    @Schema(description = "更新者")
+    private String updateBy;
+
+    @Schema(description = "备注", example = "你猜")
+    private String remark;
+
+    @Schema(description = "是否是模拟设备")
+    private Integer isSimulate;
+
+    @Schema(description = "从机id", example = "31402")
+    private Integer slaveId;
+
+    @Schema(description = "clientId编号", example = "28927")
+    private String clientId;
+
+    @Schema(description = "发布")
+    private String postDev;
+
+    @Schema(description = "订阅")
+    private String getDev;
+
+    @Schema(description = "mqtt是否自定义状态(1为初始化,0为自定义)")
+    private Integer mqttstats;
+
+}

+ 139 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/yanfan/vo/DeviceRespVO.java

@@ -0,0 +1,139 @@
+package cn.iocoder.yudao.module.pms.controller.admin.yanfan.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 设备 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class DeviceRespVO {
+
+    @Schema(description = "设备ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25364")
+    @ExcelProperty("设备ID")
+    private Long deviceId;
+
+    @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
+    @ExcelProperty("设备名称")
+    private String deviceName;
+
+    @Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30992")
+    @ExcelProperty("产品ID")
+    private Long productId;
+
+    @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+    @ExcelProperty("产品名称")
+    private String productName;
+
+    @Schema(description = "租户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
+    @ExcelProperty("租户名称")
+    private String tenantName;
+
+    @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("设备编号")
+    private String serialNumber;
+
+    @Schema(description = "子设备网关编号")
+    @ExcelProperty("子设备网关编号")
+    private String gwDevCode;
+
+    @Schema(description = "固件版本", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("固件版本")
+    private Double firmwareVersion;
+
+    @Schema(description = "设备状态(1-未激活,2-禁用,3-在线,4-离线)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    @ExcelProperty("设备状态(1-未激活,2-禁用,3-在线,4-离线)")
+    private Boolean status;
+
+    @Schema(description = "信号强度(	信号极好4格[-55— 0],	信号好3格[-70— -55],	信号一般2格[-85— -70],	信号差1格[-100— -85])")
+    @ExcelProperty("信号强度(	信号极好4格[-55— 0],	信号好3格[-70— -55],	信号一般2格[-85— -70],	信号差1格[-100— -85])")
+    private Integer rssi;
+
+    @Schema(description = "是否启用设备影子(0=禁用,1=启用)")
+    @ExcelProperty("是否启用设备影子(0=禁用,1=启用)")
+    private Boolean isShadow;
+
+    @Schema(description = "定位方式(1=ip自动定位,2=设备定位,3=自定义)")
+    @ExcelProperty("定位方式(1=ip自动定位,2=设备定位,3=自定义)")
+    private Boolean locationWay;
+
+    @Schema(description = "物模型值")
+    @ExcelProperty("物模型值")
+    private String thingsModelValue;
+
+    @Schema(description = "设备所在地址")
+    @ExcelProperty("设备所在地址")
+    private String networkAddress;
+
+    @Schema(description = "设备入网IP")
+    @ExcelProperty("设备入网IP")
+    private String networkIp;
+
+    @Schema(description = "设备经度")
+    @ExcelProperty("设备经度")
+    private Double longitude;
+
+    @Schema(description = "设备纬度")
+    @ExcelProperty("设备纬度")
+    private Double latitude;
+
+    @Schema(description = "激活时间")
+    @ExcelProperty("激活时间")
+    private LocalDateTime activeTime;
+
+    @Schema(description = "设备摘要")
+    @ExcelProperty("设备摘要")
+    private String summary;
+
+    @Schema(description = "图片地址", example = "https://www.iocoder.cn")
+    @ExcelProperty("图片地址")
+    private String imgUrl;
+
+    @Schema(description = "删除标志(0代表存在 2代表删除)")
+    @ExcelProperty("删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+    @Schema(description = "创建者")
+    @ExcelProperty("创建者")
+    private String createBy;
+
+    @Schema(description = "创建时间")
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "更新者")
+    @ExcelProperty("更新者")
+    private String updateBy;
+
+    @Schema(description = "备注", example = "你猜")
+    @ExcelProperty("备注")
+    private String remark;
+
+    @Schema(description = "是否是模拟设备")
+    @ExcelProperty("是否是模拟设备")
+    private Integer isSimulate;
+
+    @Schema(description = "从机id", example = "31402")
+    @ExcelProperty("从机id")
+    private Integer slaveId;
+
+    @Schema(description = "clientId编号", example = "28927")
+    @ExcelProperty("clientId编号")
+    private String clientId;
+
+    @Schema(description = "发布")
+    @ExcelProperty("发布")
+    private String postDev;
+
+    @Schema(description = "订阅")
+    @ExcelProperty("订阅")
+    private String getDev;
+
+    @Schema(description = "mqtt是否自定义状态(1为初始化,0为自定义)")
+    @ExcelProperty("mqtt是否自定义状态(1为初始化,0为自定义)")
+    private Integer mqttstats;
+
+}

+ 111 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/yanfan/vo/DeviceSaveReqVO.java

@@ -0,0 +1,111 @@
+package cn.iocoder.yudao.module.pms.controller.admin.yanfan.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 设备新增/修改 Request VO")
+@Data
+public class DeviceSaveReqVO {
+
+    @Schema(description = "设备ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25364")
+    private Long deviceId;
+
+    @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
+    @NotEmpty(message = "设备名称不能为空")
+    private String deviceName;
+
+    @Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30992")
+    @NotNull(message = "产品ID不能为空")
+    private Long productId;
+
+    @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+    @NotEmpty(message = "产品名称不能为空")
+    private String productName;
+
+    @Schema(description = "租户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
+    @NotEmpty(message = "租户名称不能为空")
+    private String tenantName;
+
+    @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "设备编号不能为空")
+    private String serialNumber;
+
+    @Schema(description = "子设备网关编号")
+    private String gwDevCode;
+
+    @Schema(description = "固件版本", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "固件版本不能为空")
+    private Double firmwareVersion;
+
+    @Schema(description = "设备状态(1-未激活,2-禁用,3-在线,4-离线)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    @NotNull(message = "设备状态(1-未激活,2-禁用,3-在线,4-离线)不能为空")
+    private Boolean status;
+
+    @Schema(description = "信号强度(	信号极好4格[-55— 0],	信号好3格[-70— -55],	信号一般2格[-85— -70],	信号差1格[-100— -85])")
+    private Integer rssi;
+
+    @Schema(description = "是否启用设备影子(0=禁用,1=启用)")
+    private Boolean isShadow;
+
+    @Schema(description = "定位方式(1=ip自动定位,2=设备定位,3=自定义)")
+    private Boolean locationWay;
+
+    @Schema(description = "物模型值")
+    private String thingsModelValue;
+
+    @Schema(description = "设备所在地址")
+    private String networkAddress;
+
+    @Schema(description = "设备入网IP")
+    private String networkIp;
+
+    @Schema(description = "设备经度")
+    private Double longitude;
+
+    @Schema(description = "设备纬度")
+    private Double latitude;
+
+    @Schema(description = "激活时间")
+    private LocalDateTime activeTime;
+
+    @Schema(description = "设备摘要")
+    private String summary;
+
+    @Schema(description = "图片地址", example = "https://www.iocoder.cn")
+    private String imgUrl;
+
+    @Schema(description = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+    @Schema(description = "创建者")
+    private String createBy;
+
+    @Schema(description = "更新者")
+    private String updateBy;
+
+    @Schema(description = "备注", example = "你猜")
+    private String remark;
+
+    @Schema(description = "是否是模拟设备")
+    private Integer isSimulate;
+
+    @Schema(description = "从机id", example = "31402")
+    private Integer slaveId;
+
+    @Schema(description = "clientId编号", example = "28927")
+    private String clientId;
+
+    @Schema(description = "发布")
+    private String postDev;
+
+    @Schema(description = "订阅")
+    private String getDev;
+
+    @Schema(description = "mqtt是否自定义状态(1为初始化,0为自定义)")
+    private Integer mqttstats;
+
+}

+ 2 - 3
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/yanfan/DeviceMapper.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.dal.mysql.device;
+package cn.iocoder.yudao.module.pms.dal.mysql.yanfan;
 
 import java.util.*;
 
@@ -7,7 +7,6 @@ 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.DeviceDO;
 import org.apache.ibatis.annotations.Mapper;
-import cn.iocoder.yudao.module.iot.controller.admin.device.vo.*;
 
 /**
  * 设备 Mapper
@@ -52,4 +51,4 @@ public interface DeviceMapper extends BaseMapperX<DeviceDO> {
                 .orderByDesc(DeviceDO::getId));
     }
 
-}
+}

+ 2 - 3
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/yanfan/DeviceService.java

@@ -1,8 +1,7 @@
-package cn.iocoder.yudao.module.iot.service.device;
+package cn.iocoder.yudao.module.pms.service.yanfan;
 
 import java.util.*;
 import javax.validation.*;
-import cn.iocoder.yudao.module.iot.controller.admin.device.vo.*;
 import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
@@ -52,4 +51,4 @@ public interface DeviceService {
      */
     PageResult<DeviceDO> getDevicePage(DevicePageReqVO pageReqVO);
 
-}
+}

+ 6 - 7
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/yanfan/DeviceServiceImpl.java

@@ -1,21 +1,20 @@
 package cn.iocoder.yudao.module.iot.service.device;
 
+import cn.iocoder.yudao.module.pms.dal.mysql.yanfan.DeviceMapper;
+import cn.iocoder.yudao.module.pms.service.yanfan.DeviceService;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
-import cn.iocoder.yudao.module.iot.controller.admin.device.vo.*;
 import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 
-import cn.iocoder.yudao.module.iot.dal.mysql.device.DeviceMapper;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.iot.enums.ErrorCodeConstants.*;
 
 /**
  * 设备 Service 实现类
@@ -30,7 +29,7 @@ public class DeviceServiceImpl implements DeviceService {
     private DeviceMapper deviceMapper;
 
     @Override
-    public Long createDevice(DeviceSaveReqVO createReqVO) {
+    public Long createDevice(cn.iocoder.yudao.module.iot.controller.admin.device.vo.DeviceSaveReqVO createReqVO) {
         // 插入
         DeviceDO device = BeanUtils.toBean(createReqVO, DeviceDO.class);
         deviceMapper.insert(device);
@@ -39,7 +38,7 @@ public class DeviceServiceImpl implements DeviceService {
     }
 
     @Override
-    public void updateDevice(DeviceSaveReqVO updateReqVO) {
+    public void updateDevice(cn.iocoder.yudao.module.iot.controller.admin.device.vo.DeviceSaveReqVO updateReqVO) {
         // 校验存在
         validateDeviceExists(updateReqVO.getId());
         // 更新
@@ -67,8 +66,8 @@ public class DeviceServiceImpl implements DeviceService {
     }
 
     @Override
-    public PageResult<DeviceDO> getDevicePage(DevicePageReqVO pageReqVO) {
+    public PageResult<DeviceDO> getDevicePage(cn.iocoder.yudao.module.iot.controller.admin.device.vo.DevicePageReqVO pageReqVO) {
         return deviceMapper.selectPage(pageReqVO);
     }
 
-}
+}