wzh il y a 2 ans
Parent
commit
113a83b65a

+ 16 - 0
ruoyi-iot/src/main/java/com/ruoyi/iot/controller/DeviceController.java

@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 
 import static com.ruoyi.common.utils.SecurityUtils.getLoginUser;
 
@@ -53,6 +54,21 @@ public class DeviceController {
     }
 
 
+    @PostMapping("/bindDevice")
+    @ApiOperation("绑定设备")
+    public AjaxResult bindDevice(@RequestParam("qrcode") String qrcode){
+        Long userId = getLoginUser().getUserId();
+        WeitiandiDeviceInfo deviceInfoByQrcode = iWeitiandiDeviceInfoService.bindDevice(qrcode, userId);
+        return AjaxResult.success(deviceInfoByQrcode);
+    }
+
+    @PostMapping("/deviceList")
+    @ApiOperation("设备列表")
+    public AjaxResult deviceList(){
+        Long userId = getLoginUser().getUserId();
+        List<WeitiandiDeviceInfo> list = iWeitiandiDeviceInfoService.listDevice(userId);
+        return AjaxResult.success(list);
+    }
 
     @PostMapping("/getDeviceInfo")
     @ApiOperation("获取设备详情")

+ 4 - 1
ruoyi-iot/src/main/java/com/ruoyi/iot/domain/WeitiandiDeviceInfo.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.time.LocalDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -47,6 +49,7 @@ public class WeitiandiDeviceInfo implements Serializable {
      * 创建时间
      */
     @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
     /**
@@ -64,6 +67,6 @@ public class WeitiandiDeviceInfo implements Serializable {
      */
     private String qrcode;
 
-    private Long user_id;
+    private Long userId;
 
 }

+ 2 - 2
ruoyi-iot/src/main/java/com/ruoyi/iot/service/ITDevicePlanService.java

@@ -15,9 +15,9 @@ import com.ruoyi.iot.transdata.RpcResult;
  */
 public interface ITDevicePlanService extends IService<TDevicePlan>  {
     /**
-     * 添加相册
+     * 添加预约
      *
-     * @param tDevicePlanAddNewDTO 相册数据
+     * @param tDevicePlanAddNewDTO 添加预约
      */
     void addNew(TDevicePlanAddNewDTO tDevicePlanAddNewDTO);
 

+ 6 - 0
ruoyi-iot/src/main/java/com/ruoyi/iot/service/IWeitiandiDeviceInfoService.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.iot.domain.WeitiandiDeviceInfo;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -16,4 +18,8 @@ import com.ruoyi.iot.domain.WeitiandiDeviceInfo;
 public interface IWeitiandiDeviceInfoService extends IService<WeitiandiDeviceInfo> {
 
     public WeitiandiDeviceInfo getDeviceInfoByQrcode(String qrcode,Long userId);
+
+    List<WeitiandiDeviceInfo> listDevice(Long userId);
+
+    WeitiandiDeviceInfo bindDevice(String qrcode, Long userId);
 }

+ 7 - 4
ruoyi-iot/src/main/java/com/ruoyi/iot/service/impl/TDevicePlanServiceImpl.java

@@ -67,7 +67,7 @@ public class TDevicePlanServiceImpl extends ServiceImpl<TDevicePlanMapper, TDevi
         tDevicePlanLambdaQueryWrapper.orderByDesc(TDevicePlan::getCreateTime);
         List<TDevicePlan> list = this.list(tDevicePlanLambdaQueryWrapper);
         LocalDateTime now = LocalDateTime.now();
-        now = now.plus(3, ChronoUnit.MINUTES);
+//        now = now.plus(3, ChronoUnit.MINUTES);
         DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 
         DateTimeFormatter allFmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -158,14 +158,17 @@ public class TDevicePlanServiceImpl extends ServiceImpl<TDevicePlanMapper, TDevi
 
     private boolean checkHasRun(TDevicePlan tDevicePlan,LocalDateTime now) {
         LambdaQueryWrapper<TPlanRecord> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.orderByDesc(TPlanRecord::getCheckTime);
+        DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        String todayStr = now.format(fmt);
+        queryWrapper.orderByDesc(TPlanRecord::getCreateTime);
+        queryWrapper.apply("date_format(create_time,'%Y-%m-%d') = '"+todayStr+"'");
         queryWrapper.eq(TPlanRecord::getPlanId, tDevicePlan.getId());
         queryWrapper.last(" limit 1");
         TPlanRecord one = itPlanRecordService.getOne(queryWrapper);
         if (one != null) {
             LocalDateTime createTime = one.getCreateTime();
-            DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-            String todayStr = now.format(fmt);
+
+
             String runTime = createTime.format(fmt);
             if (StringUtils.equals(runTime, todayStr)) {
                 return true;

+ 26 - 0
ruoyi-iot/src/main/java/com/ruoyi/iot/service/impl/WeitiandiDeviceInfoServiceImpl.java

@@ -11,6 +11,7 @@ import com.ruoyi.iot.service.IWeitiandiDeviceInfoService;
 import com.ruoyi.iot.util.UrlUtil;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -37,4 +38,29 @@ public class WeitiandiDeviceInfoServiceImpl extends ServiceImpl<WeitiandiDeviceI
         }
         return null;
     }
+
+    @Override
+    @DataSource(value = DataSourceType.SLAVE)
+    public List<WeitiandiDeviceInfo> listDevice(Long userId) {
+        LambdaQueryWrapper<WeitiandiDeviceInfo> objectLambdaQueryWrapper = Wrappers.lambdaQuery();
+        objectLambdaQueryWrapper.eq(WeitiandiDeviceInfo::getUserId,userId);
+        objectLambdaQueryWrapper.orderByDesc(WeitiandiDeviceInfo::getCreateTime);
+        List<WeitiandiDeviceInfo> list = this.list(objectLambdaQueryWrapper);
+        return list;
+    }
+
+    @Override
+    @DataSource(value = DataSourceType.SLAVE)
+    public WeitiandiDeviceInfo bindDevice(String qrcode, Long userId) {
+        LambdaQueryWrapper<WeitiandiDeviceInfo> objectLambdaQueryWrapper = Wrappers.lambdaQuery();
+        objectLambdaQueryWrapper.eq(WeitiandiDeviceInfo::getQrcode,qrcode);
+        WeitiandiDeviceInfo deviceInfoByQrcode = getOne(objectLambdaQueryWrapper);
+        Long user_id = deviceInfoByQrcode.getUserId();
+        if(user_id == null){
+            deviceInfoByQrcode.setUserId(userId);
+            this.updateById(deviceInfoByQrcode);
+            return deviceInfoByQrcode;
+        }
+        return null;
+    }
 }