Procházet zdrojové kódy

设备相关接口完善

xucaiqin před 2 roky
rodič
revize
9e8d65436b

+ 2 - 2
iot-module/iot-module-auth/iot-module-auth-biz/src/main/java/com/middle/platform/auth/biz/controller/AuthController.java

@@ -50,8 +50,8 @@ public class AuthController {
      *
      * @return
      */
-    @PostMapping("/use")
-    public Result<Object> use(@RequestBody SysUserFlag sysUserFlag) {
+    @PostMapping("/enable")
+    public Result<Object> enable(@RequestBody SysUserFlag sysUserFlag) {
         authService.changeUse(sysUserFlag);
         return Result.ok(true, "操作成功");
     }

+ 11 - 0
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/controller/IotDeviceController.java

@@ -2,6 +2,7 @@ package com.middle.platform.manage.biz.controller;
 
 import com.middle.platform.common.utils.Result;
 import com.middle.platform.manage.biz.domain.req.DevicePage;
+import com.middle.platform.manage.biz.domain.req.IotDeviceFlag;
 import com.middle.platform.manage.biz.domain.req.IotDevicePara;
 import com.middle.platform.manage.biz.service.IotDeviceService;
 import lombok.RequiredArgsConstructor;
@@ -54,4 +55,14 @@ public class IotDeviceController {
         return Result.ok(iotDeviceService.remove(id), "删除成功");
     }
 
+    /**
+     * 启用禁用设备
+     *
+     * @param iotDeviceFlag 启用禁用设备
+     * @return
+     */
+    @DeleteMapping("/enable")
+    public Result<Object> enable(@RequestBody IotDeviceFlag iotDeviceFlag) {
+        return Result.ok(iotDeviceService.enable(iotDeviceFlag), "操作成功");
+    }
 }

+ 15 - 0
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/domain/req/IotDeviceFlag.java

@@ -0,0 +1,15 @@
+package com.middle.platform.manage.biz.domain.req;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author xucaiqin
+ * @date 2023-12-19 10:14:01
+ */
+@Getter
+@Setter
+public class IotDeviceFlag {
+    private Long id;
+    private Integer status;
+}

+ 2 - 22
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/domain/req/IotDevicePara.java

@@ -1,10 +1,6 @@
 package com.middle.platform.manage.biz.domain.req;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.middle.platform.mybatis.core.dataobject.BaseDO;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -19,78 +15,62 @@ import java.time.LocalDateTime;
  */
 @Getter
 @Setter
-@TableName(value = "iot_device")
 public class IotDevicePara{
 
     /**
      * 所属产品
      */
-    @TableField(value = "product_id")
     private Long productId;
 
     /**
      * 设备名称
      */
-    @TableField(value = "`name`")
     private String name;
 
     /**
      * 设备sn码
      */
-    @TableField(value = "sn")
     private String sn;
 
-    /**
-     * 设备guid
-     */
-    @TableField(value = "guid")
-    private String guid;
 
     /**
      * 备注名称
      */
-    @TableField(value = "subtitle")
     private String subtitle;
 
     /**
      * 经度
      */
-    @TableField(value = "lon")
     private BigDecimal lon;
 
     /**
      * 纬度
      */
-    @TableField(value = "lat")
     private BigDecimal lat;
 
     /**
      * 所属区域
      */
-    @TableField(value = "address")
     private String address;
 
     /**
      * 最后在线时间
      */
-    @TableField(value = "online_time")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime onlineTime;
 
     /**
      * 设备状态 1-在线 0-离线
      */
-    @TableField(value = "`status`")
     private Integer status;
 
     /**
      * 启用状态 1-启用 0-禁用
      */
-    @TableField(value = "enable_flag")
     private Integer enableFlag;
 
     /**
      * 备注
      */
-    @TableField(value = "remark")
     private String remark;
 }

+ 82 - 0
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/domain/vo/IotDeviceVo.java

@@ -0,0 +1,82 @@
+package com.middle.platform.manage.biz.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.middle.platform.mybatis.core.dataobject.BaseVO;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 设备表
+ *
+ * @author xucaiqin
+ * @date 2023-12-19 13:43:38
+ */
+@Getter
+@Setter
+public class IotDeviceVo extends BaseVO {
+    private Long id;
+
+    /**
+     * 所属产品
+     */
+    private Long productId;
+
+    /**
+     * 设备名称
+     */
+    private String name;
+
+    /**
+     * 设备sn码
+     */
+    private String sn;
+
+    /**
+     * 设备guid
+     */
+    private String guid;
+
+    /**
+     * 备注名称
+     */
+    private String subtitle;
+
+    /**
+     * 经度
+     */
+    private BigDecimal lon;
+
+    /**
+     * 纬度
+     */
+    private BigDecimal lat;
+
+    /**
+     * 所属区域
+     */
+    private String address;
+
+    /**
+     * 最后在线时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime onlineTime;
+
+    /**
+     * 设备状态 1-在线 0-离线
+     */
+    private Integer status;
+
+    /**
+     * 启用状态 1-启用 0-禁用
+     */
+    private Integer enableFlag;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 12 - 0
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/mapper/IotDeviceMapper.java

@@ -1,9 +1,13 @@
 package com.middle.platform.manage.biz.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.middle.platform.manage.biz.domain.req.DevicePage;
+import com.middle.platform.manage.biz.domain.vo.IotDeviceVo;
 import com.middle.platform.manage.biz.entity.IotDevice;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * @author xucaiqin
  * @date 2023-12-19 13:43:38
@@ -17,4 +21,12 @@ public interface IotDeviceMapper extends BaseMapper<IotDevice> {
      * @return
      */
     Long queryByProduct(Long id);
+
+    /**
+     * 分页查询
+     *
+     * @param devicePage
+     * @return
+     */
+    List<IotDeviceVo> pageQuery(DevicePage devicePage);
 }

+ 46 - 2
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/service/IotDeviceService.java

@@ -1,11 +1,21 @@
 package com.middle.platform.manage.biz.service;
 
+import cn.hutool.core.util.IdUtil;
+import com.github.pagehelper.PageHelper;
+import com.middle.platform.common.exception.BusinessException;
+import com.middle.platform.common.utils.PageRes;
 import com.middle.platform.manage.biz.domain.req.DevicePage;
+import com.middle.platform.manage.biz.domain.req.IotDeviceFlag;
 import com.middle.platform.manage.biz.domain.req.IotDevicePara;
+import com.middle.platform.manage.biz.domain.vo.IotDeviceVo;
+import com.middle.platform.manage.biz.entity.IotDevice;
 import com.middle.platform.manage.biz.mapper.IotDeviceMapper;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Objects;
+
 /**
  * @author xucaiqin
  * @date 2023-12-19 13:43:38
@@ -22,11 +32,29 @@ public class IotDeviceService {
      * @return
      */
     public Object pageQuery(DevicePage devicePage) {
-        return null;
+        PageHelper.startPage(devicePage.getPage(), devicePage.getPageSize());
+        List<IotDeviceVo> iotProductVos = iotDeviceMapper.pageQuery(devicePage);
+        return new PageRes<>(iotProductVos);
     }
 
+    /**
+     * 保存设备
+     *
+     * @param iotDevicePara
+     * @return
+     */
     public Object save(IotDevicePara iotDevicePara) {
-        return null;
+        IotDevice iotDevice = new IotDevice();
+        iotDevice.setProductId(iotDevicePara.getProductId());
+        iotDevice.setName(iotDevicePara.getName());
+        iotDevice.setSn(iotDevicePara.getSn());
+        iotDevice.setGuid(IdUtil.fastSimpleUUID());
+        iotDevice.setSubtitle(iotDevicePara.getSubtitle());
+        iotDevice.setStatus(0);
+        iotDevice.setEnableFlag(0);
+        iotDevice.setRemark(iotDevicePara.getRemark());
+        iotDeviceMapper.insert(iotDevice);
+        return true;
     }
 
     /**
@@ -39,4 +67,20 @@ public class IotDeviceService {
         iotDeviceMapper.deleteById(id);
         return true;
     }
+
+    /**
+     * 启用禁用设备
+     *
+     * @param iotDeviceFlag
+     * @return
+     */
+    public Object enable(IotDeviceFlag iotDeviceFlag) {
+        IotDevice iotDevice = iotDeviceMapper.selectById(iotDeviceFlag.getId());
+        if (Objects.isNull(iotDevice)) {
+            throw new BusinessException("设备不存在");
+        }
+        iotDevice.setEnableFlag(iotDeviceFlag.getStatus());
+        iotDeviceMapper.updateById(iotDevice);
+        return true;
+    }
 }

+ 10 - 0
iot-module/iot-module-manage/iot-module-manage-biz/src/main/resources/mapper/IotDeviceMapper.xml

@@ -38,4 +38,14 @@
       id.product_id = #{id,jdbcType=BIGINT}
     </where>
     </select>
+
+  <select id="pageQuery" resultType="com.middle.platform.manage.biz.domain.vo.IotDeviceVo">
+      select *
+      from iot_device id
+      <where>
+          <if test="keywords != null and keywords != ''">
+              and id.name like concat('%', #{keywords,jdbcType=VARCHAR}, '%')
+          </if>
+      </where>
+  </select>
 </mapper>