From 316dce3b4de147fdf301ff4295f286da908deffb Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期一, 28 二月 2022 17:39:25 +0800
Subject: [PATCH] 功能完善

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java |  190 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 184 insertions(+), 6 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
index 5cf223e..adf0fc1 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -1,30 +1,34 @@
 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.baomidou.mybatisplus.extension.api.R;
 import com.github.pagehelper.PageHelper;
 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.SetVolumeParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.service.ClientService;
+import com.sandu.ximon.admin.service.LedScheduleService;
 import com.sandu.ximon.admin.service.PoleLightemitService;
 import com.sandu.ximon.admin.service.XiXunPlayerService;
-import com.sandu.ximon.dao.domain.LedPlayerEntity;
-import com.sandu.ximon.dao.domain.PlayPlanNv;
+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;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @Author liuhaonan
@@ -39,21 +43,65 @@
     private final XiXunPlayerService xiXunPlayerService;
     private final ClientService clientService;
     private final PoleLightemitService poleLightemitService;
+    private final LightemitUtils lightemitUtils;
+    private final LedScheduleService scheduleService;
+   // private final ListPageUtil listPageUtil;
 
+    /**
+     * 鏂板鑺傜洰
+     * @param programPro
+     * @return
+     */
     @PostMapping("/addProgram")
     public ResponseVO<Object> addProgram(@RequestBody ProgramPro programPro){
        return ResponseUtil.success(xiXunPlayerService.insert(programPro));
     }
 
+    /**
+     * 淇敼
+     */
+    @PostMapping("/updateProgram")
+   // @RequiresPermissions("pole:polexixunplayer:update")
+    public ResponseVO<Object> update(@RequestBody ProgramPro programPro){
+        PoleXixunPlayerEntity byId = xiXunPlayerService.getById(programPro.getProgramId());
+        if(byId==null){
+            throw  new BusinessException("鍙傛暟閿欒");
+        }
+//        QueryWrapper<PoleXixunPlayerEntity> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.eq("program_code", programPro.get_id());
+        boolean insert=false;
+        if(xiXunPlayerService.removeById(programPro.getProgramId())){
+             insert = xiXunPlayerService.insert(programPro);
+        };
+        return  ResponseUtil.success(insert);
+    }
+
+    /**
+     * 鍒犻櫎鑺傜洰
+     * @param pid
+     * @return
+     */
     @PostMapping("/deleteProgram/{pid}")
     public ResponseVO<Object> deleteProgram(@PathVariable Long pid){
         return ResponseUtil.success(xiXunPlayerService.deleteProgram(pid));
     }
 
+    /**
+     * 鑾峰彇鑺傜洰璇︽儏
+     * @param pid
+     * @return
+     */
     @GetMapping("/getByPid/{pid}")
     public ResponseVO<Object> getByPid(@PathVariable Long pid){
         return ResponseUtil.success(xiXunPlayerService.getByPid(pid));
     }
+
+    /**
+     * 鑺傜洰鍒楄〃
+     * @param baseConditionVO
+     * @param keyword
+     * @return
+     */
     @GetMapping("/list")
     public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
         PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
@@ -84,12 +132,23 @@
     }
 
 
+    /**
+     * 鑺傜洰鎺ㄩ��
+     * @param pid
+     * @param lightemitIds
+     * @return
+     */
     @GetMapping("/pushToXixun/{pid}")
     public ResponseVO<Object> getByPid(@PathVariable Long pid, @RequestBody List<Long> lightemitIds ){
         xiXunPlayerService.videoXixunPlayer(pid,lightemitIds);
         return ResponseUtil.success("鎺ㄩ�佹垚鍔�");
     }
 
+    /**
+     * LED灞忓箷鏂板
+     * @param poleLightemit
+     * @return
+     */
     @PostMapping("/saveLed")
     public ResponseVO<Object> save(@RequestBody PoleLightemitEntity poleLightemit){
         int count = poleLightemitService.count(new QueryWrapper<PoleLightemitEntity>().eq("lightemit_control_code", poleLightemit.getLightemitControlCode()));
@@ -105,12 +164,23 @@
         return ResponseUtil.success("鏂板鎴愬姛");
     }
 
+    /**
+     * LED灞忓箷淇敼
+     * @param ledId
+     * @param poleLightemit
+     * @return
+     */
     @PostMapping("/updateLed/{ledId}")
     public ResponseVO<Object> updatePoleLightemit(@PathVariable Long ledId,@RequestBody PoleLightemitEntity poleLightemit){
         poleLightemitService.updatePoleLightemit(ledId,poleLightemit);
         return ResponseUtil.success("淇敼鎴愬姛");
     }
 
+    /**
+     * LED灞忓箷鍒犻櫎
+     * @param ledIds
+     * @return
+     */
     @PostMapping("/deleteLed")
     public ResponseVO<Object> deleteLed(@RequestBody List<Long> ledIds){
         boolean b = poleLightemitService.deletePoleLightemit(ledIds);
@@ -121,7 +191,12 @@
         }
     }
 
-
+    /**
+     * LED灞忓箷鍒楄〃
+     * @param baseConditionVO
+     * @param keyword
+     * @return
+     */
     @GetMapping("/listLed")
     public ResponseVO<Object> listLed(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
         PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
@@ -143,4 +218,107 @@
         }
         return ResponseUtil.success(poleLightemitService.list(wrapper));
     }
+
+    @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();
+            //妯$硦鏌ヨ 浣跨敤锛圥attern銆丮atcher锛�
+            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(list);
+    }
+
+
+    /*
+  鑾峰彇led瀹炴椂鐢婚潰
+   */
+    @GetMapping("/getPicture/{id}")
+    public ResponseVO<Object> getPicture(@PathVariable Long id){
+        if(id == null){
+           throw new BusinessException("鏈�夋嫨LED灞�");
+        }
+        PoleLightemitEntity poleLightemitEntity = poleLightemitService.getById(id);
+        if(poleLightemitEntity != null){
+            String result = lightemitUtils.getPicture(poleLightemitEntity.getLightemitControlCode());
+            return ResponseUtil.success(result);
+        }else {
+            throw new BusinessException("鏈�夋嫨LED灞�");
+        }
+    }
+
+    /*
+  鑾峰彇闊抽噺
+   */
+    @PostMapping("/getVolume/{id}")
+    public ResponseVO<Object> getVolume(@PathVariable Long id){
+        if(id == null){
+            throw new BusinessException("鏈�夋嫨LED灞�");
+        }
+        PoleLightemitEntity poleLightemitEntity = poleLightemitService.getById(id);
+        if(poleLightemitEntity != null){
+            String result = lightemitUtils.getVoiume(poleLightemitEntity.getLightemitControlCode());
+            return ResponseUtil.success(result);
+        }else {
+            throw new BusinessException("鏈�夋嫨LED灞�");
+        }
+    }
+
+
+    /*
+  璁剧疆闊抽噺
+   */
+    @PostMapping("/setVolume")
+    public ResponseVO<Object> setVolume(@RequestBody SetVolumeParam setVolumeEntity){
+
+        if(setVolumeEntity == null || setVolumeEntity.getIds() == null || setVolumeEntity.getVolume() > 15){
+            throw new BusinessException("鍙傛暟閿欒");
+        }
+
+        Collection poleLightemitControllers = poleLightemitService.listByIds(Arrays.asList(setVolumeEntity.getIds()));
+        if (!poleLightemitControllers.isEmpty()) {
+            Iterator iterator = poleLightemitControllers.iterator();
+            while (iterator.hasNext()) {
+                PoleLightemitEntity poleLightemitEntity = (PoleLightemitEntity) iterator.next();
+                poleLightemitService.setVolume(poleLightemitEntity.getLightemitControlCode(), setVolumeEntity.getVolume());
+            }
+            return ResponseUtil.success("璁剧疆闊抽噺鎴愬姛");
+        }else {
+            throw new BusinessException("鏈�夋嫨LED灞�");
+        }
+    }
+
+    @PostMapping("/addSchedule")
+    public ResponseVO<Object> addSchedule(@RequestBody LEDScheduleParam_xixun ledEntity){
+        return ResponseUtil.success(scheduleService.insert(ledEntity));
+    }
+
+    @PostMapping("/updateSchedule")
+    public ResponseVO<Object> updateSchedule(@RequestBody LEDScheduleParam_xixun ledEntity){
+        return ResponseUtil.success(scheduleService.updateSchedule(ledEntity));
+    }
+
+    @GetMapping("/getSchedule/{id}")
+    public ResponseVO<Object> getSchedule(@PathVariable Integer id){
+        return ResponseUtil.success(scheduleService.getSchedule(id));
+    }
+
+    @PostMapping("/pushSchedule/{id}")
+    public ResponseVO<Object> pushSchedule(@PathVariable Integer id,@RequestBody Long[] lightemitIds){
+        scheduleService.ledschedulepush(id,lightemitIds);
+        return ResponseUtil.success("璁剧疆鎴愬姛");
+    }
+
+
 }

--
Gitblit v1.9.3