2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-10-19 2b9c6e86f1fb2abd7ad7f1a8d74d3fcd515da858
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightTaskController.java
@@ -1,20 +1,22 @@
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.domain.LightTask;
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;
/**
 * 路灯任务相关控制类
@@ -25,54 +27,86 @@
@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 (result) {
            return ResponseUtil.success("新增成功");
        } else {
            return ResponseUtil.fail("新增失败");
        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(required = false) String keyword) {
        List<LightTaskDto> taskList = lightTaskService.listLightTask(conditionVO.getPageNo(), conditionVO.getPageSize(), keyword);
    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) {
        boolean result = lightTaskService.delLightTask(param.getTaskIdList());
        if (result) {
            return ResponseUtil.success("删除成功");
        } else {
            return ResponseUtil.fail("删除失败");
        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) {
        boolean result = lightTaskService.updateLightTask(taskId, param);
        if (result) {
            return ResponseUtil.success("编辑成功");
        } else {
            return ResponseUtil.fail("编辑失败");
        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) {
        Map<Object, Object> objectObjectMap = lightTaskService.detailLightTask(taskId);
        return ResponseUtil.success(objectObjectMap);
        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("下发成功");
@@ -80,4 +114,27 @@
            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));
    }
}