2021与蓝度共同重构项目,服务端
liuhaonan
2022-02-14 930f0e76c430a3450144aedac9628b3e9af2ed9d
ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
@@ -8,11 +8,11 @@
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;
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;
@@ -20,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;
@@ -41,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,8 +113,7 @@
        System.out.println("---------------------------");
        //  向IP音柱服务器添加任务
        Integer taskId = TaskAPIUtils.addTask(missionparam);
       // System.out.println("---------------------------");
        //Integer taskId = 1111;
//        Integer taskId = 1111;
        if (null != taskId && taskId != 0) {
            IpVolumeMission byId = getById(taskId);
@@ -118,7 +123,7 @@
            for (BroadcastV2TaskFile v2TaskFile :taskFileEntityList) {
                v2TaskFile.setTaskId(taskId);
            }
            if (null == byId) {
            if (byId==null) {
                //  向数据库添加该任务记录
                IpVolumeMission mission = new IpVolumeMission();
@@ -152,13 +157,16 @@
                mission.setMissionVolume(missionparam.getMissionVolume());
                mission.setMissionFileUrl(missionparam.getFiles().toString());
                mission.setNumberInPlay(missionparam.getTerminals().length);
                System.out.println(updateById(mission));
                System.out.println("----------------------------------------------------------");
             /*   System.out.println(updateById(mission));
                System.out.println("----------------------------------------------------------");*/
            }
            broadcastV2TaskFileService.deleteByTaskId(taskId);
            broadcastV2TaskTerminalService.deleteByTaskId(taskId);
            broadcastV2TaskTerminalService.saveBatch(taskTerminalEntityList);
//            broadcastV2TaskTerminalService.removeById(taskId);
            broadcastV2TaskTerminalService.saveTaskTerminal(taskTerminalEntityList);
            broadcastV2TaskFileService.saveBatch(taskFileEntityList);
//            broadcastV2TaskTerminalService.saveBatch(taskTerminalEntityList);
//            broadcastV2TaskTerminalService.insertTaskTerminal(taskTerminalEntityList);
            return true;
        } else {
@@ -310,32 +318,76 @@
    }
    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) {
    public IpVolumeMission getByTaskId(Integer taskId){
        TaskVO task = TaskAPIUtils.getTask(taskId);
        if(task==null){
            throw new BusinessException("服务器未找到该任务");
        }
        IpVolumeMission byId = getById(taskId);
        if(byId==null){
            throw new BusinessException("本地未找到该任务");
        }
        byId.setWeeks("0"+Integer.toBinaryString(byId.getWeek()));
        return byId;
        // tudo
    }
    public boolean playTask(Integer taskId) {
        return TaskAPIUtils.playTask(taskId);
    }