From a34d02ea17cfaeec1e576b9ac5100ed60b5f4b9e Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期四, 10 二月 2022 22:38:09 +0800
Subject: [PATCH] 功能完善

---
 dao/src/main/resources/mapper/IpVolumeMissionMapper.xml                                   |   14 ++++
 dao/src/main/java/com/sandu/ximon/dao/mapper/IpVolumeMissionMapper.java                   |    2 
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java      |   12 ++-
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java            |    6 +
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/IpVolumeMissionController.java |    5 +
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java            |   52 ++++++++++++-----
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java            |    8 +-
 ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java                |    9 ++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java       |   71 +++++++++++++++++------
 9 files changed, 131 insertions(+), 48 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/IpVolumeMissionMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/IpVolumeMissionMapper.java
index 93c174f..04254ec 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/IpVolumeMissionMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/IpVolumeMissionMapper.java
@@ -16,6 +16,8 @@
 
    List<IpVolumeMissionBo> listAllByClientId();// todo 浠诲姟褰掑睘
 
+   List<IpVolumeMissionBo> listAllByUserId(Long userId);// todo 浠诲姟褰掑睘
+
 }
 
 
diff --git a/dao/src/main/resources/mapper/IpVolumeMissionMapper.xml b/dao/src/main/resources/mapper/IpVolumeMissionMapper.xml
index bd0b533..4a5a575 100644
--- a/dao/src/main/resources/mapper/IpVolumeMissionMapper.xml
+++ b/dao/src/main/resources/mapper/IpVolumeMissionMapper.xml
@@ -41,6 +41,20 @@
                 JOIN ip_volume_file t2
                 JOIN broadcast_v2_task_file t3 ON t1.task_id = t3.task_id
                 AND t2.id = t3.file_id group by task_id
+
+    </select>
+    <select id="listAllByUserId" resultType="com.sandu.ximon.dao.bo.IpVolumeMissionBo">
+        SELECT
+            t1.task_id,
+            t1.mission_name,
+            t1.number_in_play,
+            t1.create_time,
+            t1.user_name
+        FROM
+            ip_volume_mission t1
+                JOIN ip_volume_file t2
+                JOIN broadcast_v2_task_file t3 ON t1.task_id = t3.task_id
+                AND t2.id = t3.file_id group by task_id
     </select>
 
 
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/IpVolumeMissionController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/IpVolumeMissionController.java
index 5117e65..c76ab35 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/IpVolumeMissionController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/IpVolumeMissionController.java
@@ -31,6 +31,11 @@
         return ResponseUtil.success(ipVolumeMissionService.addMission(missionParam));
     }
 
+   /* @PostMapping("/add1")
+    public ResponseVO<Object> add1() {
+        return ResponseUtil.success(ipVolumeMissionService.add1());
+    }*/
+
     /**
      *
      * @param taskId
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
index fa8d1b2..c1329f8 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
@@ -17,6 +17,8 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * @Author liuhaonan
  * @Date 2021/12/21 13:58
@@ -38,14 +40,14 @@
         return ResponseUtil.success(playPlanNvService.updatePlan(planId, param));
     }
 
-    @PostMapping("/delete/{plianId}")
-    public ResponseVO<Object> deleteLEDPlan(@PathVariable Long plianId) {
-        return ResponseUtil.success(playPlanNvService.deletePlan(plianId));
+    @PostMapping("/delete")
+    public ResponseVO<Object> deleteLEDPlan(@RequestBody List<Long> plianIds) {
+        return ResponseUtil.success(playPlanNvService.deletePlan(plianIds));
     }
 
     @PostMapping("/push/{plianId}")
-    public ResponseVO<Object> pushToLed(@PathVariable Long plianId) {
-        return ResponseUtil.success(playPlanNvService.pushToLed(plianId));
+    public ResponseVO<Object> pushToLed(@PathVariable Long plianId,@RequestBody List<String> playerIds) {
+        return ResponseUtil.success(playPlanNvService.pushToLed(plianId,playerIds));
     }
     @GetMapping("/listPlan")
     public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
index 555e65f..89361b4 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -74,7 +74,7 @@
     /**
      * 璁剧疆涓夊厓鐮�
      */
-    @PostMapping("/setMac")
+    @PostMapping("/setMac/{baseMac}")
     public ResponseVO<Object> setMac(@PathVariable String baseMac) {
     //public ResponseVO<Object> setMac() {
         return ResponseUtil.success(poleService.setMac(baseMac));
@@ -118,10 +118,10 @@
         return ResponseUtil.success(statusList);
     }
 
-    @GetMapping("/ClientBindingPole")
-    public ResponseVO<Object> ClientBindingPole(@RequestParam long clientId, @RequestParam int poleId) {
+    @PostMapping("/ClientBindingPole")
+    public ResponseVO<Object> ClientBindingPole(@RequestBody long clientId, @RequestBody int[] poleIds) {
 
-        return ResponseUtil.success(poleService.ClientBindingPole(clientId, poleId));
+        return ResponseUtil.success(poleService.ClientBindingPole(clientId, poleIds));//////////////
     }
 
 
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java
index 38e95f4..4b97906 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java
@@ -1,12 +1,16 @@
 package com.sandu.ximon.admin.param;
 
+import com.sandu.ximon.admin.config.VnnoxConstant;
+import com.sandu.ximon.admin.utils.request.VnnoxRequest;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
 import java.util.Base64;
+import java.util.List;
+import java.util.Map;
 
 @Data
-public class LEDProgramParam {
+public class LEDProgramParam  {
 
 
     private Long id;
@@ -22,6 +26,7 @@
     /**
      * pages瀹炰綋
      */
-    private String pages;
+    private List<Map> pages;
+
 
 }
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 cffa561..09a422c 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,7 +8,6 @@
 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.vo.TaskMediaFileVO;
@@ -21,10 +20,12 @@
 import com.sandu.ximon.dao.domain.IpVolumeMission;
 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;
 
@@ -42,6 +43,10 @@
     private final BroadcastV2TaskFileService broadcastV2TaskFileService;
     private final BroadcastV2TaskTerminalService broadcastV2TaskTerminalService;
 
+
+    /*public boolean add1() {
+      return   broadcastV2TaskTerminalService.save();
+    }*/
     public boolean addMission(IpVolumeMissionParam missionparam) {
 
         String taskName = missionparam.getMissionName();
@@ -107,9 +112,9 @@
         missionparam.setTerminals(taskTerminalVOList.toArray(new TaskTerminalVO[taskTerminalVOList.size()]));
         System.out.println("---------------------------");
         //  鍚慖P闊虫煴鏈嶅姟鍣ㄦ坊鍔犱换鍔�
-        Integer taskId = TaskAPIUtils.addTask(missionparam);
+        //Integer taskId = TaskAPIUtils.addTask(missionparam);
        // System.out.println("---------------------------");
-        //Integer taskId = 1111;
+        Integer taskId = 1111;
 
         if (null != taskId && taskId != 0) {
             IpVolumeMission byId = getById(taskId);
@@ -158,8 +163,11 @@
             }
             broadcastV2TaskFileService.deleteByTaskId(taskId);
             broadcastV2TaskTerminalService.deleteByTaskId(taskId);
-            broadcastV2TaskTerminalService.saveBatch(taskTerminalEntityList);
+//            broadcastV2TaskTerminalService.removeById(taskId);
+            broadcastV2TaskTerminalService.saveTaskTerminal(taskTerminalEntityList);
             broadcastV2TaskFileService.saveBatch(taskFileEntityList);
+//            broadcastV2TaskTerminalService.insertTaskTerminal(taskTerminalEntityList);
+//            broadcastV2TaskTerminalService.saveBatch(taskTerminalEntityList);
 
             return true;
         } else {
@@ -311,33 +319,56 @@
 
     }
 
-    public List<IpVolumeMission> listMission(ReceiveParam receiveParam) {
-
-        LambdaQueryWrapper<IpVolumeMission> wrapper = Wrappers.lambdaQuery(IpVolumeMission.class).eq(IpVolumeMission::getClientId, SecurityUtils.getUserId()).like(IpVolumeMission::getMissionName, receiveParam.getKeyWord());
-
-        return list(wrapper);
-    }
+//    public List<IpVolumeMission> listMission(ReceiveParam receiveParam) {
+//
+//        LambdaQueryWrapper<IpVolumeMission> wrapper = Wrappers.lambdaQuery(IpVolumeMission.class).eq(IpVolumeMission::getClientId, SecurityUtils.getUserId()).like(IpVolumeMission::getMissionName, receiveParam.getKeyWord());
+//
+//        return list(wrapper);
+//    }
 
     public List<IpVolumeMissionBo> missionList(BaseConditionVO baseConditionVO,String keyword) {
         PageHelper.startPage(baseConditionVO.getPageNo(),baseConditionVO.getPageSize());
-        List<IpVolumeMissionBo> ipVolumeMissionBos = ipVolumeMissionMapper.listAllByClientId();
+        boolean r = clientService.findClientId();  //ture浠h〃鏈変笂绾у鎴�  鏌ヨ閫氳繃userID
 
-        for (IpVolumeMissionBo missionBo: ipVolumeMissionBos) {
-            missionBo.setFileNames(broadcastV2TaskFileService.findByTaskid(missionBo.getTaskId()));
+        List<IpVolumeMissionBo> ipVolumeMissionBos = new ArrayList<>();
+        LambdaQueryWrapper<IpVolumeMission> eq=new LambdaQueryWrapper<>();
+
+//        if(r.equals(-1L)){
+//            ipVolumeMissionBos = ipVolumeMissionMapper.listAllByClientId(r);
+//        }else {
+//            ipVolumeMissionBos = ipVolumeMissionMapper.listAllByUserId(SecurityUtils.getUserId());
+//        }
+        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);
+
+
+        //  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){
         TaskVO task = TaskAPIUtils.getTask(taskId);
         if(task==null){
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
index 31cdcad..9c8ffd5 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
@@ -1,5 +1,6 @@
 package com.sandu.ximon.admin.service;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.sandu.common.execption.BusinessException;
@@ -26,7 +27,8 @@
         }
         led.setName(receiveParam.getName());
         led.setPreview(receiveParam.getPreviewUrl());
-        led.setPages(receiveParam.getPages());
+        led.setPages(JSON.toJSONString(receiveParam.getPages()));
+//        led.setPages(JSONArray.fromObject(receiveParam.getPages()).toString());
         return save(led);
     }
 
@@ -43,7 +45,7 @@
         //led.setUserId(SecurityUtils.getClientId());
         led.setName(receiveParam.getName());
         led.setPreview(receiveParam.getPreviewUrl());
-        led.setPages(receiveParam.getPages());
+        led.setPages(receiveParam.getPages().toString());
         return updateById(led);
     }
 
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
index 8f1ed6c..9e3074f 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
@@ -3,8 +3,12 @@
 import com.alibaba.fastjson.JSON;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.ximon.admin.config.VnnoxConstant;
 import com.sandu.ximon.admin.param.PlayPlanParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.VnnoxProgramAPIUtil;
+import com.sandu.ximon.admin.utils.request.PlayerProgram;
+import com.sandu.ximon.admin.utils.response.VnnoxResultResponse;
 import com.sandu.ximon.dao.domain.PlayPlanNv;
 import com.sandu.ximon.dao.domain.PushToLed;
 import com.sandu.ximon.dao.enums.AdministratorEnums;
@@ -26,6 +30,7 @@
 public class PlayPlanNvService extends BaseServiceImpl<PlayPlanNvMapper, PlayPlanNv> {
 
     private final PlayPlanNvMapper playPlanMapper;
+    private final VnnoxProgramAPIUtil vnnoxProgramAPIUtil;
 
     public boolean addPlan(PlayPlanParam playPlanParam) {
 
@@ -73,33 +78,50 @@
 
     }
 
-    public boolean deletePlan(Long id) {
-        PlayPlanNv byId = getById(id);
-        if (byId == null) {
-            throw new BusinessException("鎿嶄綔瀵硅薄涓嶅瓨鍦�");
+    public boolean deletePlan(List<Long> ids) {
+        for(Long id:ids){
+            PlayPlanNv byId = getById(id);
+            if (byId == null) {
+                throw new BusinessException("閮ㄥ垎鎿嶄綔瀵硅薄涓嶅瓨鍦�");
+            }
         }
-
-        return removeById(id);
-
+        return removeByIds(ids);
     }
 
-    public Map<String, Object> pushToLed(Long planId){
+    public Map<String, Object> pushToLed(Long planId,List<String> playerIds){
+//    public PlayerProgram pushToLed(Long planId){
         PushToLed pushToLed = playPlanMapper.pushToLed(planId);
         if(pushToLed==null){
             throw new BusinessException("鏈壘鍒拌鎾斁璁″垝");
         }
-        List<String> playerIds=new ArrayList<>();
-        playerIds.add("led鐨勭紪鍙�");
-        List<Map<String,Object>> pages = JSON.parseObject(pushToLed.getPages(), List.class);
-        Map schedule = JSON.parseObject(pushToLed.getSchedule(), Map.class);
-        Map<String,Object> push=new HashMap<>();
+        //List<String> playerIds=new ArrayList<>();
+       // playerIds.add("872bb51ae0f06e70c21e913cf3dc9e4d");
+        //List<Map<String,Object>> pages = JSON.parseObject(pushToLed.getPages(), List.class);
+        PlayerProgram program=new PlayerProgram();
+        program.setPlayerIds(playerIds);
+        System.out.println(pushToLed.getPages());
 
+        System.out.println(JSON.parseArray(pushToLed.getPages(), Map.class));
+        program.setPages(JSON.parseObject(pushToLed.getPages(), List.class));
+        program.setSchedule(JSON.parseObject(pushToLed.getSchedule(), Map.class));
+        program.setNoticeUrl(VnnoxConstant.NOTIFY_URL);
+      /*  Map schedule = JSON.parseObject(pushToLed.getSchedule(), Map.class);
+        Map<String,Object> push=new HashMap<>();
         push.put("playerIds",playerIds);
         push.put("pages",pages);
         push.put("schedule",schedule);
-        push.put("noticeUrl","杩欓噷鏄洖璋冨湴鍧�");
+        push.put("noticeUrl", VnnoxConstant.SCREEN_SHOT_NOTIFY_URL);
+*/
+        VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(program);
+       // VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(push);
+        List<String> success = vnnoxResultResponse.getData().getSuccess();
+        List<String> fail = vnnoxResultResponse.getData().getFail();
+        Map<String,Object> result=new HashMap<>();
+        result.put("success",success);
+        result.put("fail",fail);
 
-        return push;
+        return result;
+       // return program;
 
     }
 }

--
Gitblit v1.9.3