Эх сурвалжийг харах

bugfix: 3768 预生产门店详情(提测0323);人员没有人员应该隐藏掉不显示

刘云鑫 3 долоо хоног өмнө
parent
commit
351900236c

+ 6 - 3
alien-dining/src/main/java/shop/alien/dining/controller/PaymentController.java

@@ -46,13 +46,16 @@ public class PaymentController {
             @ApiImplicitParam(name = "orderNo", value = "订单号", required = true, paramType = "query", dataType = "String"),
             @ApiImplicitParam(name = "storeId", value = "店铺ID,用于从 MySQL 获取该店铺支付配置(StorePaymentConfig)", required = true, paramType = "query", dataType = "Integer"),
             @ApiImplicitParam(name ="couponId", value = "优惠券Id"),
-            @ApiImplicitParam(name = "payerId", value = "payerId")
+            @ApiImplicitParam(name = "payerId", value = "payerId"),
+            @ApiImplicitParam(name = "tablewareFee", value = "餐具费"),
+            @ApiImplicitParam(name = "discountAmount", value = "优惠金额"),
+            @ApiImplicitParam(name = "payAmount", value = "支付金额")
     })
     @RequestMapping("/prePay")
-    public R prePay(String price, String subject, String payType, String payer, String orderNo, Integer storeId,Integer couponId, Integer payerId) {
+    public R prePay(String price, String subject, String payType, String payer, String orderNo, Integer storeId,Integer couponId, Integer payerId,String tablewareFee,String discountAmount,String payAmount) {
         log.info("PaymentController:prePay, price: {}, subject: {}, payType: {}, payer: {}, orderNo: {}, storeId: {},couponId:{},payerId:{}", price, subject, payType, payer, orderNo, storeId,couponId,payerId);
         try {
-            return paymentStrategyFactory.getStrategy(payType).createPrePayOrder(price, subject, payer, orderNo, storeId, couponId,payerId);
+            return paymentStrategyFactory.getStrategy(payType).createPrePayOrder(price, subject, payer, orderNo, storeId, couponId,payerId,tablewareFee,discountAmount,payAmount);
         } catch (Exception e) {
             return R.fail(e.getMessage());
         }

+ 1 - 1
alien-dining/src/main/java/shop/alien/dining/strategy/payment/PaymentStrategy.java

@@ -23,7 +23,7 @@ public interface PaymentStrategy {
      * @return 预支付订单信息
      * @throws Exception 生成异常
      */
-    R createPrePayOrder(String price, String subject, String payer, String orderNo, Integer storeId, Integer couponId, Integer payerId) throws Exception;
+    R createPrePayOrder(String price, String subject, String payer, String orderNo, Integer storeId, Integer couponId, Integer payerId,String tablewareFee,String discountAmount,String payAmount) throws Exception;
 
 
     /**

+ 8 - 6
alien-dining/src/main/java/shop/alien/dining/strategy/payment/impl/WeChatPaymentMininProgramStrategyImpl.java

@@ -34,15 +34,12 @@ import shop.alien.util.common.constant.PaymentEnum;
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 import java.io.UncheckedIOException;
+import java.math.BigDecimal;
 import java.nio.charset.StandardCharsets;
 import java.security.PrivateKey;
 import java.security.PublicKey;
 import java.security.Signature;
-import java.util.Base64;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.CompletableFuture;
 
 
@@ -158,7 +155,7 @@ public class WeChatPaymentMininProgramStrategyImpl implements PaymentStrategy {
     }
 
     @Override
-    public R createPrePayOrder(String price, String subject, String payer, String orderNo, Integer storeId, Integer couponId, Integer payerId) throws Exception {
+    public R createPrePayOrder(String price, String subject, String payer, String orderNo, Integer storeId, Integer couponId, Integer payerId,String tablewareFee,String discountAmount,String payAmount) throws Exception {
         // 本系统调用:通过 storeId 从 MySQL 获取店铺支付配置
         if (storeId == null) {
             log.warn("createPrePayOrder 缺少 storeId,无法获取支付配置");
@@ -223,6 +220,9 @@ public class WeChatPaymentMininProgramStrategyImpl implements PaymentStrategy {
             log.info("未支付场景已换新微信商户单号 orderNo={}, payTradeNo={}", orderNo, newPayTradeNo);
             storeOrder.setCouponId(couponId);
             storeOrder.setPayUserId(payerId);
+            storeOrder.setTablewareFee(new BigDecimal(tablewareFee));
+            storeOrder.setDiscountAmount(new BigDecimal(discountAmount));
+            storeOrder.setPayAmount(new BigDecimal(payAmount));
             if (!storeOrderService.updateById(storeOrder)) {
                 log.error("更新订单失败 orderNo={}", orderNo);
                 return R.fail("更新订单失败");
@@ -346,6 +346,8 @@ public class WeChatPaymentMininProgramStrategyImpl implements PaymentStrategy {
                 if (storeOrder != null && storeOrder.getPayStatus() != 1) {
                     storeOrder.setPayStatus(1);
                     storeOrder.setOrderStatus(1);
+                    storeOrder.setPayType(1);
+                    storeOrder.setPayTime(new Date());
                     if (storeOrderService.updateById(storeOrder)) {
                         log.info("小程序更新订单成功,订单号outTradeNo:{}", outTradeNo);
                         if (storeOrder.getCouponId() != null && storeOrder.getPayUserId() != null) {