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(@RequestParam(required = false) String status, @RequestParam(required = false) String keyword) { return Result.ok(businessService.listWorkOrders(status, keyword)); } @GetMapping("/{id}") public Result detail(@PathVariable Long id) { return Result.ok(businessService.getWorkOrder(id)); } @PostMapping("/status") public Result status(@RequestBody Requests.StatusRequest request) { businessService.updateCompletionStatus(request); return Result.ok(); } @PostMapping("/score") public Result score(@RequestBody Requests.ScoreRequest request) { businessService.scoreWorkOrder(request); return Result.ok(); } @PostMapping("/completion") public Result completion(@RequestBody Requests.CompletionRequest request) { return Result.ok(businessService.submitCompletion(request)); } }