From 11c95afd1e44bcd3d70dbcf77e790596ec80a53e Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 24 九月 2024 18:54:59 +0800
Subject: [PATCH] fix: 剔除加价限制条件
---
src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 51 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java b/src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java
index f9ae5d7..e93b82a 100644
--- a/src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java
+++ b/src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java
@@ -9,13 +9,16 @@
import com.mzl.flower.dto.request.payment.TransferDetailReqDTO;
import com.mzl.flower.dto.request.payment.TransferReqDTO;
import com.mzl.flower.dto.request.payment.UserPaymentDTO;
+import com.mzl.flower.entity.flower.Flower;
import com.mzl.flower.entity.payment.*;
import com.mzl.flower.entity.system.UserWechat;
import com.mzl.flower.mapper.flower.FlowerMapper;
import com.mzl.flower.mapper.payment.*;
import com.mzl.flower.mapper.system.UserWechatMapper;
import com.mzl.flower.service.BaseService;
+import com.mzl.flower.service.coupon.CouponRecordService;
import com.mzl.flower.service.flower.FlowerService;
+import com.mzl.flower.service.point.PointGoodsService;
import com.mzl.flower.utils.UUIDGenerator;
import com.wechat.pay.java.core.notification.NotificationParser;
import com.wechat.pay.java.core.notification.RequestParam;
@@ -103,6 +106,18 @@
@Autowired
private OrderRefundMapper orderRefundMapper;
+
+ @Autowired
+ private OrderPointGoodsMapper orderPointGoodsMapper;
+
+ @Autowired
+ private PointGoodsService pointGoodsService;
+
+ @Autowired
+ private CouponRecordService couponRecordService;
+
+ @Autowired
+ private OrderService orderService;
/**
* 微信预支付
@@ -439,11 +454,46 @@
}
private void releasePrepayLock(Order order){
- log.info("恢复库存: " + order);
+ log.info("恢复库存 积分商品兑换券 优惠券: " + order);
revertFlowerStock(order.getId());
+
+ //恢复积分商品兑换券
+ revertPointGoodsRecord(order.getId());
+
+ //恢复优惠券
+ String memberCouponId = order.getMemberCouponId();
+ if(StringUtils.isNotEmpty(memberCouponId)) {
+ couponRecordService.cancelCouponUsage(order.getId());
+ }
+ }
+
+ private void revertPointGoodsRecord(String orderId){
+ List<OrderPointGoods> ls = orderPointGoodsMapper.selectList(new QueryWrapper<OrderPointGoods>()
+ .eq("order_id", orderId));
+ if(ls != null && ls.size() > 0){
+ for(OrderPointGoods pg : ls){
+ pointGoodsService.revertExchangeGoods(pg.getGoodsRecordId());
+ }
+ }
}
public Map payAgain(String orderId){
+ // 获取订单里面的商品是否有限购的,如果有则判断是否已经超过限购数量
+ List<OrderItem> orderItemList = orderItemMapper.selectList(new QueryWrapper<OrderItem>()
+ .eq("order_id", orderId));
+
+ orderItemList.forEach(orderItem -> {
+ // 限购数量 鲜花数量校验
+ Integer completeNumToday=orderService.getFlowerCompleteNumToday(orderItem.getCreateBy(),orderItem.getFlowerId());
+ Integer tmp=completeNumToday+orderItem.getNum();
+ Flower flower=flowerMapper.selectById(orderItem.getFlowerId());
+ if(null!=flower.getLimited() && tmp.compareTo(flower.getLimited())>0){
+ throw new ValidationException("商品:'"+flower.getName()+"' 昨天17:00到今天17:00 超过限售数量:"+flower.getLimited()+"!");
+ }
+
+ });
+
+
UserPayment up = userPaymentMapper.selectOne(
new QueryWrapper<UserPayment>().eq("order_id", orderId));
if(StringUtils.isNotEmpty(up.getStatus())){
--
Gitblit v1.9.3