Kaynağa Gözat

新增 添加修改删除设备时候同时更新地理位置数据表

zhaiyifei 11 ay önce
ebeveyn
işleme
b6be9569f0

+ 0 - 9
src/main/java/com/yunfeiyun/agmp/iotm/web/mapper/IotDeviceMapper.java

@@ -31,15 +31,6 @@ public interface IotDeviceMapper
     public List<IotDevice> selectIotDeviceList(IotDevice iotDevice);
     /**查询设备基础列表*/
 
-
-    /**
-     * 新增设备基础
-     *
-     * @param iotDevice 设备基础
-     * @return 结果
-     */
-    public int insertIotDevice(IotDevice iotDevice);
-
     /**
      * 批量新增设备基础
      *

+ 2 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotDeviceService.java

@@ -59,6 +59,8 @@ public interface IIotDeviceService {
      */
     public int updateIotDevice(IotDevice iotDevice, IotDeviceconn oldDeviceconn, IotDeviceconn newDeviceconn);
 
+    public int updateIotDevice(IotDevice iotDevice);
+
     /**
      * 删除设备基础信息
      *

+ 20 - 2
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotDeviceServiceImpl.java

@@ -11,6 +11,7 @@ import com.yunfeiyun.agmp.iot.common.enums.IotDeviceDelStatusEnum;
 import com.yunfeiyun.agmp.iot.common.enums.IotDeviceStatusTypeEnum;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
 import com.yunfeiyun.agmp.iot.common.model.mq.IotDeviceEditMqModel;
+import com.yunfeiyun.agmp.iot.common.service.IotDeviceGeoLocationService;
 import com.yunfeiyun.agmp.iot.common.service.TypeCacheService;
 import com.yunfeiyun.agmp.iotm.device.common.service.IotDeviceRefreshService;
 import com.yunfeiyun.agmp.iotm.mq.service.SendToIotsMsgService;
@@ -64,6 +65,9 @@ public class IotDeviceServiceImpl implements IIotDeviceService {
     @Value("${runMode.env:1}")
     private String runMode;
 
+    @Autowired
+    private IotDeviceGeoLocationService iotDeviceGeoLocationService;
+
 
     /**
      * 新增设备基础
@@ -138,7 +142,6 @@ public class IotDeviceServiceImpl implements IIotDeviceService {
 
             insertIotDeviceList.add(iotDevice);
         }
-
         return insertIotDeviceByBatch(iotDeviceconn, insertIotDeviceList);
     }
 
@@ -310,6 +313,8 @@ public class IotDeviceServiceImpl implements IIotDeviceService {
             }
         }).start();
 
+        iotDeviceGeoLocationService.insertOrUpdateBatchData(iotDeviceList);
+
         return status;
     }
 
@@ -322,7 +327,7 @@ public class IotDeviceServiceImpl implements IIotDeviceService {
     @Override
     public int updateIotDevice(IotDevice iotDevice, IotDeviceconn oldDeviceconn, IotDeviceconn newDeviceconn) {
         IotDevice oldDevice = iotDeviceMapper.selectIotDeviceByDevBid(iotDevice.getDevBid());
-        int result = iotDeviceMapper.updateIotDevice(iotDevice);
+        int result = updateIotDevice(iotDevice);
         // 同步修改设备到TOS
         sendToTosMsgService.sendIotDeviceUpdateMsg(iotDevice);
         if (oldDeviceconn != null && newDeviceconn != null) {
@@ -336,6 +341,15 @@ public class IotDeviceServiceImpl implements IIotDeviceService {
         return result;
     }
 
+    @Override
+    public int updateIotDevice(IotDevice iotDevice) {
+        int status = iotDeviceMapper.updateIotDevice(iotDevice);
+        List<IotDevice> iotDeviceList = new ArrayList<>();
+        iotDeviceList.add(iotDevice);
+        iotDeviceGeoLocationService.insertOrUpdateBatchData(iotDeviceList);
+        return status;
+    }
+
 
     /**
      * 删除设备基础信息
@@ -351,6 +365,10 @@ public class IotDeviceServiceImpl implements IIotDeviceService {
         sendToTosMsgService.sendIotDeviceDeleteMsg(iotDevice);
         // 解除连接订阅
         sendToIotsMsgService.sendIotDeviceDeleteMsg(iotDevice);
+
+        List<String> devBidList = new ArrayList<>();
+        devBidList.add(devBid);
+        iotDeviceGeoLocationService.deleteByDevBidList(devBidList);
         return result;
     }
 

+ 4 - 6
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotDeviceconnServiceImpl.java

@@ -1,10 +1,8 @@
 package com.yunfeiyun.agmp.iotm.web.service.impl;
 
 import com.alibaba.fastjson2.JSONArray;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.yunfeiyun.agmp.common.constant.ErrorCode;
 import com.yunfeiyun.agmp.common.utils.DateUtils;
-import com.yunfeiyun.agmp.common.utils.ObjectUtil;
 import com.yunfeiyun.agmp.common.utils.SecurityUtils;
 import com.yunfeiyun.agmp.common.utils.StringUtils;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
@@ -28,9 +26,9 @@ import com.yunfeiyun.agmp.iotm.web.service.ITosDevicetypeService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.Resource;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -241,7 +239,7 @@ public class IotDeviceconnServiceImpl implements IIotDeviceconnService
                     IotDevice newIotDevice =new IotDevice();
                     BeanUtils.copyProperties(iotDevice,newIotDevice);
                     newIotDevice.setDevconnBid(newConfig.getDevconnBid());
-                    iotDeviceMapper.updateIotDevice(newIotDevice);
+                    iotDeviceService.updateIotDevice(newIotDevice);
                     IotDeviceEditMqModel iotDeviceEditMqModel = new IotDeviceEditMqModel();
                     iotDeviceEditMqModel.setOldIotDevice(iotDevice);
                     iotDeviceEditMqModel.setNewIotDevice(newIotDevice);
@@ -291,7 +289,7 @@ public class IotDeviceconnServiceImpl implements IIotDeviceconnService
             result = result + addDeviceconn(reqVo.getNewDevtypeBid(),reqVo.getDevconnType(),reqVo.getDevconnConfigList(),newConnBid);
             for(IotDevice iotDevice : iotDeviceList){
                 iotDevice.setDevconnBid(newConnBid);
-                iotDeviceMapper.updateIotDevice(iotDevice);
+                iotDeviceService.updateIotDevice(iotDevice);
                 sendToIotsMsgService.sendIotDeviceInsertMsg(iotDevice);
             }
         }else {
@@ -312,7 +310,7 @@ public class IotDeviceconnServiceImpl implements IIotDeviceconnService
                 // TODO: 此处用于解绑设备的旧配置以及创建新配置,后续可以优化
                 for(IotDevice iotDevice : iotDeviceList){
                     iotDevice.setDevconnBid(newConfig.getDevconnBid());
-                    iotDeviceMapper.updateIotDevice(iotDevice);
+                    iotDeviceService.updateIotDevice(iotDevice);
                     sendToIotsMsgService.sendIotDeviceInsertMsg(iotDevice);
                 }
                 // 删除旧连接

+ 0 - 88
src/main/resources/mapper/IotDeviceMapper.xml

@@ -184,94 +184,6 @@
 
     </select>
 
-    <insert id="insertIotDevice" parameterType="IotDevice" useGeneratedKeys="true" keyProperty="id">
-        insert into IotDevice
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="devBid != null">devBid,</if>
-            <if test="tid != null">tid,</if>
-            <if test="devtypeBid != null and devtypeBid != ''">devtypeBid,</if>
-            <if test="firmBid != null">firmBid,</if>
-            <if test="devclassBid != null">devclassBid,</if>
-            <if test="devconnBid != null">devconnBid,</if>
-            <if test="devCode != null">devCode,</if>
-            <if test="devName != null">devName,</if>
-            <if test="devVersion != null">devVersion,</if>
-            <if test="devStatus != null">devStatus,</if>
-            <if test="devProvince != null">devProvince,</if>
-            <if test="devCity != null">devCity,</if>
-            <if test="devDistrict != null">devDistrict,</if>
-            <if test="devLng != null">devLng,</if>
-            <if test="devLat != null">devLat,</if>
-            <if test="devPositionstatus != null">devPositionstatus,</if>
-            <if test="devPositiontype != null">devPositiontype,</if>
-            <if test="devTag != null">devTag,</if>
-            <if test="devRecogtype != null">devRecogtype,</if>
-            <if test="devNetworktype != null">devNetworktype,</if>
-            <if test="devOfflinedate != null">devOfflinedate,</if>
-            <if test="devProvincealign != null">devProvincealign,</if>
-            <if test="devCityalign != null">devCityalign,</if>
-            <if test="devDistrictalign != null">devDistrictalign,</if>
-            <if test="devLngalign != null">devLngalign,</if>
-            <if test="devLatalign != null">devLatalign,</if>
-            <if test="devContacts != null">devContacts,</if>
-            <if test="devTel != null">devTel,</if>
-            <if test="devCreator != null">devCreator,</if>
-            <if test="devModifier != null">devModifier,</if>
-            <if test="devUpdateddate != null">devUpdateddate,</if>
-            <if test="devModifieddate != null">devModifieddate,</if>
-            <if test="devCreateddate != null">devCreateddate,</if>
-            <if test="devDelstatus != null">devDelstatus,</if>
-
-            <if test="devOnlinedate != null">devOnlinedate,</if>
-            <if test="devSubtype != null">devSubtype,</if>
-            <if test="devOriginalid != null">devOriginalid,</if>
-            <if test="devHostingstatus != null">devHostingstatus,</if>
-            <if test="extInfo != null">extInfo,</if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="devBid != null">#{devBid},</if>
-            <if test="tid != null">#{tid},</if>
-            <if test="devtypeBid != null and devtypeBid != ''">#{devtypeBid},</if>
-            <if test="firmBid != null">#{firmBid},</if>
-            <if test="devclassBid != null">#{devclassBid},</if>
-            <if test="devconnBid != null">#{devconnBid},</if>
-            <if test="devCode != null">#{devCode},</if>
-            <if test="devName != null">#{devName},</if>
-            <if test="devVersion != null">#{devVersion},</if>
-            <if test="devStatus != null">#{devStatus},</if>
-            <if test="devProvince != null">#{devProvince},</if>
-            <if test="devCity != null">#{devCity},</if>
-            <if test="devDistrict != null">#{devDistrict},</if>
-            <if test="devLng != null">#{devLng},</if>
-            <if test="devLat != null">#{devLat},</if>
-            <if test="devPositionstatus != null">#{devPositionstatus},</if>
-            <if test="devPositiontype != null">#{devPositiontype},</if>
-            <if test="devTag != null">#{devTag},</if>
-            <if test="devRecogtype != null">#{devRecogtype},</if>
-            <if test="devNetworktype != null">#{devNetworktype},</if>
-            <if test="devOfflinedate != null">#{devOfflinedate},</if>
-            <if test="devProvincealign != null">#{devProvincealign},</if>
-            <if test="devCityalign != null">#{devCityalign},</if>
-            <if test="devDistrictalign != null">#{devDistrictalign},</if>
-            <if test="devLngalign != null">#{devLngalign},</if>
-            <if test="devLatalign != null">#{devLatalign},</if>
-            <if test="devContacts != null">#{devContacts},</if>
-            <if test="devTel != null">#{devTel},</if>
-            <if test="devCreator != null">#{devCreator},</if>
-            <if test="devModifier != null">#{devModifier},</if>
-            <if test="devUpdateddate != null">#{devUpdateddate},</if>
-            <if test="devModifieddate != null">#{devModifieddate},</if>
-            <if test="devCreateddate != null">#{devCreateddate},</if>
-            <if test="devDelstatus != null">#{devDelstatus},</if>
-
-            <if test="devOnlinedate != null">#{devOnlinedate},</if>
-            <if test="devSubtype != null">#{devSubtype},</if>
-            <if test="devOriginalid != null">#{devOriginalid},</if>
-            <if test="devHostingstatus != null">#{devHostingstatus},</if>
-            <if test="extInfo != null">#{extInfo},</if>
-        </trim>
-    </insert>
-
     <insert id="insertIotDeviceByBatch" parameterType="list" useGeneratedKeys="true" keyProperty="id">
         insert into IotDevice (
         devBid, tid, devtypeBid, firmBid, devclassBid, devconnBid, devCode, devName, devVersion, devStatus,