2021与蓝度共同重构项目,服务端
liuhaonan
2022-02-10 a34d02ea17cfaeec1e576b9ac5100ed60b5f4b9e
功能完善
已修改9个文件
179 ■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/mapper/IpVolumeMissionMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/IpVolumeMissionMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/IpVolumeMissionController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}