From e55c8b0a92eb9715edd90c31dfd4de51a47b588b Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 04 十一月 2022 17:40:08 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java |  121 +++++++++++++++++++++++++++++-----------
 1 files changed, 88 insertions(+), 33 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java
index e16802d..284a5e9 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java
@@ -5,21 +5,25 @@
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.security.annotation.AnonymousAccess;
 import com.sandu.common.util.ResponseUtil;
-import com.sandu.ximon.admin.param.LightControlParam;
-import com.sandu.ximon.admin.param.LightPowerSettingParam;
-import com.sandu.ximon.admin.param.LightRemarkParam;
+import com.sandu.common.util.SpringContextHolder;
+import com.sandu.ximon.admin.param.*;
+import com.sandu.ximon.admin.schedule.LightTimeSynchronizationSchedule;
 import com.sandu.ximon.admin.security.PermissionConfig;
+import com.sandu.ximon.admin.service.LightEnergyDataService;
 import com.sandu.ximon.admin.service.LightReportDataService;
 import com.sandu.ximon.admin.service.LightReportErrorService;
 import com.sandu.ximon.admin.service.LightService;
 import com.sandu.ximon.dao.bo.LightBo;
 import com.sandu.ximon.dao.bo.LightReportDataBo;
 import com.sandu.ximon.dao.bo.LightReportErrorBo;
+import com.sandu.ximon.dao.domain.LightReportData;
 import com.sandu.ximon.dao.enums.MenuEnum;
 import lombok.AllArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -34,6 +38,7 @@
 @RequestMapping("/v1/light")
 public class LightController {
 
+    private final LightEnergyDataService lightEnergyDataService;
     private final LightService lightService;
     private final LightReportDataService lightReportDataService;
     private final LightReportErrorService lightReportErrorService;
@@ -41,16 +46,22 @@
 
 
     @GetMapping("/list")
-    public ResponseVO<Object> listLight(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword) {
+    public ResponseVO<Object> listLight(BaseConditionVO conditionVO,
+                                        @RequestParam(value = "keyword", required = false) String keyword,
+                                        @RequestParam(value = "order", required = false) Integer order,
+                                        @RequestParam(value = "seq", required = false) Integer seq) {
         if (!permissionConfig.check(MenuEnum.LIGHT_LIST.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
-        List<LightBo> list = lightService.listLight(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword);
+        List<LightBo> list = lightService.listLight(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, order, seq);
         return ResponseUtil.successPage(list);
     }
 
     @PostMapping("/remark")
     public ResponseVO<Object> addRemark(@RequestBody @Validated LightRemarkParam param) {
+        if (!permissionConfig.check(MenuEnum.LIGHT_REMARK.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         boolean result = lightService.addRemark(param);
         if (result) {
             return ResponseUtil.success("娣诲姞鎴愬姛");
@@ -67,14 +78,17 @@
      */
     @GetMapping("/report/list")
     public ResponseVO<Object> listReportData(BaseConditionVO conditionVO
-            , @RequestParam(required = false) String keyword, @RequestParam(required = false) String deviceCode) {
+            , @RequestParam(value = "keyword", required = false) String keyword
+            , @RequestParam(value = "deviceCode", required = false) String deviceCode
+            , @RequestParam(value = "order", required = false) Integer order
+            ,@RequestParam(value = "seq", required = false) Integer seq) {
         if (!permissionConfig.check(MenuEnum.LIGHT_DATA.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
-        CommonPage commonPage = lightReportDataService.listReportData(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, deviceCode);
-        List<LightReportDataBo> lightReportDataBos = ( List<LightReportDataBo>)commonPage.getList();
+        CommonPage commonPage = lightReportDataService.listReportData(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, deviceCode,order,seq);
+        List<LightReportDataBo> lightReportDataBos = (List<LightReportDataBo>) commonPage.getList();
 
-        if(lightReportDataBos == null){
+        if (lightReportDataBos == null) {
             return ResponseUtil.success(CommonPage.restPage(new ArrayList<>()));
         }
         CommonPage commonPage1 = CommonPage.restPage(lightReportDataBos);
@@ -87,20 +101,29 @@
     /**
      * 瀵煎嚭Excel
      *
-     * @param conditionVO
-     * @param keyword
      * @param deviceCode
      * @return
      */
     @GetMapping("/report/exportList")
-    public ResponseVO<Object> exportList(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword, @RequestParam(required = false) String deviceCode) {
-        String url = lightReportDataService.exportList(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, deviceCode);
-        return ResponseUtil.success(url);
+    public ResponseVO<Object> exportList(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "deviceCode", required = false) String deviceCode) {
+        if (!permissionConfig.check(MenuEnum.LIGHT_EXPORT_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        if (deviceCode.isEmpty()) {
+            return ResponseUtil.fail("璁惧缂栧彿涓嶈兘涓虹┖");
+        }
+        int length = deviceCode.length();
+        if (length != 24) {
+            return ResponseUtil.fail("璁惧缂栧彿闀垮害涓嶆纭�");
+        }
+        lightReportDataService.exportList(request, response, deviceCode);
+
+        return ResponseUtil.success("瀵煎嚭鎴愬姛");
     }
 
     @GetMapping("/error/list")
-    public ResponseVO<Object> listReportError(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword
-            , @RequestParam(required = false) Integer errorCode) {
+    public ResponseVO<Object> listReportError(BaseConditionVO conditionVO, @RequestParam(value = "keyword", required = false) String keyword
+            , @RequestParam(value = "errorCode", required = false) Integer errorCode) {
         if (!permissionConfig.check(MenuEnum.LIGHT_ERROR_LIST.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
@@ -112,36 +135,68 @@
     // 浜害鎺у埗
     @PostMapping("/control")
     public ResponseVO<Object> controlBrightness(@RequestBody @Validated List<LightControlParam> paramList) {
+        if (!permissionConfig.check(MenuEnum.LIGHT_CONTROL.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         List<Map<String, Object>> list = lightService.controlBrightness(paramList);
         return ResponseUtil.success(list);
     }
 
+    @PostMapping("/Energy")
+    public ResponseVO<Object> Energy() {
+        return ResponseUtil.success(lightEnergyDataService.energy(0));
+//        return ResponseUtil.success(lightService.controlEnergy());
+    }
+
     @PostMapping("/EnergySaving")
     public ResponseVO<Object> controlEnergySaving() {
-        return ResponseUtil.success(lightService.controlEnergySaving());
+        return ResponseUtil.success(lightEnergyDataService.energy(1));
+//        return ResponseUtil.success(lightService.controlEnergySaving());
     }
 
-
-    @PostMapping("/Energy")
-    @AnonymousAccess
-    public ResponseVO<Object> Energy() {
-        return ResponseUtil.success(lightService.controlEnergy());
-    }
-
-//    /**
-//     * 鑾峰彇璁惧鐮�
-//     */
-//    @GetMapping("/deviceCode")
-//    public ResponseVO<Object> getDeviceCode(BaseConditionVO baseConditionVO) {
-//        return ResponseUtil.success(lightService.listDeviceCode(baseConditionVO.getPageNo() , baseConditionVO.getPageSize()));
-//    }
 
     /**
      * 璁剧疆鍔熺巼
      */
-    @PostMapping("/setPower/{power1}/{power2}")
+    @PostMapping("/setPower")
     public ResponseVO<Object> setPower(@RequestBody LightPowerSettingParam lightPowerSettingParam) {
-        boolean resule= lightService.setPower(lightPowerSettingParam);
+        if (!permissionConfig.check(MenuEnum.LIGHT_SET_POWER.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        boolean resule = lightService.setPower(lightPowerSettingParam);
         return ResponseUtil.success(resule);
     }
+
+    /**
+     * 鍗曠伅鏁版嵁鍒楄〃
+     */
+    @GetMapping("/data/list")
+    public ResponseVO<Object> listData(BaseConditionVO conditionVO, @RequestParam(value = "deviceCode", required = false) String deviceCode) {
+        if (!permissionConfig.check(MenuEnum.LIGHT_DATA.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        List<LightReportData> reportDataList = lightReportDataService.getReportDataList(conditionVO, deviceCode);
+
+        return ResponseUtil.success(reportDataList);
+    }
+
+    /**
+     * 璁剧疆鏃ュ巻锛堝悓蹇冭烦鍖呬腑鐨�6瀛楄妭鏃ユ湡鏃堕棿锛�
+     */
+    @PostMapping("/SetCalendar")
+    public ResponseVO<Object> SetCalendar(@RequestBody @Validated LightSetCalendarParam lightSetCalendarParam) {
+        if (!permissionConfig.check(MenuEnum.LIGHT_SETCALENDAR.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+
+        return ResponseUtil.success(lightService.SetCalendar(lightSetCalendarParam.getLightId(), lightSetCalendarParam.getAddress()));
+    }
+
+    @AnonymousAccess
+    @GetMapping("/test")
+    public ResponseVO<Object> test() {
+        SpringContextHolder.getBean(LightTimeSynchronizationSchedule.class).UserSubjectRefund();
+
+        return ResponseUtil.success(null);
+    }
 }

--
Gitblit v1.9.3