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);
|
}
|
}*/
|
}
|
|
}
|