package com.maibu.controller; import com.maibu.core.business.DevicePlan; import com.maibu.core.controller.BaseController; import com.maibu.core.domain.AjaxResult; import com.maibu.core.domain.model.LoginUser; import com.maibu.dto.DeviceTaskQueryDTO; import com.maibu.service.DeviceTaskService; import com.maibu.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/iot/deviceTask") public class DeviceTaskController extends BaseController { @Autowired private DeviceTaskService deviceTaskService; @PostMapping("/save") public AjaxResult insertOrUpdate(@RequestBody DevicePlan devicePlan) { LoginUser loginUser = SecurityUtils.getLoginUser(); return AjaxResult.success(deviceTaskService.insertOrUpdate(devicePlan, loginUser)); } @GetMapping("/getAllDeviceTaskByUser") public AjaxResult getAllDeviceTaskByUser(@RequestParam Long userId) { return AjaxResult.success(deviceTaskService.getDeviceTaskByUser(userId)); } @PostMapping("/getDevicePlan") public AjaxResult getDevicePlan(@RequestBody DeviceTaskQueryDTO dto) { return AjaxResult.success(deviceTaskService.getDeviceTask(dto)); } @GetMapping("/delete") public AjaxResult delete(@RequestParam Long id) { return AjaxResult.success(deviceTaskService.delete(id)); } @GetMapping("/start") public AjaxResult start(@RequestParam Long id) { LoginUser loginUser = SecurityUtils.getLoginUser(); deviceTaskService.start(id, loginUser); return AjaxResult.success(); } @GetMapping("/devicePlanStatistics") public AjaxResult devicePlanStatistics(@RequestParam Long userId) { return AjaxResult.success(deviceTaskService.getDevicePlanStatistics(userId)); } @GetMapping("/devicePlanTaskStatistics") public AjaxResult devicePlanTaskStatistics(@RequestParam Long userId) { return AjaxResult.success(deviceTaskService.getDevicePlanTaskStatistics(userId)); } @GetMapping("/concurrentDeviceRoute") public AjaxResult concurrentDeviceRoute(@RequestParam String deviceId) { return AjaxResult.success(deviceTaskService.concurrentDevicePlanTask(deviceId)); } @GetMapping("/workStatistics") public AjaxResult workStatistics(@RequestParam Long userId) { return AjaxResult.success(deviceTaskService.workStatistics(userId)); } @PostMapping("/deviceTaskPool") public AjaxResult deviceTaskPool(@RequestBody DeviceTaskQueryDTO dto) { return AjaxResult.success(deviceTaskService.deviceTaskPool(dto)); } }