package com.emergencyrepair.business.controller;
|
|
import com.emergencyrepair.business.dto.Requests;
|
import com.emergencyrepair.business.entity.CompletionInfo;
|
import com.emergencyrepair.business.entity.WorkOrder;
|
import com.emergencyrepair.business.service.BusinessService;
|
import com.emergencyrepair.common.Result;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
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.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("/api/work-orders")
|
@RequiredArgsConstructor
|
public class WorkOrderController {
|
private final BusinessService businessService;
|
|
@GetMapping
|
public Result<List<WorkOrder>> list(@RequestParam(required = false) String status,
|
@RequestParam(required = false) String keyword) {
|
return Result.ok(businessService.listWorkOrders(status, keyword));
|
}
|
|
@GetMapping("/{id}")
|
public Result<WorkOrder> detail(@PathVariable Long id) {
|
return Result.ok(businessService.getWorkOrder(id));
|
}
|
|
@PostMapping("/status")
|
public Result<Void> status(@RequestBody Requests.StatusRequest request) {
|
businessService.updateCompletionStatus(request);
|
return Result.ok();
|
}
|
|
@PostMapping("/score")
|
public Result<Void> score(@RequestBody Requests.ScoreRequest request) {
|
businessService.scoreWorkOrder(request);
|
return Result.ok();
|
}
|
|
@PostMapping("/completion")
|
public Result<CompletionInfo> completion(@RequestBody Requests.CompletionRequest request) {
|
return Result.ok(businessService.submitCompletion(request));
|
}
|
}
|