Jelajahi Sumber

新增/修改/删除关系时发送消息

linhuili 3 tahun lalu
induk
melakukan
afd940b0ac

+ 21 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/service/impl/ObjectRelationServiceImpl.java

@@ -1,11 +1,13 @@
 package com.persagy.dmp.rwd.digital.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.persagy.dmp.basic.constant.DigitalMessageConstant;
 import com.persagy.dmp.common.constant.ValidEnum;
 import com.persagy.dmp.digital.entity.ObjectRelation;
 import com.persagy.dmp.rwd.basic.utils.DigitalCommonUtils;
@@ -71,6 +73,10 @@ public class ObjectRelationServiceImpl extends ServiceImpl<ObjectRelationMapper,
         checkRepeatData(voList,false);
         //新增关系数据
         iService.saveOrUpdateBatch(voList);
+        //发送新增消息
+        voList.forEach(vo->{
+            messageSender.sendMessage(DigitalMessageConstant.OPERATE_REL_AFTER_INSERT, null, vo, false);
+        });
         return voList;
     }
 
@@ -96,7 +102,7 @@ public class ObjectRelationServiceImpl extends ServiceImpl<ObjectRelationMapper,
             List<ObjectRelation> relationList = queryByCondition(wrapper);
 
             if(CollUtil.isNotEmpty(relationList)){
-                //判断新增关系时数据是否已存在,存在时自动填充ID
+                //新增关系时数据已存在,待添加数据填充已存在的ID
                 if(!isUpdate){
                     relation.setId(relationList.get(0).getId());
                     continue;
@@ -106,6 +112,11 @@ public class ObjectRelationServiceImpl extends ServiceImpl<ObjectRelationMapper,
                 if(isUpdate && !relation.getId().equals(existId)){
                     flag = false;
                 }
+            }else{
+                if(!isUpdate){
+                    //新增时关系数据不存在,设置自增ID
+                    relation.setId(IdUtil.simpleUUID());
+                }
             }
         }
         return flag;
@@ -137,7 +148,12 @@ public class ObjectRelationServiceImpl extends ServiceImpl<ObjectRelationMapper,
         if(!flag){
             throw new Exception("存在重复的关系数据");
         }
+        //修改关系数据
         iService.saveOrUpdateBatch(voList);
+        //发送修改消息
+        voList.forEach(vo->{
+            messageSender.sendMessage(DigitalMessageConstant.OPERATE_REL_AFTER_UPDATE, null, vo, false);
+        });
         return voList;
     }
 
@@ -159,6 +175,10 @@ public class ObjectRelationServiceImpl extends ServiceImpl<ObjectRelationMapper,
             relation.setValid(ValidEnum.FALSE.getType());
         }
         iService.saveOrUpdateBatch(list);
+        //发送删除消息
+        list.forEach(vo->{
+            messageSender.sendMessage(DigitalMessageConstant.OPERATE_REL_AFTER_DELETE, null, vo, false);
+        });
         return list;
     }
 

+ 1 - 6
dmp-business/dmp-rwd/src/main/resources/db/init/data.sql

@@ -567,7 +567,6 @@ REPLACE INTO `dt_define_type`(`id`, `code`, `name`, `alias_code`, `alias_name`,
 ('59c3a34b461740378285904cfe66abfe', 'CMCTMC', '金属涂料', 'CMCTMC', '金属涂料', 'material', '0', '0', '', 'CM', 'CMCT', 'material', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50'),
 ('5a02c84a4d7e44479935f995548119cf', 'HCDWWO', '开窗器', 'HCDWWO', '开窗器', 'material', '0', '0', '', 'HC', 'HCDW', 'material', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50'),
 ('5a338f89a4804f32b3ca82d1c89a2894', 'ACKLCU', '厨房排油烟控制模块', 'ACKLCU', '厨房排油烟控制模块', 'equipment', '0', '0', 'AC', 'ACKL', '', 'equipment', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50'),
-('5ada21020e174d84a3954eebbaaf2c67', 'FFFSCP', '消火栓控制面板', 'FFFSCP', '消火栓控制面板', 'equipment', '0', '0', 'FF', 'FFFS', '', 'equipment', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50'),
 ('5aeb4035aeff424894137e3fa024dbb9', 'WSDWOS', '生活给水臭氧消毒器', 'WSDWOS', '生活给水臭氧消毒器', 'equipment', '0', '0', 'WS', 'WSDW', '', 'equipment', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50'),
 ('5b97b6b85b2b4d93af065b20be63aa8b', 'ETECES', '电剪刀', 'ETECES', '电剪刀', 'tool', '0', '0', '', 'ET', 'ETEC', 'tool', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50'),
 ('5bc5169600eb4a669970687f74137ea0', 'WEGMPD', '车位检测器', 'WEGMPD', '车位检测器', 'equipment', '0', '0', 'WE', 'WEGM', '', 'equipment', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50'),
@@ -1196,7 +1195,7 @@ REPLACE INTO `dt_define_type`(`id`, `code`, `name`, `alias_code`, `alias_name`,
 ('ff2a17fb12d043e6a80753378a2d2d87', 'LCHPTB', '牙刷', 'LCHPTB', '牙刷', 'material', '0', '0', '', 'LC', 'LCHP', 'material', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50'),
 ('ffc6f5e55ef34b3bae45baad5e740564', 'CFCAWB', '垃圾桶', 'CFCAWB', '垃圾桶', 'equipment', '0', '0', 'CF', 'CFCA', '', 'equipment', NULL, NULL, NULL, NULL, NULL, 1, '2021-08-26 11:29:50');
 
- REPLACE INTO `dt_define_info`(`id`, `code`, `name`, `alias_code`, `alias_name`, `class_code`, `group_code`, `project_id`, `category`, `first_tag`, `second_tag`, `priority`, `input_mode`, `unit`, `data_type`, `is_multiple`, `is_region`, `formater`, `data_source`, `remark`, `sub_flag`, `weak_point`, `show_order`, `version`, `creator`, `creation_time`, `modifier`, `modified_time`, `valid`, `ts`) VALUES
+REPLACE INTO `dt_define_info`(`id`, `code`, `name`, `alias_code`, `alias_name`, `class_code`, `group_code`, `project_id`, `category`, `first_tag`, `second_tag`, `priority`, `input_mode`, `unit`, `data_type`, `is_multiple`, `is_region`, `formater`, `data_source`, `remark`, `sub_flag`, `weak_point`, `show_order`, `version`, `creator`, `creation_time`, `modifier`, `modified_time`, `valid`, `ts`) VALUES
 ('0007ccbbfdb94f0db61d3bf10aaef179', 'cPhaseApparentP', 'C相视在功率', 'CPhaseApparentP', 'C相视在功率', 'SETDHS', '0', '0', 'SEQUENTIAL', '运行参数', '功率', 'M', 'L', 'kVA', 'DOUBLE', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:39:37'),
 ('0007e1385fc245969c59472565f14568', 'vaporFlow', '制蒸汽量', 'VaporFlow', '制蒸汽量', 'WSDHGB', '0', '0', 'SEQUENTIAL', '运行参数', '整机', 'S', 'L', 't/h', 'DOUBLE', 0, 0, NULL, NULL, '蒸汽系统', 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:39:37'),
 ('0009076289d140789548213515452f1a', 'loadSwitchAveBreakV', '负荷开关平均分闸速度', 'LoadSwitchAveBreakV', '负荷开关平均分闸速度', 'SETDLM', '0', '0', 'STATIC', '技术参数', '负荷开关', 'R', 'A2', 'm/s', 'DOUBLE', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:39:38'),
@@ -4788,7 +4787,6 @@ REPLACE INTO `dt_define_type`(`id`, `code`, `name`, `alias_code`, `alias_name`,
 ('1416d0016c6c413abf7ddb469a64504a', 'uSBPortNum', 'USB接口数量', 'USBPortNum', 'USB接口数量', 'WEGMCU', '0', '0', 'STATIC', '技术参数', '接口', 'R', 'A2', '个', 'DOUBLE', 0, 0, NULL, NULL, '整数', 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:41:07'),
 ('1417030001383018498', 'gongchengxinxihua', '工程信息化', 'gongchengxinxihua', '工程信息化', 'project', '0', '0', 'PULSE', 'f', 's', 'R', NULL, 'a', 'INTEGER', 0, 0, NULL, NULL, NULL, NULL, NULL, 60, NULL, NULL, '20210719155414', NULL, NULL, NULL, '2021-10-15 16:45:49'),
 ('1417069131215245313', 'yunWei', '运维', 'yunwei', '运维', 'CFBEBC', '0', '0', 'PULSE', '运维阶段', '运维阶段二', 'M', NULL, '米', 'MENUM', 0, 0, NULL, '[{\"code\": \"0\", \"name\": \"无高海拔设计\"}, {\"code\": \"1\", \"name\": \"高海拔专用(>1000米)\"}]', NULL, NULL, NULL, 60, NULL, NULL, '20210719182937', NULL, NULL, NULL, '2021-10-15 16:45:49'),
-('1417071505086451713', 'yunWei', '运维', 'yunwei3', '运维', 'CFBEBC', '0', '0', 'PULSE', '运维阶段', '运维阶段二', 'M', NULL, '米', 'ENUM', 0, 0, NULL, '[{\"code\": \"11\", \"name\": \"as\"}, {\"code\": \"da\", \"name\": \"af\"}, {\"code\": \"fa\", \"name\": \"af\"}, {\"code\": \"af\", \"name\": \"dddd\"}, {\"code\": \"bc\", \"name\": \"xff\"}]', NULL, NULL, NULL, 60, NULL, NULL, '20210719183909', NULL, NULL, NULL, '2021-10-15 16:45:49'),
 ('1417774809542098945', 'projIntro2', '城市简介2', 'projIntro2', '城市简介2', 'project', '0', '0', 'PULSE', '', '', 'R', NULL, 'a', 'BOOLEAN', 0, 0, NULL, '[{\"code\": \"0\", \"name\": \"无防盐雾设计\"}, {\"code\": \"1\", \"name\": \"沿海地区专用\"}]', NULL, NULL, NULL, 60, NULL, NULL, '20210721171350', NULL, '20210721171821', NULL, '2021-10-15 16:45:49'),
 ('1417775043366158337', 'projIntro3', '城市简介', 'projIntro3', '城市简介', 'project', '0', '0', 'PULSE', '', '', 'R', NULL, 'a', 'INTEGER', 0, 0, NULL, NULL, NULL, NULL, NULL, 60, NULL, NULL, '20210721171445', NULL, NULL, NULL, '2021-10-15 16:45:49'),
 ('1417775043366158338', 'projIntro4', '城市简介', 'projIntro4', '城市简介', 'project', '0', '0', 'PULSE', '', '', 'R', NULL, 'a', 'INTEGER', 0, 0, NULL, NULL, NULL, NULL, NULL, 60, NULL, NULL, '20210721171445', NULL, NULL, NULL, '2021-10-15 16:45:49'),
@@ -6475,7 +6473,6 @@ REPLACE INTO `dt_define_type`(`id`, `code`, `name`, `alias_code`, `alias_name`,
 ('2386240ew87140c4a40bce13ssa422136', 'pollutionDegree', '污染等级', 'PollutionDegree', '污染等级', 'GeneralZone', '0', '0', 'STATIC', '基本信息', '供电信息', 'R', 'D1', NULL, 'ENUM', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-02 22:46:05'),
 ('2386240ew87140c4a40bce13ssa422137', 'designLightIndex', '设计照明指标', 'DesignLightIndex', '设计照明指标', 'GeneralZone', '0', '0', 'STATIC', '基本信息', '照明信息', 'M', 'A2', 'W/m2', 'DOUBLE', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-02 22:46:05'),
 ('2386240ew87140c4a40bce13ssa422138', 'designLightP', '设计照明功率', 'DesignLightP', '设计照明功率', 'GeneralZone', '0', '0', 'STATIC', '基本信息', '照明信息', 'M', 'A2', 'kW', 'DOUBLE', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-02 22:46:05'),
-('2386240ew87140c4a40bce13ssa422139', 'zoneType', '内外区类型', 'ZoneType', '内外区类型', 'GeneralZone', '0', '0', 'STATIC', '基本信息', '照明信息', 'M', 'D1', NULL, 'ENUM', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 0, '2021-11-02 22:46:05'),
 ('2386240ew87140c4a40bce13ssa422140', 'iPNetworkSegment', 'IP网段', 'IPNetworkSegment', 'IP网段', 'GeneralZone', '0', '0', 'STATIC', '基本信息', '网络信息', 'M', 'B1', NULL, 'STRING', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-02 22:46:05'),
 ('2386240ew87140c4a40bce13ssa422141', 'accessEquipMaxCap', '接入设备容量', 'AccessEquipMaxCap', '接入设备容量', 'GeneralZone', '0', '0', 'STATIC', '基本信息', '网络信息', 'M', 'A2', '台', 'DOUBLE', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-02 22:46:05'),
 ('2386240ew87140c4a40bce13ssa422142', 'designCoolingIndex', '设计供冷指标', 'DesignCoolingIndex', '设计供冷指标', 'GeneralZone', '0', '0', 'STATIC', '基本信息', '空调信息', 'M', 'A2', 'W/m2', 'DOUBLE', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-02 22:46:05'),
@@ -21580,7 +21577,6 @@ REPLACE INTO `dt_define_type`(`id`, `code`, `name`, `alias_code`, `alias_name`,
 ('af55a9d2f3734c2092fb3d19a6c32687', 'gateway', '网关', 'Gateway', '网关', 'FFGAHT', '0', '0', 'STATIC', '技术参数', NULL, 'S', 'B1', NULL, 'STRING', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:50:53'),
 ('af566eec609445c287f33cfa1a1d9968', 'bPhaseApparentP', 'B相视在功率', 'BPhaseApparentP', 'B相视在功率', 'SETDLB', '0', '0', 'SEQUENTIAL', '运行参数', '功率', 'M', 'L', 'kVA', 'DOUBLE', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:50:53'),
 ('af58c873148645958db08e1f7f611e73', 'loopFaultStatus', '回路故障状态', 'LoopFaultStatus', '回路故障状态', 'FFBMFE', '0', '0', 'SEQUENTIAL', '运行参数', '整机', 'R', 'L', NULL, 'BOOLEAN', 1, 0, NULL, '[{\"code\": \"0\", \"name\": \"正常\"}, {\"code\": \"1\", \"name\": \"故障\"}]', NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-10-15 14:27:05'),
-('af58c873148645958db08e1f7f611e86', 'loopFaultStatus', '回路故障状态', 'LoopFaultStatus', '回路故障状态', 'FFBMFE', '0', '0', 'SEQUENTIAL', '运行参数', '整机', 'R', 'L', NULL, 'BOOLEAN', 0, 0, NULL, '[{\"code\": \"0\", \"name\": \"正常\"}, {\"code\": \"1\", \"name\": \"故障\"}]', NULL, 0, 00000000000, 60, NULL, '0', '20211025025031', NULL, NULL, 1, '2021-11-05 11:58:19'),
 ('af5975a78b21445784edb568e9ec9b94', 'accElecConsum', '累计耗电量', 'AccElecConsum', '累计耗电量', 'ACCCGP', '0', '0', 'SEQUENTIAL', '运行参数', '整机', 'M', 'M', 'kWh', 'DOUBLE', 0, 0, NULL, NULL, NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:50:53'),
 ('af598a705ad04f96938cf2a10fb4dd4a', 'packetLossRate', '丢包率', 'PacketLossRate', '丢包率', 'WELNRT', '0', '0', 'STATIC', '技术参数', '整机', 'R', 'A2', '%', 'DOUBLE', 0, 0, NULL, NULL, '丢包率是指在稳定的持续负荷情况下,由于包转发能力的限制而造成包丢失的概率', 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:50:53'),
 ('af5a829edde44afd89fd2c004f2a87dc', 'zeroSeqOverISec3Protect', '零序过流III段保护', 'ZeroSeqOverISec3Protect', '零序过流III段保护', 'SETDHS', '0', '0', 'SEQUENTIAL', '运行参数', '保护', 'R', 'L', NULL, 'BOOLEAN', 0, 0, NULL, '[{\"code\": \"0\", \"name\": \"正常\"}, {\"code\": \"1\", \"name\": \"保护\"}]', NULL, 0, 00000000000, 60, NULL, NULL, NULL, NULL, NULL, 1, '2021-11-05 11:50:54'),
@@ -34286,4 +34282,3 @@ REPLACE INTO `dt_define_type`(`id`, `code`, `name`, `alias_code`, `alias_name`,
 
 
 
-

+ 7 - 0
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/basic/constant/DigitalMessageConstant.java

@@ -24,4 +24,11 @@ public interface DigitalMessageConstant {
     String OPERATE_AFTER_UPDATE = "AfterUpdate";
     /** 删除后 */
     String OPERATE_AFTER_DELETE = "AfterDelete";
+
+    /** 新增关系数据 */
+    String OPERATE_REL_AFTER_INSERT = "RelAfterInsert";
+    /** 修改关系后 */
+    String OPERATE_REL_AFTER_UPDATE = "RelAfterUpdate";
+    /** 删除关系后 */
+    String OPERATE_REL_AFTER_DELETE = "RelAfterDelete";
 }