From 94f34a5cf9ab374afbaefd566bc0a3dc8a4616dd Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 25 十一月 2023 11:14:37 +0800
Subject: [PATCH] 同步
---
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 7 ++-
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 3 +
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java | 67 ++++++++++-----------------------
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java | 31 ++++++++++-----
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java | 2
cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java | 2
6 files changed, 50 insertions(+), 62 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java
index b853f8e..33a050c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java
@@ -142,7 +142,7 @@
*/
@ResponseBody
@PostMapping("/base/pointMer/exchangeGoodPaymentWeChatCallback")
- public void addVipPaymentWeChatCallback(HttpServletRequest request, HttpServletResponse response){
+ public void exchangeGoodPaymentWeChatCallback(HttpServletRequest request, HttpServletResponse response){
try {
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
if(null != map){
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java
index 0559521..44f1a3a 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java
@@ -15,7 +15,7 @@
* 查询注册赠送优惠券 判断当前优惠券限领数量
*/
@PostMapping("/coupon/queryCouponByUser/{userId}")
- public List<Integer> queryCouponByUser(@PathVariable("userId") Integer userId);
+ public List<Long> queryCouponByUser(@PathVariable("userId") Integer userId);
@PostMapping("/base/userConpon/getStuOfConpons")
public List<CouponStuAvailableVo> queryUserWithConponList(@RequestParam("appUserId") Integer appUserId);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 45e369e..8881934 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -1831,6 +1831,9 @@
@Override
public ResultUtil exchangeAddPaymentCallback(String code, String orderNumber,Integer payType) {
List<UserPointsMerchandise> userPointsMerchandises = mcClient.queryUserPointMerchaseByCode(code);
+ if(userPointsMerchandises.get(0).getPayStatus() == 2){
+ return ResultUtil.success();
+ }
if (userPointsMerchandises.size() > 1){
for (int i = 0; i < userPointsMerchandises.size(); i++) {
userPointsMerchandises.get(i).setOrderNumber(orderNumber+ "-" + (i+1));
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 8d44548..a1b9533 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,5 +1,6 @@
package com.dsh.account.service.impl;
+import com.alibaba.fastjson.JSON;
import com.alipay.api.response.AlipayTradeQueryResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -11,11 +12,13 @@
import com.dsh.account.service.IVipPaymentService;
import com.dsh.account.service.TAppUserService;
import com.dsh.account.util.PayMoneyUtil;
+import com.dsh.account.util.RedisUtil;
import com.dsh.account.util.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
+import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
@@ -34,6 +37,13 @@
@Autowired
private PayMoneyUtil payMoneyUtil;
+
+ @Resource
+ private UserConponClient userConponClient;
+
+ @Autowired
+ private RedisUtil redisUtil;
+
/**
* 购买年度会员
@@ -82,7 +92,7 @@
int min = 5000;
wait += (min * num);
VipPayment vipPayment1 = VipPaymentServiceImpl.this.getOne(new QueryWrapper<VipPayment>().eq("code", code));
- if(vipPayment1.getPayStatus() != 1){
+ if(vipPayment1.getPayStatus() == 2){
return;
}
/**
@@ -123,7 +133,8 @@
appUser.setVipEndTime(calendar.getTime());
appUserService.updateById(appUser);
// 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限
- userConponClient.queryCouponByUser(appUser.getId());
+ List<Long> longs = userConponClient.queryCouponByUser(appUser.getId());
+ redisUtil.setStrValue("VIP_P_" + vipPayment1.getAppUserId(), JSON.toJSONString(longs), 3600);
return;
}
if("USERPAYING".equals(trade_state) || "ACCEPT".equals(trade_state)){
@@ -214,7 +225,8 @@
appUser.setVipEndTime(calendar.getTime());
appUserService.updateById(appUser);
// 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限
- userConponClient.queryCouponByUser(appUser.getId());
+ List<Long> longs = userConponClient.queryCouponByUser(appUser.getId());
+ redisUtil.setStrValue("VIP_P_" + vipPayment1.getAppUserId(), JSON.toJSONString(longs), 3600);
return;
}
if("WAIT_BUYER_PAY".equals(tradeStatus)){
@@ -241,8 +253,7 @@
- @Autowired
- private UserConponClient userConponClient;
+
/**
* 购买年度会员支付回调处理
* @param code
@@ -252,7 +263,7 @@
@Override
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){
+ if(vipPayment1.getPayStatus() == 2){
return ResultUtil.success();
}
vipPayment1.setPayStatus(2);
@@ -261,16 +272,14 @@
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(new Date());
calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
appUser.setVipEndTime(calendar.getTime());
appUserService.updateById(appUser);
-
+ // 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限
+ List<Long> longs = userConponClient.queryCouponByUser(appUser.getId());
+ redisUtil.setStrValue("VIP_P_" + vipPayment1.getAppUserId(), JSON.toJSONString(longs), 3600);
return ResultUtil.success();
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index 8958ca7..18f5a97 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -107,8 +107,8 @@
*/
@ResponseBody
@PostMapping("/coupon/queryCouponByUser/{userId}")
- public List<Integer> queryCouponByUser(@PathVariable("userId") Integer userId){
-
+ public List<Long> queryCouponByUser(@PathVariable("userId") Integer userId){
+ List<Long> ids = new ArrayList<>();
System.err.println("到达了赠送优惠价");
List<Coupon> list = couponService.list(new QueryWrapper<Coupon>().eq("distributionMethod", 2)
.le("startTime", new Date()).ge("endTime", new Date()).eq("auditStatus", 2)
@@ -137,8 +137,9 @@
userCoupon.setStatus(1);
userCoupon.setInsertTime(new Date());
ucService.save(userCoupon);
+ ids.add(userCoupon.getId());
}
- return null;
+ return ids;
}
@ResponseBody
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
index 031bf29..9328463 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
@@ -20,6 +20,8 @@
import com.dsh.activity.model.request.IntegralGoodsOfSearch;
import com.dsh.activity.service.ICouponService;
import com.dsh.activity.service.UserCouponService;
+import com.dsh.activity.util.RedisUtil;
+import com.dsh.activity.util.ToolUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -30,6 +32,7 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* @author zhibing.pu
@@ -44,14 +47,18 @@
@Resource
private StudentClient studentClient;
-
-
-
@Autowired
private UserCouponService userCouponService;
@Autowired
private ICouponService couponService;
+
+ @Autowired
+ private RedisUtil redisUtil;
+
+
+
+
/**
* 获取购买会员支付成功页面的优惠券
@@ -61,51 +68,19 @@
*/
@Override
public List<CouponListVo> queryCouponList(Integer uid, Integer distributionMethod) throws Exception {
- AppUser appUser = appUserClient.queryAppUser(uid);
+ String value = redisUtil.getValue("VIP_P_" + uid);
+ if(ToolUtil.isEmpty(value)){
+ Thread.sleep(5000);
+ value = redisUtil.getValue("VIP_P_" + uid);
+ }
List<CouponListVo> listVos = new ArrayList<>();
- if (null != appUser) {
-// List<Integer> userPopulation = new ArrayList<>();
-// userPopulation.add(1);//全部用户
-// if (1 == appUser.getIsVip()) {
-// userPopulation.add(2);//年度会员
-// }
-// List<TStudent> students = studentClient.queryStudentList(uid);
-// if (students.size() > 0) {
-// userPopulation.add(3);//已有学员用户
-// }
-
-
-// List<Coupon> list = this.list(new QueryWrapper<Coupon>().eq("distributionMethod", distributionMethod)
-// .in("userPopulation", userPopulation)
-// .eq("auditStatus", 2).eq("status", 2).eq("state", 1)
-// .last(" and now() between startTime and endTime order by insertTime desc"));
-
-
-// List<Coupon> list = this.list(new QueryWrapper<Coupon>().eq("distributionMethod", 2).eq("userPopulation",2)
-// .le("startTime", new Date()).ge("endTime", new Date()).eq("auditStatus", 2)
-// .eq("state", 1));
+ if(ToolUtil.isEmpty(value)){
+ List<Long> longs = JSON.parseArray(value, Long.class);
+ List<UserCoupon> list = userCouponService.getBaseMapper().selectBatchIds(longs);
+ List<Integer> collect = list.stream().map(UserCoupon::getCouponId).collect(Collectors.toList());
+ List<Coupon> coupons = couponService.getBaseMapper().selectBatchIds(collect);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
-
-
- LocalDateTime currentTime = LocalDateTime.now();
- LocalDateTime oneMinuteAgo = currentTime.minusSeconds(6000);
-
-
-
- List<UserCoupon> list = userCouponService.list(new QueryWrapper<UserCoupon>().eq("userId", uid).ge("insertTime", oneMinuteAgo));
- List<Integer> ids = new ArrayList<>();
- for (UserCoupon userCoupon : list) {
- ids.add(userCoupon.getCouponId());
- }
- List<Coupon> userId = new ArrayList<>();
- if (ids.size()>0) {
-
- userId = couponService.list(new QueryWrapper<Coupon>().in("id", ids));
- }
-
-
- for (Coupon coupon : userId) {
+ for (Coupon coupon : coupons) {
if (coupon.getDistributionMethod()!=2){
continue;
}
--
Gitblit v1.7.1