2021与蓝度共同重构项目,服务端
liuhaonan
2022-01-04 881b19b376d4df2e82badff6691f27c5827c7c57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package com.sandu.ximon.admin.service;
 
import com.alibaba.fastjson.JSON;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.PlayPlanParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.dao.domain.PlayPlanNv;
import com.sandu.ximon.dao.domain.PushToLed;
import com.sandu.ximon.dao.enums.AdministratorEnums;
import com.sandu.ximon.dao.mapper.PlayPlanNvMapper;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * 播放计划
 */
@Service
@AllArgsConstructor
public class PlayPlanNvService extends BaseServiceImpl<PlayPlanNvMapper, PlayPlanNv> {
 
    private final PlayPlanNvMapper playPlanMapper;
 
    public boolean addPlan(PlayPlanParam playPlanParam) {
 
        PlayPlanNv playPlan = new PlayPlanNv();
        if (AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
            playPlan.setUserId(SecurityUtils.getUserId());
        }
        playPlan.setName(playPlanParam.getName());
       /* playPlan.setLedProgramName(playPlanParam.getLedProgramName());
        playPlan.setLedProgramId(playPlanParam.getLedProgramId());
        playPlan.setVolume(playPlanParam.getVolume());
        playPlan.setApplySeries(playPlanParam.getApplySeries());
        playPlan.setStartDate(playPlanParam.getStartDate());
        playPlan.setEndDate(playPlanParam.getEndDate());
        playPlan.setWeekDays(playPlanParam.getWeekDays());
        playPlan.setSchedule(playPlanParam.getSchedule());
        playPlan.setStartTime(playPlanParam.getStartTime());
        playPlan.setEndTime(playPlanParam.getEndTime());*/
        BeanUtils.copyProperties(playPlanParam, playPlan);
 
        return save(playPlan);
 
    }
 
    public boolean updatePlan(Long id, PlayPlanParam playPlanParam) {
        PlayPlanNv byId = getById(id);
        if (byId == null) {
            throw new BusinessException("操作对象不存在");
        }
        PlayPlanNv playPlan = new PlayPlanNv();
        playPlan.setId(id);
        playPlan.setName(playPlanParam.getName());
        playPlan.setLedProgramName(playPlanParam.getLedProgramName());
        playPlan.setLedProgramId(playPlanParam.getLedProgramId());
        playPlan.setVolume(playPlanParam.getVolume());
        playPlan.setApplySeries(playPlanParam.getApplySeries());
        playPlan.setStartDate(playPlanParam.getStartDate());
        playPlan.setEndDate(playPlanParam.getEndDate());
        playPlan.setWeekDays(playPlanParam.getWeekDays());
        playPlan.setSchedule(playPlanParam.getSchedule());
        playPlan.setStartTime(playPlanParam.getStartTime());
        playPlan.setEndTime(playPlanParam.getEndTime());
 
        return updateById(playPlan);
 
    }
 
    public boolean deletePlan(Long id) {
        PlayPlanNv byId = getById(id);
        if (byId == null) {
            throw new BusinessException("操作对象不存在");
        }
 
        return removeById(id);
 
    }
 
    public Map<String, Object> 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<>();
 
        push.put("playerIds",playerIds);
        push.put("pages",pages);
        push.put("schedule",schedule);
        push.put("noticeUrl","这里是回调地址");
 
        return push;
 
    }
}