2021与蓝度共同重构项目,服务端
liuhaonan
2022-06-23 78c7b03e279cad29a6123e83da738edc1f00280c
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.VnnoxConstant;
import com.sandu.ximon.admin.dto.PlanDto;
import com.sandu.ximon.admin.dto.SchedulesDTO;
@@ -14,6 +15,7 @@
import com.sandu.ximon.admin.entity.Plans;
import com.sandu.ximon.admin.param.PlayPlanParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.VnnoxAPIUtil;
import com.sandu.ximon.admin.utils.VnnoxProgramAPIUtil;
import com.sandu.ximon.admin.utils.response.VnnoxResultResponse;
@@ -21,6 +23,7 @@
import com.sandu.ximon.admin.vo.NovaPushResultVO;
import com.sandu.ximon.admin.vo.PlansVO;
import com.sandu.ximon.dao.domain.LEDProgram;
import com.sandu.ximon.dao.domain.LedPlayerEntity;
import com.sandu.ximon.dao.domain.PlayPlanNv;
import com.sandu.ximon.dao.domain.PushToLed;
import com.sandu.ximon.dao.mapper.PlayPlanNvMapper;
@@ -118,8 +121,29 @@
        playPlan.setEndTime(playPlanParam.getEndTime());
        //  BeanUtils.copyProperties(playPlanParam, playPlan);
        /**
         * 诺瓦定时任务/播放计划新增日志记录开始
         */
        boolean save = save(playPlan);
        String content = "{播放计划:" + playPlan.getId()
                + ", 节目名称:" + byId.getName()
                + ", 播放计划计划名称:"
                + playPlan.getName()
                + ", 播放计划计划内容:"
                + JSON.toJSONString(playPlan)
                + ", 定时任务内容:" + playPlan.getSchedules()
                + "}," + " 推送结果:" + save
                + " }";
        if (playPlanParam.getId() == null) {
            StoreOperationRecordsUtils.storeOperationData(null, null, "诺瓦定时任务/播放计划新增", content);
        } else {
            StoreOperationRecordsUtils.storeOperationData(null, null, "诺瓦定时任务/播放计划修改", content);
        }
        /**
         * 诺瓦定时任务/播放计划新增日志记录结束
         */
        return save(playPlan);
        return save;
    }
@@ -129,6 +153,7 @@
            throw new BusinessException("操作对象不存在");
        }
        if (removeById(id)) {
            playPlanParam.setId(id);
            return addPlan(playPlanParam);
        }
@@ -148,6 +173,7 @@
    public Map<String, Object> pushToLed(Long planId, List<NovaPushResultVO> nova) {
        PushToLed pushToLed = playPlanMapper.pushToLed(planId);
        PlayPlanNv byId = getById(planId);
        if (pushToLed == null) {
            throw new BusinessException("未找到该播放计划");
        }
@@ -205,6 +231,25 @@
        result.put("success", successList);
        result.put("fail", faileList);
        /**
         * 诺瓦推送节目日志记录开始
         */
        List<LedPlayerEntity> list = SpringContextHolder.getBean(LedPlayerEntityService.class)
                .list(Wrappers.lambdaQuery(LedPlayerEntity.class).in(LedPlayerEntity::getId, nova.stream().map(NovaPushResultVO::getPlayerId).toArray()));
        List<String> listCode = new ArrayList<>();
        for (LedPlayerEntity temp : list) {
            listCode.add(temp.getSn());
        }
        String content = "{节目ID:" + planId
                + ", 节目名称:" + byId.getName()
                + "}," + " 推送结果:" + result
                + " }";
        StoreOperationRecordsUtils.storeOperationData(listCode, null, "诺瓦推送播放计划", content);
        /**
         * 诺瓦推送节目日志记录结束
         */
        return result;
    }
@@ -212,6 +257,9 @@
    //推送定时到LED
    public Map<String, Object> pushSchedule(Long planId, List<NovaPushResultVO> nova) {
        PlayPlanNv one = getOne(Wrappers.lambdaQuery(PlayPlanNv.class).eq(PlayPlanNv::getId, planId));
        if (one == null) {
            throw new BusinessException("未找到节目");
        }
        List<SchedulesDTO> schedulesDTOS = JSON.parseArray(one.getSchedules(), SchedulesDTO.class);
        ProgramSchedule programSchedule = new ProgramSchedule();
        programSchedule.setSchedules(schedulesDTOS);
@@ -250,6 +298,25 @@
        result.put("success", successList);
        result.put("fail", faileList);
        /**
         * 诺瓦推送定时日志记录开始
         */
        List<LedPlayerEntity> list = SpringContextHolder.getBean(LedPlayerEntityService.class)
                .list(Wrappers.lambdaQuery(LedPlayerEntity.class).in(LedPlayerEntity::getId, nova.stream().map(NovaPushResultVO::getPlayerId).toArray()));
        List<String> listCode = new ArrayList<>();
        for (LedPlayerEntity temp : list) {
            listCode.add(temp.getSn());
        }
        String content = "{节目ID:" + one.getId()
                + ", 节目名称:" + one.getName()
                + "}," + " 推送结果:" + result
                + " }";
        StoreOperationRecordsUtils.storeOperationData(listCode, null, "诺瓦推送定时开关屏", content);
        /**
         * 诺瓦推送定时日志记录结束
         */
        return result;
    }