From 0ac0b4073bd4914373ae7413219a95bc6d5d786e Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 23 Oct 2025 17:10:56 +0800
Subject: [PATCH] C2C

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiC2cOrderController.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiC2cOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiC2cOrderController.java
index b87c16c..73b05db 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiC2cOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiC2cOrderController.java
@@ -17,9 +17,11 @@
 import com.yami.trading.service.c2c.C2cPaymentMethodService;
 import com.yami.trading.service.syspara.SysparaService;
 import com.yami.trading.service.user.UserService;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -172,10 +174,13 @@
                 throw new YamiShopBindException("广告不存在");
             }
 
-            C2cPaymentMethod method =c2cPaymentMethodService.get(payment_method_id);
-            if (null == method) {
-                throw new YamiShopBindException("支付方式不存在");
+            if (C2cAdvert.DIRECTION_SELL.equals(c2cAdvert.getDirection())) {
+                C2cPaymentMethod method =c2cPaymentMethodService.get(payment_method_id);
+                if (null == method) {
+                    throw new YamiShopBindException("支付方式不存在");
+                }
             }
+
 
             if (StringUtils.isEmptyString(order_type) || !Arrays.asList("by_amount", "by_num").contains(order_type)) {
                 throw new YamiShopBindException("订单类型不正确");
@@ -234,10 +239,43 @@
         return resultObject;
     }
 
+    @ApiOperation("校验是否设置支付方式")
+    @GetMapping(action + "payMethodCheck.action")
+    public Object payMethodCheck(HttpServletRequest request) {
+        String order_no = request.getParameter("order_no");
+        Result resultObject = new Result();
+
+        try {
+            String partyId = SecurityUtils.getCurrentUserId();
+            if (null == partyId) {
+                throw new BusinessException("请重新登录");
+            }
+            C2cOrder order = this.c2cOrderService.get(order_no);
+            if (null == order) {
+                throw new BusinessException("订单不存在");
+            }
+            if (order.getMethodType() == 0) {
+                throw new BusinessException("订单已提交,请等待商家设置收款方式");
+            }
+            resultObject.setCode(0);
+        } catch (BusinessException e) {
+            resultObject.setCode(1);
+            resultObject.setMsg(e.getMessage());
+            log.error("error: {}", e.getMessage());
+        } catch (Throwable t) {
+            resultObject.setCode(1);
+            //resultObject.setMsg("程序错误");
+            resultObject.setMsg(t.getMessage());
+            log.error("error:", t);
+        }
+        return resultObject;
+    }
+
     @RequestMapping(action + "pay_finish.action")
     public Object pay_finish(HttpServletRequest request) {
         String order_no = request.getParameter("order_no");
         String safe_password = request.getParameter("safe_password");
+        String img = request.getParameter("img");
 
         Result resultObject = new Result();
 
@@ -268,6 +306,10 @@
                 throw new BusinessException("订单不存在");
             }
 
+            if (img == null || img.isEmpty()) {
+                throw new BusinessException("请先上传支付凭证");
+            }
+
             if (partyId.equals(order.getPartyId())) {
                 // 用户操作
                 if (!"buy".equals(order.getDirection())) {
@@ -294,6 +336,7 @@
 
             order.setState("1");
             order.setPayTime(new Date());
+            order.setImg(img);
             this.c2cOrderService.updateById(order);
 
             if (Arrays.asList("0", "1").contains(order.getState())) {

--
Gitblit v1.9.3