Browse Source

设备相关

李进 2 năm trước cách đây
mục cha
commit
58514436c8
23 tập tin đã thay đổi với 846 bổ sung527 xóa
  1. 80 0
      device-api-service/src/main/java/com/xy/entity/DeviceInfo.java
  2. 123 0
      device-api-service/src/main/java/com/xy/entity/DeviceStatus.java
  3. 103 0
      device-api-service/src/main/java/com/xy/entity/DeviceSysinfo.java
  4. 37 0
      device-api-service/src/main/java/com/xy/entity/MqttAcl.java
  5. 16 0
      device-api-service/src/main/java/com/xy/mapper/DeviceInfoMapper.java
  6. 16 0
      device-api-service/src/main/java/com/xy/mapper/DeviceStatusMapper.java
  7. 16 0
      device-api-service/src/main/java/com/xy/mapper/DeviceSysinfoMapper.java
  8. 7 0
      device-api-service/src/main/java/com/xy/mapper/MqttAclMapper.java
  9. 17 0
      device-api-service/src/main/java/com/xy/service/MqttAclService.java
  10. 20 0
      device-api-service/src/main/java/com/xy/service/impl/DeviceInfoServiceImpl.java
  11. 34 0
      device-api-service/src/main/java/com/xy/service/impl/DeviceStatusServiceImpl.java
  12. 47 0
      device-api-service/src/main/java/com/xy/service/impl/DeviceSysinfoServiceImpl.java
  13. 26 0
      device-api-service/src/main/java/com/xy/service/impl/MqttAclServiceImpl.java
  14. 2 1
      device-api-service/src/main/java/com/xy/service/impl/MqttServiceImpl.java
  15. 104 0
      device-api/src/main/java/com/xy/dto/DeviceStatusDto.java
  16. 115 0
      device-api/src/main/java/com/xy/dto/DeviceSysinfoDto.java
  17. 16 0
      device-api/src/main/java/com/xy/service/DeviceInfoService.java
  18. 29 0
      device-api/src/main/java/com/xy/service/DeviceStatusService.java
  19. 38 0
      device-api/src/main/java/com/xy/service/DeviceSysinfoService.java
  20. 0 39
      device-start/src/main/java/com/xy/controller/demo/DemoController.java
  21. 0 335
      device-start/src/main/java/com/xy/controller/demo/common/ResponseEnum.java
  22. 0 139
      device-start/src/main/java/com/xy/controller/demo/common/ServerResponseEntity.java
  23. 0 13
      device-start/src/main/java/com/xy/controller/demo/param/DemoDTO.java

+ 80 - 0
device-api-service/src/main/java/com/xy/entity/DeviceInfo.java

@@ -0,0 +1,80 @@
+package com.xy.entity;
+
+import com.xy.base.BaseEntity2;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 设备-信息
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class DeviceInfo extends BaseEntity2 {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 商户设备资产编号
+     */
+    private String mercDeviceCode;
+
+    /**
+     * 商户id
+     */
+    private Long mercId;
+
+    /**
+     * 商户编码
+     */
+    private String mercCode;
+
+    /**
+     * 点位id
+     */
+    private Long placeId;
+
+    /**
+     * 线路id
+     */
+    private Long placeLineId;
+
+    /**
+     * 区域id
+     */
+    private Long districtId;
+
+    /**
+     * 激活状态
+     */
+    private Integer activeState;
+
+    /**
+     * 激活时间
+     */
+    private LocalDateTime activeTime;
+
+    /**
+     * 运营状态
+     */
+    private Integer busyState;
+
+    /**
+     * 设备图片
+     */
+    private String deviceImg;
+
+}

+ 123 - 0
device-api-service/src/main/java/com/xy/entity/DeviceStatus.java

@@ -0,0 +1,123 @@
+package com.xy.entity;
+
+import com.xy.base.BaseEntity2;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 设备-状态
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class DeviceStatus extends BaseEntity2 {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 系统启动时间
+     */
+    private String sysStartTime;
+
+    /**
+     * 系统当前时间
+     */
+    private String sysCurTime;
+
+    /**
+     * WIFI是否打开
+     */
+    private String wifiOpen;
+
+    /**
+     * 蓝牙是否打开
+     */
+    private String bloothOpen;
+
+    /**
+     * 联网状态
+     */
+    private Integer netState;
+
+    /**
+     * 联网类型
+     */
+    private String netType;
+
+    /**
+     * 联网信号强度
+     */
+    private Integer netDbm;
+
+    /**
+     * 左柜门状态
+     */
+    private Integer doorStateL;
+
+    /**
+     * 右柜门状态
+     */
+    private Integer doorStateR;
+
+    /**
+     * 左柜门锁状态
+     */
+    private Integer lockStateL;
+
+    /**
+     * 右柜门锁状态
+     */
+    private Integer lockStateR;
+
+    /**
+     * 温度值
+     */
+    private Integer tempValue;
+
+    /**
+     * 温控仪状态
+     */
+    private Integer tempState;
+
+    /**
+     * 音量
+     */
+    private Integer voiceVolume;
+
+    /**
+     * 主灯状态
+     */
+    private Integer lightMain;
+
+    /**
+     * 副灯状态
+     */
+    private Integer lightSecond;
+
+    /**
+     * 磁盘空间
+     */
+    private Integer diskSpace;
+
+    /**
+     * 磁盘剩余空间
+     */
+    private Integer diskRemainSpace;
+
+    /**
+     * 内存容量
+     */
+    private Integer memerySpace;
+
+    /**
+     * 内存剩余容量
+     */
+    private Integer memeryRemainSpace;
+
+}

+ 103 - 0
device-api-service/src/main/java/com/xy/entity/DeviceSysinfo.java

@@ -0,0 +1,103 @@
+package com.xy.entity;
+
+import com.xy.base.BaseEntity2;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 设备-系统信息
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class DeviceSysinfo extends BaseEntity2 {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 设备SN号
+     */
+    private String deviceSn;
+
+    /**
+     * 启动程序版本号
+     */
+    private String androidStartAppVersion;
+
+    /**
+     * 安卓系统版本号
+     */
+    private String androidVersion;
+
+    /**
+     * 系统root状态
+     */
+    private Integer androidRootState;
+
+    /**
+     * 安卓系统型号
+     */
+    private String androidModel;
+
+    /**
+     * 系统启动APP
+     */
+    private String sysLauncher;
+
+    /**
+     * 系统时区
+     */
+    private String sysTimezone;
+
+    /**
+     * 是否自动时间
+     */
+    private String sysDatetimeauto;
+
+    /**
+     * 是否自动时间
+     */
+    private String sysTimezhoneauto;
+
+    /**
+     * 上位机版本号
+     */
+    private String appUpmVersion;
+
+    /**
+     * 下位机版本号
+     */
+    private String appDownmVersion;
+
+    /**
+     * 流量卡号
+     */
+    private String simIccid;
+
+    /**
+     * 流量卡运营商
+     */
+    private String simIsp;
+
+    /**
+     * 流量卡公司
+     */
+    private String simCompany;
+
+    /**
+     * 磁盘空间
+     */
+    private Integer diskSpace;
+
+    /**
+     * 内存容量
+     */
+    private Integer memerySpace;
+
+}

+ 37 - 0
device-api-service/src/main/java/com/xy/entity/MqttAcl.java

@@ -0,0 +1,37 @@
+package com.xy.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * mqtt授权表
+ */
+@Data
+@ApiModel("mqtt授权")
+@Accessors(chain = true)
+public class MqttAcl {
+
+    @ApiModelProperty("唯一标识")
+    private Integer id;
+
+    @ApiModelProperty("ip地址")
+    private String ipaddress;
+
+    @ApiModelProperty("账号")
+    private String username;
+
+    @ApiModelProperty("客户端id")
+    private String clientid;
+
+    @ApiModelProperty("动作")
+    private String action;
+
+    @ApiModelProperty("权限")
+    private String permission;
+
+    @ApiModelProperty("topic")
+    private String topic;
+
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/DeviceInfoMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xy.entity.DeviceInfo;
+
+/**
+ * <p>
+ * 设备-信息 Mapper 接口
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+public interface DeviceInfoMapper extends BaseMapper<DeviceInfo> {
+
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/DeviceStatusMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xy.entity.DeviceStatus;
+
+/**
+ * <p>
+ * 设备-状态 Mapper 接口
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+public interface DeviceStatusMapper extends BaseMapper<DeviceStatus> {
+
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/DeviceSysinfoMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xy.entity.DeviceSysinfo;
+
+/**
+ * <p>
+ * 设备-系统信息 Mapper 接口
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+public interface DeviceSysinfoMapper extends BaseMapper<DeviceSysinfo> {
+
+}

+ 7 - 0
device-api-service/src/main/java/com/xy/mapper/MqttAclMapper.java

@@ -0,0 +1,7 @@
+package com.xy.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xy.entity.MqttAcl;
+
+public interface MqttAclMapper extends BaseMapper<MqttAcl> {
+}

+ 17 - 0
device-api-service/src/main/java/com/xy/service/MqttAclService.java

@@ -0,0 +1,17 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+import com.xy.entity.MqttAcl;
+import com.xy.utils.R;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * mqtt授权 接口路由
+ */
+@RestMappingController("mqtt-acl")
+public interface MqttAclService {
+
+    @PostMapping("get")
+    R<MqttAcl> get(@RequestBody MqttAcl mqttAcl);
+}

+ 20 - 0
device-api-service/src/main/java/com/xy/service/impl/DeviceInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.xy.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.entity.DeviceInfo;
+import com.xy.mapper.DeviceInfoMapper;
+import com.xy.service.DeviceInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 设备-信息 服务实现类
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@Service
+public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceInfo> implements DeviceInfoService {
+
+}

+ 34 - 0
device-api-service/src/main/java/com/xy/service/impl/DeviceStatusServiceImpl.java

@@ -0,0 +1,34 @@
+package com.xy.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.dto.DeviceStatusDto;
+import com.xy.entity.DeviceStatus;
+import com.xy.mapper.DeviceStatusMapper;
+import com.xy.service.DeviceStatusService;
+import com.xy.utils.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Service;
+
+import static com.xy.utils.Beans.copy;
+
+/**
+ * <p>
+ * 设备-状态 服务实现类
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@Service
+@Api(tags = "设备-状态")
+public class DeviceStatusServiceImpl extends ServiceImpl<DeviceStatusMapper, DeviceStatus> implements DeviceStatusService {
+
+    @Override
+    @ApiOperation("上报信息")
+    public R up(DeviceStatusDto.Up up) {
+        DeviceStatus deviceStatus = copy(DeviceStatus.class, up);
+        updateById(deviceStatus);
+        return R.ok();
+    }
+}

+ 47 - 0
device-api-service/src/main/java/com/xy/service/impl/DeviceSysinfoServiceImpl.java

@@ -0,0 +1,47 @@
+package com.xy.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.dto.DeviceSysinfoDto;
+import com.xy.entity.DeviceSysinfo;
+import com.xy.mapper.DeviceSysinfoMapper;
+import com.xy.service.DeviceSysinfoService;
+import com.xy.utils.MybatisPlusQuery;
+import com.xy.utils.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Service;
+
+import static com.xy.utils.Beans.copy;
+
+/**
+ * <p>
+ * 设备-系统信息 服务实现类
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@Service
+@Api(tags = "设备-系统信息")
+public class DeviceSysinfoServiceImpl extends ServiceImpl<DeviceSysinfoMapper, DeviceSysinfo> implements DeviceSysinfoService {
+
+    @Override
+    @ApiOperation("查询对象")
+    public R<DeviceSysinfoDto.Vo> get(DeviceSysinfoDto.Select select) {
+        LambdaQueryWrapper<DeviceSysinfo> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(select, DeviceSysinfo.class)
+                .ge(DeviceSysinfo::getCreateTime, select.getBeginCreateTime())
+                .le(DeviceSysinfo::getCreateTime, select.getEndCreateTime())
+                .build();
+        DeviceSysinfo deviceSysinfo = getOne(lambdaQueryWrapper);
+        return R.ok(copy(DeviceSysinfoDto.Vo.class, deviceSysinfo));
+    }
+
+    @Override
+    @ApiOperation("上报信息")
+    public R up(DeviceSysinfoDto.Up up) {
+        DeviceSysinfo deviceSysinfo = copy(DeviceSysinfo.class, up);
+        updateById(deviceSysinfo);
+        return R.ok();
+    }
+}

+ 26 - 0
device-api-service/src/main/java/com/xy/service/impl/MqttAclServiceImpl.java

@@ -0,0 +1,26 @@
+package com.xy.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.entity.MqttAcl;
+import com.xy.mapper.MqttAclMapper;
+import com.xy.service.MqttAclService;
+import com.xy.utils.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Service;
+
+/**
+ * mqtt授权 接口实现
+ */
+@Service
+@Api(tags = "mqtt授权")
+public class MqttAclServiceImpl extends ServiceImpl<MqttAclMapper, MqttAcl> implements MqttAclService {
+
+    @Override
+    @ApiOperation("获取mqtt信息")
+    public R<MqttAcl> get(MqttAcl mqttAcl) {
+        MqttAcl mqttAclInfo = getOne(new LambdaQueryWrapper<>(mqttAcl));
+        return R.ok(mqttAclInfo);
+    }
+}

+ 2 - 1
device-api-service/src/main/java/com/xy/service/MqttServiceImpl.java → device-api-service/src/main/java/com/xy/service/impl/MqttServiceImpl.java

@@ -1,4 +1,4 @@
-package com.xy.service;
+package com.xy.service.impl;
 
 import cn.hutool.json.JSONObject;
 import com.github.yitter.idgen.YitIdHelper;
@@ -8,6 +8,7 @@ import com.xy.dto.pater.PaterDto;
 import com.xy.entity.MqttCommand;
 import com.xy.mapper.MqttCommandMapper;
 import com.xy.producer.MqttProducer;
+import com.xy.service.MqttService;
 import com.xy.utils.*;
 import com.xy.utils.enums.MqttEnum;
 import io.swagger.annotations.Api;

+ 104 - 0
device-api/src/main/java/com/xy/dto/DeviceStatusDto.java

@@ -0,0 +1,104 @@
+package com.xy.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel("设备-状态")
+@Accessors(chain = true)
+public class DeviceStatusDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class Up extends Vo {
+
+        @NotNull(message = "id不能为空")
+        @ApiModelProperty("设备ID")
+        private Long id;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Vo {
+        @ApiModelProperty("设备ID")
+        private Long id;
+
+        @ApiModelProperty("系统启动时间")
+        private String sysStartTime;
+
+        @ApiModelProperty("系统当前时间")
+        private String sysCurTime;
+
+        @ApiModelProperty("WIFI是否打开")
+        private String wifiOpen;
+
+        @ApiModelProperty("蓝牙是否打开")
+        private String bloothOpen;
+
+        @ApiModelProperty("联网状态")
+        private Integer netState;
+
+        @ApiModelProperty("联网类型")
+        private String netType;
+
+        @ApiModelProperty("联网信号强度")
+        private Integer netDbm;
+
+        @ApiModelProperty("左柜门状态")
+        private Integer doorStateL;
+
+        @ApiModelProperty("右柜门状态")
+        private Integer doorStateR;
+
+        @ApiModelProperty("左柜门锁状态")
+        private Integer lockStateL;
+
+        @ApiModelProperty("右柜门锁状态")
+        private Integer lockStateR;
+
+        @ApiModelProperty("温度值")
+        private Integer tempValue;
+
+        @ApiModelProperty("温控仪状态")
+        private Integer tempState;
+
+        @ApiModelProperty("音量")
+        private Integer voiceVolume;
+
+        @ApiModelProperty("主灯状态")
+        private Integer lightMain;
+
+        @ApiModelProperty("副灯状态")
+        private Integer lightSecond;
+
+        @ApiModelProperty("磁盘空间")
+        private Integer diskSpace;
+
+        @ApiModelProperty("磁盘剩余空间")
+        private Integer diskRemainSpace;
+
+        @ApiModelProperty("内存容量")
+        private Integer memerySpace;
+
+        @ApiModelProperty("内存剩余容量")
+        private Integer memeryRemainSpace;
+
+        @ApiModelProperty("创建时间")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty("更新时间")
+        private LocalDateTime updateTime;
+
+        @ApiModelProperty("创建人")
+        private Long createUser;
+
+        @ApiModelProperty("更新人")
+        private Long updateUser;
+    }
+
+}

+ 115 - 0
device-api/src/main/java/com/xy/dto/DeviceSysinfoDto.java

@@ -0,0 +1,115 @@
+package com.xy.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel("设备-系统信息")
+@Accessors(chain = true)
+public class DeviceSysinfoDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class Select extends Vo {
+        @JsonFormat(pattern = "yyyy-MM-dd")
+        @ApiModelProperty(value = "创建时间-起")
+        private LocalDate beginCreateTime;
+
+        @JsonFormat(pattern = "yyyy-MM-dd")
+        @ApiModelProperty(value = "创建时间-始")
+        private LocalDate endCreateTime;
+
+        public LocalDateTime getBeginCreateTime() {
+            return beginCreateTime == null ? null : beginCreateTime.atTime(0, 0, 0);
+        }
+
+        public LocalDateTime getEndCreateTime() {
+            return endCreateTime == null ? null : endCreateTime.atTime(23, 59, 59);
+        }
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Up extends Vo {
+
+        @NotNull(message = "id不能为空")
+        @ApiModelProperty("设备ID")
+        private Long id;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Vo {
+        @ApiModelProperty("设备ID")
+        private Long id;
+
+        @ApiModelProperty("设备SN号")
+        private String deviceSn;
+
+        @ApiModelProperty("启动程序版本号")
+        private String androidStartAppVersion;
+
+        @ApiModelProperty("安卓系统版本号")
+        private String androidVersion;
+
+        @ApiModelProperty("系统root状态")
+        private Integer androidRootState;
+
+        @ApiModelProperty("安卓系统型号")
+        private String androidModel;
+
+        @ApiModelProperty("系统启动APP")
+        private String sysLauncher;
+
+        @ApiModelProperty("系统时区")
+        private String sysTimezone;
+
+        @ApiModelProperty("是否自动时间")
+        private String sysDatetimeauto;
+
+        @ApiModelProperty("是否自动时间")
+        private String sysTimezhoneauto;
+
+        @ApiModelProperty("上位机版本号")
+        private String appUpmVersion;
+
+        @ApiModelProperty("下位机版本号")
+        private String appDownmVersion;
+
+        @ApiModelProperty("流量卡号")
+        private String simIccid;
+
+        @ApiModelProperty("流量卡运营商")
+        private String simIsp;
+
+        @ApiModelProperty("流量卡公司")
+        private String simCompany;
+
+        @ApiModelProperty("磁盘空间")
+        private Integer diskSpace;
+
+        @ApiModelProperty("内存容量")
+        private Integer memerySpace;
+
+        @ApiModelProperty("创建时间")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty("更新时间")
+        private LocalDateTime updateTime;
+
+        @ApiModelProperty("创建人")
+        private Long createUser;
+
+        @ApiModelProperty("更新人")
+        private Long updateUser;
+    }
+
+
+}

+ 16 - 0
device-api/src/main/java/com/xy/service/DeviceInfoService.java

@@ -0,0 +1,16 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+
+/**
+ * <p>
+ * 设备-信息 服务类
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@RestMappingController("device-info")
+public interface DeviceInfoService {
+
+}

+ 29 - 0
device-api/src/main/java/com/xy/service/DeviceStatusService.java

@@ -0,0 +1,29 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+import com.xy.dto.DeviceStatusDto;
+import com.xy.utils.R;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ * 设备-状态 服务类
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@RestMappingController("device-status")
+public interface DeviceStatusService {
+
+    /**
+     * 上报信息
+     *
+     * @param up
+     * @return
+     */
+    @PostMapping("up")
+    R up(@RequestBody @Validated DeviceStatusDto.Up up);
+}

+ 38 - 0
device-api/src/main/java/com/xy/service/DeviceSysinfoService.java

@@ -0,0 +1,38 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+import com.xy.dto.DeviceSysinfoDto;
+import com.xy.utils.R;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ * 设备-系统信息 服务类
+ * </p>
+ *
+ * @author lijin
+ * @since 2022-12-23
+ */
+@RestMappingController("device-sysinfo")
+public interface DeviceSysinfoService {
+
+    /**
+     * 查询对象
+     *
+     * @param select
+     * @return
+     */
+    @PostMapping("get")
+    R<DeviceSysinfoDto.Vo> get(@RequestBody DeviceSysinfoDto.Select select);
+
+    /**
+     * 上报信息
+     *
+     * @param up
+     * @return
+     */
+    @PostMapping("up")
+    R up(@RequestBody @Validated DeviceSysinfoDto.Up up);
+}

+ 0 - 39
device-start/src/main/java/com/xy/controller/demo/DemoController.java

@@ -1,39 +0,0 @@
-package com.xy.controller.demo;
-
-
-import com.xy.controller.demo.common.ServerResponseEntity;
-import com.xy.controller.demo.param.DemoDTO;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.Extension;
-import io.swagger.annotations.ExtensionProperty;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-
-@RestController
-@RequestMapping("order")
-@Api(value = "订单模块", position = 0)
-public class DemoController {
-
-    @ApiOperation(value = "提交订单信息,application/json", notes = "提交订单信息,application/json", extensions = {
-            // 指定维护人
-            @Extension(name = "author", properties = {
-                    @ExtensionProperty(name = "谭斌", value = "")
-            }),
-            // 指定错误码
-            @Extension(name = "code", properties = {
-                    @ExtensionProperty(name = "100001", value = "id错误"),
-                    @ExtensionProperty(name = "100002", value = "错误描述2"),
-                    @ExtensionProperty(name = "100003", value = "错误描述3")
-            })
-    })
-    @PostMapping("create")
-    public ServerResponseEntity<DemoDTO> create(@RequestBody DemoDTO orderDTO) {
-        return ServerResponseEntity.success(orderDTO);
-    }
-
-
-}

+ 0 - 335
device-start/src/main/java/com/xy/controller/demo/common/ResponseEnum.java

@@ -1,335 +0,0 @@
-package com.xy.controller.demo.common;
-
-
-public enum ResponseEnum {
-
-    /**
-     * ok
-     */
-    OK("00000", "ok"),
-
-    /**
-     * 用于直接显示提示用户的错误,内容由输入内容决定
-     */
-    SHOW_FAIL("A00001", ""),
-
-    /**
-     * 方法参数没有校验,内容由输入内容决定
-     */
-    METHOD_ARGUMENT_NOT_VALID("A00002", ""),
-
-    /**
-     * 无法读取获取请求参数
-     */
-    HTTP_MESSAGE_NOT_READABLE("A00003", "请求参数格式有误"),
-
-    /**
-     * 未授权
-     */
-    UNAUTHORIZED("A00004", "请登录"),
-
-    /**
-     * 服务器出了点小差
-     */
-    EXCEPTION("A00005", "服务器出了点小差"),
-
-    /**
-     * 数据异常
-     */
-    DATA_ERROR("A00007", "数据异常,请刷新后重新操作"),
-
-    /**
-     * 一些需要登录的接口,而实际上因为前端无法知道token是否已过期,导致token已失效时, 应该返回一个状态码,告诉前端token已经失效了,及时清理
-     */
-    CLEAN_TOKEN("A00008", "clean token"),
-
-    /**
-     * 刷新token已过期
-     */
-    REFRESH_TOKEN_EXIST("A00009", "refresh token exist"),
-
-    /**
-     * 数据不完整
-     */
-    DATA_INCOMPLETE("A00010", "数据不完整"),
-
-    /**
-     *
-     */
-    OPERATION_NOT_ALLOWED("A00011", "不允许当前操作"),
-
-
-    /**
-     * 01开头代表活动
-     * 活动未在进行中
-     */
-    ACTIVITY_NOT_ONGOING("A01000", "活动未在未发布或未在进行中"),
-
-    /**
-     * 该活动信息不存在
-     */
-    ACTIVITY_NON_EXISTENT("A01001", "该活动信息不存在"),
-
-    /**
-     * 活动仅未发布和下线情况下能编辑
-     */
-    ACTIVITY_CANNOT_EDIT("A01002", "活动仅未发布和下线情况下能编辑"),
-
-    /**
-     * 活动仅未发布和下线情况下能编辑
-     */
-    ACTIVITY_CANNOT_DELETE("A01003", "活动未发布情况下可删除"),
-
-    /**
-     * 活动仅未上线和已下线情况下可发布
-     */
-    ACTIVITY_CANNOT_PUBLISH("A01004", "活动仅未上线和已下线情况下可发布"),
-
-    /**
-     * 活动上线时分类ID不能为空
-     */
-    ACTIVITY_TYPE_NON_EXISTENT("A01005", "活动上线时分类ID不能为空"),
-
-    /**
-     * 修改活动状态定时任务创建失败
-     */
-    ACTIVITY_STATUS_JOB("A01006", "修改活动状态定时任务创建失败"),
-
-    /**
-     * 该活动不能进行当前操作
-     */
-    ACTIVITY_CANNOT_OPERATE("A01007", "该活动不能进行当前操作"),
-
-    /**
-     * 该活动不能进行终止操作操作
-     */
-    ACTIVITY_CANNOT_TERMINATE("A01008", "该活动不能进行终止操作操作"),
-
-    /**
-     * 活动删除定时任务失败
-     */
-    ACTIVITY_JOB_DELETE_FAIL("A01009", "活动删除定时任务失败"),
-
-    /**
-     * 活动已下线
-     */
-    ACTIVITY_OFFLINE("A01010", "活动已下线"),
-
-    /**
-     * 02开头代表票种
-     * 超出票种时间范围
-     */
-    TICKET_EXCEED_RANGE("A02000", "超出该票种购买时间范围"),
-
-
-    /**
-     * 超出票种购买数量
-     */
-    TICKET_COUNT_RANGE("A02001", "超出票种购买数量"),
-
-    /**
-     * 票种数据异常
-     */
-    TICKET_DATA_ERROR("A02002", "未知网络原因未能成功购买票据"),
-
-    /**
-     * 库存不足,票种库存不足
-     */
-    NOT_STOCK("A02003", "票种库存不足"),
-
-    /**
-     * 票种信息不能为空
-     */
-    TICKET_NULL("A02004", "票种信息不能为空"),
-
-    /**
-     * 已达到当前最高参与人数
-     */
-    TICKET_EXCEED("A02005", "已达到当前最高参与人数"),
-
-    /**
-     * 超出购买限制
-     */
-    TICKET_EXCEED_MAX("A02005", "超出购买限制"),
-
-    /**
-     * 票种库存异常
-     */
-    TICKET_STOCK_ERROR("A02006", "票种库存异常"),
-
-    /**
-     * 03开头代表活动场次
-     * 超出活动场次时间范围
-     */
-    SCREENING_EXCEED_RANGE("A03000", "超出活动场次时间范围"),
-
-    /**
-     * 请勿重复提交订单, 1.当前端遇到该异常时,说明前端防多次点击没做好 2.提示用户 订单已发生改变,请勿重复下单
-     */
-    REPEAT_ORDER("A03002", "please don't repeat order"),
-
-    /**
-     * 订单已过期,当前端看到该状态码的时候,提示订单信息已过期,请重新确认后提交,此时用户点击确定,前端刷新页面。
-     */
-    ORDER_EXPIRED("A03003", "order expired"),
-
-    /**
-     * 订单已支付,无法取消订单
-     */
-    ORDER_PAYED("A03007", "order payed"),
-
-    /**
-     * 订单未发货,无法确认收货
-     */
-    ORDER_NO_DELIVERY("A03008", "order no delivery"),
-
-    /**
-     * 活动场次状态定时任务创建失败
-     */
-    SCREENING_STATUS_JOB("A03009", "活动场次状态定时任务创建失败"),
-
-    /**
-     * 活动场次删除定时任务失败
-     */
-    SCREENING_JOB_DELETE_FAIL("A03010", "活动场次删除定时任务失败"),
-
-    /**
-     * 场次信息不能为空
-     */
-    SCREENING_NULL("A03011", "场次信息不能为空"),
-
-    /**
-     * 该当场次已结束
-     */
-    SCREENING_ENDED("A03012", "该当场次已结束"),
-
-    /**
-     * Banner图片最多上传五张
-     */
-    BANNER_IMG_MAXSIZE("A03013", "Banner图片最多上传五张"),
-
-    /**
-     * 当前状态不可执行该操作
-     */
-    BANNER_STATUS_ILLEGALITY("A03014", "Banner当前状态不可执行该操作"),
-
-    /**
-     * 当前bannner只剩一张不可删除
-     */
-    BANNER_NOT_DELE("A03021", "当前bannner只剩一张不可删除"),
-
-
-    BANNER_NOT_LINE("A03022", "当前上线bannner只剩一张不可下线"),
-
-    ADVERTISEMENT_NOT_LINE("A03023", "仅允许上线一个开屏广告"),
-
-    ADVERTISEMENT_NOT_DELETE("A03024", "上线广告不允许删除"),
-
-    CHOICENESS_MAXSIZE("A03015", "精选推荐最多6个产品"),
-
-    CHOICENESS_STATUS_ILLEGALIT("A03016", "当前状态不可执行该操作"),
-
-    /**
-     * 订单未支付
-     */
-    ORDER_NOT_PAYED("A03012", "order not payed"),
-
-
-    /**
-     * 订单支付失败
-     */
-    PAY_OREDER_FAIL("A03013", "微信统一支付失败"),
-
-    /**
-     * 没有查询权限
-     */
-    REFUND_NOT_PERMISSION("A03024", "refund not permission"),
-
-
-    /**
-     * 04开头代表订单
-     */
-    ORDER_NOT_EXIST("A04000", "订单不存在"),
-
-    /**
-     * 订单已支付,无法取消订单
-     */
-    ORDER_PAID("A04001", "只有未支付的订单能发起支付"),
-
-    /**
-     * 订单已失败
-     */
-    ORDER_HAS_FAILED("A04013", "未知网络原因订单未能生成"),
-
-
-    /**
-     * 撤销失败 当前状态不允许此操作
-     */
-    REFUND_STATUS_CHECK("A04034", "当前订单状态不允许此操作"),
-
-    /**
-     * 撤销失败 未找到相关活动信息
-     */
-    REFUND_NOT_ACTIVITY("A04035", "失败,未找到相关活动信息"),
-
-    /**
-     * 撤销失败,超出可退款时间范围
-     */
-    REFUND_TIME_RANGE("A04036", "失败,已超过可退款时间范围"),
-
-    /**
-     * 撤销失败 票卷信息有误
-     */
-    REFUND_NOT_TICKET("A04037", "票卷信息有误不请核查后进行操作"),
-
-    /**
-     * 撤销失败,票卷状态不符合
-     */
-    REFUND_STATUS_TICKET("A04038", "票卷已使用或已失效"),
-
-    REFUND_MAX_COUNT("A04039", "该订单已超过最大申请次数"),
-
-    REFUND_FILL_MESSAGE("A04040", "请填写原因"),
-
-    REFUND_ORDER_NOT("A04041", "0元单无需退款"),
-
-    /**
-     * 有些时候第三方系统授权之后,会有个临时的key,比如小程序的session_key
-     * 这个异常代表session_key过期,前端遇到这个问题的时候,应该再次调用社交登录的接口,刷新session_key
-     */
-    BIZ_TEMP_SESSION_KEY_EXPIRE("A04002", "biz temp session key expire"),
-
-    /**
-     * 账号未注册,前端看到这个状态码,弹出选择框,提示用户账号未注册,是否进入注册页面,用户选择是,进入注册页面
-     */
-    ACCOUNT_NOT_REGISTER("A04003", "account not register");
-
-    private final String code;
-
-    private final String msg;
-
-    public String value() {
-        return code;
-    }
-
-
-    public String getCode() {
-        return code;
-    }
-
-    public String getMsg() {
-        return msg;
-    }
-
-    ResponseEnum(String code, String msg) {
-        this.code = code;
-        this.msg = msg;
-    }
-
-    @Override
-    public String toString() {
-        return "ResponseEnum{" + "code='" + code + '\'' + ", msg='" + msg + '\'' + "} "
-                + super.toString();
-    }
-
-}

+ 0 - 139
device-start/src/main/java/com/xy/controller/demo/common/ServerResponseEntity.java

@@ -1,139 +0,0 @@
-package com.xy.controller.demo.common;
-
-import cn.hutool.core.util.ObjectUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.Serializable;
-
-/***
- * 响应数据封装
- * @author 谭斌
- * @date 2022/11/21 16:12
- */
-public class ServerResponseEntity<T> implements Serializable {
-
-    private static final Logger log = LoggerFactory.getLogger(ServerResponseEntity.class);
-
-    /**
-     * 状态码
-     */
-    private String code;
-
-    /**
-     * 信息
-     */
-    private String message;
-
-    /**
-     * 数据
-     */
-    private T data;
-
-    public String getCode() {
-        return code;
-    }
-
-    public void setCode(String code) {
-        this.code = code;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public void setMessage(String message) {
-        this.message = message;
-    }
-
-    public T getData() {
-        return data;
-    }
-
-    public void setData(T data) {
-        this.data = data;
-    }
-
-    public boolean isSuccess() {
-        return ObjectUtil.equals(ResponseEnum.OK.value(), this.code);
-    }
-
-    @Override
-    public String toString() {
-        return "ServerResponseEntity{" + "code=" + code + ", message='" + message + '\'' + ", data=" + data
-                + '}';
-    }
-
-    public static <T> ServerResponseEntity<T> success(T data, String msg) {
-        ServerResponseEntity<T> serverResponseEntity = new ServerResponseEntity<>();
-        serverResponseEntity.setCode(ResponseEnum.OK.value());
-        serverResponseEntity.setData(data);
-        serverResponseEntity.setMessage(msg);
-        return serverResponseEntity;
-    }
-
-    public static <T> ServerResponseEntity<T> success(T data) {
-        ServerResponseEntity<T> serverResponseEntity = new ServerResponseEntity<>();
-        serverResponseEntity.setData(data);
-        serverResponseEntity.setCode(ResponseEnum.OK.value());
-        return serverResponseEntity;
-    }
-
-    public static <T> ServerResponseEntity<T> success() {
-        ServerResponseEntity<T> serverResponseEntity = new ServerResponseEntity<>();
-        serverResponseEntity.setCode(ResponseEnum.OK.value());
-        serverResponseEntity.setMessage(ResponseEnum.OK.getMsg());
-        return serverResponseEntity;
-    }
-
-    /**
-     * 前端显示失败消息
-     *
-     * @param msg 失败消息
-     * @return
-     */
-    public static <T> ServerResponseEntity<T> showFailMsg(String msg) {
-        log.error(msg);
-        ServerResponseEntity<T> serverResponseEntity = new ServerResponseEntity<>();
-        serverResponseEntity.setMessage(msg);
-        serverResponseEntity.setCode(ResponseEnum.SHOW_FAIL.value());
-        return serverResponseEntity;
-    }
-
-    public static <T> ServerResponseEntity<T> fail(ResponseEnum responseEnum) {
-        log.error(responseEnum.toString());
-        ServerResponseEntity<T> serverResponseEntity = new ServerResponseEntity<>();
-        serverResponseEntity.setMessage(responseEnum.getMsg());
-        serverResponseEntity.setCode(responseEnum.value());
-        return serverResponseEntity;
-    }
-
-    public static <T> ServerResponseEntity<T> fail(ResponseEnum responseEnum, T data) {
-        log.error(responseEnum.toString());
-        ServerResponseEntity<T> serverResponseEntity = new ServerResponseEntity<>();
-        serverResponseEntity.setMessage(responseEnum.getMsg());
-        serverResponseEntity.setCode(responseEnum.value());
-        serverResponseEntity.setData(data);
-        return serverResponseEntity;
-    }
-
-    public static <T> ServerResponseEntity<T> failMsg(ResponseEnum responseEnum, String errMsg) {
-        log.error("failMsg:{}", errMsg);
-        ServerResponseEntity<T> serverResponseEntity = new ServerResponseEntity<>();
-        serverResponseEntity.setMessage(errMsg);
-        serverResponseEntity.setCode(responseEnum.value());
-        serverResponseEntity.setData(null);
-        return serverResponseEntity;
-    }
-
-
-    public static <T> ServerResponseEntity<T> transform(
-            ServerResponseEntity<?> oldServerResponseEntity) {
-        ServerResponseEntity<T> serverResponseEntity = new ServerResponseEntity<>();
-        serverResponseEntity.setMessage(oldServerResponseEntity.getMessage());
-        serverResponseEntity.setCode(oldServerResponseEntity.getCode());
-        log.error(serverResponseEntity.toString());
-        return serverResponseEntity;
-    }
-
-}

+ 0 - 13
device-start/src/main/java/com/xy/controller/demo/param/DemoDTO.java

@@ -1,13 +0,0 @@
-package com.xy.controller.demo.param;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class DemoDTO {
-    @ApiModelProperty(value = "订单id", example = "aaaa", position = 0)
-    private String orderNo;
-
-    @ApiModelProperty(value = "备注", example = "订单", position = 1)
-    private String remark;
-}