Browse Source

Merge branch 'han' of uskycloud/usky-modules into server-165

hanzhengyi 9 months ago
parent
commit
bd3c78d249

+ 1 - 0
service-alarm/service-alarm-biz/src/main/java/com/usky/alarm/service/job/alarmLinkageJob.java

@@ -15,6 +15,7 @@ public class alarmLinkageJob {
     @Async("asyncServiceExecutor")
     public JSONObject addLinkage(String requestBody) {
         JSONObject eventVO = JSONObject.parseObject(requestBody);
+        System.out.println("hanceshi====="+eventVO.get("linkageAddress"));
         String resultString = HttpClientUtils.doPostJson(eventVO.get("linkageAddress").toString(),eventVO.toJSONString());
         JSONObject resultVO = JSONObject.parseObject(resultString);
         return resultVO;

+ 2 - 0
service-alarm/service-alarm-biz/src/main/java/com/usky/alarm/service/mqtt/alarm/Alarm.java

@@ -92,6 +92,8 @@ public class Alarm implements MqttStrategy {
                     jsonObject.addProperty("deviceId",list6.get(0).getDeviceId());
                     jsonObject.addProperty("deviceType","JH");
                     jsonObject.addProperty("linkageAddress",list5.get(0).getLinkageAddress());
+                    System.out.println("hanceshi+++++"+list5.get(0).getLinkageAddress());
+                    System.out.println("hanceshi-----"+jsonObject.get("linkageAddress"));
                     JSONObject resultVo = AlarmLinkageJob.addLinkage(jsonObject.toString());
                 }
             }

+ 1 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseAppInfoController.java

@@ -58,6 +58,7 @@ public class BaseAppInfoController {
     @PostMapping("/selfCheck")
     public ApiResult<Void> selfCheck(@RequestBody String baseAppInfo){
         remoteWebSocketService.selfCheck(baseAppInfo);
+        baseAppInfoService.selfCheck(baseAppInfo);
         return ApiResult.success();
     }
 

+ 6 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseAppInfo.java

@@ -103,9 +103,14 @@ public class BaseAppInfo implements Serializable {
     private Integer tenantId;
 
     /**
-     * 设备状态
+     * 设备状态(0 正常,1 故障)
      */
     private Integer deviceStatus;
 
+    /**
+     * 自检状态(0 未自检,1 自检)
+     */
+    private Integer checkStatus;
+
 
 }

+ 7 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseAppInfoService.java

@@ -25,4 +25,11 @@ public interface BaseAppInfoService extends CrudService<BaseAppInfo> {
     void add(BaseAppInfo baseAppInfo);
 
     CommonPage<BaseAppInfo> page(AppInfoRequest appInfoRequest);
+
+    /**
+     * 自检
+     * @param baseAppInfo
+     * @return
+     */
+    void selfCheck(String baseAppInfo);
 }

+ 26 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAppInfoServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -107,8 +108,32 @@ public class BaseAppInfoServiceImpl extends AbstractCrudService<BaseAppInfoMappe
         IPage<BaseAppInfo> page = new Page<>(appInfoRequest.getCurrent(), appInfoRequest.getSize());
         QueryWrapper<BaseAppInfo> queryWrapper = Wrappers.query();
         queryWrapper.eq(StringUtils.isNotBlank(appInfoRequest.getDeviceId()),"device_id",appInfoRequest.getDeviceId())
-                .inSql("id","SELECT MAX(id) AS id FROM base_app_info GROUP BY device_id");
+                .inSql("id","SELECT MAX(id) AS id FROM base_app_info GROUP BY device_id")
+                .orderByDesc("id");
         page = this.page(page,queryWrapper);
+        if (page.getSize()>0){
+            for (int i = 0; i < page.getSize(); i++) {
+                if (page.getRecords().get(i).getCheckStatus().equals(1)){
+                    LocalDateTime endTime = LocalDateTime.now();
+                    long seconds = ChronoUnit.SECONDS.between(page.getRecords().get(i).getUpdateTime(), endTime);
+                    if (seconds>10){
+                        page.getRecords().get(i).setDeviceStatus(1);
+                    }
+                }
+            }
+        }
         return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
     }
+
+    @Override
+    public void selfCheck(String baseAppInfo){
+        JSONObject eventVO = JSONObject.parseObject(baseAppInfo);
+        BaseAppInfo baseAppInfo1 = new BaseAppInfo();
+        Integer id = Integer.valueOf(eventVO.get("id").toString());
+        baseAppInfo1.setId(id);
+        baseAppInfo1.setCheckStatus(1);
+        baseAppInfo1.setUpdateBy(SecurityUtils.getUsername());
+        baseAppInfo1.setUpdateTime(LocalDateTime.now());
+        this.updateById(baseAppInfo1);
+    }
 }

+ 1 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/BaseAppInfoMapper.xml

@@ -21,6 +21,7 @@
         <result column="dept_id" property="deptId" />
         <result column="tenant_id" property="tenantId" />
         <result column="device_status" property="deviceStatus" />
+        <result column="check_status" property="checkStatus" />
     </resultMap>
 
 </mapper>