feat(source): 新增虚拟订单创建接口

- 添加 createVirtualOrder 接口用于后台创建0元订单
- 引入 PrinterService 和相关请求实体类
- 支持通过 sourceId、scenicId 和 printerId 创建订单
- 实现异常捕获并返回失败响应
- 扩展 SourceController 功能模块
This commit is contained in:
2025-12-17 22:09:27 +08:00
parent 25681806c3
commit 6c404e210e

View File

@@ -4,12 +4,16 @@ import com.ycwl.basic.annotation.IgnoreToken;
import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
import com.ycwl.basic.model.pc.source.req.SourceReqQuery;
import com.ycwl.basic.model.printer.req.CreateVirtualOrderRequest;
import com.ycwl.basic.service.pc.SourceService;
import com.ycwl.basic.service.printer.PrinterService;
import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.JwtTokenUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @Author:longbinbin
* @Date:2024/12/3 15:45
@@ -21,6 +25,8 @@ public class SourceController {
@Autowired
private SourceService sourceService;
@Autowired
private PrinterService printerService;
// 分页查询视频源
@PostMapping("/page")
@@ -45,5 +51,26 @@ public class SourceController {
return sourceService.deleteById(id);
}
/**
* 创建虚拟用户0元订单
* 用于后台直接从source创建订单,不需要真实用户
*
* @param request 请求参数
* @return 订单信息
*/
@PostMapping("/createVirtualOrder")
public ApiResponse<Map<String, Object>> createVirtualOrder(@RequestBody CreateVirtualOrderRequest request) {
try {
Map<String, Object> result = printerService.createVirtualOrder(
request.getSourceId(),
request.getScenicId(),
request.getPrinterId()
);
return ApiResponse.success(result);
} catch (Exception e) {
return ApiResponse.fail(e.getMessage());
}
}
}