| | |
| | | package com.sandu.ximon.admin.controller; |
| | | |
| | | import com.sandu.common.domain.ResponseVO; |
| | | import com.sandu.common.execption.BusinessException; |
| | | import com.sandu.common.object.BaseConditionVO; |
| | | 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.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 路灯任务相关控制类 |
| | |
| | | @AllArgsConstructor |
| | | @RequestMapping("/v1/light/task") |
| | | public class LightTaskController { |
| | | |
| | | private final LightEnergyDataService lightEnergyDataService; |
| | | private final LightTaskService lightTaskService; |
| | | |
| | | private PermissionConfig permissionConfig; |
| | | |
| | | @PostMapping("/add") |
| | | public ResponseVO<Object> addLightTask(@RequestBody @Validated LightTaskParam param) { |
| | | boolean result = lightTaskService.addLightTask(param); |
| | | if (!permissionConfig.check(MenuEnum.LIGHT_TASK_ADD.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(lightTaskService.AddLightTask(param)); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/list") |
| | | public ResponseVO<Object> 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<LightTaskDto> taskList = lightTaskService.listLightTask(conditionVO, keyword, order, seq); |
| | | return ResponseUtil.successPage(taskList); |
| | | } |
| | | |
| | | @PostMapping("/del") |
| | | public ResponseVO<Object> delLightTask(@RequestBody @Validated LightTaskDelParam param) { |
| | | if (!permissionConfig.check(MenuEnum.LIGHT_TASK_DELETE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | String result = lightTaskService.delLightTask(param.getTaskId()); |
| | | return ResponseUtil.success(result); |
| | | |
| | | } |
| | | |
| | | @PostMapping("/update/{taskId}") |
| | | public ResponseVO<Object> updateLightTask(@PathVariable Long taskId, @RequestBody @Validated LightTaskParam param) { |
| | | if (!permissionConfig.check(MenuEnum.LIGHT_TASK_UPDATE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | String result = lightTaskService.newUpdateLightTask(taskId, param); |
| | | return ResponseUtil.success(result); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 清除任务 |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | // @PostMapping("/clear") |
| | | // public ResponseVO<Object> clearLightTask(@RequestBody List<Long> poleIds) { |
| | | // if (!permissionConfig.check(MenuEnum.LIGHT_TASK_UPDATE.getCode())) { |
| | | // return ResponseUtil.fail("缺少对应用户权限"); |
| | | // } |
| | | // boolean result = lightTaskService.clearLightTask(poleIds); |
| | | // return ResponseUtil.success(result); |
| | | // } |
| | | @GetMapping("/{taskId}") |
| | | public ResponseVO<Object> detailLightTask(@PathVariable Long taskId) { |
| | | if (!permissionConfig.check(MenuEnum.LIGHT_TASK_DETAIL.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | |
| | | return ResponseUtil.success(lightTaskService.detailLightTask(taskId)); |
| | | } |
| | | |
| | | /** |
| | | * 单灯下发 |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | | @PostMapping("/issue") |
| | | public ResponseVO<Object> 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("新增成功"); |
| | | return ResponseUtil.success("下发成功"); |
| | | } else { |
| | | return ResponseUtil.fail("新增失败"); |
| | | return ResponseUtil.fail("下发失败"); |
| | | } |
| | | } |
| | | |
| | | |
| | | @PostMapping("/energy") |
| | | public ResponseVO<Object> energy() { |
| | | |
| | | |
| | | lightTaskService.energy(); |
| | | return ResponseUtil.success("lightEnergyDataService.energy(0)"); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/check") |
| | | public ResponseVO<Object> checkTask(@RequestBody LightTaskParam param) { |
| | | if (!permissionConfig.check(MenuEnum.LIGHT_TASK_UPDATE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | if (!"0001".equals(param.getLightAddress()) && !"0002".equals(param.getLightAddress())) { |
| | | throw new BusinessException("灯头地址格式不正确"); |
| | | } |
| | | return ResponseUtil.success(lightTaskService.checkTask(param)); |
| | | |
| | | } |
| | | |
| | | } |