package com.sandu.ximon.admin.controller; 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.LightTaskDto; import com.sandu.ximon.admin.param.LightTaskDelParam; import com.sandu.ximon.admin.param.LightTaskIssueParam; import com.sandu.ximon.admin.param.LightTaskParam; import com.sandu.ximon.admin.security.PermissionConfig; import com.sandu.ximon.admin.service.LightEnergyDataService; import com.sandu.ximon.admin.service.LightTaskService; 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/task") public class LightTaskController { private final LightEnergyDataService lightEnergyDataService; private final LightTaskService lightTaskService; private PermissionConfig permissionConfig; @PostMapping("/add") public ResponseVO addLightTask(@RequestBody @Validated LightTaskParam param) { if (!permissionConfig.check(MenuEnum.LIGHT_TASK_ADD.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } return ResponseUtil.success(lightTaskService.newAddLightTask(param)); } @GetMapping("/list") public ResponseVO listLightTask(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_TASK_LIST.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } List taskList = lightTaskService.listLightTask(conditionVO, keyword, order, seq); return ResponseUtil.successPage(taskList); } @PostMapping("/del") public ResponseVO delLightTask(@RequestBody @Validated LightTaskDelParam param) { if (!permissionConfig.check(MenuEnum.LIGHT_TASK_DELETE.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } boolean result = lightTaskService.delLightTask(param.getTaskIdList()); if (result) { return ResponseUtil.success("删除成功"); } else { return ResponseUtil.fail("删除失败"); } } @PostMapping("/update/{taskId}") public ResponseVO updateLightTask(@PathVariable Long taskId, @RequestBody @Validated LightTaskParam param) { if (!permissionConfig.check(MenuEnum.LIGHT_TASK_UPDATE.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } String result = lightTaskService.updateLightTask(taskId, param); return ResponseUtil.success(result); } @GetMapping("/{taskId}") public ResponseVO detailLightTask(@PathVariable Long taskId) { if (!permissionConfig.check(MenuEnum.LIGHT_TASK_DETAIL.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } Map objectObjectMap = lightTaskService.detailLightTask(taskId); return ResponseUtil.success(objectObjectMap); } /** * 单灯下发 * * @param param * @return */ @PostMapping("/issue") public ResponseVO issueLightTask(@RequestBody @Validated LightTaskIssueParam param) { if (!permissionConfig.check(MenuEnum.LIGHT_TASK_ISSUE.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } boolean result = lightTaskService.issueLightTask(param); if (result) { return ResponseUtil.success("下发成功"); } else { return ResponseUtil.fail("下发失败"); } } @PostMapping("/energy") public ResponseVO energy() { lightTaskService.energy(); return ResponseUtil.success("lightEnergyDataService.energy(0)"); } }