2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-16 3b8877b6d8c13e37f8c7769282a2751b0faeb499
日志
已修改4个文件
226 ■■■■■ 文件已修改
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedScheduleService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -19,6 +19,7 @@
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.*;
import com.sandu.ximon.admin.utils.LightemitUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.vo.LedScheduleVO;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity;
@@ -337,19 +338,6 @@
    }
    /**
     * 测试
     *
     * @param
     * @return
     */
    @AnonymousAccess
    @PostMapping("/test/{str}")
    public ResponseVO<Object> setBrightness(@PathVariable String str) {
        return ResponseUtil.success(lightemitUtils.getIsScreenOpen(str));
    }
    /*
    设置亮度
   */
@@ -421,6 +409,15 @@
        if (!permissionConfig.check(MenuEnum.XIXUN_PLAN_DELETE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        /**
         * 熙汛定时删除
         */
        String content = "{删除的熙汛定时id:" + ids + " }";
        StoreOperationRecordsUtils.storeOperationData(null, null, "熙汛定时删除", content);
        /**
         * 熙汛定时删除
         */
        return ResponseUtil.success(scheduleService.removeByIds(ids));
    }
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedScheduleService.java
@@ -14,10 +14,11 @@
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.JsonUtil;
import com.sandu.ximon.admin.utils.LightemitUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.request.Schedules;
import com.sandu.ximon.admin.utils.request.TaskSchedules;
import com.sandu.ximon.admin.utils.request.requestbody.GetSchedules;
import com.sandu.ximon.admin.utils.request.requestbody.Task;
import com.sandu.ximon.admin.utils.request.TaskSchedules;
import com.sandu.ximon.admin.vo.LedScheduleVO;
import com.sandu.ximon.dao.domain.LedScheduleEntity;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
@@ -92,6 +93,15 @@
                ledScheduleEntity.setClientId(clientService.getClientId());
            }
        }
        /**
         * 熙汛定时更改
         */
        String content = "{熙汛定时id:" + ledScheduleEntity.getId() + ",熙汛定时名称:" + ledScheduleEntity.getName() + "熙汛定时内容:" + JSON.toJSONString(ledScheduleEntity.getSchedule()) + " }";
        StoreOperationRecordsUtils.storeOperationData(null, null, "熙汛定时更改", content);
        /**
         * 熙汛定时更改
         */
        return this.save(ledScheduleEntity);
    }
@@ -120,6 +130,23 @@
                lightemitUtils.post(realtimeServerBean.getCommand() + entity.getLightemitControlCode(), ledScheduleEntity.getSchedule());
            }
        }
        /**
         * 熙汛定时新增
         */
        String message = "";
        List<String> listCode = new ArrayList<>();
        for (PoleLightemitEntity entity : poleLightemitEntities) {
            listCode.add(entity.getLightemitControlCode());
            message += "[屏幕Code:" + entity.getLightemitControlCode() + "屏幕名称:" + entity.getLightemitName() + "],";
        }
        String content = "{熙汛定时id:" + ledScheduleEntity.getId() + ",熙汛定时名称:" + ledScheduleEntity.getName() + "熙汛屏幕信息:" + message + " }";
        StoreOperationRecordsUtils.storeOperationData(listCode, null, "熙汛定时更改", content);
        /**
         * 熙汛定时新增
         */
    }
    public boolean updateSchedule(LEDScheduleParam_xixun paramXixun) {
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -75,8 +75,7 @@
        /**
         * 新增虚拟灯杆日志记录开始
         */
        String content = "{灯杆ID:" + pole.getId()
                + ", 灯杆名:" + param.getPoleName() + "}";
        String content = "{灯杆ID:" + pole.getId() + ", 灯杆名:" + param.getPoleName() + "}";
        StoreOperationRecordsUtils.storeOperationData(null, null, "新增虚拟灯杆", content);
        /**
         * 新增虚拟灯杆日志记录结束
@@ -164,8 +163,7 @@
        if (SecurityUtils.getClientId() == null) {
            wrapper = Wrappers.lambdaQuery(Pole.class);
        } else {
            wrapper = Wrappers.lambdaQuery(Pole.class).eq(Pole::getClientId, SecurityUtils.getUserId()).or(
                    w -> {
            wrapper = Wrappers.lambdaQuery(Pole.class).eq(Pole::getClientId, SecurityUtils.getUserId()).or(w -> {
                        w.eq(Pole::getUserId, SecurityUtils.getUserId());
                    });
        }
@@ -191,8 +189,7 @@
        BroadcastTerminalV2Param broadcastTerminalV2Param = new BroadcastTerminalV2Param();
        broadcastTerminalV2Param.setBindingState(2);
        broadcastTerminalV2Param.setWorkState(2);
        List<BroadcastTerminalV2EntityBo> broadcastTerminalList
                = SpringContextHolder.getBean(IpVolumeService.class).getBroadcastTerminalList(null, broadcastTerminalV2Param);
        List<BroadcastTerminalV2EntityBo> broadcastTerminalList = SpringContextHolder.getBean(IpVolumeService.class).getBroadcastTerminalList(null, broadcastTerminalV2Param);
        for (BroadcastTerminalV2EntityBo bean : broadcastTerminalList) {
            if (bean.getStatus() == 1 || bean.getStatus() == 0) {
                number++;
@@ -257,12 +254,10 @@
        result.put("AirEquipmentNongGengTotalCount", airEquipmentNongGengBos.size());
        //水质
        number = 0;
        List<WaterQualityEquipmentBo> waterQualityEquipments
                = SpringContextHolder.getBean(WaterQualityEquipmentService.class).listWaterQualityEquipmentByKeyword(null, null);
        List<WaterQualityEquipmentBo> waterQualityEquipments = SpringContextHolder.getBean(WaterQualityEquipmentService.class).listWaterQualityEquipmentByKeyword(null, null);
        for (WaterQualityEquipmentBo waterQualityEquipmentBo : waterQualityEquipments) {
            WaterQualityDataDto waterQualityDataDto
                    = SpringContextHolder.getBean(WaterQualityDataService.class).getWaterQualityDataInfo(waterQualityEquipmentBo.getWaterQualityEquipmentCode());
            WaterQualityDataDto waterQualityDataDto = SpringContextHolder.getBean(WaterQualityDataService.class).getWaterQualityDataInfo(waterQualityEquipmentBo.getWaterQualityEquipmentCode());
            if (waterQualityDataDto != null) {
                number++;
            }
@@ -271,8 +266,7 @@
        result.put("WaterQualityEquipmentTotalCount", waterQualityEquipments.size());
        //灯杆倾斜
        number = 0;
        List<LightPoleHeeling> lightPoleHeelings
                = SpringContextHolder.getBean(LightPoleHeelingService.class).listLightPoleHeelingByKeyword(null, null);
        List<LightPoleHeeling> lightPoleHeelings = SpringContextHolder.getBean(LightPoleHeelingService.class).listLightPoleHeelingByKeyword(null, null);
        for (LightPoleHeeling lightPoleHeeling : lightPoleHeelings) {
            if (RedisUtils.getBean().get(LightPoleHeelingEnum.LIGHT_POLE_HEELING_STATE.getCode() + lightPoleHeeling.getMac()) != null) {
@@ -480,11 +474,9 @@
            wrapper = Wrappers.lambdaQuery(Pole.class).eq(Pole::getClientId, SecurityUtils.getUserId());
        }
        if (!keyword.isEmpty()) {
            wrapper.like(Pole::getPoleCode, keyword).or(
                    wrappers -> {
            wrapper.like(Pole::getPoleCode, keyword).or(wrappers -> {
                        wrappers.like(Pole::getPoleName, keyword);
                    }
            );
            });
        }
        list = list(wrapper);
        List<String> MacCodes = new ArrayList<>();
@@ -548,19 +540,12 @@
        if (deviceName.isEmpty()) {
            throw new BusinessException("该灯杆Mca为空");
        }
        IRequestFrame build = FrameBuilder.builderA5()
                .orderType(A5OrderEnum.REQUEST_LIGHT_DATA.getCode())
                .innerFrame(new A5LightResetReqInnerFrame())
                .build();
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance()
                .sendRRPC(deviceName, build);
        IRequestFrame build = FrameBuilder.builderA5().orderType(A5OrderEnum.REQUEST_LIGHT_DATA.getCode()).innerFrame(new A5LightResetReqInnerFrame()).build();
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, build);
        System.out.println(commonFrame.toString());
        CommonFrame rebootFrame = MainBoardInvokeSyncService.getInstance()
                .sendRRPC(deviceName,
                        FrameBuilder.builderA2().innerFrame(new EmptyRequestInnerFrame())
                                .orderType(A2OrderEnum.REQUEST_MAIN_BOARD_RESET.getCode()).build());
        CommonFrame rebootFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, FrameBuilder.builderA2().innerFrame(new EmptyRequestInnerFrame()).orderType(A2OrderEnum.REQUEST_MAIN_BOARD_RESET.getCode()).build());
        boolean b = false;
@@ -569,6 +554,14 @@
            b = updateById(byId);
            System.out.println("重启成功");
        }
        /**
         * 灯杆恢复出厂设置日志记录开始
         */
        String content = "{灯杆ID:" + id + " }";
        StoreOperationRecordsUtils.storeOperationData(null, null, "灯杆恢复出厂设置", content);
        /**
         * 灯杆恢复出厂设置日志记录结束
         */
        return b;
    }
@@ -586,8 +579,7 @@
        boolean setMac = false;
        //String baseMac = "baseDevice";
        A1Frame a1Frame = new A1Frame(A1OrderEnum.REQUEST_READ_DEVICE_UNIQUE_MAC.getCode(), new EmptyRequestInnerFrame());
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance()
                .sendRRPC(baseMac, a1Frame);
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, a1Frame);
        if (commonFrame == null) {
            throw new BusinessException("读取设备唯一ID失败");
        }
@@ -612,33 +604,21 @@
        log.info(deviceDetail.toString());
        // 4   配置Mac①
        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> productKeyResp = MainBoardInvokeSyncService.getInstance()
                .sendRRPC(baseMac,
                        FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(MainBoardInvokeSyncService.getInstance().getProductKey()))
                                .orderType(A1OrderEnum.REQUEST_SET_PRODUCT_KEY.getCode()).build(),
                        A1TernaryCodeRespInnerFrame.class);
        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> productKeyResp = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(MainBoardInvokeSyncService.getInstance().getProductKey())).orderType(A1OrderEnum.REQUEST_SET_PRODUCT_KEY.getCode()).build(), A1TernaryCodeRespInnerFrame.class);
        A1TernaryCodeRespInnerFrame responseInnerFrame = productKeyResp.getResponseInnerFrame();
        if (!MainBoardInvokeSyncService.getInstance().getProductKey().equals(responseInnerFrame.getTernaryCode())) {
            throw new BusinessException("设备配置ProductKey失败");
        }
        // 5   配置Mac②
        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> responseCommonFrame = MainBoardInvokeSyncService.getInstance()
                .sendRRPC(baseMac,
                        FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(uniqueMac))
                                .orderType(A1OrderEnum.REQUEST_SET_DEVICE_NAME.getCode()).build(),
                        A1TernaryCodeRespInnerFrame.class);
        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> responseCommonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(uniqueMac)).orderType(A1OrderEnum.REQUEST_SET_DEVICE_NAME.getCode()).build(), A1TernaryCodeRespInnerFrame.class);
        A1TernaryCodeRespInnerFrame deviceNameFrame = responseCommonFrame.getResponseInnerFrame();
        if (!uniqueMac.equals(deviceNameFrame.getTernaryCode())) {
            throw new BusinessException("设备配置名失败");
        }
        // 6  配置Mac③
        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> wrapResponseCommonFrame = MainBoardInvokeSyncService.getInstance()
                .sendRRPC(baseMac,
                        FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(deviceDetail.getDeviceSecret()))
                                .orderType(A1OrderEnum.REQUEST_SET_DEVICE_SECRET.getCode()).build(),
                        A1TernaryCodeRespInnerFrame.class);
        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> wrapResponseCommonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(deviceDetail.getDeviceSecret())).orderType(A1OrderEnum.REQUEST_SET_DEVICE_SECRET.getCode()).build(), A1TernaryCodeRespInnerFrame.class);
        A1TernaryCodeRespInnerFrame deviceSecretFrame = wrapResponseCommonFrame.getResponseInnerFrame();
        if (!deviceDetail.getDeviceSecret().equals(deviceSecretFrame.getTernaryCode())) {
            throw new BusinessException("设备密钥失败");
@@ -646,10 +626,7 @@
        // 7  重启设备  并使用新的Mac
        CommonFrame rebootFrame = MainBoardInvokeSyncService.getInstance()
                .sendRRPC(baseMac,
                        FrameBuilder.builderA2().innerFrame(new EmptyRequestInnerFrame())
                                .orderType(A2OrderEnum.REQUEST_MAIN_BOARD_RESET.getCode()).build());
        CommonFrame rebootFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, FrameBuilder.builderA2().innerFrame(new EmptyRequestInnerFrame()).orderType(A2OrderEnum.REQUEST_MAIN_BOARD_RESET.getCode()).build());
        if ("00".equals(rebootFrame.getPayload())) {
            //  pole.setDeviceCode(uniqueMac);
@@ -658,7 +635,11 @@
            System.out.println("重启成功");
        }
        Pole pole = new Pole();
        Pole pole = getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, uniqueMac));
        if (pole == null) {
            pole = new Pole();
        }
      /*  String type = uniqueMac.substring(uniqueMac.length() - 2, uniqueMac.length());
        String Code = uniqueMac.substring(0, uniqueMac.length() - 2);*/
        pole.setDeviceCode(uniqueMac);
@@ -671,16 +652,20 @@
        }
        pole.setPoleCode(generatePoleCode());
        Pole one = getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, uniqueMac));
//        setMac = save(pole);
        if (one == null) {
            return save(pole);
        } else {
            pole.setId(one.getId());
            return updateById(pole);
        }
        boolean result = saveOrUpdate(pole);
        /**
         * 实体灯杆注册日志记录开始
         */
        String content = "{灯杆ID:" + pole.getId() + ",灯杆编号:" + pole.getPoleCode() + ",灯杆名称:" + pole.getPoleName() + ",灯杆类型:" + pole.getDeviceType() + ",灯杆MAC:" + pole.getDeviceCode() + " }";
        StoreOperationRecordsUtils.storeOperationData(null, null, "实体灯杆注册", content);
        /**
         * 实体灯杆注册日志记录结束
         */
        return result;
    }
    public List<String> listDeviceCodeByIds(List<Long> poleIdList) {
@@ -688,8 +673,7 @@
            return null;
        }
        List<Pole> list = list(Wrappers.lambdaQuery(Pole.class).in(Pole::getId, poleIdList).select(Pole::getDeviceCode));
        return list
                .stream().filter(Objects::nonNull).map(Pole::getDeviceCode).filter(StrUtil::isNotEmpty).collect(Collectors.toList());
        return list.stream().filter(Objects::nonNull).map(Pole::getDeviceCode).filter(StrUtil::isNotEmpty).collect(Collectors.toList());
    }
    /**
@@ -753,12 +737,9 @@
            eq = Wrappers.lambdaQuery(Pole.class).eq(Pole::getUserId, cilentId);
        } else {
            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
            eq = Wrappers.lambdaQuery(Pole.class).eq(Pole::getClientId, cilentId)
                    .or(
                            pole -> {
            eq = Wrappers.lambdaQuery(Pole.class).eq(Pole::getClientId, cilentId).or(pole -> {
                                pole.eq(Pole::getUserId, cilentId);
                            }
                    );
            });
        }
//        }else {
@@ -767,15 +748,11 @@
//        }
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        if (!keyword.isEmpty()) {
            eq.like(Pole::getPoleName, keyword).or(
                    code -> {
            eq.like(Pole::getPoleName, keyword).or(code -> {
                        code.like(Pole::getPoleCode, keyword);
                    }
            ).or(
                    deviceCode -> {
            }).or(deviceCode -> {
                        deviceCode.like(Pole::getDeviceCode, keyword);
                    }
            );
            });
        }
        List<Pole> list;
        list = list(eq);
ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java
@@ -15,6 +15,7 @@
import com.sandu.ximon.admin.utils.JsonUtil;
import com.sandu.ximon.admin.utils.LightemitUtils;
import com.sandu.ximon.admin.utils.LogUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.request.SubTitleSet;
import com.sandu.ximon.dao.domain.LedSFile;
import com.sandu.ximon.dao.domain.Pole;
@@ -75,19 +76,27 @@
        poleXixunPlayer.setHeight(programPro.getHeight());
        poleXixunPlayer.setWidth(programPro.getWidth());
        poleXixunPlayer.setTotalSize((float) programPro.getTotalSize() / 1000000 + "MB");
//        poleXixunPlayer.setTotalSize( Long.parseLong(programPro.getTotalSize()) / 1000000 + "MB");
//        programPro.setProgramId(poleXixunPlayer.getProgramId());
//        System.out.println(poleXixunPlayer.getProgramId());
        poleXixunPlayer.setRequestBody(json);
        poleXixunPlayer.setScreenShot(programPro.getScreenShot());
        //  poleXixunPlayer.setCreatTime(sdf.format(date));
        if (SecurityUtils.getClientId() != null) {
            poleXixunPlayer.setCreateUserId(SecurityUtils.getUserId());
            if (clientService.findClientId()) {
                poleXixunPlayer.setClientId(clientService.getClientId());
            }
        }
        return this.save(poleXixunPlayer);
        boolean save = this.save(poleXixunPlayer);
        /**
         * 熙汛节目新增日志记录开始
         */
        String content = "{节目id:" + poleXixunPlayer.getProgramId()
                + ", 节目名称:" + poleXixunPlayer.getProgramName()
                + ", 节目内容:" + json
                + " }";
        StoreOperationRecordsUtils.storeOperationData(null, null, "熙汛节目更改", content);
        /**
         * 熙汛节目新增日志记录结束
         */
        return save;
    }
    public boolean deleteProgram(Long pid) {
@@ -95,6 +104,16 @@
        if (byId == null) {
            throw new BusinessException("未找到该节目");
        }
        /**
         * 熙汛节目删除日志记录开始
         */
        String content = "{删除的节目id:" + byId.getProgramId()
                + ", 删除的节目名称:" + byId.getProgramName()
                + " }";
        StoreOperationRecordsUtils.storeOperationData(null, null, "熙汛节目删除", content);
        /**
         * 熙汛节目删除日志记录结束
         */
        return removeById(pid);
    }
@@ -219,6 +238,23 @@
                LogUtils.error("结果:" + post);
            }
        }
        /**
         * 熙汛节目推送日志记录开始
         */
        List<String> listCode = new ArrayList<>();
        for (PoleLightemitEntity bean : poleLightemitEntities) {
            listCode.add(bean.getLightemitControlCode());
        }
        String content = "{节目id:" + programId
                + ", 节目名称:" + poleXixunPlayerEntity.getProgramName()
                + ", 节目内容:" + json
                + " }";
        StoreOperationRecordsUtils.storeOperationData(listCode, null, "熙汛节目推送", content);
        /**
         * 熙汛节目推送日志记录结束
         */
    }
@@ -275,6 +311,19 @@
                    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);
        }