From c42bbac189958358b2c8ae4e163d55158d6750fc Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期二, 22 三月 2022 11:47:47 +0800
Subject: [PATCH] C3充电桩

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java |  187 +++++++++++++++++++++++++++++++---------------
 1 files changed, 124 insertions(+), 63 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
index 97c07e7..08f447a 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
@@ -8,24 +8,21 @@
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.ximon.admin.config.MinIoConstant;
 import com.sandu.ximon.admin.param.IpVolumeMissionParam;
-import com.sandu.ximon.admin.param.ReceiveParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.TaskAPIUtils;
-import com.sandu.ximon.admin.utils.request.BroadcastParams;
 import com.sandu.ximon.admin.vo.TaskMediaFileVO;
 import com.sandu.ximon.admin.vo.TaskTerminalVO;
 import com.sandu.ximon.admin.vo.TaskVO;
 import com.sandu.ximon.dao.bo.IpVolumeMissionBo;
-import com.sandu.ximon.dao.domain.BroadcastV2TaskFile;
-import com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal;
-import com.sandu.ximon.dao.domain.IpVolumeFile;
-import com.sandu.ximon.dao.domain.IpVolumeMission;
+import com.sandu.ximon.dao.domain.*;
 import com.sandu.ximon.dao.mapper.IpVolumeMissionMapper;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import java.math.BigInteger;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 
@@ -39,10 +36,15 @@
 public class IpVolumeMissionService extends BaseServiceImpl<IpVolumeMissionMapper, IpVolumeMission> {
     private final IpVolumeMissionMapper ipVolumeMissionMapper;
     private final ClientService clientService;
+    private final IpVolumeService ipVolumeService;
     private final IpVolumeFileService ipVolumeFileService;
     private final BroadcastV2TaskFileService broadcastV2TaskFileService;
     private final BroadcastV2TaskTerminalService broadcastV2TaskTerminalService;
 
+
+    /*public boolean add1() {
+      return   broadcastV2TaskTerminalService.save();
+    }*/
     public boolean addMission(IpVolumeMissionParam missionparam) {
 
         String taskName = missionparam.getMissionName();
@@ -59,14 +61,14 @@
 
         if (missionparam.getTerminalIds().size() <= 0) {
             throw new BusinessException("鎾斁缁堢涓嶅彲涓虹┖");
-           // return 3;
+            // return 3;
         }
 
         //  灏佽鎾斁缁堢
         List<TaskTerminalVO> taskTerminalVOList = new ArrayList<>();
         //  灏佽鏁版嵁搴撲腑浠诲姟缁堢缁戝畾
         List<BroadcastV2TaskTerminal> taskTerminalEntityList = new ArrayList<>();
-        for(Integer id: new HashSet<>(missionparam.getTerminalIds())) {
+        for (Integer id : new HashSet<>(missionparam.getTerminalIds())) {
             TaskTerminalVO taskTerminalVO = new TaskTerminalVO();
             BroadcastV2TaskTerminal taskTerminalEntity = new BroadcastV2TaskTerminal();
 
@@ -81,22 +83,25 @@
         List<TaskMediaFileVO> taskMediaFileVOS = new ArrayList<>();
         List<BroadcastV2TaskFile> taskFileEntityList = new ArrayList<>();
         int i = 1;
-        for(Integer fileId: new HashSet<>(missionparam.getFileIds())) {
+        for (Integer fileId : new HashSet<>(missionparam.getFileIds())) {
             TaskMediaFileVO taskMediaFileVO = new TaskMediaFileVO();
             BroadcastV2TaskFile taskFileEntity = new BroadcastV2TaskFile();
 
             taskFileEntity.setFileId(fileId);
 
             IpVolumeFile fileEntity = ipVolumeFileService.getById(fileId);
-            String absolutePath = MinIoConstant.getAbsolutePath(
-                    MinIoConstant.BROADCAST_FILE.getBucketName() + fileEntity.getUserId(),
-                    fileEntity.getFileName()
-            );
+            if (fileEntity == null) {
+                throw new BusinessException("fileId涓�" + fileId + "鐨勬枃浠朵笉瀛樺湪");
+            }
+//            String absolutePath = MinIoConstant.getAbsolutePath(
+//                    MinIoConstant.BROADCAST_FILE.getBucketName() + fileEntity.getUserId(),
+//                    fileEntity.getFileName()
+//            );
 
             taskMediaFileVO.setI(i);
             i++;
             taskMediaFileVO.setT(0);
-            taskMediaFileVO.setN(absolutePath);
+            taskMediaFileVO.setN(fileEntity.getFileUrl());
             taskMediaFileVO.setS(BigInteger.valueOf(fileEntity.getOriginSize()));
 
             taskMediaFileVOS.add(taskMediaFileVO);
@@ -109,18 +114,17 @@
         System.out.println("---------------------------");
         //  鍚慖P闊虫煴鏈嶅姟鍣ㄦ坊鍔犱换鍔�
         Integer taskId = TaskAPIUtils.addTask(missionparam);
-       // System.out.println("---------------------------");
-        //Integer taskId = 1111;
+//        Integer taskId = 1111;
 
         if (null != taskId && taskId != 0) {
             IpVolumeMission byId = getById(taskId);
-            for (BroadcastV2TaskTerminal v2TaskTerminal: taskTerminalEntityList) {
+            for (BroadcastV2TaskTerminal v2TaskTerminal : taskTerminalEntityList) {
                 v2TaskTerminal.setTaskId(taskId);
             }
-            for (BroadcastV2TaskFile v2TaskFile :taskFileEntityList) {
+            for (BroadcastV2TaskFile v2TaskFile : taskFileEntityList) {
                 v2TaskFile.setTaskId(taskId);
             }
-            if (byId==null) {
+            if (byId == null) {
                 //  鍚戞暟鎹簱娣诲姞璇ヤ换鍔¤褰�
 
                 IpVolumeMission mission = new IpVolumeMission();
@@ -135,9 +139,8 @@
                 mission.setOffDate(missionparam.getOffDate());
                 mission.setWeek(Integer.parseInt(missionparam.getWeek(), 2));//鏃堕棿鐢变簩杩涘埗瀛楃涓茶浆鎹负鍗佽繘鍒�
                 mission.setMissionVolume(missionparam.getMissionVolume());
-                //mission.setMissionFileUrl(missionparam.getFiles().toString());
                 mission.setNumberInPlay(missionparam.getTerminals().length);
-                /*TaskTerminalVO[] terminals = missionparam.getTerminals();*/
+
 
                 System.out.println(save(mission));
                 System.out.println("----------------------------------------------------------");
@@ -154,14 +157,11 @@
                 mission.setMissionVolume(missionparam.getMissionVolume());
                 mission.setMissionFileUrl(missionparam.getFiles().toString());
                 mission.setNumberInPlay(missionparam.getTerminals().length);
-                System.out.println(updateById(mission));
-                System.out.println("----------------------------------------------------------");
             }
             broadcastV2TaskFileService.deleteByTaskId(taskId);
             broadcastV2TaskTerminalService.deleteByTaskId(taskId);
-            broadcastV2TaskTerminalService.saveBatch(taskTerminalEntityList);
+            broadcastV2TaskTerminalService.saveTaskTerminal(taskTerminalEntityList);
             broadcastV2TaskFileService.saveBatch(taskFileEntityList);
-
             return true;
         } else {
             return false;
@@ -173,15 +173,15 @@
 
         String taskName = missionparam.getMissionName();
 
-        if(null == taskName || "".equals(taskName)) {
+        if (null == taskName || "".equals(taskName)) {
             return 4;
         }
 
-        if(missionparam.getFileIds().size()<=0){
+        if (missionparam.getFileIds().size() <= 0) {
             return 5;
         }
 
-        if(missionparam.getTerminalIds().size()<=0){
+        if (missionparam.getTerminalIds().size() <= 0) {
             return 6;
         }
 
@@ -190,7 +190,7 @@
         List<TaskTerminalVO> taskTerminalVOList = new ArrayList<>();
         //  灏佽鏁版嵁搴撲腑浠诲姟缁堢缁戝畾
         List<BroadcastV2TaskTerminal> taskTerminalEntityList = new ArrayList<>();
-        for(Integer id: new HashSet<>(missionparam.getTerminalIds())) {
+        for (Integer id : new HashSet<>(missionparam.getTerminalIds())) {
             TaskTerminalVO taskTerminalVO = new TaskTerminalVO();
             BroadcastV2TaskTerminal taskTerminalEntity = new BroadcastV2TaskTerminal();
 
@@ -205,7 +205,7 @@
         List<TaskMediaFileVO> taskMediaFileVOS = new ArrayList<>();
         List<BroadcastV2TaskFile> taskFileEntityList = new ArrayList<>();
         int i = 1;
-        for(Integer fileId: new HashSet<>(missionparam.getFileIds())) {
+        for (Integer fileId : new HashSet<>(missionparam.getFileIds())) {
             TaskMediaFileVO taskMediaFileVO = new TaskMediaFileVO();
             BroadcastV2TaskFile taskFileEntity = new BroadcastV2TaskFile();
 
@@ -235,12 +235,12 @@
         //  鍚慖P闊虫煴鏈嶅姟鍣ㄦ洿鏂颁换鍔�
         Integer result = TaskAPIUtils.updateTask(taskId, missionparam);
 
-        if(result==0){
+        if (result == 0) {
             IpVolumeMission byId = getById(taskId);
-            for (BroadcastV2TaskTerminal v2TaskTerminal: taskTerminalEntityList) {
+            for (BroadcastV2TaskTerminal v2TaskTerminal : taskTerminalEntityList) {
                 v2TaskTerminal.setTaskId(taskId);
             }
-            for (BroadcastV2TaskFile v2TaskFile :taskFileEntityList) {
+            for (BroadcastV2TaskFile v2TaskFile : taskFileEntityList) {
                 v2TaskFile.setTaskId(taskId);
             }
             if (null == byId) {
@@ -258,7 +258,7 @@
                 mission.setOffDate(missionparam.getOffDate());
                 mission.setWeek(Integer.parseInt(missionparam.getWeek(), 2));//鏃堕棿鐢变簩杩涘埗瀛楃涓茶浆鎹负鍗佽繘鍒�
                 mission.setMissionVolume(missionparam.getMissionVolume());
-               // mission.setMissionFileUrl(missionparam.getFiles().toString());
+                // mission.setMissionFileUrl(missionparam.getFiles().toString());
                 mission.setNumberInPlay(missionparam.getTerminals().length);
                 /*TaskTerminalVO[] terminals = missionparam.getTerminals();*/
 
@@ -273,7 +273,7 @@
                 mission.setOffDate(missionparam.getOffDate());
                 mission.setWeek(Integer.parseInt(missionparam.getWeek(), 2));//鏃堕棿鐢变簩杩涘埗瀛楃涓茶浆鎹负鍗佽繘鍒�
                 mission.setMissionVolume(missionparam.getMissionVolume());
-               // mission.setMissionFileUrl(missionparam.getFiles().toString());
+                // mission.setMissionFileUrl(missionparam.getFiles().toString());
                 mission.setNumberInPlay(missionparam.getTerminals().length);
                 System.out.println(updateById(mission));
                 System.out.println("----------------------------------------------------------");
@@ -284,73 +284,134 @@
             broadcastV2TaskFileService.saveBatch(taskFileEntityList);
             return 0;
 
-        }else {
+        } else {
             return result;
         }
     }
 
     /**
      * 鍒犻櫎浠诲姟
+     *
      * @param taskId
-     * @return0锛氭垚鍔�   1锛氫换鍔′笉澶勪簬绌洪棽鐘舵�� 2:鏈嶅姟鍣ㄥ垹闄ゅけ璐�
+     * @return0锛氭垚鍔� 1锛氫换鍔′笉澶勪簬绌洪棽鐘舵�� 2:鏈嶅姟鍣ㄥ垹闄ゅけ璐�
      */
     public Integer deleteMission(Integer taskId) {
         Integer del = TaskAPIUtils.delTask(taskId);
-        if(del==0){
+        if (del == 0) {
             IpVolumeMission byId = getById(taskId);
             if (byId == null) {
-               return -1;
+                return -1;
             }
             removeById(taskId);
-            broadcastV2TaskFileService.removeById(taskId);
-            broadcastV2TaskTerminalService.removeById(taskId);
+            broadcastV2TaskFileService.deleteByTaskId(taskId);
+            broadcastV2TaskTerminalService.deleteByTaskId(taskId);
+//            broadcastV2TaskTerminalService.removeById(taskId);
             return 0;
-        }
-        else {
+        } else {
             return del;
         }
 
     }
 
-    public List<IpVolumeMission> listMission(ReceiveParam receiveParam) {
 
-        LambdaQueryWrapper<IpVolumeMission> wrapper = Wrappers.lambdaQuery(IpVolumeMission.class).eq(IpVolumeMission::getClientId, SecurityUtils.getUserId()).like(IpVolumeMission::getMissionName, receiveParam.getKeyWord());
+    public List<IpVolumeMissionBo> missionList(BaseConditionVO baseConditionVO, String keyword) {
+        //  PageHelper.startPage(baseConditionVO.getPageNo(),baseConditionVO.getPageSize());
+        boolean r = clientService.findClientId();  //ture浠h〃鏈変笂绾у鎴�  鏌ヨ閫氳繃userID
 
-        return list(wrapper);
-    }
+        List<IpVolumeMissionBo> ipVolumeMissionBos = new ArrayList<>();
+        LambdaQueryWrapper<IpVolumeMission> eq = new LambdaQueryWrapper<>();
 
-    public List<IpVolumeMissionBo> missionList(BaseConditionVO baseConditionVO,String keyword) {
-        PageHelper.startPage(baseConditionVO.getPageNo(),baseConditionVO.getPageSize());
-        List<IpVolumeMissionBo> ipVolumeMissionBos = ipVolumeMissionMapper.listAllByClientId();
+        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        if (r) {
+            eq = Wrappers.lambdaQuery(IpVolumeMission.class).eq(IpVolumeMission::getUserId, SecurityUtils.getUserId());
+        } else {
+            eq = Wrappers.lambdaQuery(IpVolumeMission.class).eq(IpVolumeMission::getClientId, SecurityUtils.getUserId());
+        }
+        if (!keyword.isEmpty()) {
+            eq.like(IpVolumeMission::getMissionName, keyword);
+        }
+        List<IpVolumeMission> list = list(eq);
 
-        for (IpVolumeMissionBo missionBo: ipVolumeMissionBos) {
-            missionBo.setFileNames(broadcastV2TaskFileService.findByTaskid(missionBo.getTaskId()));
+
+        //  ipVolumeMissionBos = ipVolumeMissionMapper.listAllByClientId();
+
+        for (IpVolumeMission mission : list) {
+            List<String> fileName = broadcastV2TaskFileService.findByTaskid(mission.getTaskId());
+            IpVolumeMissionBo bo = new IpVolumeMissionBo();
+            BeanUtils.copyProperties(mission, bo);
+            bo.setFileNames(fileName);
+            ipVolumeMissionBos.add(bo);
 
         }
+
+//        for (IpVolumeMissionBo missionBo: ipVolumeMissionBos) {
+//            missionBo.setFileNames(broadcastV2TaskFileService.findByTaskid(missionBo.getTaskId()));
+//
+//        }
 
         return ipVolumeMissionBos;
         //return new ArrayList<>();
     }
 
-    public void setMissionToData(Long missionId, List<Long> dateIds) {
-
-
-        // tudo
-
-
-    }
-    public IpVolumeMission getByTaskId(Integer taskId){
+    public IpVolumeMission getByTaskId(Integer taskId) {
         TaskVO task = TaskAPIUtils.getTask(taskId);
-        if(task==null){
+        if (task == null) {
             throw new BusinessException("鏈嶅姟鍣ㄦ湭鎵惧埌璇ヤ换鍔�");
         }
 
         IpVolumeMission byId = getById(taskId);
-        if(byId==null){
+        if (byId == null) {
             throw new BusinessException("鏈湴鏈壘鍒拌浠诲姟");
         }
+        if (SecurityUtils.getClientId() != null) {
+            if (clientService.findClientId()) {
+                if (byId.getUserId() != SecurityUtils.getUserId()) {
+                    throw new BusinessException("浠诲姟褰掑睘閿欒");
+                }
 
-        byId.setWeeks("0"+Integer.toBinaryString(byId.getWeek()));
+            } else {
+                if (byId.getClientId() != SecurityUtils.getUserId()) {
+                    throw new BusinessException("浠诲姟褰掑睘閿欒");
+                }
+            }
+
+
+        }
+
+        byId.setWeeks("0" + Integer.toBinaryString(byId.getWeek()));
+
+//        IpVolumeMissionBo bo = new IpVolumeMissionBo();
+        List<BroadcastV2TaskFile> taskFiles = broadcastV2TaskFileService.list(Wrappers.lambdaQuery(BroadcastV2TaskFile.class)
+                .eq(BroadcastV2TaskFile::getTaskId, taskId));
+        List<BroadcastV2TaskTerminal> taskTerminals = broadcastV2TaskTerminalService.list(Wrappers.lambdaQuery(BroadcastV2TaskTerminal.class)
+                .eq(BroadcastV2TaskTerminal::getTaskId, taskId));
+
+//        if(taskFiles.isEmpty()||taskTerminals.isEmpty()){
+//            throw new BusinessException("");
+//        }
+        if(!taskFiles.isEmpty()){
+               taskFiles.forEach(
+                       fileId->{
+//                           IpVolumeFile volumeFile = ipVolumeFileService.getById(fileId.getFileId());
+//                           if(volumeFile==null){
+//                               throw new BusinessException("浠诲姟鏂囦欢涓嶅瓨鍦�");
+//                           }
+                           byId.getFileIds().add(fileId.getFileId());
+                       }
+               );
+
+        }
+        if(!taskTerminals.isEmpty()){
+            taskTerminals.forEach(
+                    terminalId->{
+//                        BroadcastTerminalV2Entity v2Entity = ipVolumeService.getById(terminalId.getTerminalId());
+//                        if(v2Entity==null){
+//                            throw new BusinessException("璇ヤ换鍔℃殏鏃犺澶囦娇鐢�");
+//                        }
+                        byId.getTerminalIds().add(terminalId.getTerminalId());
+                    }
+            );
+        }
 
         return byId;
 

--
Gitblit v1.9.3