2021与蓝度共同重构项目,服务端
liuhaonan
2022-01-18 084da21b87bddb997ab627a4ef1899230a3a293a
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
package com.sandu.ximon.admin.service;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.config.XiXunConfig;
import com.sandu.ximon.admin.entity.*;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.JsonUtil;
import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity;
import com.sandu.ximon.dao.mapper.PoleXixunPlayerEntityMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
 
import java.text.SimpleDateFormat;
import java.util.*;
 
@Service
@AllArgsConstructor
public class XiXunPlayerService extends BaseServiceImpl<PoleXixunPlayerEntityMapper, PoleXixunPlayerEntity> {
 
    private final PoleXixunPlayerEntityMapper poleXixunPlayerEntityMapper;
    private final XiXunConfig config;
 
 
    public void insert(ProgramPro programPro, Long userId) {
        SimpleDateFormat sdf=new SimpleDateFormat("yy-MM-dd HH:mm:ss");
        Date date = new Date();
//        Program program = new Program();
//        try {
//            program = JsonUtil.convertJsonStringToObject(json,Program.class);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
        String json = JsonUtil.jsonObj2Sting(programPro);
        PoleXixunPlayerEntity poleXixunPlayer = new PoleXixunPlayerEntity();
        poleXixunPlayer.setProgramCode(programPro.get_id());
        poleXixunPlayer.setProgramName(programPro.getName());
        poleXixunPlayer.setHeight(programPro.getHeight());
        poleXixunPlayer.setWidth(programPro.getWidth());
        poleXixunPlayer.setTotalSize((float) programPro.getTotalSize()/1000000+"MB");
        poleXixunPlayer.setRequestBody(json);
        poleXixunPlayer.setCreatTime(sdf.format(date));
        poleXixunPlayer.setCreateUserId(SecurityUtils.getClientId());
 
        this.save(poleXixunPlayer);
    }
 
    public void videoXixunPlayer(long programId,Long[] lightemitIds) {
 
        ProgramPro pro = new ProgramPro();
        ItemPro items = new ItemPro();
        TaskPro taskPro = new TaskPro();
        CommandPro command = new CommandPro();
        XixunPlayerPro xixun = new XixunPlayerPro();
        PoleXixunPlayerEntity poleXixunPlayerEntity = new PoleXixunPlayerEntity();
        items.set_id(UUID.randomUUID().toString());
        QueryWrapper<PoleXixunPlayerEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("program_id",programId);
        poleXixunPlayerEntity = this.getOne(queryWrapper);
        String json = poleXixunPlayerEntity.getRequestBody();
        try {
            pro = JsonUtil.convertJsonStringToObject(json, ProgramPro.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
        items.set_program(pro);
        items.setRepeatTimes(1);
        items.setSchedulePros(null);//定时段,不做定时可为null
        taskPro.set_id(UUID.randomUUID().toString());
        taskPro.setName(poleXixunPlayerEntity.getProgramName());
        List<ItemPro> list2=new ArrayList<ItemPro>();
        list2.add(items);
        taskPro.setItems(list2);
        command.setId(UUID.randomUUID().toString());
        //这里是下方的post回调地址,需要修改IP地址
        command.setNotificationURL("http://" + config.getIp() + ":" + config.getPort() + "/machine-fast/serv/download/getJSON");
        //资源下载链接的请求头
//        command.setPreDownloadURL("http://" + config.getIp() + ":" + config.getPort() + "/machine-fast/serv/download/downliadFileById/");
//        command.setTask(taskPro);
//        xixun.set_id(UUID.randomUUID().toString());
//        xixun.setCommand(command);
//        xixun.setType("commandXixunPlayer");    //命令固定类型,不可更改
 
 
        Gson gson = new GsonBuilder().disableHtmlEscaping().create();
//        String jsondata = JSON.toJSONString(xixun);
        String jsondata = gson.toJson(xixun);
 
       /* Collection<PoleLightemitEntity> poleLightemitEntities = poleLightemitService.listByIds(Arrays.asList(lightemitIds));
 
        if(poleLightemitEntities != null){
            for (PoleLightemitEntity entity: poleLightemitEntities) {
                lightemitUtils.clear(entity.getLightemitControlCode());
                poleLightemitService.updateRequestBody(entity.getLightemitControlCode(), jsondata);
                lightemitUtils.post(realtimeServerBean.getCommand() + entity.getLightemitControlCode(), jsondata);
            }
        }*/
    }
 
}