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 任务归属 } 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> 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 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) { 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));////////////// } 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; } 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("---------------------------"); // 向IP音柱服务器添加任务 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代表有上级客户 查询通过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){ 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); } 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; } }