From b6a38fc7ee081c8bf3370ee6fe8e7a7dd22e7230 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期四, 02 十一月 2023 08:52:06 +0800 Subject: [PATCH] 支付会员送券功能补充 运营商权限bug修改 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 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 3ca1fe4..ba6c747 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; - - /** * 购买年度会员 @@ -85,7 +84,6 @@ if(vipPayment1.getPayStatus() != 1){ return; } - /** * SUCCESS--支付成功 * REFUND--转入退款 @@ -112,17 +110,19 @@ 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){ vipEndTime = new Date(); } Calendar calendar = Calendar.getInstance(); - calendar.setTime(vipEndTime); + calendar.setTime(new Date()); calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1); + appUser.setIsVip(1); appUser.setVipEndTime(calendar.getTime()); appUserService.updateById(appUser); + // 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限 + userConponClient.queryCouponByUser(appUser.getId()); return; } if("USERPAYING".equals(trade_state) || "ACCEPT".equals(trade_state)){ @@ -202,10 +202,12 @@ vipEndTime = new Date(); } Calendar calendar = Calendar.getInstance(); - calendar.setTime(vipEndTime); + calendar.setTime(new Date()); 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)){ @@ -232,6 +234,8 @@ + @Autowired + private UserConponClient userConponClient; /** * 购买年度会员支付回调处理 * @param code @@ -239,7 +243,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(); @@ -255,10 +259,11 @@ vipEndTime = new Date(); } Calendar calendar = Calendar.getInstance(); - calendar.setTime(vipEndTime); + calendar.setTime(new Date()); calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1); appUser.setVipEndTime(calendar.getTime()); appUserService.updateById(appUser); + return ResultUtil.success(); } -- Gitblit v1.7.1