From 3aef471b170a703b501ddb4d9d2a12791d07ff28 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 15 四月 2026 20:06:56 +0800
Subject: [PATCH] 代码生成
---
server/web/src/main/java/com/doumee/api/web/OrdersApi.java | 149 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 149 insertions(+), 0 deletions(-)
diff --git a/server/web/src/main/java/com/doumee/api/web/OrdersApi.java b/server/web/src/main/java/com/doumee/api/web/OrdersApi.java
new file mode 100644
index 0000000..e2b9e33
--- /dev/null
+++ b/server/web/src/main/java/com/doumee/api/web/OrdersApi.java
@@ -0,0 +1,149 @@
+package com.doumee.api.web;
+
+import com.doumee.core.annotation.LoginRequired;
+import com.doumee.core.annotation.LoginShopRequired;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.dto.CancelOrderDTO;
+import com.doumee.dao.dto.CreateOrderDTO;
+import com.doumee.dao.dto.DriverVerifyDTO;
+import com.doumee.dao.dto.ShopVerifyDTO;
+import com.doumee.dao.dto.MyOrderDTO;
+import com.doumee.dao.vo.MyOrderDetailVO;
+import com.doumee.dao.vo.MyOrderVO;
+import com.doumee.dao.vo.OverdueFeeVO;
+import com.doumee.dao.vo.PayResponse;
+import com.doumee.service.business.OrdersService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Objects;
+
+/**
+ * 璁㈠崟鎺ュ彛
+ *
+ * @Author : Rk
+ * @create 2025/7/15 15:49
+ */
+@Api(tags = "璁㈠崟鎺ュ彛")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/web/order")
+@Slf4j
+public class OrdersApi extends ApiController {
+
+ @Autowired
+ private OrdersService ordersService;
+
+ @Autowired
+ private RedisTemplate<String, Object> redisTemplate;
+
+ @LoginRequired
+ @ApiOperation(value = "鍒涘缓璁㈠崟", notes = "鍒涘缓灏卞湴/寮傚湴瀵勫瓨璁㈠崟锛岃繑鍥炲井淇℃敮浠樺弬鏁�")
+ @PostMapping("/create")
+ public ApiResponse<PayResponse> createOrder(@RequestBody @Valid CreateOrderDTO dto) {
+ PayResponse payResponse = ordersService.createOrder(dto, getMemberId());
+ if (Objects.nonNull(payResponse) && StringUtils.isNotBlank(payResponse.getLockKey())) {
+ redisTemplate.delete(payResponse.getLockKey());
+ }
+ return ApiResponse.success("鎿嶄綔鎴愬姛", payResponse);
+ }
+
+ @LoginRequired
+ @ApiOperation(value = "缁х画鏀粯", notes = "寰呮敮浠樿鍗曢噸鏂板敜璧峰井淇℃敮浠�")
+ @PostMapping("/continuePay/{orderId}")
+ public ApiResponse<PayResponse> continuePay(@PathVariable Integer orderId) {
+ return ApiResponse.success("鎿嶄綔鎴愬姛", ordersService.continuePay(orderId, getMemberId()));
+ }
+
+ @LoginRequired
+ @ApiOperation(value = "浼氬憳璁㈠崟鍒嗛〉", notes = "灏忕▼搴忕锛屾寜鐘舵�佺瓫閫�")
+ @PostMapping("/myPage")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<PageData<MyOrderVO>> myPage(@RequestBody @Validated PageWrap<MyOrderDTO> pageWrap) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", ordersService.findMyOrderPage(pageWrap, getMemberId()));
+ }
+
+ @LoginRequired
+ @ApiOperation(value = "浼氬憳璁㈠崟璇︽儏", notes = "灏忕▼搴忕锛屾煡璇㈠綋鍓嶄細鍛樼殑璁㈠崟璇︽儏")
+ @GetMapping("/detail/{orderId}")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "path", dataType = "Integer", name = "orderId", value = "璁㈠崟涓婚敭", required = true),
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+ })
+ public ApiResponse<MyOrderDetailVO> detail(@PathVariable Integer orderId) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", ordersService.findMyOrderDetail(orderId, getMemberId()));
+ }
+
+ @LoginRequired
+ @ApiOperation(value = "浼氬憳鍙栨秷璁㈠崟", notes = "浠呭紓鍦板瘎瀛樿鍗曞彲鍙栨秷")
+ @PostMapping("/cancel")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+ })
+ public ApiResponse cancel(@RequestBody @Validated CancelOrderDTO dto) {
+ ordersService.cancelOrder(dto.getOrderId(), getMemberId(), dto.getCancelReason());
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+ @LoginRequired
+ @ApiOperation(value = "鏌ヨ瓒呮椂璐圭敤", notes = "鏌ヨ璁㈠崟閫炬湡澶╂暟鍜岄�炬湡璐圭敤")
+ @GetMapping("/overdueFee/{orderId}")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "path", dataType = "Integer", name = "orderId", value = "璁㈠崟涓婚敭", required = true),
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+ })
+ public ApiResponse<OverdueFeeVO> overdueFee(@PathVariable Integer orderId) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", ordersService.calculateOverdueFee(orderId));
+ }
+
+ @LoginShopRequired
+ @ApiOperation(value = "闂ㄥ簵鏍搁攢鏀朵欢", notes = "闂ㄥ簵閫氳繃鏍搁攢鐮佺‘璁ゆ敹浠�/鍙栦欢")
+ @PostMapping("/shopVerify")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "闂ㄥ簵token鍊�", required = true)
+ })
+ public ApiResponse shopVerify(@RequestBody @Validated ShopVerifyDTO dto) {
+ ordersService.shopVerifyOrder(dto.getVerifyCode(), getShopId(), dto.getImages(), dto.getRemark());
+ return ApiResponse.success("鏍搁攢鎴愬姛");
+ }
+
+ @LoginShopRequired
+ @ApiOperation(value = "鏍搁攢鍙告満鐮�", notes = "寮傚湴瀵勫瓨涓旀湁鍙栦欢闂ㄥ簵鐨勮鍗曪紝閫氳繃鍙告満鏍搁攢鐮佺‘璁ゅ埌搴�")
+ @PostMapping("/driverVerify")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+ })
+ public ApiResponse driverVerify(@RequestBody @Validated DriverVerifyDTO dto) {
+ ordersService.driverVerifyOrder(dto.getVerifyCode(), dto.getImages(), dto.getRemark(), getShopId());
+ return ApiResponse.success("鏍搁攢鎴愬姛");
+ }
+
+ @LoginShopRequired
+ @ApiOperation(value = "闂ㄥ簵璁㈠崟璇︽儏", notes = "闂ㄥ簵绔煡璇㈣鍗曡鎯咃紝鏀寔璁㈠崟涓婚敭鎴栨牳閿�鐮佹煡璇�")
+ @GetMapping("/shopDetail")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "闂ㄥ簵token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "orderId", value = "璁㈠崟涓婚敭"),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "verifyCode", value = "鏍搁攢鐮�")
+ })
+ public ApiResponse<MyOrderDetailVO> shopDetail(@RequestParam(required = false) Integer orderId,
+ @RequestParam(required = false) String verifyCode) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", ordersService.findShopOrderDetail(orderId, verifyCode));
+ }
+
+
+}
--
Gitblit v1.9.3