|
@@ -10,6 +10,7 @@ import com.zhongzheng.common.core.redis.RedisLockEntity;
|
|
|
import com.zhongzheng.common.exception.CustomException;
|
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
|
import com.zhongzheng.common.utils.ServletUtils;
|
|
|
+import com.zhongzheng.modules.bank.domain.QuestionChapterExam;
|
|
|
import com.zhongzheng.modules.base.service.IProfileTpService;
|
|
|
import com.zhongzheng.modules.base.service.IShoppingCartService;
|
|
|
import com.zhongzheng.modules.course.service.ICourseBusinessService;
|
|
@@ -35,6 +36,8 @@ import com.zhongzheng.modules.order.domain.OrderPay;
|
|
|
import com.zhongzheng.modules.order.mapper.OrderMapper;
|
|
|
import com.zhongzheng.modules.order.service.*;
|
|
|
import com.zhongzheng.modules.order.vo.*;
|
|
|
+import com.zhongzheng.modules.user.domain.UserExamGoods;
|
|
|
+import com.zhongzheng.modules.user.service.IUserExamGoodsService;
|
|
|
import com.zhongzheng.modules.user.service.IUserService;
|
|
|
import com.zhongzheng.modules.user.vo.UserVo;
|
|
|
import com.zhongzheng.modules.wx.service.IWxPayService;
|
|
@@ -105,6 +108,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
@Autowired
|
|
|
private IOrderPayService iOrderPayService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IUserExamGoodsService userExamGoodsService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private RedisCache redisCache;
|
|
|
|
|
@@ -304,6 +310,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (!canRepeatBuy && goods.getGoodsType() != 3 && goods.getGoodsType() != 4) {
|
|
|
this.checkBuyGoods(g.getGoodsId(), bo.getUserId(), goods.getGoodsType());
|
|
|
}
|
|
|
+ validUserBeforeBuy(goods,bo.getUserId());
|
|
|
//商品0元加入免费商品列表
|
|
|
if (orderGoods.getGoodsPrice().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
freeList.add(orderGoods);
|
|
@@ -431,6 +438,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (!canRepeatBuy && goods.getGoodsType() != 3 && goods.getGoodsType() != 4) {
|
|
|
this.checkBuyGoods(g.getGoodsId(), bo.getUserId(), goods.getGoodsType());
|
|
|
}
|
|
|
+ validUserBeforeBuy(goods,bo.getUserId());
|
|
|
//商品0元或已收费加入收费商品列表
|
|
|
if (g.getGoodsRealPrice().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
//免费的
|
|
@@ -602,6 +610,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (!canRepeatBuy && goods.getGoodsType() != 3 && goods.getGoodsType() != 4) {
|
|
|
this.checkBuyGoods(g.getGoodsId(), bo.getUserId(), goods.getGoodsType());
|
|
|
}
|
|
|
+ validUserBeforeBuy(goods,bo.getUserId());
|
|
|
iShoppingCartService.deleteByGoodsId(g.getGoodsId(), bo.getUserId());
|
|
|
//商品0元加入免费商品列表
|
|
|
if (orderGoods.getGoodsPrice().compareTo(BigDecimal.ZERO) == 0) {
|
|
@@ -744,6 +753,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (!canRepeatBuy && goods.getGoodsType() != 3 && goods.getGoodsType() != 4) {
|
|
|
this.checkBuyGoods(g.getGoodsId(), bo.getUserId(), goods.getGoodsType());
|
|
|
}
|
|
|
+ validUserBeforeBuy(goods,bo.getUserId());
|
|
|
iShoppingCartService.deleteByGoodsId(g.getGoodsId(), bo.getUserId());
|
|
|
//商品0元加入免费商品列表
|
|
|
if (orderGoods.getGoodsPrice().compareTo(BigDecimal.ZERO) == 0) {
|
|
@@ -794,6 +804,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
return payResult;
|
|
|
}
|
|
|
|
|
|
+ private Boolean validUserBeforeBuy(Goods goods ,Long userId){
|
|
|
+ if(goods.getGoodsType()==3||goods.getGoodsType()==4){
|
|
|
+ Long makeGoodsId = goods.getMakeGoodsId();
|
|
|
+ UserExamGoods entity = userExamGoodsService.getOne(new LambdaQueryWrapper<UserExamGoods>().eq(UserExamGoods::getUserId,userId).eq(UserExamGoods::getGoodsId,goods.getGoodsId()).last("limit 1"));
|
|
|
+ if(Validator.isEmpty(entity)){
|
|
|
+ throw new CustomException("请先购买此补考前培商品的绑定商品");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Map<String, String> resumeSmallOrder(OrderAddBo bo) {
|
|
|
if (bo.getOrderSn() == null) {
|