Procházet zdrojové kódy

订单提交和支付设置小程序来源

cup před 2 roky
rodič
revize
ed0d3e10b4

+ 1 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserDeliverOrderController.java

@@ -341,7 +341,7 @@ public class UserDeliverOrderController extends BaseApiController {
             } else {
                 // 微信支付
                 jsonObject = walletService.pay(BizTypeEnum.TICKET_ORDER, param.getOrderId(), sysUser.getOpenId(),
-                    deliverOrder.getPayAmt(), "盲票--提货订单");
+                    deliverOrder.getPayAmt(), "盲票--提货订单", param.getAppSource());
             }
         } catch (ServiceException e) {
             LogUtil.error(logger, e, "根据提货单创建支付单失败。userId:{0},orderId:{1}", new Object[]{userId, param.getOrderId()});

+ 1 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java

@@ -234,7 +234,7 @@ public class UserTicketOrderController extends BaseApiController {
             } else {
                 // 微信支付
                 jsonObject = walletService.pay(BizTypeEnum.TICKET_ORDER, param.getOrderId(), sysUser.getOpenId(),
-                    ticketOrder.getPayAmt(), ticketOrder.getTitle());
+                    ticketOrder.getPayAmt(), ticketOrder.getTitle(), param.getAppSource());
             }
         } catch (ServiceException e) {
             LogUtil.error(logger, e, "根据盲票购买订单创建支付单失败。userId:{0},orderId:{1}",

+ 3 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/param/OrderPayParam.java

@@ -21,4 +21,7 @@ public class OrderPayParam {
 
 	@ApiModelProperty(value = "用户openID",required=true)
 	private String openId;
+
+	@ApiModelProperty("小程序,1盲票,2码上兑券,3支付宝盲票")
+	private Integer appSource;
 }

+ 2 - 1
mp-service/src/main/java/com/qs/mp/pay/service/IWalletService.java

@@ -43,10 +43,11 @@ public interface IWalletService {
    * @param openId
    * @param money
    * @param orderRemark
+   * @param appSource
    * @return
    */
   JSONObject pay(BizTypeEnum bizType, String bizId, String openId, int money,
-      String orderRemark);
+      String orderRemark, Integer appSource);
 
 
   /**

+ 20 - 4
mp-service/src/main/java/com/qs/mp/pay/service/impl/WalletServiceImpl.java

@@ -10,6 +10,7 @@ import com.alipay.api.response.AlipayTradeCreateResponse;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.qs.mp.channel.service.IChannelOrderService;
+import com.qs.mp.common.enums.AppSourceEnum;
 import com.qs.mp.common.enums.AsyncTaskTypeEnum;
 import com.qs.mp.common.enums.BizTypeEnum;
 import com.qs.mp.common.enums.MqTopicType;
@@ -90,6 +91,12 @@ public class WalletServiceImpl implements IWalletService {
   @Value("${pay.user-sign}")
   private String userPaySign;  //用户端商户签名
 
+  @Value("${pay.msdq-shopNo}")
+  private String msdqPayShopNo;
+
+  @Value("${pay.msdq-shopNo}")
+  private String msdqPaySign;
+
   @Value("${pay.channel-shopNo}")
   private String channelPayShopNo;  //渠道端商户号
   @Value("${pay.channel-sign}")
@@ -223,15 +230,24 @@ public class WalletServiceImpl implements IWalletService {
 
   @Override
   public JSONObject pay(BizTypeEnum bizType, String bizId, String openId, int money,
-      String orderRemark) {
+      String orderRemark, Integer appSource) {
     String reqUrl = baseUrl + "/pay/payMoneyCTB";
     String appId = channelAppId;
     String payShopNo = channelPayShopNo;
     String paySign = channelPaySign;
+
+    AppSourceEnum appSourceEnum = AppSourceEnum.getByValue(appSource);
     if (bizType == BizTypeEnum.TICKET_ORDER || bizType == BizTypeEnum.DELIVER_ORDER) {
-      appId = userAppId;
-      payShopNo = userPayShopNo;
-      paySign = userPaySign;
+      appId = appSourceEnum.getAppId();
+      // 区分微信小程序
+      if (AppSourceEnum.MSDQ.equals(appSourceEnum)) {
+        payShopNo = msdqPayShopNo;
+        paySign = msdqPaySign;
+      } else {
+        payShopNo = userPayShopNo;
+        paySign = userPaySign;
+      }
+
     }
     JSONObject params = buildPayOrderReqData(payShopNo, paySign, money, openId, appId, orderRemark, PAY_RESOURCE, PAY_RESOURCE_TYPE);
     String result = OkHttpUtil.postJsonParams(reqUrl, params.toJSONString());

+ 1 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderServiceImpl.java

@@ -243,6 +243,7 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
         }
         deliverOrder.setStatus(DeliverOrderStatusEnum.NOT_DELIVER);
         deliverOrder.setPayTime(DateUtils.parseDate(payOrder.getCompleteDate()));
+        deliverOrder.setPayType(payOrder.getPayResource());
         boolean rst = updateById(deliverOrder);
         Assert.isTrue(rst, "支付回调用户提货订单处理,更新订单状态失败,orderId:" + deliverOrder.getOrderId());
         return false;

+ 2 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -428,6 +428,7 @@ public class UserTicketOrderServiceImpl extends
             throw new ServiceException("支付回调用户购票订单处理,订单状态异常,不是待支付。orderId:" + payOrder.getBizId());
         }
         ticketOrder.setPayTime(DateUtils.parseDate(payOrder.getCompleteDate()));
+        ticketOrder.setPayType(payOrder.getPayResource());
 
         // 插入异步任务
         Assert.isTrue(asyncTaskService.insertAsyncTask(AsyncTaskTypeEnum.TICKET_PAY, payOrder.getBizId()),
@@ -487,6 +488,7 @@ public class UserTicketOrderServiceImpl extends
             new LambdaUpdateWrapper<UserTicketOrder>().set(UserTicketOrder::getStatus,
                     UserTicketOrderStatusEnum.FINISHED)
                 .set(UserTicketOrder::getPayTime, ticketOrder.getPayTime())
+                .set(UserTicketOrder::getPayType, ticketOrder.getPayType())
                 .eq(UserTicketOrder::getOrderId, ticketOrder.getOrderId())
                 .eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.NOT_PAY));
         Assert.isTrue(updateRst, "支付回调用户购票订单处理,更新订单状态失败,orderId:" + ticketOrder.getOrderId());