fix
This commit is contained in:
@@ -26,13 +26,11 @@ import com.starry.admin.modules.order.service.IPlayOrderComplaintInfoService;
|
|||||||
import com.starry.admin.modules.order.service.IPlayOrderEvaluateInfoService;
|
import com.starry.admin.modules.order.service.IPlayOrderEvaluateInfoService;
|
||||||
import com.starry.admin.modules.order.service.IPlayOrderInfoService;
|
import com.starry.admin.modules.order.service.IPlayOrderInfoService;
|
||||||
import com.starry.admin.modules.shop.module.entity.PlayClerkGiftInfoEntity;
|
import com.starry.admin.modules.shop.module.entity.PlayClerkGiftInfoEntity;
|
||||||
|
import com.starry.admin.modules.shop.module.entity.PlayCouponDetailsEntity;
|
||||||
import com.starry.admin.modules.shop.module.entity.PlayCouponInfoEntity;
|
import com.starry.admin.modules.shop.module.entity.PlayCouponInfoEntity;
|
||||||
import com.starry.admin.modules.shop.module.entity.PlayGiftInfoEntity;
|
import com.starry.admin.modules.shop.module.entity.PlayGiftInfoEntity;
|
||||||
import com.starry.admin.modules.shop.module.vo.PlayCommodityInfoVo;
|
import com.starry.admin.modules.shop.module.vo.PlayCommodityInfoVo;
|
||||||
import com.starry.admin.modules.shop.service.IPlayClerkGiftInfoService;
|
import com.starry.admin.modules.shop.service.*;
|
||||||
import com.starry.admin.modules.shop.service.IPlayCommodityInfoService;
|
|
||||||
import com.starry.admin.modules.shop.service.IPlayCouponInfoService;
|
|
||||||
import com.starry.admin.modules.shop.service.IPlayGiftInfoService;
|
|
||||||
import com.starry.admin.modules.weichat.entity.*;
|
import com.starry.admin.modules.weichat.entity.*;
|
||||||
import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoResultVo;
|
import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoResultVo;
|
||||||
import com.starry.admin.modules.weichat.entity.costom.PlayCustomHideLevelStateEditVo;
|
import com.starry.admin.modules.weichat.entity.costom.PlayCustomHideLevelStateEditVo;
|
||||||
@@ -60,6 +58,7 @@ import javax.annotation.Resource;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author admin
|
* @author admin
|
||||||
@@ -111,6 +110,8 @@ public class WxCustomController {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IPlayCouponInfoService playCouponInfoService;
|
private IPlayCouponInfoService playCouponInfoService;
|
||||||
|
@Resource
|
||||||
|
private IPlayCouponDetailsService couponDetailsService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private WxCustomMpService wxCustomMpService;
|
private WxCustomMpService wxCustomMpService;
|
||||||
@@ -278,12 +279,20 @@ public class WxCustomController {
|
|||||||
|
|
||||||
PlayCommodityInfoVo commodityInfo = playCommodityInfoService.queryCommodityInfo(vo.getCommodityId(), clerkUserInfo.getLevelId());
|
PlayCommodityInfoVo commodityInfo = playCommodityInfoService.queryCommodityInfo(vo.getCommodityId(), clerkUserInfo.getLevelId());
|
||||||
|
|
||||||
|
BigDecimal couponMoney = BigDecimal.ZERO;
|
||||||
for (String couponId : vo.getCouponIds()) {
|
for (String couponId : vo.getCouponIds()) {
|
||||||
PlayCouponInfoEntity couponInfo = playCouponInfoService.selectPlayCouponInfoById(couponId);
|
PlayCouponDetailsEntity couponDetailsEntity = couponDetailsService.getById(couponId);
|
||||||
|
if (Objects.isNull(couponDetailsEntity)) {
|
||||||
|
throw new CustomException("优惠券不存在");
|
||||||
|
}
|
||||||
|
PlayCouponInfoEntity couponInfo = playCouponInfoService.selectPlayCouponInfoById(couponDetailsEntity.getCouponId());
|
||||||
String couponReasonForUnavailableUse = playCouponInfoService.getCouponReasonForUnavailableUse(couponInfo, "0", vo.getCommodityId(), vo.getCommodityQuantity(), commodityInfo.getCommodityPrice());
|
String couponReasonForUnavailableUse = playCouponInfoService.getCouponReasonForUnavailableUse(couponInfo, "0", vo.getCommodityId(), vo.getCommodityQuantity(), commodityInfo.getCommodityPrice());
|
||||||
if (StrUtil.isNotBlank(couponReasonForUnavailableUse)) {
|
if (StrUtil.isNotBlank(couponReasonForUnavailableUse)) {
|
||||||
throw new CustomException("优惠券不可用");
|
throw new CustomException("优惠券不可用");
|
||||||
}
|
}
|
||||||
|
if (couponInfo.getDiscountType().equals("0")) {
|
||||||
|
couponMoney = couponMoney.add(couponInfo.getDiscountAmount());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -291,6 +300,11 @@ public class WxCustomController {
|
|||||||
|
|
||||||
BigDecimal money = commodityInfo.getCommodityPrice().multiply(new BigDecimal(vo.getCommodityQuantity()));
|
BigDecimal money = commodityInfo.getCommodityPrice().multiply(new BigDecimal(vo.getCommodityQuantity()));
|
||||||
|
|
||||||
|
money = money.subtract(couponMoney);
|
||||||
|
if (money.compareTo(BigDecimal.ZERO) < 1) {
|
||||||
|
money = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
|
||||||
if (money.compareTo(customUserInfo.getAccountBalance()) > 0) {
|
if (money.compareTo(customUserInfo.getAccountBalance()) > 0) {
|
||||||
throw new ServiceException("余额不足", 998);
|
throw new ServiceException("余额不足", 998);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user