package com.xiaopeng.maintenance.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.xiaopeng.api.model.maintenance.XpWorkOrder; import com.xiaopeng.api.model.maintenance.XpWorkOrderLog; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.common.security.service.TokenService; import com.xiaopeng.maintenance.model.query.WorkOrderPageListQuery; import com.xiaopeng.maintenance.service.IXpWorkOrderLogService; import com.xiaopeng.maintenance.service.IXpWorkOrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** *

* 管理后台 任务规则设置 *

* * @author mitao * @since 2026-02-03 */ @RestController @Slf4j @Api(tags = "管理后台-工单管理") @RequestMapping("/api/v1/workOrder") public class XpWorkOrderController { @Resource private IXpWorkOrderService workOrderService; @Resource private IXpWorkOrderLogService workOrderLogService; @Resource private TokenService tokenService; @ApiOperation(value = "工单管理分页列表") @PostMapping("/pageList") public R> pageList(@RequestBody WorkOrderPageListQuery query) { query.setUserId(tokenService.getLoginUser().getSysUser().getId()); PageInfo pageList = workOrderService.pageList(query); return R.ok(pageList); } @ApiOperation(value = "创建工单") @PostMapping("/saveWorkOrder") public R saveWordOrder(@RequestBody XpWorkOrder workOrder) { workOrder.setCreateById(tokenService.getLoginUser().getSysUser().getId()); workOrderService.save(workOrder); return R.ok(); } @ApiOperation(value = "编辑工单") @PostMapping("/updateWorkOrder") public R updateWordOrder(@RequestBody XpWorkOrder workOrder) { workOrderService.updateById(workOrder); return R.ok(); } @ApiOperation(value = "处理工单") @PostMapping("/handleWorkOrder") public R handleWorkOrder(@RequestBody XpWorkOrderLog workOrderLog) { workOrderService.handleWorkOrder(workOrderLog); return R.ok(); } @ApiOperation(value = "删除工单") @DeleteMapping("/deleteWorkOrder") public R deleteWordOrder(Long id) { workOrderService.removeById(id); return R.ok(); } @ApiOperation(value = "工单详情") @GetMapping("/workOrderDetail") public R workOrderDetail(Long id) { XpWorkOrder detail =workOrderService.workOrderDetail(id); return R.ok(detail); } /** * 判断工单是否包含这个类型的id * @param id * @return */ @GetMapping("/include") public R include(@RequestParam Long id){ long count = workOrderService.count(new LambdaQueryWrapper().eq(XpWorkOrder::getFeedbackTypeId, id)); if(count>0){ return R.ok(true); } return R.ok(false); } }