5.16
package com.example.baoli.controller;
import com.example.baoli.entity.ReturnRecord;
import com.example.baoli.service.ReturnService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional;
@RestController
@RequestMapping("/api/return")
public class ReturnController {
@Autowired
private ReturnService returnService;
@GetMapping
public ResponseEntity<List<ReturnRecord>> getAllRecords() {
return ResponseEntity.ok(returnService.getAllRecords());
}
@GetMapping("/{id}")
public ResponseEntity<ReturnRecord> getRecordById(@PathVariable Long id) {
Optional<ReturnRecord> record = returnService.getRecordById(id);
return record.map(ResponseEntity::ok).orElse(ResponseEntity.notFound().build());
}
@PostMapping
public ResponseEntity<ReturnRecord> createRecord(@RequestBody ReturnRecord record) {
try {
ReturnRecord created = returnService.createRecord(record);
return ResponseEntity.ok(created);
} catch (Exception e) {
return ResponseEntity.badRequest().build();
}
}
@PutMapping("/{id}")
public ResponseEntity<ReturnRecord> updateRecord(@PathVariable Long id, @RequestBody ReturnRecord record) {
ReturnRecord updated = returnService.updateRecord(id, record);
return updated != null ? ResponseEntity.ok(updated) : ResponseEntity.notFound().build();
}
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteRecord(@PathVariable Long id) {
return returnService.deleteRecord(id) ? ResponseEntity.ok().build() : ResponseEntity.notFound().build();
}
}