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.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<Object> addLightTask(@RequestBody @Validated LightTaskParam param) {
|
if (!permissionConfig.check(MenuEnum.LIGHT_TASK_ADD.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
boolean result = lightTaskService.addLightTask(param);
|
if (result) {
|
return ResponseUtil.success("新增成功");
|
} else {
|
return ResponseUtil.fail("新增失败");
|
}
|
}
|
|
@GetMapping("/list")
|
public ResponseVO<Object> listLightTask(BaseConditionVO conditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
|
if (!permissionConfig.check(MenuEnum.LIGHT_TASK_LIST.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
List<LightTaskDto> taskList = lightTaskService.listLightTask(conditionVO, keyword);
|
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("缺少对应用户权限");
|
}
|
boolean result = lightTaskService.delLightTask(param.getTaskIdList());
|
if (result) {
|
return ResponseUtil.success("删除成功");
|
} else {
|
return ResponseUtil.fail("删除失败");
|
}
|
}
|
|
@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("缺少对应用户权限");
|
}
|
int result = lightTaskService.updateLightTask(taskId, param);
|
if(result==0){
|
return ResponseUtil.success("编辑成功");
|
}else if(result==1){
|
return ResponseUtil.success("原任务存在发送指令异常,旧任务保留,下发成功的部分保存至对应新增任务");
|
}else if(result==2){
|
return ResponseUtil.fail("原任务存在发送指令异常,任务下发失败,旧任务保留");
|
}else {
|
return ResponseUtil.fail("未知错误");
|
}
|
|
}
|
|
@GetMapping("/{taskId}")
|
public ResponseVO<Object> detailLightTask(@PathVariable Long taskId) {
|
if (!permissionConfig.check(MenuEnum.LIGHT_TASK_DETAIL.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
Map<Object, Object> objectObjectMap = lightTaskService.detailLightTask(taskId);
|
return ResponseUtil.success(objectObjectMap);
|
}
|
|
/**
|
* 单灯下发
|
*
|
* @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("下发成功");
|
} else {
|
return ResponseUtil.fail("下发失败");
|
}
|
}
|
|
|
@PostMapping("/energy")
|
public ResponseVO<Object> energy() {
|
|
|
lightTaskService.energy();
|
return ResponseUtil.success("lightEnergyDataService.energy(0)");
|
}
|
|
|
}
|