2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-07 14ce780fb9977acad2b6dabf9033635b076f590b
Changes
已修改9个文件
78 ■■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/domain/PlayPlanNv.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/PushToLed.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/PlayPlanNvMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/PlayerProgram.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/PlayPlanNv.java
@@ -4,15 +4,14 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sandu.common.mybatis.JsonIntegerArrayTypeHandler;
import com.sandu.ximon.dao.bo.SchedulesDTO;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
 * 播放计划表
@@ -103,12 +102,20 @@
    private String endTime;
    /**
     * schedule实体
     * 定时schedule实体
     */
    @JsonIgnore
    private String schedule;
    /**
     * 节目用schedules实体
     */
    @JsonIgnore
    private String schedules;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
dao/src/main/java/com/sandu/ximon/dao/domain/PushToLed.java
@@ -13,6 +13,6 @@
@Data
public class PushToLed implements Serializable {
    private String schedule;
    private String schedules;
    private String pages;
}
dao/src/main/resources/mapper/PlayPlanNvMapper.xml
@@ -20,6 +20,7 @@
        <result property="startTime" column="start_time" jdbcType="VARCHAR"/>
        <result property="endTime" column="end_time" jdbcType="VARCHAR"/>
        <result property="schedule" column="schedule" jdbcType="VARCHAR"/>
        <result property="schedules" column="schedules" jdbcType="VARCHAR"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
@@ -35,7 +36,7 @@
    <select id="pushToLed" resultType="com.sandu.ximon.dao.domain.PushToLed" parameterType="java.lang.Long">
        SELECT
            t1.SCHEDULE,
            t1.SCHEDULEs,
            t2.pages
        FROM
            play_plan_nv t1
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
@@ -1,12 +1,12 @@
package com.sandu.ximon.admin.controller;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.PlayPlanParam;
import com.sandu.ximon.admin.security.PermissionConfig;
@@ -14,16 +14,13 @@
import com.sandu.ximon.admin.service.PlayPlanNvService;
import com.sandu.ximon.admin.vo.NovaPushResultVO;
import com.sandu.ximon.dao.bo.SchedulesDTO;
import com.sandu.ximon.dao.domain.Client;
import com.sandu.ximon.dao.domain.PlayPlanNv;
import com.sandu.ximon.dao.enums.AdministratorEnums;
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * @Author liuhaonan
@@ -57,6 +54,7 @@
        return ResponseUtil.success(playPlanNvService.deletePlan(plianIds));
    }
    @AnonymousAccess
    @PostMapping(value = "/push/{plianId}", produces = "application/json;charset=UTF-8")
    public ResponseVO<Object> pushToLed(@PathVariable Long plianId, @RequestBody List<NovaPushResultVO> playerIds) {
        return ResponseUtil.success(playPlanNvService.pushToLed(plianId, playerIds));
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
@@ -1,14 +1,11 @@
package com.sandu.ximon.admin.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.VnnoxParam;
import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.LedPlayerEntityService;
import com.sandu.ximon.admin.service.PoleBindingService;
import com.sandu.ximon.admin.service.PoleService;
@@ -17,10 +14,7 @@
import com.sandu.ximon.admin.utils.response.VnnoxResult;
import com.sandu.ximon.dao.domain.LedPlayerEntity;
import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.enums.AdministratorEnums;
import com.sandu.ximon.dao.enums.MenuEnum;
import com.sun.javafx.collections.MappingChange;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -82,6 +76,7 @@
    /**
     * 同步播放
     */
    @AnonymousAccess
    @PostMapping("/syncPlay")
    public ResponseVO<Object> syncPlay(@RequestBody Map map) {
        List playIdlist = (List)map.get("playIdlist");
@@ -93,6 +88,7 @@
    /**
     * ntp对时
     */
    @AnonymousAccess
    @PostMapping("/ntp")
    public ResponseVO<Object> ntp(@RequestBody Map map) {
        boolean enable = (boolean)map.get("enable");
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/PlayerProgram.java
@@ -1,7 +1,6 @@
package com.sandu.ximon.admin.dto.nova;
import com.sandu.ximon.admin.config.VnnoxConstant;
import com.sandu.ximon.admin.dto.SchedulesDTO;
import com.sandu.ximon.admin.utils.request.VnnoxRequest;
import lombok.Data;
@@ -17,8 +16,7 @@
    //  需要处理的播放器ID集合,最多支持100个播放器同时处理
    private List<String> playerIds;
    //  播放时间排期,如果为空,会全天24小时循环播放
//    private  List<SchedulesDTO> schedules;
    private  List<SchedulesDTO> schedules;
    private  Map schedules;
    //  需要播放的页面内容集合
    private  List<Map<String,Object>> pages ;
    //  节目下载进度通知接口,会通过此接口将节目的下载进度发给客户,接口的响应时间不能超过3s
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -660,7 +660,7 @@
        BigDecimal totalTime = (hour.add(min));
        BigDecimal energySaving = BigDecimal.valueOf((100 - v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24), 2);
        BigDecimal energySaving = BigDecimal.valueOf((100 - v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24));
        System.out.println(energySaving);
        return energySaving;
    }
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
@@ -103,7 +103,8 @@
            schedulesDTOS.add(openDto);
        }
        playPlan.setSchedule(JSON.toJSONString(schedulesDTOS));
        playPlan.setSchedule(JSON.toJSONString(playPlanParam.getSchedule()));
        playPlan.setSchedules(JSON.toJSONString(schedulesDTOS));
        playPlan.setStartTime(playPlanParam.getStartTime());
        playPlan.setEndTime(playPlanParam.getEndTime());
        //  BeanUtils.copyProperties(playPlanParam, playPlan);
@@ -154,24 +155,23 @@
        program.setPlayerIds(playerIds);
        System.out.println(pushToLed.getPages());
        //获取节目实体
        program.setPages(JSON.parseObject(pushToLed.getPages(), List.class));
//
//        test test = JSON.parseObject(pushToLed.getSchedule(), test.class);
//
//        SchedulesDTO schedulesDTO = new SchedulesDTO();
//        schedulesDTO.setExecTime(A.get);
        program.setSchedules((JSON.parseArray(pushToLed.getSchedule(), SchedulesDTO.class)));
        //获取节目定时实体
        program.setSchedules((JSON.parseObject(pushToLed.getSchedules(), Map.class)));
        //获取定时开关屏幕
//        program.setSchedules((JSON.parseArray(pushToLed.getSchedule(), SchedulesDTO.class)));
        // Map map = JSON.parseObject(pushToLed.getSchedule(), Map.class);
        program.setNoticeUrl(VnnoxConstant.NOTIFY_URL);
        VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.timeProgram(program);
//        VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.timeProgram(program);
        VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(program);
        VnnoxResult vnnoxResult = vnnoxAPIUtil.volChange(playerIds, Integer.valueOf(one.getVolume()).intValue());
        // VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(push);
        List<String> success = new ArrayList<>();
        List<String> fail = new ArrayList<>();
        if (vnnoxResultResponse.getData() != null) {
@@ -201,7 +201,6 @@
        return result;
        // return program;
    }
    /**
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java
@@ -39,6 +39,19 @@
        return JSON.parseObject(result,VnnoxResultResponse.class);
    }
    public VnnoxResultResponse normalProgram(PlayerProgram program) {
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.NORMAL_PROGRAM),
                program.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        System.out.println(program.toJson());
        LogUtils.error("节目播放response:"+result);
        return JSON.parseObject(result,VnnoxResultResponse.class);
    }
    /**
     * 定时节目播放
     * @param program