|
@@ -1,6 +1,5 @@
|
|
|
package com.kym.service.miniapp.impl;
|
|
package com.kym.service.miniapp.impl;
|
|
|
|
|
|
|
|
-import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
|
|
import com.kym.entity.admin.Coupon;
|
|
import com.kym.entity.admin.Coupon;
|
|
|
import com.kym.entity.miniapp.Account;
|
|
import com.kym.entity.miniapp.Account;
|
|
|
import com.kym.entity.miniapp.ChargeOrder;
|
|
import com.kym.entity.miniapp.ChargeOrder;
|
|
@@ -35,7 +34,7 @@ public class CouponDiscountHandle implements DiscountService {
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
|
|
+ @Transactional
|
|
|
public void computeDiscount(ChargeOrder chargeOrder, Account account) {
|
|
public void computeDiscount(ChargeOrder chargeOrder, Account account) {
|
|
|
int discountAmount = 0;
|
|
int discountAmount = 0;
|
|
|
|
|
|
|
@@ -53,7 +52,7 @@ public class CouponDiscountHandle implements DiscountService {
|
|
|
.one();
|
|
.one();
|
|
|
|
|
|
|
|
// 检查是否达到使用门槛
|
|
// 检查是否达到使用门槛
|
|
|
- if (chargeOrder.getServiceMoney() > userCoupon.getMinServiceMoney()) {
|
|
|
|
|
|
|
+ if (chargeOrder.getServiceMoney() >= userCoupon.getMinServiceMoney()) {
|
|
|
// 根据优惠券类型处理
|
|
// 根据优惠券类型处理
|
|
|
switch (userCoupon.getCouponType()) {
|
|
switch (userCoupon.getCouponType()) {
|
|
|
case Coupon.COUPON_TYPE_满减券:
|
|
case Coupon.COUPON_TYPE_满减券:
|
|
@@ -86,10 +85,7 @@ public class CouponDiscountHandle implements DiscountService {
|
|
|
.update();
|
|
.update();
|
|
|
|
|
|
|
|
// 优惠券使用情况数据
|
|
// 优惠券使用情况数据
|
|
|
- // 手动切换数据源
|
|
|
|
|
- DynamicDataSourceContextHolder.push("db-admin");
|
|
|
|
|
- couponService.lambdaUpdate().setSql("usage_count = usage_count + 1").eq(Coupon::getId, userCoupon.getCouponId()).update();
|
|
|
|
|
- DynamicDataSourceContextHolder.poll();
|
|
|
|
|
|
|
+ couponService.usedQuantifyCount(userCoupon.getCouponId());
|
|
|
} else {
|
|
} else {
|
|
|
log.error("订单使用优惠券失败:订单号:{},优惠券id{}:服务费未达到优惠券使用门槛", chargeOrder.getStartChargeSeq(), userCoupon.getCouponId());
|
|
log.error("订单使用优惠券失败:订单号:{},优惠券id{}:服务费未达到优惠券使用门槛", chargeOrder.getStartChargeSeq(), userCoupon.getCouponId());
|
|
|
}
|
|
}
|