2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-08-15 edbb2fe4eabbb7c526fb2f7313bead37d38928e2
ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java
@@ -1,11 +1,14 @@
package com.sandu.ximon.admin.service;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.config.RealtimeServerBean;
import com.sandu.ximon.admin.entity.*;
@@ -20,6 +23,7 @@
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity;
import com.sandu.ximon.dao.enums.OrderByEnums;
import com.sandu.ximon.dao.mapper.PoleXixunPlayerEntityMapper;
import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
@@ -63,6 +67,40 @@
                        }).like(PoleXixunPlayerEntity::getProgramName, keyword);
            }
        }
    }
    public List<PoleXixunPlayerEntity> listProgram(BaseConditionVO baseConditionVO, Integer order, Integer seq, String keyword) {
        LambdaQueryWrapper<PoleXixunPlayerEntity> wrapper = XixunPlayerList(keyword);
        //排序字段
        String orderByResult = "program_id";
        //正序、倒叙
        String orderBySeq = OrderByEnums.ASC.getCode();
        if (order != null) {
            switch (order) {
                case 1:
                    orderByResult = OrderByEnums.LED_S_PROGRAM_CREATE_TIME.getCode();
                    break;
                default:
            }
        }
        if (seq != null) {
            switch (seq) {
                case 1:
                    orderBySeq = " ASC";
                    break;
                case 2:
                    orderBySeq = " DESC";
                    break;
                default:
                    break;
            }
        }
        //排序方式
        String orderBy = orderByResult + " " + orderBySeq;
        if (baseConditionVO != null) {
            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), orderBy);
        }
        return list(wrapper);
    }
    public boolean insert(ProgramPro programPro) {
@@ -167,7 +205,7 @@
        try {
            Gson gson = new GsonBuilder().disableHtmlEscaping().create();
//            programPro = JsonUtil.convertJsonStringToObject(json, ProgramPro.class);
            programPro=gson.fromJson(json,ProgramPro.class);
            programPro = gson.fromJson(json, ProgramPro.class);
            programPro.setProgramId(pid);
            programPro.setScreenShot(byId.getScreenShot());
            programPro.getLayers().forEach(
@@ -225,10 +263,12 @@
                layerPro.getSources().forEach(sourcePro -> {
                    long fileId = Long.parseLong(sourcePro.getId());
                    LedSFile file = xiXunFileService.getById(fileId);
                    String fileUrl = file.getFileUrl();
                    String[] split = fileUrl.split("/");
                    sourcePro.setId(split[split.length - 1]);
                    sourcePro.setMd5(file.getMd5());
                    if (file != null) {
                        String fileUrl = file.getFileUrl();
                        String[] split = fileUrl.split("/");
                        sourcePro.setId(split[split.length - 1]);
                        sourcePro.setMd5(file.getMd5());
                    }
                });
            });
        } catch (Exception e) {
@@ -262,6 +302,8 @@
        Gson gson = new GsonBuilder().disableHtmlEscaping().create();
        String jsondata = gson.toJson(xixun);
        System.out.println("推送内容" + JSONUtil.toJsonStr(jsondata));
        Collection<PoleLightemitEntity> poleLightemitEntities = poleLightemitService.listByIds(lightemitIds);
@@ -324,6 +366,7 @@
        Integer screenHeight = Integer.parseInt(lightemitUtils.getScreenHeight(lightemitControlCode));
        String size = String.valueOf(screenHeight / 18);
        //字幕主体拼接
        //TODO
        String body =
                "<head><style type=\"text/css\">body{background-color:#000;}</style></head>" +
                        "<p style=\"font-size:" + size + "px;line-height:17px;color:#fff\">" +