package com.sandu.ximon.admin.controller; import com.sandu.common.domain.ResponseVO; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.LightControlParam; 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.List; import java.util.Map; /** * 路灯相关控制类 * * @author chenjiantian */ @RestController @AllArgsConstructor @RequestMapping("/v1/light") public class LightController { private final LightService lightService; private final LightReportDataService lightReportDataService; private final LightReportErrorService lightReportErrorService; private PermissionConfig permissionConfig; @GetMapping("/list") public ResponseVO listLight(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword) { if (!permissionConfig.check(MenuEnum.LIGHT_LIST.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } List list = lightService.listLight(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword); return ResponseUtil.successPage(list); } @PostMapping("/remark") public ResponseVO addRemark(@RequestBody @Validated LightRemarkParam param) { boolean result = lightService.addRemark(param); if (result) { return ResponseUtil.success("添加成功"); } else { return ResponseUtil.fail("添加失败"); } } /** * 获取上报数据 * * @param conditionVO * @return */ @GetMapping("/report/list") public ResponseVO listReportData(BaseConditionVO conditionVO , @RequestParam(required = false) String keyword, @RequestParam(required = false) String deviceCode) { if (!permissionConfig.check(MenuEnum.LIGHT_DATA.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } List list = lightReportDataService.listReportData(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, deviceCode); return ResponseUtil.success(list); } /** * 导出Excel * * @param conditionVO * @param keyword * @param deviceCode * @return */ @GetMapping("/report/exportList") public ResponseVO 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 listReportError(BaseConditionVO conditionVO, @RequestParam(required = false) String keyword , @RequestParam(required = false) int errorCode) { if (!permissionConfig.check(MenuEnum.LIGHT_ERROR_LIST.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } List list = lightReportErrorService.listReportError(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword, errorCode); return ResponseUtil.success(list); } // 亮度控制 @PostMapping("/control") public ResponseVO controlBrightness(@RequestBody @Validated List paramList) { List> list = lightService.controlBrightness(paramList); return ResponseUtil.success(list); } @PostMapping("/EnergySaving") public ResponseVO controlEnergySaving() { return ResponseUtil.success(lightService.controlEnergySaving()); } }