|
@@ -844,9 +844,28 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//商家不存在
|
|
|
return;
|
|
|
}
|
|
|
+ //创建七大员题库商品订单
|
|
|
+ OrderGoods add = new OrderGoods();
|
|
|
+ add.setOrderSn(orderGoods.getOrderSn());
|
|
|
+ add.setGoodsId(questionGoods.getGoodsId());
|
|
|
+ add.setGoodsYear(questionGoods.getYear().toString());
|
|
|
+ add.setGoodsPrice(questionGoods.getStandPrice());
|
|
|
+ add.setGoodsRealPrice(questionGoods.getStandPrice());
|
|
|
+ add.setCreateTime(DateUtils.getNowTime());
|
|
|
+ add.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ add.setStatus(1);
|
|
|
+ add.setGoodsReceived(questionGoods.getStandPrice());
|
|
|
+ add.setRefundStatus(0);
|
|
|
+ add.setPayStatus(3);
|
|
|
+ //服务有效期
|
|
|
+ add = setQuestionServiceTime(add,orderGoods);
|
|
|
+ iOrderGoodsService.save(add);
|
|
|
+
|
|
|
GoodsQuestionRel rel = new GoodsQuestionRel();
|
|
|
rel.setOrderGoodsId(orderGoods.getOrderGoodsId());
|
|
|
rel.setQuestionGoodsId(questionGoods.getGoodsId());
|
|
|
+ rel.setQsOrderGoodsId(add.getOrderGoodsId());
|
|
|
+ rel.setUserSubscribeId(add.getSubscribeId());
|
|
|
rel.setStatus(1);
|
|
|
rel.setQuestionDoNum(merchant.getDoNum());
|
|
|
rel.setCreateTime(DateUtils.getNowTime());
|
|
@@ -854,8 +873,31 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
iGoodsQuestionRelService.save(rel);
|
|
|
}
|
|
|
|
|
|
+ private OrderGoods setQuestionServiceTime(OrderGoods add,OrderGoods orderGoods) {
|
|
|
+ Order one = getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, orderGoods.getOrderSn()));
|
|
|
+ if (Objects.isNull(one)){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ UserSubscribe subscribe = iUserSubscribeService.getOne(new LambdaQueryWrapper<UserSubscribe>()
|
|
|
+ .eq(UserSubscribe::getUserId, one.getUserId())
|
|
|
+ .eq(UserSubscribe::getOrderGoodsId, orderGoods.getOrderGoodsId())
|
|
|
+ .eq(UserSubscribe::getSubscribeStatus, 1)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (ObjectUtils.isNull(subscribe)){
|
|
|
+ return add;
|
|
|
+ }
|
|
|
+ //考试日期
|
|
|
+ Long examTime = subscribe.getApplySiteExamTime();
|
|
|
+ //前推8天
|
|
|
+ Long dayBefore = DateUtils.getDayBefore(examTime, 8);
|
|
|
+ add.setServiceStartTime(dayBefore);
|
|
|
+ add.setServiceEndTime(examTime);
|
|
|
+ add.setSubscribeId(subscribe.getSubscribeId());
|
|
|
+ return add;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
- private void questionOrderHandle(Long orderGoodsId,Long goodsId) {
|
|
|
+ private void questionOrderHandle(Long orderGoodsId,Long goodsId,Long qsOrderGoodsId,Long subscribeId) {
|
|
|
//第三方题库商品
|
|
|
Goods questionGoods = iGoodsService.getById(goodsId);
|
|
|
if (ObjectUtils.isNull(questionGoods) || questionGoods.getGoodsType() != 9){
|
|
@@ -873,6 +915,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
rel.setQuestionGoodsId(questionGoods.getGoodsId());
|
|
|
rel.setStatus(1);
|
|
|
rel.setQuestionDoNum(merchant.getDoNum());
|
|
|
+ rel.setQsOrderGoodsId(qsOrderGoodsId);
|
|
|
+ rel.setUserSubscribeId(subscribeId);
|
|
|
rel.setCreateTime(DateUtils.getNowTime());
|
|
|
rel.setUpdateTime(DateUtils.getNowTime());
|
|
|
iGoodsQuestionRelService.save(rel);
|
|
@@ -967,9 +1011,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
payPrice = payPrice.add(goods.getStandPrice());
|
|
|
}
|
|
|
boolean orderGoodsRs = iOrderGoodsService.save(orderGoods);
|
|
|
- if (ObjectUtils.isNotNull(g.getRelevanceId())){
|
|
|
+ if (ObjectUtils.isNotNull(g.getRelevanceId()) && ObjectUtils.isNotNull(g.getRelevanceSubscribeId())){
|
|
|
//购买关联题库商品
|
|
|
- questionOrderHandle(g.getRelevanceId(),g.getGoodsId());
|
|
|
+ questionOrderHandle(g.getRelevanceId(),g.getGoodsId(),orderGoods.getOrderGoodsId(),g.getRelevanceSubscribeId());
|
|
|
}
|
|
|
boolean canRepeatBuy = false;
|
|
|
validUserBeforeBuy(goods, bo.getUserId());
|
|
@@ -1365,9 +1409,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
payPrice = payPrice.add(goods.getStandPrice());
|
|
|
}
|
|
|
boolean orderGoodsRs = iOrderGoodsService.save(orderGoods);
|
|
|
- if (ObjectUtils.isNotNull(g.getRelevanceId())){
|
|
|
+ if (ObjectUtils.isNotNull(g.getRelevanceId()) && ObjectUtils.isNotNull(g.getRelevanceSubscribeId())){
|
|
|
//购买关联题库商品
|
|
|
- questionOrderHandle(g.getRelevanceId(),g.getGoodsId());
|
|
|
+ questionOrderHandle(g.getRelevanceId(),g.getGoodsId(),orderGoods.getOrderGoodsId(),g.getRelevanceSubscribeId());
|
|
|
}
|
|
|
boolean canRepeatBuy = false;
|
|
|
validUserBeforeBuy(goods, bo.getUserId());
|
|
@@ -1526,9 +1570,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//暂不计算优惠券
|
|
|
payPrice = payPrice.add(goods.getStandPrice());
|
|
|
boolean orderGoodsRs = iOrderGoodsService.save(orderGoods);
|
|
|
- if (ObjectUtils.isNotNull(g.getRelevanceId())){
|
|
|
+ if (ObjectUtils.isNotNull(g.getRelevanceId()) && ObjectUtils.isNotNull(g.getRelevanceSubscribeId())){
|
|
|
//购买关联题库商品
|
|
|
- questionOrderHandle(g.getRelevanceId(),g.getGoodsId());
|
|
|
+ questionOrderHandle(g.getRelevanceId(),g.getGoodsId(),orderGoods.getOrderGoodsId(),g.getRelevanceSubscribeId());
|
|
|
}
|
|
|
boolean canRepeatBuy = false;
|
|
|
validUserBeforeBuy(goods, bo.getUserId());
|
|
@@ -2734,6 +2778,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
goodsAddBo.setOrderSn(orderInputSn);
|
|
|
goodsAddBo.setGoodsId(bo.getGoodsId());
|
|
|
goodsAddBo.setGoodsPrice(goods.getStandPrice());
|
|
|
+ goodsAddBo.setGoodsYear(goods.getYear().toString());
|
|
|
goodsAddBo.setGoodsRealPrice(goods.getStandPrice());
|
|
|
goodsAddBo.setCreateTime(DateUtils.getNowTime());
|
|
|
goodsAddBo.setUpdateTime(DateUtils.getNowTime());
|
|
@@ -2751,6 +2796,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
goodsAddBo.setUserName(user.getRealname());
|
|
|
goodsAddBo.setUserCard(EncryptHandler.decrypt(user.getIdCard()));
|
|
|
goodsAddBo.setUserPhone(EncryptHandler.decrypt(user.getTelphone()));
|
|
|
+ goodsAddBo.setSignId(userSubscribe.getSubscribeId());
|
|
|
return goodsAddBo;
|
|
|
}).collect(Collectors.toList());
|
|
|
addBo.setOrderGoodsList(collect);
|
|
@@ -2772,7 +2818,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
.eq(GoodsQuestionRel::getStatus, 1)
|
|
|
.gt(GoodsQuestionRel::getQuestionDoNum, 0));
|
|
|
if (count > 0) {
|
|
|
- throw new CustomException(String.format("学员【】已购买当前题库商品,请勿重复开通!",user.getRealname()));
|
|
|
+ throw new CustomException(String.format("学员【%s】已购买当前题库商品,请勿重复开通!",user.getRealname()));
|
|
|
+ }
|
|
|
+ //考试时间
|
|
|
+ Long examTime = userSubscribe.getApplySiteExamTime();
|
|
|
+ if (DateUtils.getNowTime() > examTime){
|
|
|
+ throw new CustomException(String.format("学员【%s】预约的考试已过期,请勿开通题库!",user.getRealname()));
|
|
|
}
|
|
|
}
|
|
|
}
|