From be8a63ba1e3f2e26f5cdefe519c37ad4cfd90435 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期日, 05 十一月 2023 09:45:11 +0800
Subject: [PATCH] 11.5
---
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java | 46 ++++++++++++++++++++++++++++++++--------------
1 files changed, 32 insertions(+), 14 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 63232b4..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,19 +1,25 @@
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;
import com.dsh.account.service.TAppUserService;
import com.dsh.account.util.PayMoneyUtil;
import com.dsh.account.util.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
+import java.util.List;
import java.util.Map;
/**
@@ -29,8 +35,6 @@
@Autowired
private PayMoneyUtil payMoneyUtil;
-
-
/**
* 购买年度会员
* @param uid
@@ -41,7 +45,7 @@
public ResultUtil addVipPayment(Integer uid, Integer payType) throws Exception {
VipPayment vipPayment = new VipPayment();
vipPayment.setCode(VipPayment.CODE());
- vipPayment.setAmount(199D);
+ vipPayment.setAmount(0.01D);
vipPayment.setAppUserId(uid);
vipPayment.setInsertTime(new Date());
vipPayment.setPayStatus(1);
@@ -66,7 +70,7 @@
public ResultUtil weixinpay(VipPayment vipPayment) throws Exception{
String code = vipPayment.getCode();
ResultUtil weixinpay = payMoneyUtil.weixinpay("购买年度会员", "", code, vipPayment.getAmount().toString(),
- "/base/appUser/addVipPaymentWeChatCallback", "APP");
+ "/base/appUser/addVipPaymentWeChatCallback", "APP", "");
if(weixinpay.getCode() == 200){
new Thread(new Runnable() {
@Override
@@ -81,7 +85,6 @@
if(vipPayment1.getPayStatus() != 1){
return;
}
-
/**
* SUCCESS--支付成功
* REFUND--转入退款
@@ -108,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){
@@ -117,8 +119,11 @@
Calendar calendar = Calendar.getInstance();
calendar.setTime(vipEndTime);
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)){
@@ -152,7 +157,7 @@
*/
public ResultUtil alipay(VipPayment vipPayment) throws Exception{
String code = vipPayment.getCode();
- ResultUtil alipay = payMoneyUtil.alipay("购买年度会员", "", code, vipPayment.getAmount().toString(),
+ ResultUtil alipay = payMoneyUtil.alipay("购买年度会员", "购买年度会员", "", code, vipPayment.getAmount().toString(),
"/base/appUser/addVipPaymentAliCallback");
if(alipay.getCode() == 200){
new Thread(new Runnable() {
@@ -176,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);
@@ -194,6 +204,7 @@
TAppUser appUser = appUserService.getById(vipPayment1.getAppUserId());
Date vipEndTime = appUser.getVipEndTime();
+ appUser.setIsVip(1);
if(null == vipEndTime){
vipEndTime = new Date();
}
@@ -202,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)){
@@ -228,6 +241,8 @@
+ @Autowired
+ private UserConponClient userConponClient;
/**
* 购买年度会员支付回调处理
* @param code
@@ -235,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();
@@ -251,10 +266,13 @@
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