Răsfoiți Sursa

设备(站点)平台绑定修改

skyline 1 an în urmă
părinte
comite
250a7652ee

+ 4 - 4
admin-web/src/views/admin/station/endpoint/batch.vue

@@ -71,7 +71,7 @@ const formRef = ref();
 //定义初始变量,重置使用
 const initState = () => ({
   ruleForm: {
-    equipmentIds: [],
+    connectorIds: [],
     platformName: '',
   },
   btnLoading: false,
@@ -90,11 +90,11 @@ const state = reactive(initState());
 
 
 // 打开弹窗
-const open = ( equipmentIds: any) => {
+const open = ( connectorIds: any) => {
   state.dialog.title = "批量绑定平台"
   state.dialog.submitTxt = "确定"
   state.dialog.visible = true;
-  state.ruleForm.equipmentIds = equipmentIds;
+  state.ruleForm.connectorIds = connectorIds;
 };
 // 关闭弹窗
 const onClose = () => {
@@ -134,4 +134,4 @@ defineExpose({
 });
 
 
-</script>
+</script>

+ 5 - 5
admin-web/src/views/admin/station/endpoint/dialog.vue

@@ -29,10 +29,10 @@
               class="w100">
           </el-input>
         </el-form-item>
-        <el-form-item label="充电桩序列号" prop="equipmentId" class="wd300">
+        <el-form-item label="充电桩枪口编号" prop="connectorId" class="wd300">
           <el-input
-              v-model="state.ruleForm.equipmentId"
-              placeholder="充电桩序列号"
+              v-model="state.ruleForm.connectorId"
+              placeholder="充电桩枪口编号"
               clearable
               readonly
               class="w100">
@@ -155,7 +155,7 @@ const loadData = (id: number) => {
 }
 
 const loadEquipmentRelation = () => {
-  $get(`equipment-relation/detail/${state.ruleForm.equipmentId}`).then((res: any) => {
+  $get(`equipment-relation/detail/${state.ruleForm.connectorId}`).then((res: any) => {
     state.relation = res;
   })
 }
@@ -166,4 +166,4 @@ defineExpose({
 });
 
 
-</script>
+</script>

+ 1 - 1
admin-web/src/views/admin/station/endpoint/index.vue

@@ -256,7 +256,7 @@ const handleBatchBind = () => {
   if(state.checkedList.length<=0){
     return;
   }
-  endpoint_batch_bind_ref.value?.open(state.checkedList.map(k=>k.equipmentId))
+  endpoint_batch_bind_ref.value?.open(state.checkedList.map(k=>k.connectorId))
 
 }
 

+ 2 - 10
admin/src/main/java/com/kym/admin/controller/EquipmentRelationController.java

@@ -1,10 +1,8 @@
 package com.kym.admin.controller;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.kym.common.R;
 import com.kym.common.controller.IController;
 import com.kym.entity.admin.EquipmentRelation;
-import com.kym.entity.admin.Platform;
 import com.kym.entity.admin.dto.BatchBindEquipmentRelation;
 import com.kym.service.admin.EquipmentRelationService;
 import jakarta.annotation.Resource;
@@ -30,12 +28,6 @@ public class EquipmentRelationController extends IController {
     @Resource
     private EquipmentRelationService equipmentRelationService;
 
-    @PostMapping("bind")
-    R<?> modify(@RequestBody EquipmentRelation equipmentRelation) {
-        return resp((t) -> equipmentRelationService.modifyRelation(equipmentRelation));
-    }
-
-
     @PostMapping("batchBind")
     R<?> batchBind(@RequestBody BatchBindEquipmentRelation equipmentRelation) {
         return resp((t) -> equipmentRelationService.batchBind(equipmentRelation));
@@ -44,8 +36,8 @@ public class EquipmentRelationController extends IController {
 
 
     @GetMapping("detail/{id}")
-    public R<?> detail(@PathVariable(name = "id") String equipmentId) {
-        return resp(() -> equipmentRelationService.getByEquipmentId(equipmentId));
+    public R<?> detail(@PathVariable(name = "id") String connectorId) {
+        return resp(() -> equipmentRelationService.getByConnectorId(connectorId));
     }
 
 

+ 1 - 0
entity/src/main/java/com/kym/entity/admin/dto/BatchBindEquipmentRelation.java

@@ -8,4 +8,5 @@ import java.util.List;
 public class BatchBindEquipmentRelation {
     private String platformName;
     private List<String> equipmentIds;
+    private List<String> connectorIds;
 }

+ 1 - 3
service/src/main/java/com/kym/service/admin/EquipmentRelationService.java

@@ -15,9 +15,7 @@ import com.kym.service.mybatisplus.MyBaseService;
 public interface EquipmentRelationService extends MyBaseService<EquipmentRelation> {
     EquipmentRelation getByShortId(String shortId);
 
-    EquipmentRelation getByEquipmentId(String equipmentId);
-
-    void modifyRelation(EquipmentRelation equipmentRelation);
+    EquipmentRelation getByConnectorId(String equipmentId);
 
     void batchBind(BatchBindEquipmentRelation equipmentRelation);
 }

+ 20 - 13
service/src/main/java/com/kym/service/admin/impl/EquipmentRelationServiceImpl.java

@@ -2,13 +2,18 @@ package com.kym.service.admin.impl;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.kym.common.cache.PlatformCache;
 import com.kym.entity.admin.EquipmentRelation;
 import com.kym.entity.admin.dto.BatchBindEquipmentRelation;
 import com.kym.mapper.admin.EquipmentRelationMapper;
 import com.kym.service.admin.EquipmentRelationService;
+import com.kym.service.cache.KymCache;
 import com.kym.service.mybatisplus.MyBaseServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  * 服务实现类
@@ -27,30 +32,32 @@ public class EquipmentRelationServiceImpl extends MyBaseServiceImpl<EquipmentRel
     }
 
     @Override
-    public EquipmentRelation getByEquipmentId(String equipmentId) {
-        return lambdaQuery().eq(EquipmentRelation::getEquipmentId, equipmentId).one();
+    public EquipmentRelation getByConnectorId(String connectorId) {
+        return lambdaQuery().eq(EquipmentRelation::getConnectorId, connectorId).one();
     }
 
 
     /**
-     * 仅用来绑定平台
+     * 对同一站点的设备批量绑定平台
      *
      * @param equipmentRelation
      */
-    @Override
-    public void modifyRelation(EquipmentRelation equipmentRelation) {
-//        CommUtil.assertsNonNull(equipmentRelation.getPlatformName(), "平台名称不能为空");
-        UpdateWrapper<EquipmentRelation> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("equipment_id", equipmentRelation.getEquipmentId());
-        updateWrapper.set("platform_name", equipmentRelation.getPlatformName());
-        update(updateWrapper);
-    }
-
     @Override
     public void batchBind(BatchBindEquipmentRelation equipmentRelation) {
         UpdateWrapper<EquipmentRelation> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.in("equipment_id", equipmentRelation.getEquipmentIds());
+        updateWrapper.in("connector_id", equipmentRelation.getConnectorIds());
         updateWrapper.set("platform_name", equipmentRelation.getPlatformName());
         update(updateWrapper);
+
+        // 更新缓存
+        var connectorId2PlatformName = equipmentRelation.getConnectorIds().stream().collect(Collectors.toMap(
+                connectorId -> connectorId,
+                connectorId -> equipmentRelation.getPlatformName()
+        ));
+        PlatformCache.INSTANCE.putConnectorId2PlatformName(connectorId2PlatformName);
+        // todo 现有条件原则上只支持以站点维度更新绑定,一个站点只支持一个平台
+        PlatformCache.INSTANCE.putStationId2PlatformName(
+                Map.of(KymCache.INSTANCE.getStationIdByEquipmentIdOrConnectorId(equipmentRelation.getConnectorIds().get(0)), equipmentRelation.getPlatformName())
+        );
     }
 }

+ 1 - 1
service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

@@ -488,7 +488,7 @@ public class ChargeServiceImpl implements ChargeService {
     public Map<String, String> getConnectorIdAndStationId(String connectorId) {
         var stationId = "";
         if (connectorId.length() == 17) {
-            var equipmentRelation = equipmentRelationService.getByEquipmentId(connectorId.substring(0, 16));
+            var equipmentRelation = equipmentRelationService.getByConnectorId(connectorId.substring(0, 16));
             stationId = equipmentRelation.getStationId();
         } else if (connectorId.length() == 6) {
             // 查询EN+设备SN