Sfoglia il codice sorgente

删除场景,删除协作关系

lyhzzz 1 anno fa
parent
commit
28f266022c

+ 4 - 0
src/main/java/com/fdkankan/ucenter/mapper/ITmContractorNumMapper.java

@@ -2,8 +2,11 @@ package com.fdkankan.ucenter.mapper;
 
 import com.fdkankan.ucenter.entity.TmContractorNum;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.ucenter.vo.response.GroupByCountVo;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -15,4 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ITmContractorNumMapper extends BaseMapper<TmContractorNum> {
 
+    List<GroupByCountVo> groupByContractorId();
 }

+ 6 - 0
src/main/java/com/fdkankan/ucenter/service/ITmContractorNumService.java

@@ -2,6 +2,8 @@ package com.fdkankan.ucenter.service;
 
 import com.fdkankan.ucenter.entity.TmContractorNum;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.vo.response.GroupByCount;
+import com.fdkankan.ucenter.vo.response.GroupByCountVo;
 
 import java.util.List;
 
@@ -16,4 +18,8 @@ import java.util.List;
 public interface ITmContractorNumService extends IService<TmContractorNum> {
 
     List<String> getNumListByCompanyId(Long companyId);
+
+    void deleteByNum(String num);
+
+    List<GroupByCountVo> groupByContractorId();
 }

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/ITmContractorService.java

@@ -16,4 +16,6 @@ import java.util.List;
 public interface ITmContractorService extends IService<TmContractor> {
 
     List<TmContractor> getByCompanyId(Long companyId);
+
+    void checkDel();
 }

+ 13 - 0
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -115,6 +115,10 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     private IInnerService innerService;
     @Autowired
     LaserService laserService;
+    @Autowired
+    ITmContractorService tmContractorService;
+    @Autowired
+    ITmContractorNumService tmContractorNumService;
 
     @Value("${scene.pro.url}")
     private String sceneProUrl;
@@ -958,15 +962,18 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     @Override
     public void deleteByList(List<ScenePro> proList,List<ScenePlus> plusList) {
         HashMap<Long ,Long >cameraMap = new HashMap<>();
+        List<String > numList = new ArrayList<>();
         if(proList.size() >0){
             for (ScenePro scenePro : proList) {
                 cameraMap.merge(scenePro.getCameraId(), scenePro.getSpace(), Long::sum);
             }
             List<Long> proIds = proList.parallelStream().map(ScenePro::getId).collect(Collectors.toList());
+            numList.addAll(proList.parallelStream().map(ScenePro::getNum).collect(Collectors.toList()));
             this.removeByIds(proIds);
         }
         if(plusList.size() >0){
             List<Long> plusIds = plusList.parallelStream().map(ScenePlus::getId).collect(Collectors.toList());
+            numList.addAll( plusList.parallelStream().map(ScenePlus::getNum).collect(Collectors.toList()));
             HashMap<Long, ScenePlusExt> plusMap = scenePlusExtService.getByPlusIds(plusIds);
 
             for (ScenePlus scenePlus : plusList) {
@@ -976,11 +983,17 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }
             scenePlusService.removeByIds(plusIds);
             scenePlusExtService.removeByPlusIds(plusIds);
+
         }
         //恢复相机使用容量
         if(cameraMap.size() >0){
             cameraDetailService.addUsedSpace(cameraMap);
         }
+        if(!numList.isEmpty()){
+            numList.forEach(e ->tmContractorNumService.deleteByNum(e));
+            tmContractorService.checkDel();
+        }
+
     }
 
     @Override

+ 13 - 0
src/main/java/com/fdkankan/ucenter/service/impl/TmContractorNumServiceImpl.java

@@ -7,6 +7,8 @@ import com.fdkankan.ucenter.mapper.ITmContractorNumMapper;
 import com.fdkankan.ucenter.service.ITmContractorNumService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.ucenter.service.ITmContractorService;
+import com.fdkankan.ucenter.vo.response.GroupByCount;
+import com.fdkankan.ucenter.vo.response.GroupByCountVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -46,4 +48,15 @@ public class TmContractorNumServiceImpl extends ServiceImpl<ITmContractorNumMapp
         wrapper.in(TmContractorNum::getContractorId,ids);
         return this.list(wrapper);
     }
+
+    @Override
+    public void deleteByNum(String num) {
+        LambdaQueryWrapper<TmContractorNum> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(TmContractorNum::getNum,num);
+        this.remove(wrapper);
+    }
+    @Override
+    public List<GroupByCountVo> groupByContractorId() {
+        return this.getBaseMapper().groupByContractorId();
+    }
 }

+ 23 - 0
src/main/java/com/fdkankan/ucenter/service/impl/TmContractorServiceImpl.java

@@ -3,10 +3,15 @@ package com.fdkankan.ucenter.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.ucenter.entity.TmContractor;
 import com.fdkankan.ucenter.mapper.ITmContractorMapper;
+import com.fdkankan.ucenter.service.ITmContractorNumService;
 import com.fdkankan.ucenter.service.ITmContractorService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.ucenter.vo.response.GroupByCountVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -20,10 +25,28 @@ import java.util.List;
 @Service
 public class TmContractorServiceImpl extends ServiceImpl<ITmContractorMapper, TmContractor> implements ITmContractorService {
 
+
+    @Autowired
+    ITmContractorNumService tmContractorNumService;
     @Override
     public List<TmContractor> getByCompanyId(Long companyId) {
         LambdaQueryWrapper<TmContractor> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(TmContractor::getContractorCompanyId,companyId);
         return this.list(wrapper);
     }
+
+    @Override
+    public void checkDel() {
+        List<TmContractor> tmContractors = this.list();
+        HashMap<String , GroupByCountVo> map = new HashMap<>();
+        List<GroupByCountVo> list = tmContractorNumService.groupByContractorId();
+        list.forEach(e ->map.put(e.getGroupKey(),e));
+        List<Integer> delIds = new ArrayList<>();
+        for (TmContractor tmContractor : tmContractors) {
+            if(map.get(tmContractor.getId().toString()) == null ){
+                delIds.add(tmContractor.getId());
+            }
+        }
+        this.removeByIds(delIds);
+    }
 }

+ 2 - 2
src/main/java/com/fdkankan/ucenter/vo/response/DataGroupByCount.java

@@ -3,7 +3,7 @@ package com.fdkankan.ucenter.vo.response;
 import lombok.Data;
 
 @Data
-public class DataGroupByCount {
+public class GroupByCountVo {
     private String groupKey;
-    private Long count;
+    private Long groupCount;
 }

+ 3 - 0
src/main/resources/mapper/ucenter/TmContractorNumMapper.xml

@@ -2,4 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.ucenter.mapper.ITmContractorNumMapper">
 
+    <select id="groupByContractorId" resultType="com.fdkankan.ucenter.vo.response.GroupByCountVo">
+        select contractor_id as groupKey ,count(id) as groupCount from tm_contractor_num where rec_status = 'A' group by contractor_id
+    </select>
 </mapper>