Procházet zdrojové kódy

Merge remote-tracking branch 'origin/20210716' into 20210716

hym před 3 roky
rodič
revize
962627b370
25 změnil soubory, kde provedl 69 přidání a 33 odebrání
  1. 1 1
      operation_manager/src/main/java/com/zcxk/aspect/DictAspect.java
  2. 6 1
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/enums/DeviceStatusEnum.java
  3. 5 5
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/AlarmTypeDetailsController.java
  4. 0 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/DeviceController.java
  5. 0 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/TestController.java
  6. 3 2
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/impl/DeviceServiceImpl.java
  7. 1 1
      zoniot-water/zoniot-water-core/src/main/java/com/bz/zoneiot/water/core/dao/YearReportMapper.java
  8. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/advice/OperateLogAdvice.java
  9. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/client/OperationManagerClient.java
  10. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/client/UserCenterClient.java
  11. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/CustemhandlerUtils.java
  12. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/FileUploadUtil.java
  13. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/InvalidExtensionException.java
  14. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/PropertiesLoader.java
  15. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/Reflections.java
  16. 5 5
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/ResourceUtil.java
  17. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/StringUtils.java
  18. 1 1
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/converter/DeviceTypeConverter.java
  19. 4 0
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/service/impl/AlarmTypeDetailsServiceImpl.java
  20. 22 0
      zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/service/impl/NotifyServiceImpl.java
  21. 1 1
      zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/MonitorDataReportByDayJob.java
  22. 1 1
      zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/MonitorDataReportByMonthJob.java
  23. 1 1
      zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/MonitorDataReportByYearJob.java
  24. 1 1
      zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/SyncMeterCountJob.java
  25. 8 2
      zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/WorkOrderManageJob.java

+ 1 - 1
operation_manager/src/main/java/com/zcxk/aspect/DictAspect.java

@@ -34,7 +34,7 @@ import java.util.List;
 @Slf4j
 public class  DictAspect {
 
-    private static final String DICT_TEXT_SUFFIX  = "_dict";
+    private static final String DICT_TEXT_SUFFIX  = "Dict";
 
     @Autowired
     private DictUtil dictUtil;

+ 6 - 1
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/enums/DeviceStatusEnum.java

@@ -28,10 +28,15 @@ public enum DeviceStatusEnum {
      */
     ALARM(3, "告警"),
 
+    /**
+     * 报废
+     */
+    SCRAP(4,"报废"),
+
     /**
      * 未启用
      */
-    UNUSED(4, "未启用"),
+    UNUSED(5, "未启用"),
     ;
 
     /**

+ 5 - 5
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/AlarmTypeDetailsController.java

@@ -19,8 +19,8 @@ import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
 /**
- * @description
  * @author andy
+ * @description
  * @data 2020-11-16 11:05
  */
 @RestController
@@ -32,14 +32,14 @@ public class AlarmTypeDetailsController {
     @Autowired
     private AlarmTypeDetailsService alarmTypeDetailsService;
 
-    @GetMapping(value="selectPage" )
+    @GetMapping(value = "selectPage")
     @ApiOperation(value = "分页查询报警详情信息")
-    public AjaxMessage selectPage(@Valid AlarmTypeDetailsDto dto, BasePageDto page){
+    public AjaxMessage selectPage(@Valid AlarmTypeDetailsDto dto, BasePageDto page) {
 
-        return AjaxMessage.success(alarmTypeDetailsService.selectPage(dto,page));
+        return AjaxMessage.success(alarmTypeDetailsService.selectPage(dto, page));
     }
 
-    @RequestMapping(value="export" , method = RequestMethod.GET)
+    @GetMapping(value = "export")
     @ApiOperation(value = "导出告警信息")
     public void exportRealTime(AlarmTypeDetailsDto dto, HttpServletResponse response) throws Exception {
         EasyExcelUtil.excelWrite(response, AlarmTypeDetailsEntityVo.class, "告警记录", alarmTypeDetailsService.selectList(dto));

+ 0 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/DeviceController.java

@@ -186,7 +186,6 @@ public class DeviceController {
 
     @GetMapping(value="edit/status")
     @ApiOperation(value = "修改状态")
-    @LogAnnotation(module = "【设备管理】修改状态")
     public AjaxMessage editStatus(@ApiParam(value = "设备id") @RequestParam Long id, @ApiParam(value = "状态") @RequestParam int state){
         deviceService.updateDeviceState(id, state);
         return AjaxMessage.success();

+ 0 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/TestController.java

@@ -77,7 +77,6 @@ public class TestController {
         List<List<Device>> subList2 =  ListUtil.split(list, 5000);
 
         for (List<Device> devices : subList2) {
-            System.out.println("===========");
             deviceMapper.batchInsert(devices);
         }
 

+ 3 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/impl/DeviceServiceImpl.java

@@ -635,9 +635,10 @@ public class DeviceServiceImpl implements DeviceService{
         }
         if (syncDeviceService.updateDeviceStatus(device.getIotDeviceId(), state) > 0){
             Device DeviceUpdate = new Device();
-            device.setId(deviceId);
-            device.setDeviceStatus(state);
+            DeviceUpdate.setId(deviceId);
+            DeviceUpdate.setDeviceStatus(state);
             updateByPrimaryKeySelective(DeviceUpdate);
+            return;
         }
         throw BusinessException.builder(500, "同步更新物联网失败");
     }

+ 1 - 1
zoniot-water/zoniot-water-core/src/main/java/com/bz/zoneiot/water/core/dao/YearReportMapper.java

@@ -21,7 +21,7 @@ import java.util.List;
 /**
  *
  * sms_day_reportDAO接口
- * @author: WYY
+ * @author: Andy
  * @date 2020-12-03 16:20
  */
 @Mapper

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/advice/OperateLogAdvice.java

@@ -19,7 +19,7 @@ import java.util.Date;
 
 /**
  * @description 统一日志处理 :通过自定义注解获取操作名称
- * @author  wangli
+ * @author  Andy
  * @data 2020-11-09 8:43
  */
 @Aspect

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/client/OperationManagerClient.java

@@ -11,7 +11,7 @@ import java.util.List;
 
 /**
  * @description 服务调用(运维管理)
- * @author  wangli
+ * @author  Andy
  * @data 2021/1/15 10:57
  */
 @FeignClient(value = "operation-manager",configuration = {FeignConfig.class})

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/client/UserCenterClient.java

@@ -13,7 +13,7 @@ import java.util.Map;
 
 /**
  * @description 服务调用
- * @author  wangli
+ * @author  Andy
  * @data 2020-11-16 15:46
  */
 @FeignClient(value = "user-center",configuration={FeignConfig.class})

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/CustemhandlerUtils.java

@@ -13,7 +13,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @author xjh
+ * @author Andy
  * @version 1.0
  * @date 2020/10/19 19 19:21
  */

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/FileUploadUtil.java

@@ -9,7 +9,7 @@ import java.io.IOException;
 import java.util.Date;
 
 /**
- * @author wyy
+ * @author Andy
  * @date 2020-10-23 09:54
  */
 public class FileUploadUtil {

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/InvalidExtensionException.java

@@ -9,7 +9,7 @@ import java.util.Arrays;
 /**
  * 文件上传 误异常类
  * 
- * @author WYY
+ * @author Andy
  */
 public class InvalidExtensionException extends FileUploadException {
     private static final long serialVersionUID = 1L;

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/PropertiesLoader.java

@@ -19,7 +19,7 @@ import java.util.Properties;
 
 /**
  * Properties文件载入工具类. 可载入多个properties文件, 相同的属性在最后载入的文件中的值将会覆盖之前的值,但以System的Property优先.
- * @author calvin
+ * @author Andy
  * @version 2013-05-15
  */
 public class PropertiesLoader {

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/Reflections.java

@@ -14,7 +14,7 @@ import java.lang.reflect.*;
 /**
  * 反射工具类.
  * 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
- * @author calvin
+ * @author Andy
  * @version 2013-01-15
  */
 @SuppressWarnings("rawtypes")

+ 5 - 5
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/ResourceUtil.java

@@ -14,7 +14,7 @@ import java.io.InputStream;
 /**
  * <p>资源供给</p>
  *
- * @author: WYY
+ * @author: Andy
  * @date: 2019-03-26 17:57
  * @version: 1.0.1
  */
@@ -31,7 +31,7 @@ public class ResourceUtil extends ResourceUtils {
     /**
      * 获取资源加载器(可读取jar内的文件)
      *
-     * @author WYY
+     * @author Andy
      */
     public static ResourceLoader getResourceLoader() {
         return resourceLoader;
@@ -56,7 +56,7 @@ public class ResourceUtil extends ResourceUtils {
      *
      * @param location
      * @throws IOException
-     * @author WYY
+     * @author Andy
      */
     public static InputStream getResourceFileStream(String location) throws IOException {
         Resource resource = resourceLoader.getResource(location);
@@ -67,7 +67,7 @@ public class ResourceUtil extends ResourceUtils {
      * 获取资源文件内容
      *
      * @param location
-     * @author WYY
+     * @author Andy
      */
     public static String getResourceFileContent(String location) {
         try (InputStream is = getResourceFileStream(location)) {
@@ -81,7 +81,7 @@ public class ResourceUtil extends ResourceUtils {
      * Spring 搜索资源文件
      *
      * @param locationPattern
-     * @author WYY
+     * @author Andy
      */
     public static Resource[] getResources(String locationPattern) {
         try {

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/StringUtils.java

@@ -7,7 +7,7 @@ import java.util.regex.Pattern;
 
 /**
  * 字符串工具类, 继承org.apache.commons.lang3.StringUtils类
- * @author wyy
+ * @author Andy
  * @version 2013-05-22
  */
 public class StringUtils extends org.apache.commons.lang3.StringUtils {

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/common/converter/DeviceTypeConverter.java

@@ -8,7 +8,7 @@ import com.alibaba.excel.metadata.property.ExcelContentProperty;
 
 /**
  * @description 设备类型转换
- * @author   wangli
+ * @author   Andy
  * @data 2020-11-17 21:57
  */
 public class DeviceTypeConverter implements Converter<Integer> {

+ 4 - 0
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/service/impl/AlarmTypeDetailsServiceImpl.java

@@ -7,7 +7,9 @@ import com.bz.zoneiot.core.common.pojo.AjaxMessage;
 import com.bz.zoneiot.core.common.pojo.Message;
 import com.bz.zoneiot.core.oauth2.util.UserUtil;
 import com.bz.zoneiot.water.api.dto.AlarmDetailsAddDto;
+import com.bz.zoneiot.water.api.dto.AlarmDetailsDto;
 import com.bz.zoneiot.water.api.dto.AlarmTypeDetailsDto;
+import com.bz.zoneiot.water.api.dto.WorkOrderManageByAlarmDto;
 import com.bz.zoneiot.water.api.enums.AlarmStateEnum;
 import com.bz.zoneiot.water.api.enums.SceneTypeEnum;
 import com.bz.zoneiot.water.api.vo.AlarmTypeDetailsEntityVo;
@@ -18,12 +20,14 @@ import com.bz.zoneiot.water.core.entity.AlarmDetailsEntity;
 import com.bz.zoneiot.water.core.entity.AlarmType;
 import com.bz.zoneiot.water.core.entity.DeviceAttributeEntity;
 import com.bz.zoneiot.water.core.entity.Org;
+import com.bz.zoneiot.water.web.client.OperationManagerClient;
 import com.bz.zoneiot.water.web.client.UserCenterClient;
 import com.bz.zoneiot.water.web.component.MessageComponent;
 import com.bz.zoneiot.water.web.config.MessageConfig;
 import com.bz.zoneiot.water.web.service.AlarmTypeDetailsService;
 import com.bz.zoneiot.water.web.service.AlarmTypeService;
 import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.amqp.core.AmqpTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;

+ 22 - 0
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/service/impl/NotifyServiceImpl.java

@@ -5,17 +5,24 @@ import com.alibaba.fastjson.JSONObject;
 import com.bz.zoneiot.water.api.dto.AlarmDetailsAddDto;
 import com.bz.zoneiot.water.api.dto.DeviceDataDto;
 import com.bz.zoneiot.water.api.dto.DeviceStateDto;
+import com.bz.zoneiot.water.api.dto.WorkOrderManageByAlarmDto;
 import com.bz.zoneiot.water.api.enums.AlarmStateEnum;
 import com.bz.zoneiot.water.api.enums.DeviceStatusEnum;
 import com.bz.zoneiot.water.core.dao.DeviceMapper;
+import com.bz.zoneiot.water.web.client.OperationManagerClient;
 import com.bz.zoneiot.water.web.service.AlarmTypeDetailsService;
 import com.bz.zoneiot.water.web.service.handle.ReceiveDeviceDataService;
 import com.bz.zoneiot.water.web.service.NotifyService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * @author Andy
@@ -36,6 +43,9 @@ public class NotifyServiceImpl implements NotifyService {
     @Resource
     private DeviceMapper deviceMapper;
 
+    @Resource
+    private OperationManagerClient operationManagerClient;
+
 
     @Override
     public Integer insertAlarmInfo(AlarmDetailsAddDto dto) {
@@ -61,6 +71,18 @@ public class NotifyServiceImpl implements NotifyService {
         if (!DeviceStatusEnum.offline(dto.getDeviceStatus())) {
             Long deviceId = deviceMapper.findDeviceIdByIotDeviceId(dto.getDeviceId());
             alarmTypeDetailsService.updateStateByDeviceId(deviceId, AlarmStateEnum.HISTORY_ALARM.getCode());
+            // 处理工单
+            List<WorkOrderManageByAlarmDto> workOrders = operationManagerClient.findWorkOrderByDeviceIds(Arrays.asList(deviceId));
+            if (CollectionUtils.isEmpty(workOrders)){
+                log.info("【接收通知】设备ID:{},无工单信息", deviceId);
+                return;
+            }
+            WorkOrderManageByAlarmDto orderManageByAlarmDto = workOrders.get(0);
+            if (orderManageByAlarmDto.getOrderStatus() == null || orderManageByAlarmDto.getOrderStatus() == 0) {
+                operationManagerClient.batchDeleteByAlarms(new ArrayList<>(Arrays.asList(deviceId)));
+                log.info("【接收通知】设备ID:{},工单未派单且无报警信息,删除工单", deviceId);
+                return;
+            }
         }
         log.info("【接收通知】物联修改设备状态信息end:{}", dto.toString());
     }

+ 1 - 1
zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/MonitorDataReportByDayJob.java

@@ -17,7 +17,7 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
- * @author Administrator
+ * @author Andy
  * @create 2020-05-18 14:07
  */
 @Slf4j

+ 1 - 1
zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/MonitorDataReportByMonthJob.java

@@ -12,7 +12,7 @@ import java.io.Serializable;
 import java.time.LocalDateTime;
 
 /**
- * @author Administrator
+ * @author Andy
  * @create 2020-05-18 14:07
  */
 @Slf4j

+ 1 - 1
zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/MonitorDataReportByYearJob.java

@@ -12,7 +12,7 @@ import java.io.Serializable;
 import java.time.LocalDateTime;
 
 /**
- * @author Administrator
+ * @author Andy
  * @create 2020-05-18 14:07 1
  */
 @Slf4j

+ 1 - 1
zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/SyncMeterCountJob.java

@@ -17,7 +17,7 @@ import java.io.Serializable;
 import java.util.Calendar;
 
 /**
- * @author Administrator
+ * @author Andy
  * @create 2020-05-06
  */
 @Slf4j

+ 8 - 2
zoniot-water/zoniot-water-xxl-client/src/main/java/com/bz/zoneiot/water/xxl/jobs/WorkOrderManageJob.java

@@ -48,7 +48,9 @@ public class WorkOrderManageJob extends BaseJob {
     **/
     @XxlJob("workOrderManageJob")
     public ReturnT<String> execute(String string) {
+        log.info("【工单处理】开始");
         saveWorkOrderManageInfo();
+        log.info("【工单处理】结束");
         return ReturnT.SUCCESS;
     }
 
@@ -60,6 +62,7 @@ public class WorkOrderManageJob extends BaseJob {
     **/
     public void saveWorkOrderManageInfo(){
         List<DeviceAlarmInfoForOrderVo> deviceAlarmInfoForOrders = alarmDetailMapper.getAlarmInfoForWorkOrderManage();
+        log.info("【工单处理】报警信息数量:{}", deviceAlarmInfoForOrders != null? deviceAlarmInfoForOrders.size() : 0);
         if (CollectionUtils.isEmpty(deviceAlarmInfoForOrders)){
             return;
         }
@@ -93,6 +96,7 @@ public class WorkOrderManageJob extends BaseJob {
             workOrderManageByAlarm.setTaskDesc(deviceAlarmInfoForOrder.getTaskDesc());
             // 推送消息
             sendMessage(deviceAlarmInfoForOrder, workOrderManageByAlarm, errData);
+            log.info("【工单处理】消息推送完成.");
             workOrderManageByAlarms.add(workOrderManageByAlarm);
         }
         // 去掉推送失败的数据
@@ -100,14 +104,16 @@ public class WorkOrderManageJob extends BaseJob {
             deviceAlarmInfoForOrders.removeAll(errData);
         }
         // 保存工单
-        if (workOrderManageByAlarms.size()>0){
+        if (workOrderManageByAlarms.size() > 0){
             operationManagerClient.saveByAlarms(workOrderManageByAlarms);
+            log.info("【工单处理】保存工单数量:{}", workOrderManageByAlarms.size());
         }
         if (updates.size()>0){
             operationManagerClient.updateByAlarms(updates);
+            log.info("【工单处理】更新工单数量:{}", updates.size());
         }
         if (deviceAlarmInfoForOrders.size()>0){
-            //标记报警已生成工单
+            // 标记报警已生成工单
             alarmDetailMapper.updateAlarmSendMessageState(deviceAlarmInfoForOrders);
         }
     }