From 7b793bb9f2d444d003e4b3b6193ed893fd864b2e Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Tue, 5 Nov 2024 16:31:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=85=E5=80=BC=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9D=E5=85=85=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/entity/dto/MemberInDTO.java | 2 ++ .../system/cashierservice/service/PayService.java | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/MemberInDTO.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/MemberInDTO.java index 3ac953a..f83b9e7 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/MemberInDTO.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/MemberInDTO.java @@ -23,4 +23,6 @@ public class MemberInDTO { private Integer userCouponId; // 是否使用积分抵扣 private Integer pointsNum ; + private String payType; + } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 069540e..ca406c0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -1087,6 +1087,11 @@ public class PayService { return Result.fail("支付通道不存在"); } + if ("aliPay".equals(memberInDTO.getPayType()) && StrUtil.isBlank(thirdApply.getAlipaySmallAppid())) { + return Result.fail("店铺未配置支付宝小程序appId"); + } + + // 霸王餐活动充值 BigDecimal payAmount; TbMemberIn memberIn = new TbMemberIn(); @@ -1142,12 +1147,17 @@ public class PayService { } } } else { + String smallAppid = thirdApply.getSmallAppid(); + if ("aliPay".equals(memberInDTO.getPayType())) { + smallAppid = thirdApply.getAlipaySmallAppid(); + } + String convertPayType = "aliPay".equals(memberInDTO.getPayType()) ? "ALIPAY" : "WECHAT"; String orderNo = DateUtils.getsdfTimesSS(); PublicResp publicResp = thirdPayService .scanpay(thirdUrl, thirdApply.getAppId(), "会员充值", "会员充值", payAmount - .multiply(new BigDecimal(100)).longValue(), "WECHAT", - thirdApply.getSmallAppid(), memberInDTO.getOpenId(), ip, orderNo, thirdApply.getStoreId(), + .multiply(new BigDecimal(100)).longValue(), convertPayType, + smallAppid, memberInDTO.getOpenId(), ip, orderNo, thirdApply.getStoreId(), callInBack, null, thirdApply.getAppToken()); if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { if ("000000".equals(publicResp.getCode())) {