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 | 185 +++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 174 insertions(+), 11 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 05cc0d0..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
@@ -1,21 +1,32 @@
package com.sandu.ximon.admin.controller;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
+import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
-import com.sandu.ximon.admin.dto.LightDataDto;
+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.dao.domain.Pole;
+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.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+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;
/**
* 璺伅鐩稿叧鎺у埗绫�
@@ -27,13 +38,165 @@
@RequestMapping("/v1/light")
public class LightController {
+ private final LightEnergyDataService lightEnergyDataService;
+ private final LightService lightService;
private final LightReportDataService lightReportDataService;
+ private final LightReportErrorService lightReportErrorService;
+ private PermissionConfig permissionConfig;
@GetMapping("/list")
- public ResponseVO<Object> listLight(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword) {
- List<LightDataDto> list = lightReportDataService.listLight(conditionVO.getPageNo(),conditionVO.getPageSize(),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, 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("娣诲姞鎴愬姛");
+ } else {
+ return ResponseUtil.fail("娣诲姞澶辫触");
+ }
+ }
+
+ /**
+ * 鑾峰彇涓婃姤鏁版嵁
+ *
+ * @param conditionVO
+ * @return
+ */
+ @GetMapping("/report/list")
+ public ResponseVO<Object> listReportData(BaseConditionVO conditionVO
+ , @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,order,seq);
+ List<LightReportDataBo> lightReportDataBos = (List<LightReportDataBo>) commonPage.getList();
+
+ if (lightReportDataBos == null) {
+ return ResponseUtil.success(CommonPage.restPage(new ArrayList<>()));
+ }
+ CommonPage commonPage1 = CommonPage.restPage(lightReportDataBos);
+ commonPage1.setTotal(commonPage.getTotal());
+ commonPage1.setTotalPage(commonPage.getTotalPage());
+
+ return ResponseUtil.success(commonPage1);
+ }
+
+ /**
+ * 瀵煎嚭Excel
+ *
+ * @param deviceCode
+ * @return
+ */
+ @GetMapping("/report/exportList")
+ 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(value = "keyword", required = false) String keyword
+ , @RequestParam(value = "errorCode", required = false) Integer errorCode) {
+ if (!permissionConfig.check(MenuEnum.LIGHT_ERROR_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ List<LightReportErrorBo> list = lightReportErrorService.listReportError(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, errorCode);
return ResponseUtil.success(list);
}
+
+ // 浜害鎺у埗
+ @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(lightEnergyDataService.energy(1));
+// return ResponseUtil.success(lightService.controlEnergySaving());
+ }
+
+
+ /**
+ * 璁剧疆鍔熺巼
+ */
+ @PostMapping("/setPower")
+ public ResponseVO<Object> setPower(@RequestBody LightPowerSettingParam 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