From acad524bfb7f376c09ff8e6600fab207780156e1 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期四, 23 十一月 2023 18:46:05 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 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..00e42ef 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 @@ -1,9 +1,11 @@ package com.dsh.account.service.impl; +import com.alipay.api.response.AlipayTradeQueryResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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 +34,6 @@ @Autowired private PayMoneyUtil payMoneyUtil; - - /** * 购买年度会员 @@ -85,7 +85,6 @@ if(vipPayment1.getPayStatus() != 1){ return; } - /** * SUCCESS--支付成功 * REFUND--转入退款 @@ -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)){ @@ -181,11 +181,16 @@ * TRADE_SUCCESS(交易支付成功)、 * TRADE_FINISHED(交易结束,不可退款) */ - ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode() == 200){ - Map<String, String> map = resultUtil.getData(); - String tradeStatus = map.get("tradeStatus"); - String tradeNo = map.get("tradeNo"); + AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code); + + if(resultUtil.getCode().equals("10000")){ +// Map<String, String> map = resultUtil.getData(); +// String tradeStatus = map.get("tradeStatus"); +// String tradeNo = map.get("tradeNo"); + + String tradeNo = resultUtil.getTradeNo(); + String tradeStatus = resultUtil.getTradeStatus(); + System.out.println("ssssss"+tradeStatus); if("TRADE_CLOSED".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)){ vipPayment1.setState(3); VipPaymentServiceImpl.this.updateById(vipPayment1); @@ -199,6 +204,7 @@ TAppUser appUser = appUserService.getById(vipPayment1.getAppUserId()); Date vipEndTime = appUser.getVipEndTime(); + appUser.setIsVip(1); if(null == vipEndTime){ vipEndTime = new Date(); } @@ -207,6 +213,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 +241,8 @@ + @Autowired + private UserConponClient userConponClient; /** * 购买年度会员支付回调处理 * @param code @@ -240,7 +250,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(); @@ -256,10 +266,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