1

团队任务中我的任务板块是完成返厂管理,报废记录,批量操作支持以及系统级功能,今天先完成了基础数据准备,数据表结构如下

-- 返厂工单表
CREATE TABLE return_factory_order (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
sn_code VARCHAR(50) NOT NULL COMMENT '备件SN号',
fault_description TEXT COMMENT '故障描述',
status ENUM('PENDING','SHIPPED','RECEIVED','REPAIRING','RETURNED','SCRAPPED') DEFAULT 'PENDING',
vendor_id BIGINT NOT NULL COMMENT '厂商ID',
estimated_return_date DATE,
actual_return_date DATE,
repair_result TEXT,
cost DECIMAL(10,2),
tracking_number VARCHAR(50),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (vendor_id) REFERENCES vendor (id)
);

-- 厂商表
CREATE TABLE vendor (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
contact_email VARCHAR(100),
warranty_coverage BOOLEAN DEFAULT FALSE COMMENT '是否支持保修'
);以及后端核心代码,返厂工单控制器
@RestController
@RequestMapping("/api/return-factory")
public class ReturnFactoryController {

@Autowired
private ReturnFactoryService returnFactoryService;

// 发起返厂申请
@PostMapping
public ResponseEntity<ReturnFactoryOrder> createOrder(
        @RequestBody ReturnFactoryRequest request) {
    return ResponseEntity.ok(returnFactoryService.createOrder(request));
}

// 厂商状态回调接口
@PostMapping("/{orderId}/status")
public ResponseEntity<Void> updateStatus(
        @PathVariable Long orderId, 
        @RequestParam String status,
        @RequestBody(required = false) RepairResultDTO result) {
    returnFactoryService.updateStatus(orderId, status, result);
    return ResponseEntity.ok().build();
}

}

posted @ 2025-04-20 21:00  Lomook  阅读(36)  评论(0)    收藏  举报