2021与蓝度共同重构项目,服务端
liuhaonan
2022-07-21 38b60d99fc04db878c43cb9f6d03476a30979be6
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package com.sandu.ximon.admin.utils;
 
import com.alibaba.fastjson.JSON;
import com.sandu.common.execption.BusinessException;
import com.sandu.ximon.admin.config.BroadcastAPI;
import com.sandu.ximon.admin.utils.request.CommonRequestParams;
import com.sandu.ximon.admin.utils.response.CommonResponseVO;
import com.sandu.ximon.admin.utils.response.DataResponseVO;
import com.sandu.ximon.admin.vo.ListDataResponseVO;
import com.sandu.ximon.admin.dto.TerminalDto;
import com.sandu.ximon.admin.vo.TerminalVO;
import jodd.bean.BeanCopy;
import jodd.bean.BeanUtil;
import org.springframework.beans.BeanUtils;
 
import java.util.ArrayList;
import java.util.List;
 
public class TerminalAPIUtils {
 
    /**
     * 获取终端服务器对象
     *
     * @param terminalId
     * @return
     */
    public static TerminalDto getTerminalInfo(Integer terminalId) {
        DataResponseVO responseVO = JSON.parseObject(
                BroadcastPostUtils.Post(
                        new CommonRequestParams().put("id", terminalId).getParams(),
                        BroadcastAPI.GET_TERMINAL.getUrl(),
                        CharUtils.GBK),
                DataResponseVO.class
        );
 
        TerminalVO bean = responseVO.convert(TerminalVO.class);
 
        TerminalDto terminalDto = new TerminalDto();
        BeanUtils.copyProperties(bean, terminalDto);
        //根据API上的更新字段做赋值修改
        terminalDto.setVolumn(bean.getVolume());
        terminalDto.setDefaultVolumn(bean.getFirstVol());
        terminalDto.setDefaultPower(bean.getFirstPower());
 
        return terminalDto;
    }
 
    /**
     * 获取终端服务器对象列表
     */
    public static List<TerminalDto> getTerminalList() {
        ListDataResponseVO responseVO = JSON.parseObject(
                BroadcastPostUtils.Post(
                        new CommonRequestParams().getParams(),
                        BroadcastAPI.GET_TERMINAL_LIST.getUrl(),
                        CharUtils.GBK),
                ListDataResponseVO.class
        );
 
        List<TerminalDto> list = new ArrayList<>();
        if (responseVO.covertTerminalList() != null) {
            for (TerminalVO bean : responseVO.covertTerminalList()) {
                TerminalDto terminalDto = new TerminalDto();
                BeanUtils.copyProperties(bean, terminalDto);
                //根据API上的更新字段做赋值修改
                terminalDto.setVolumn(bean.getVolume());
                terminalDto.setDefaultVolumn(bean.getFirstVol());
                terminalDto.setDefaultPower(bean.getFirstPower());
                list.add(terminalDto);
            }
        }
        return list;
    }
 
    /**
     * 更新播放终端
     *
     * @param terminalId
     * @param terminalVO
     * @param userId
     * @return
     */
    public static boolean updateTerminal(Integer terminalId, TerminalVO terminalVO, Long userId) {
        CommonResponseVO responseVO = JSON.parseObject(
                BroadcastPostUtils.Post(
                        new CommonRequestParams()
                                .put("id", terminalId)
                                .put("data", JSON.toJSONString(terminalVO))
                                .getParams(),
                        BroadcastAPI.UPDATE_TERMINAL.getUrl(),
                        CharUtils.GBK),
                CommonResponseVO.class
        );
        if (responseVO.isOK()) {
//            log("修改播放终端(id:"+terminalId+", name:"+terminalVO.getName()+")",userId,null);
            return true;
        }
//        logError("修改播放终端失败!(id:"+terminalId+", name:"+terminalVO.getName()+")",userId,null);
        return false;
    }
 
    /**
     * 删除播放终端
     *
     * @param terminalId
     * @param userId
     * @return
     */
    public static boolean delTerminal(Integer terminalId, Long userId) {
        CommonResponseVO responseVO = JSON.parseObject(
                BroadcastPostUtils.Post(
                        new CommonRequestParams()
                                .put("id", terminalId)
                                .getParams(),
                        BroadcastAPI.DEL_TERMINAL.getUrl(),
                        CharUtils.GBK),
                CommonResponseVO.class
        );
        if (responseVO.isOK()) {
//            log("删除播放终端(id:"+terminalId+")",userId,null);
            return true;
        }
//        logError("删除播放终端失败!(id:"+terminalId+")",userId,null);
        return false;
    }
 
    /**
     * 修改终端音量
     *
     * @param terminalId
     * @param defaultVolumn
     */
    public static boolean changeVol(Integer terminalId, Integer defaultVolumn) {
        TerminalDto terminalInfo = getTerminalInfo(terminalId);
        if (terminalInfo == null) {
            throw new BusinessException("IP音柱硬件设备不存在");
        }
        terminalInfo.setDefaultVolumn(defaultVolumn);
        terminalInfo.setVolumn(defaultVolumn);
        CommonResponseVO responseVO = JSON.parseObject(
                BroadcastPostUtils.Post(
                        new CommonRequestParams()
                                .put("id", terminalId)
                                .put("data", terminalInfo)
                                .getParams(),
                        BroadcastAPI.UPDATE_TERMINAL.getUrl(),
                        CharUtils.GBK),
                CommonResponseVO.class
        );
        if (responseVO.isOK()) {
            return true;
        }
        return false;
    }
 
 
}