2021与蓝度共同重构项目,服务端
liuhaonan
2022-11-04 e55c8b0a92eb9715edd90c31dfd4de51a47b588b
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) {
@@ -137,22 +175,21 @@
        return updateResult;
    }
    public boolean deleteProgram(Long pid) {
        PoleXixunPlayerEntity byId = getById(pid);
        if (byId == null) {
    public boolean deleteProgram(List<Long> pids) {
        List<PoleXixunPlayerEntity> poleXixunPlayerEntities = listByIds(pids);
        if (poleXixunPlayerEntities.isEmpty()) {
            throw new BusinessException("未找到该节目");
        }
        /**
         * 熙汛节目删除日志记录开始
         */
        String content = "{删除的节目id:" + byId.getProgramId()
                + ", 删除的节目名称:" + byId.getProgramName()
        String content = "{删除的节目id:" + pids
                + " }";
        StoreOperationRecordsUtils.storeOperationData(null, null, "熙汛节目删除", content);
        /**
         * 熙汛节目删除日志记录结束
         */
        return removeById(pid);
        return removeByIds(pids);
    }
    public Object getByPid(Long pid) {
@@ -167,7 +204,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 +262,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 +301,8 @@
        Gson gson = new GsonBuilder().disableHtmlEscaping().create();
        String jsondata = gson.toJson(xixun);
        System.out.println("推送内容" + JSONUtil.toJsonStr(jsondata));
        Collection<PoleLightemitEntity> poleLightemitEntities = poleLightemitService.listByIds(lightemitIds);
@@ -366,19 +407,6 @@
                    lightemitUtils.clearPlayerTask(lightemitControlCode);
                    //推送最后命令
                    lightemitUtils.sendLastCommand(lightemitControlCode);
                    /**
                     * 熙汛大气数据推送日志记录开始
                     //                     */
//                    String content = "{设备code:" + lightemitControlCode
//                            + ", 推送内容:" + body
//                            + " }";
//                    List<String> listCode = new ArrayList<>();
//                    listCode.add(lightemitControlCode);
//                    StoreOperationRecordsUtils.storeOperationData(listCode, null, "熙汛大气数据推送", content);
                    /**
                     * 熙汛大气数据推送日志记录结束
                     */
                }
            }, 60 * 1000);
        }