From 2dda6304029c95e171b2f9e32406eb4600d77ebd Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 01 十一月 2023 18:57:58 +0800
Subject: [PATCH] 支付会员送券功能补充 运营商权限bug修改

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java
index acf9f66..f03a65d 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.account.entity.TAppUser;
 import com.dsh.account.entity.VipPayment;
+import com.dsh.account.feignclient.activity.UserConponClient;
 import com.dsh.account.mapper.VipPaymentMapper;
 import com.dsh.account.model.IncomeQuery;
 import com.dsh.account.service.IVipPaymentService;
@@ -32,8 +33,6 @@
 
     @Autowired
     private PayMoneyUtil payMoneyUtil;
-
-
 
     /**
      * 购买年度会员
@@ -112,7 +111,6 @@
                                     vipPayment1.setPayTime(new Date());
                                     vipPayment1.setOrderNumber(transaction_id);
                                     VipPaymentServiceImpl.this.updateById(vipPayment1);
-
                                     TAppUser appUser = appUserService.getById(vipPayment1.getAppUserId());
                                     Date vipEndTime = appUser.getVipEndTime();
                                     if(null == vipEndTime){
@@ -124,6 +122,8 @@
                                     appUser.setIsVip(1);
                                     appUser.setVipEndTime(calendar.getTime());
                                     appUserService.updateById(appUser);
+                                    // 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限
+                                    userConponClient.queryCouponByUser(appUser.getId());
                                     return;
                                 }
                                 if("USERPAYING".equals(trade_state) || "ACCEPT".equals(trade_state)){
@@ -207,6 +207,8 @@
                                     calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
                                     appUser.setVipEndTime(calendar.getTime());
                                     appUserService.updateById(appUser);
+                                    // 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限
+                                    userConponClient.queryCouponByUser(appUser.getId());
                                     return;
                                 }
                                 if("WAIT_BUYER_PAY".equals(tradeStatus)){
@@ -233,6 +235,8 @@
 
 
 
+    @Autowired
+    private UserConponClient userConponClient;
     /**
      * 购买年度会员支付回调处理
      * @param code
@@ -240,7 +244,7 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil addVipPaymentCallback(String code, String orderNumber) throws Exception {
+    public synchronized ResultUtil addVipPaymentCallback(String code, String orderNumber) throws Exception {
         VipPayment vipPayment1 = VipPaymentServiceImpl.this.getOne(new QueryWrapper<VipPayment>().eq("code", code));
         if(vipPayment1.getPayStatus() != 1){
             return ResultUtil.success();
@@ -260,6 +264,7 @@
         calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
         appUser.setVipEndTime(calendar.getTime());
         appUserService.updateById(appUser);
+
         return ResultUtil.success();
     }
 

--
Gitblit v1.7.1