From 6c404e210e69ec683054a9cc54bcfc261137c6dd Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Wed, 17 Dec 2025 22:09:27 +0800 Subject: [PATCH] =?UTF-8?q?feat(source):=20=E6=96=B0=E5=A2=9E=E8=99=9A?= =?UTF-8?q?=E6=8B=9F=E8=AE=A2=E5=8D=95=E5=88=9B=E5=BB=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 createVirtualOrder 接口用于后台创建0元订单 - 引入 PrinterService 和相关请求实体类 - 支持通过 sourceId、scenicId 和 printerId 创建订单 - 实现异常捕获并返回失败响应 - 扩展 SourceController 功能模块 --- .../basic/controller/pc/SourceController.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/com/ycwl/basic/controller/pc/SourceController.java b/src/main/java/com/ycwl/basic/controller/pc/SourceController.java index 11e7c0fd..c152a5f0 100644 --- a/src/main/java/com/ycwl/basic/controller/pc/SourceController.java +++ b/src/main/java/com/ycwl/basic/controller/pc/SourceController.java @@ -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> createVirtualOrder(@RequestBody CreateVirtualOrderRequest request) { + try { + Map result = printerService.createVirtualOrder( + request.getSourceId(), + request.getScenicId(), + request.getPrinterId() + ); + return ApiResponse.success(result); + } catch (Exception e) { + return ApiResponse.fail(e.getMessage()); + } + } + }