Quellcode durchsuchen

1、优化站点下新增设备接口,增加推送设备信息到物联中心的逻辑;
2、优化虚拟电厂 - 删除设备接口,增加同步删除物联中心设备信息的逻辑;
3、service-iot服务中增加新增子系统设备信息api方法;
4、优化service-iot服务中设备信息表-修改接口,当发现更新设备信息时发现未绑定产品时增加设备绑定产品的逻辑;

james vor 13 Stunden
Ursprung
Commit
ed514d7433

+ 4 - 0
service-iot/service-iot-api/src/main/java/com/usky/iot/RemoteIotTaskService.java

@@ -24,6 +24,10 @@ public interface RemoteIotTaskService {
     @GetMapping("/addDeviceInfo")
     void addDeviceInfo(@RequestParam("productCode") String productCode, @RequestParam(value = "deviceUuid") String deviceUuid, @RequestParam(value = "deviceId") String deviceId, @RequestParam(value = "deviceName") String deviceName, @RequestParam(value = "installAddress") String installAddress, @RequestParam(value = "serviceStatus") Integer serviceStatus);
 
+
+    @GetMapping("/addSubsystemDeviceInfo")
+    void addSubsystemDeviceInfo(@RequestParam(value = "deviceUuid") String deviceUuid, @RequestParam(value = "deviceId") String deviceId, @RequestParam(value = "tenantId") Integer tenantId);
+
     @GetMapping("/deleteDeviceInfo")
     void deleteDeviceInfo(@RequestParam(value = "deviceUuid") String deviceUuid);
 }

+ 5 - 0
service-iot/service-iot-api/src/main/java/com/usky/iot/factory/RemoteIotTaskFactory.java

@@ -49,6 +49,11 @@ public class RemoteIotTaskFactory implements FallbackFactory<RemoteIotTaskServic
                 throw new FeignBadRequestException(500,"新增设备信息异常"+throwable.getMessage());
             }
 
+            @Override
+            public void addSubsystemDeviceInfo(String deviceUuid, String deviceId, Integer tenantId) {
+                throw new FeignBadRequestException(500,"新增子系统设备信息异常"+throwable.getMessage());
+            }
+
             @Override
             public void deleteDeviceInfo(String deviceUuid) {
                 throw new FeignBadRequestException(500,"删除设备信息异常"+throwable.getMessage());

+ 14 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/api/ServiceIotTaskApi.java

@@ -61,6 +61,20 @@ public class ServiceIotTaskApi implements RemoteIotTaskService {
         dmpDeviceInfoService.add(dmpDeviceInfo);
     }
 
+    @Override
+    public void addSubsystemDeviceInfo(String deviceUuid, String deviceId, Integer tenantId){
+        DmpDeviceInfo dmpDeviceInfo = new DmpDeviceInfo();
+        dmpDeviceInfo.setProductCode("");
+        dmpDeviceInfo.setDeviceUuid(deviceUuid);
+        dmpDeviceInfo.setDeviceId(deviceId);
+        dmpDeviceInfo.setDeviceName("");
+        dmpDeviceInfo.setInstallAddress("");
+        dmpDeviceInfo.setServiceStatus(1);
+        dmpDeviceInfo.setTenantId(tenantId);
+
+        dmpDeviceInfoService.add(dmpDeviceInfo);
+    }
+
     @Override
     public void deleteDeviceInfo(String deviceUuid){
         LambdaQueryWrapper<DmpDeviceInfo> deviceQueryWrapper = Wrappers.lambdaQuery();

+ 9 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDeviceInfoServiceImpl.java

@@ -546,7 +546,10 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
             dmpDeviceInfo.setProductId(list.get(0).getId());
             dmpDeviceInfo.setCreatedBy(SecurityUtils.getUsername());
             dmpDeviceInfo.setCreatedTime(LocalDateTime.now());
-            dmpDeviceInfo.setTenantId(SecurityUtils.getTenantId());
+            if(dmpDeviceInfo.getTenantId() == null) {
+                dmpDeviceInfo.setTenantId(SecurityUtils.getTenantId());
+            }
+
             dmpDeviceInfo.setServiceStatus(1);
             if (StringUtils.isBlank(dmpDeviceInfo.getDeviceUuid())) {
                 dmpDeviceInfo.setDeviceUuid(UUIDUtils.uuid().substring(0, 16));
@@ -577,6 +580,11 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
         }
         this.updateById(dmpDeviceInfo);
 
+        LambdaUpdateWrapper<DmpDeviceStatus> updateWrapper = Wrappers.lambdaUpdate();
+        updateWrapper.set(DmpDeviceStatus::getProductId,dmpDeviceInfo.getProductId())
+                .set(DmpDeviceStatus::getProductCode,dmpDeviceInfo.getProductCode())
+                .eq(DmpDeviceStatus::getDeviceId, dmpDeviceInfo.getDeviceId());
+
     }
 
     @Override

+ 12 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppDeviceServiceImpl.java

@@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
+import com.usky.common.core.util.UUIDUtils;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.iot.RemoteIotService;
+import com.usky.iot.RemoteIotTaskService;
 import com.usky.vpp.domain.VppDevice;
 import com.usky.vpp.mapper.VppDeviceMapper;
 import com.usky.vpp.service.VppDeviceService;
@@ -28,6 +32,8 @@ public class VppDeviceServiceImpl implements VppDeviceService {
     private VppDeviceMapper deviceMapper;
     @Autowired
     private VppSiteService siteService;
+    @Autowired
+    private RemoteIotTaskService remoteIotTaskService;
 
     @Override
     public CommonPage<VppDevice> pageDevice(Map<String, Object> params) {
@@ -75,7 +81,9 @@ public class VppDeviceServiceImpl implements VppDeviceService {
         validateDeviceRequest(request, null);
         VppDevice device = new VppDevice();
         device.setSiteId(siteId);
+        device.setDeviceUuid(UUIDUtils.uuid().substring(0, 16));
         applyRequest(device, request);
+        device.setTenantId(SecurityUtils.getTenantId());
         if (device.getCommStatus() == null) {
             device.setCommStatus(COMM_OFFLINE);
         }
@@ -84,6 +92,8 @@ public class VppDeviceServiceImpl implements VppDeviceService {
         }
         VppAuditHelper.fillCreate(device);
         deviceMapper.insert(device);
+
+        remoteIotTaskService.addSubsystemDeviceInfo(device.getDeviceUuid(),device.getDeviceCode(),device.getTenantId());
         return device;
     }
 
@@ -103,6 +113,8 @@ public class VppDeviceServiceImpl implements VppDeviceService {
         VppDevice device = getDevice(id);
         VppAuditHelper.fillSoftDelete(device);
         deviceMapper.updateById(device);
+
+        remoteIotTaskService.deleteDeviceInfo(device.getDeviceUuid());
     }
 
     private LambdaQueryWrapper<VppDevice> buildQueryWrapper(Map<String, Object> params) {