2021与蓝度共同重构项目,服务端
liuhaonan
2022-03-01 7a7dfbbdf34cfe5765f8167313bd29661500cd49
功能完善
已修改2个文件
已添加1个文件
已删除1个文件
228 ■■■■■ 文件已修改
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/SetScreenOpenParam.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/ListPageUtil.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -1,17 +1,18 @@
package com.sandu.ximon.admin.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.system.UserInfo;
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.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.entity.ProgramPro;
import com.sandu.ximon.admin.param.LEDScheduleParam_xixun;
import com.sandu.ximon.admin.param.SetScreenOpenParam;
import com.sandu.ximon.admin.param.SetVolumeParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.ClientService;
@@ -19,7 +20,6 @@
import com.sandu.ximon.admin.service.PoleLightemitService;
import com.sandu.ximon.admin.service.XiXunPlayerService;
import com.sandu.ximon.admin.utils.LightemitUtils;
import com.sandu.ximon.admin.utils.ListPageUtil;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity;
import com.sandu.ximon.dao.enums.AdministratorEnums;
@@ -27,8 +27,6 @@
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * @Author liuhaonan
@@ -49,6 +47,7 @@
    /**
     * æ–°å¢žèŠ‚ç›®
     *
     * @param programPro
     * @return
     */
@@ -72,12 +71,14 @@
        boolean insert=false;
        if(xiXunPlayerService.removeById(programPro.getProgramId())){
             insert = xiXunPlayerService.insert(programPro);
        };
        }
        ;
        return  ResponseUtil.success(insert);
    }
    /**
     * åˆ é™¤èŠ‚ç›®
     *
     * @param pid
     * @return
     */
@@ -88,6 +89,7 @@
    /**
     * èŽ·å–èŠ‚ç›®è¯¦æƒ…
     *
     * @param pid
     * @return
     */
@@ -98,6 +100,7 @@
    /**
     * èŠ‚ç›®åˆ—è¡¨
     *
     * @param baseConditionVO
     * @param keyword
     * @return
@@ -134,6 +137,7 @@
    /**
     * èŠ‚ç›®æŽ¨é€
     *
     * @param pid
     * @param lightemitIds
     * @return
@@ -146,6 +150,7 @@
    /**
     * LED屏幕新增
     *
     * @param poleLightemit
     * @return
     */
@@ -166,6 +171,7 @@
    /**
     * LED屏幕修改
     *
     * @param ledId
     * @param poleLightemit
     * @return
@@ -178,6 +184,7 @@
    /**
     * LED屏幕删除
     *
     * @param ledIds
     * @return
     */
@@ -193,12 +200,14 @@
    /**
     * LED屏幕列表
     *
     * @param baseConditionVO
     * @param keyword
     * @return
     */
    @GetMapping("/listLed")
    public ResponseVO<Object> listLed(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
    public ResponseVO<Object> listLed(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword,
                                      @RequestParam(value = "isOnLine", required = false) boolean isOnLine) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        LambdaQueryWrapper<PoleLightemitEntity> wrapper = Wrappers.lambdaQuery(PoleLightemitEntity.class);
        if(AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())){
@@ -216,29 +225,56 @@
                    }
            );
        }
        return ResponseUtil.success(poleLightemitService.list(wrapper));
        List<PoleLightemitEntity> list = poleLightemitService.list(wrapper);
        if(isOnLine){
            List<PoleLightemitEntity> results = poleLightemitService.ledOnline(list);
            CommonPage commonPage = CommonPage.restPage(results);
            int size = results.size();
            commonPage.setTotal((long) size);
            commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1);
            if (size % baseConditionVO.getPageSize() == 0) {
                commonPage.setTotalPage(size / baseConditionVO.getPageSize());
    }
    @GetMapping("/onLineLed")
    public ResponseVO<Object> onlineLed(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
       // PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<PoleLightemitEntity> list = poleLightemitService.ledList();
        if(list!=null&&!keyword.isEmpty()){
            List results = new ArrayList();
            //模糊查询 ä½¿ç”¨ï¼ˆPattern、Matcher)
            Pattern pattern = Pattern.compile("å¼ ");
            for(int i=0; i < list.size(); i++){
                Matcher matcher = pattern.matcher((list.get(i)).getLightemitName());
                Matcher matcher1 = pattern.matcher((list.get(i)).getLightemitControlCode());
                if(matcher.find()||matcher1.find()){  //matcher.find()-为模糊查询   matcher.matches()-为精确查询
                    results.add(list.get(i));
                }
            }
            return ResponseUtil.success(results);
        }
            return ResponseUtil.success(commonPage);
        }else {
            poleLightemitService.ledOnlineCheck(list);
        return ResponseUtil.success(list);
    }
//        return ResponseUtil.success(poleLightemitService.list(wrapper));
    }
    /*
    è®¾ç½®å±å¹•开关
     */
    @PostMapping("/setScreenOpen")
    public ResponseVO<Object> setScreenOpen(@RequestBody SetScreenOpenParam setScreenOpenEntity){
        if(setScreenOpenEntity.getIds() == null || setScreenOpenEntity.getIds().length == 0 || setScreenOpenEntity.getBool() == null){
            throw new BusinessException("未选择LED屏");
        }
        Collection poleLightemitControllers = poleLightemitService.listByIds(Arrays.asList(setScreenOpenEntity.getIds()));
        if (!poleLightemitControllers.isEmpty()) {
            Map<Long, Object> map = new HashMap<>();
            Iterator iterator = poleLightemitControllers.iterator();
            while (iterator.hasNext()) {
                PoleLightemitEntity poleLightemitEntity = (PoleLightemitEntity) iterator.next();
                //结果查询
                String result = lightemitUtils.setScreenOpen(poleLightemitEntity.getLightemitControlCode(), setScreenOpenEntity.getBool());
                System.out.println("result:---------------------"+result);
                if(result.isEmpty() || !"true".equals(result)){
                }
                map.put(poleLightemitEntity.getLightemitId(), result);
            }
            return ResponseUtil.success(map);
        }else {
            throw new BusinessException("未正确选择LED屏");
        }
    }
    /*
ximon-admin/src/main/java/com/sandu/ximon/admin/param/SetScreenOpenParam.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.sandu.ximon.admin.param;
import lombok.Data;
/**
 * @program: machine-fast
 * @description: led开关接受类
 * @author: YSS
 * @create: 2019-05-30 17:56
 **/
@Data
public class SetScreenOpenParam {
    private Long[] ids;
    private Boolean bool;
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
@@ -182,19 +182,29 @@
    }
*/
    public List<PoleLightemitEntity> ledList(){
//        Wrappers.lambdaQuery()
        List<PoleLightemitEntity> list = list();
       return ledOnlineCheck(list);
    /**
     * æ˜¯å¦åœ¨çº¿
     * @param list
     * @return
     */
    public void ledOnlineCheck(List<PoleLightemitEntity> list) {
      //  List<PoleLightemitEntity> onLineList=new ArrayList<>();
        for(PoleLightemitEntity poleLightemitEntity : list){
            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
        }
    }
    public List<PoleLightemitEntity> ledOnlineCheck(List<PoleLightemitEntity> list) {
    /**
     * ä»…在线
     * @param list
     * @return
     */
    public List<PoleLightemitEntity> ledOnline(List<PoleLightemitEntity> list) {
        List<PoleLightemitEntity> onLineList=new ArrayList<>();
        for(PoleLightemitEntity poleLightemitEntity : list){
            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
            if(!poleLightemitEntity.getIsOpen()){
            if(poleLightemitEntity.getIsOpen()){
                onLineList.add(poleLightemitEntity);
            }
        }
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/ListPageUtil.java
ÎļþÒÑɾ³ý