2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-06 4f0c98099f43028d29546c7000ef48bc89282dc4
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java
@@ -1,20 +1,28 @@
package com.sandu.ximon.admin.controller;
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.param.LightControlParam;
import com.sandu.ximon.admin.param.LightPowerSettingParam;
import com.sandu.ximon.admin.param.LightRemarkParam;
import com.sandu.ximon.admin.security.PermissionConfig;
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.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * 路灯相关控制类
@@ -29,10 +37,14 @@
    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) {
        if (!permissionConfig.check(MenuEnum.LIGHT_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List<LightBo> list = lightService.listLight(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword);
        return ResponseUtil.successPage(list);
    }
@@ -54,14 +66,76 @@
     * @return
     */
    @GetMapping("/report/list")
    public ResponseVO<Object> listReportData(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword, @RequestParam(required = false) String deviceCode) {
        List<LightReportDataBo> list = lightReportDataService.listReportData(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, deviceCode);
        return ResponseUtil.success(list);
    public ResponseVO<Object> listReportData(BaseConditionVO conditionVO
            , @RequestParam(required = false) String keyword, @RequestParam(required = false) String deviceCode) {
        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();
        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 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);
    }
    @GetMapping("/error/list")
    public ResponseVO<Object> listReportError(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword) {
        List<LightReportErrorBo> list = lightReportErrorService.listReportError(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword);
    public ResponseVO<Object> listReportError(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword
            , @RequestParam(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) {
        List<Map<String, Object>> list = lightService.controlBrightness(paramList);
        return ResponseUtil.success(list);
    }
    @PostMapping("/Energy")
    @AnonymousAccess
    public ResponseVO<Object> Energy() {
        return ResponseUtil.success(lightService.controlEnergy());
    }
    @AnonymousAccess
    @PostMapping("/EnergySaving")
    public ResponseVO<Object> controlEnergySaving() {
        return ResponseUtil.success(lightService.controlEnergySaving());
    }
    /**
     * 设置功率
     */
    @PostMapping("/setPower")
    public ResponseVO<Object> setPower(@RequestBody LightPowerSettingParam lightPowerSettingParam) {
        boolean resule = lightService.setPower(lightPowerSettingParam);
        return ResponseUtil.success(resule);
    }
}