Browse Source

设施与设备关联绑定相关接口

hanzhengyi 1 year ago
parent
commit
c4ee2edf24

+ 28 - 5
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityDeviceController.java

@@ -1,9 +1,12 @@
 package com.usky.iot.controller.web;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.stereotype.Controller;
+import com.usky.common.core.bean.ApiResult;
+import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.iot.service.BaseFacilityDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -13,9 +16,29 @@ import org.springframework.stereotype.Controller;
  * @author han
  * @since 2023-06-07
  */
-@Controller
+@RestController
 @RequestMapping("/baseFacilityDevice")
 public class BaseFacilityDeviceController {
-
+    @Autowired
+    private BaseFacilityDeviceService baseFacilityDeviceService;
+    /**
+     * 新增
+     * @param baseFacilityDevice
+     * @return
+     */
+    @PostMapping("/add")
+    public ApiResult<Void> add(@RequestBody BaseFacilityDevice baseFacilityDevice){
+        baseFacilityDeviceService.add(baseFacilityDevice);
+        return ApiResult.success();
+    }
+    /**
+     * 删除
+     */
+    @DeleteMapping("/{id}")
+    public ApiResult<Void> remove(@PathVariable("id") Integer id)
+    {
+        baseFacilityDeviceService.remove(id);
+        return ApiResult.success();
+    }
 }
 

+ 20 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseGgpFacilityController.java

@@ -104,14 +104,14 @@ public class BaseGgpFacilityController {
     }
 
     /**
-     * 关联设备分页
+     * 关联设备查看分页
      * @param deviceId  设备ID
      * @param id  设施主键ID
      * @param current      当前页
      * @param size     每页条数
      * @return
      */
-    @Log(title = "关联设备分页", businessType = BusinessType.OTHER)
+    @Log(title = "关联设备查看分页", businessType = BusinessType.OTHER)
     @GetMapping("/deviceInfo")
     public ApiResult<CommonPage<DmpDeviceInfo>> deviceInfo(@RequestParam(value = "deviceId", required = false) String deviceId,
                                                            @RequestParam(value = "id") Integer id,
@@ -121,6 +121,24 @@ public class BaseGgpFacilityController {
         return ApiResult.success(baseGgpFacilityService.deviceInfo(deviceId, id, current, size));
     }
 
+    /**
+     * 关联设备查看分页
+     * @param deviceId  设备ID
+     * @param id  设施主键ID
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @Log(title = "关联设备绑定分页", businessType = BusinessType.OTHER)
+    @GetMapping("/deviceBindInfo")
+    public ApiResult<CommonPage<Object>> deviceBindInfo(@RequestParam(value = "deviceId", required = false) String deviceId,
+                                                           @RequestParam(value = "id") Integer id,
+                                                           @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                           @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
+    {
+        return ApiResult.success(baseGgpFacilityService.deviceBindInfo(deviceId, id, current, size));
+    }
+
     /**
      * 关联建筑分页
      * @param buildNum  建筑编号

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

@@ -35,7 +35,7 @@ public class BaseFacilityDevice implements Serializable {
     /**
      * 设备id
      */
-    private Integer deviceId;
+    private String deviceId;
 
     /**
      * 创建人

+ 3 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityDeviceService.java

@@ -2,6 +2,7 @@ package com.usky.iot.service;
 
 import com.usky.iot.domain.BaseFacilityDevice;
 import com.usky.common.mybatis.core.CrudService;
+import com.usky.iot.domain.BaseFacilityType;
 
 /**
  * <p>
@@ -12,5 +13,7 @@ import com.usky.common.mybatis.core.CrudService;
  * @since 2023-06-07
  */
 public interface BaseFacilityDeviceService extends CrudService<BaseFacilityDevice> {
+    boolean add(BaseFacilityDevice baseFacilityDevice);
 
+    boolean remove(Integer id);
 }

+ 2 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseGgpFacilityService.java

@@ -34,6 +34,8 @@ public interface BaseGgpFacilityService extends CrudService<BaseGgpFacility> {
 
     CommonPage<DmpDeviceInfo> deviceInfo(String deviceId,Integer id,Integer current,Integer size);
 
+    CommonPage<Object> deviceBindInfo(String deviceId,Integer id,Integer current,Integer size);
+
     CommonPage<BaseBuild> buildInfo(String buildNum, Integer id, Integer current, Integer size);
 
     /**

+ 14 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityDeviceServiceImpl.java

@@ -1,11 +1,15 @@
 package com.usky.iot.service.impl;
 
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.iot.domain.BaseFacilityType;
 import com.usky.iot.mapper.BaseFacilityDeviceMapper;
 import com.usky.iot.service.BaseFacilityDeviceService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 地理设施设备关联表 服务实现类
@@ -16,5 +20,15 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class BaseFacilityDeviceServiceImpl extends AbstractCrudService<BaseFacilityDeviceMapper, BaseFacilityDevice> implements BaseFacilityDeviceService {
+    @Override
+    public boolean add(BaseFacilityDevice baseFacilityDevice) {
+        baseFacilityDevice.setCreatedBy(SecurityUtils.getUsername());
+        baseFacilityDevice.setCreatedTime(LocalDateTime.now());
+        return this.save(baseFacilityDevice);
+    }
 
+    @Override
+    public boolean remove(Integer id) {
+        return this.removeById(id);
+    }
 }

+ 2 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityTypeServiceImpl.java

@@ -100,7 +100,8 @@ public class BaseFacilityTypeServiceImpl extends AbstractCrudService<BaseFacilit
         lambdaQuery.like(StringUtils.isNotBlank(typeName),BaseFacilityType::getTypeName,
                 typeName)
                 .eq(StringUtils.isNotBlank(typeCode),BaseFacilityType::getTypeCode,
-                        typeCode);
+                        typeCode)
+                .orderByDesc(BaseFacilityType::getId);
         page = this.page(page,lambdaQuery);
         return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
     }

+ 41 - 3
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseGgpFacilityServiceImpl.java

@@ -23,7 +23,9 @@ import org.springframework.stereotype.Service;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -129,7 +131,7 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
         lambdaQuery.eq(BaseFacilityDevice::getFacilityId,id);
         List<BaseFacilityDevice> baseFacilityDeviceList = baseFacilityDeviceService.list(lambdaQuery);
         if (CollectionUtils.isNotEmpty(baseFacilityDeviceList)) {
-            List<Integer> deviceIdList = new ArrayList<>();
+            List<String> deviceIdList = new ArrayList<>();
             for (int i = 0; i < baseFacilityDeviceList.size(); i++) {
                 deviceIdList.add(baseFacilityDeviceList.get(i).getDeviceId());
             }
@@ -138,7 +140,7 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
                     LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
                     queryWrapper1.select(DmpDeviceInfo::getId, DmpDeviceInfo::getDeviceId,
                             DmpDeviceInfo::getDeviceName, DmpDeviceInfo::getInstallAddress)
-                            .in(DmpDeviceInfo::getId, deviceIdList)
+                            .in(DmpDeviceInfo::getDeviceId, deviceIdList)
                             .eq(DmpDeviceInfo::getDeviceId, deviceId)
                             .eq(DmpDeviceInfo::getDeleteFlag,0);
                     page = dmpDeviceInfoService.page(page,queryWrapper1);
@@ -146,7 +148,7 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
                     LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
                     queryWrapper1.select(DmpDeviceInfo::getId, DmpDeviceInfo::getDeviceId,
                             DmpDeviceInfo::getDeviceName, DmpDeviceInfo::getInstallAddress)
-                            .in(DmpDeviceInfo::getId, deviceIdList)
+                            .in(DmpDeviceInfo::getDeviceId, deviceIdList)
                             .eq(DmpDeviceInfo::getDeleteFlag,0);
                     page = dmpDeviceInfoService.page(page,queryWrapper1);
                 }
@@ -155,6 +157,42 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
         return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
     }
 
+    @Override
+    public CommonPage<Object> deviceBindInfo(String deviceId,Integer id,Integer current,Integer size) {
+        List<Object> list = new ArrayList<>();
+        IPage<DmpDeviceInfo> page = new Page<>(current, size);
+        LambdaQueryWrapper<BaseFacilityDevice> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(BaseFacilityDevice::getFacilityId,id);
+        List<BaseFacilityDevice> baseFacilityDeviceList = baseFacilityDeviceService.list(lambdaQuery);
+        LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.select(DmpDeviceInfo::getId, DmpDeviceInfo::getDeviceId,
+                DmpDeviceInfo::getDeviceName, DmpDeviceInfo::getInstallAddress)
+                .eq(StringUtils.isNotBlank(deviceId),DmpDeviceInfo::getDeviceId, deviceId)
+                .eq(DmpDeviceInfo::getDeleteFlag,0);
+        page = dmpDeviceInfoService.page(page,queryWrapper1);
+        if (CollectionUtils.isNotEmpty(page.getRecords())) {
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("id", page.getRecords().get(i).getId());
+                map.put("deviceId", page.getRecords().get(i).getDeviceId());
+                map.put("deviceName", page.getRecords().get(i).getDeviceName());
+                map.put("installAddress", page.getRecords().get(i).getInstallAddress());
+                map.put("bindStatus", 0);
+                map.put("bindId", 0);
+                if (CollectionUtils.isNotEmpty(baseFacilityDeviceList)) {
+                    for (int j = 0; j < baseFacilityDeviceList.size(); j++) {
+                        if (page.getRecords().get(i).getDeviceId().equals(baseFacilityDeviceList.get(j).getDeviceId())) {
+                            map.put("bindStatus", 1);
+                            map.put("bindId", baseFacilityDeviceList.get(j).getId());
+                        }
+                    }
+                }
+                list.add(map);
+            }
+        }
+        return new CommonPage<>(list,page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
     @Override
     public CommonPage<BaseBuild> buildInfo(String buildNum, Integer id, Integer current, Integer size) {
         IPage<BaseBuild> page = new Page<>(current, size);