zoujiajian 2 년 전
부모
커밋
69d617fa74

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/model/request/ChannelPayReq.java

@@ -0,0 +1,18 @@
+package com.cyksj.model.request;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: ChannelPayReq
+ * 创建者: JavaZou
+ * 创建时间:2024/5/31 13:57
+ */
+@Getter
+@Setter
+public class ChannelPayReq {
+	private String wxShopId;
+
+	private String zfbShopId;
+}

+ 2 - 1
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -1079,6 +1079,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		String payTimeStr = params.get("gmt_payment");
 		//买家支付宝账号
 		String buyerId = params.get("buyer_id");
+		String buyerOpenId = params.get("buyer_open_id");
 		log.info("支付宝回调信息:{}", Jsons.toJson(params));
 		if (!orderDon.getStatus().equals(OrderDon.Status.noPayment) && !orderDon.getStatus().equals(OrderDon.Status.close)) {
 			log.info("支付宝已回调,重复修改状态 id:{}", orderDon.getId());
@@ -1103,7 +1104,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		orderDon.setShopId(appId);
 		orderDon.setType(OrderDon.Type.ALI_PAY);
 
-		orderDon.setBuyerId(buyerId);
+		orderDon.setBuyerId(buyerOpenId);
 		//该支付账号id 是否被后台拉黑
 		Integer count1 = userPayOrderBlockMapper.selectCount(Wrappers.lambdaQuery(UserPayOrderBlock.class)
 				.eq(UserPayOrderBlock::getBuyerId, buyerId));

+ 4 - 1
netflix-service/src/main/java/com/cyksj/service/pay/impl/TransferFuncServiceImpl.java

@@ -36,6 +36,7 @@ import com.cyksj.model.request.TransferAccountsReq;
 import com.cyksj.model.request.YhShopApplyMoneyReq;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.pay.TransferFuncService;
+import com.cyksj.service.sys.SysConfigService;
 import com.cyksj.service.user.UserBenefitsService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -77,6 +78,8 @@ public class TransferFuncServiceImpl implements TransferFuncService {
 
 	private final RedisService redisService;
 
+	private final SysConfigService sysConfigService;
+
 	@Override
 	public Result distributeApply(ApplyMoneyReq applyMoneyReq) throws Exception {
 		applyMoneyReq.setMType(DistributeMoneyApply.MType.ds);
@@ -128,7 +131,7 @@ public class TransferFuncServiceImpl implements TransferFuncService {
 			name += "xx";
 		}
 		Integer scope = transferAccountsReq.getScope();
-		AlipayClient alipayClient = AliPayClientFactory.getAlipayClient(ShopConfig.DISTRIBUTE_ZFB_DEFAULT_APP_ID);
+		AlipayClient alipayClient = AliPayClientFactory.getAlipayClient(sysConfigService.getDefaultShopConfigByType("zfb"));
 
 		AlipayRequest alipayRequest = aliPayTransferAccountsRequest(donNo, account, name, money, remark);
 

+ 19 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/shop/ShopConfigController.java

@@ -1,11 +1,13 @@
 package com.cyksj.web.controller.manage.shop;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.model.entity.Channel;
 import com.cyksj.model.entity.ShopConfig;
+import com.cyksj.model.request.ChannelPayReq;
 import com.cyksj.service.mange.channel.ChannelService;
 import com.cyksj.service.mange.shop.ShopConfigService;
 import com.ejlchina.searcher.BeanSearcher;
@@ -62,4 +64,21 @@ public class ShopConfigController {
         shopConfigService.removeById(id);
        return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
+
+    /**
+     * 更换渠道支付方式
+     */
+    @PutMapping("/update/channel/pay")
+    @SaCheckPermission("merchant:updateChannelShop")
+    public Result<String> updateChannelPay(@RequestBody ChannelPayReq req) {
+        String wxShopId = req.getWxShopId();
+        String zfbShopId = req.getZfbShopId();
+        if (StrUtil.isAllEmpty(wxShopId, zfbShopId)) {
+            return GatewayResponse.SUCCESS.newBuilder().toResult();
+        }
+        channelService.update(Wrappers.lambdaUpdate(Channel.class)
+                .eq(StrUtil.isNotBlank(wxShopId), Channel::getWxShopId, wxShopId)
+                .eq(StrUtil.isNotBlank(zfbShopId), Channel::getZfbShopId, zfbShopId));
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
 }