|
@@ -727,6 +727,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void updateVipGroupStudentNumAndStatus(Long vipGroupId, Integer num, boolean updateVipStatus) {
|
|
|
VipGroup vipGroup = vipGroupDao.getLockVipGroup(vipGroupId);
|
|
|
if(Objects.isNull(vipGroup)){
|
|
@@ -777,7 +778,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
throw new BizException("课程信息错误");
|
|
|
}
|
|
|
|
|
|
- ClassGroup classGroup = classGroupDao.get(vipGroupClassGroupMapper.getClassGroupId());
|
|
|
+ ClassGroup classGroup = vipGroupClassGroupMapperDao.findClassGroupByVipGroup(vipGroupBuyParams.getVipGroupId());
|
|
|
if(Objects.isNull(classGroup)){
|
|
|
throw new BizException("课程信息错误");
|
|
|
}
|
|
@@ -786,19 +787,17 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
user.getId(),
|
|
|
DealStatusEnum.ING.getCode());
|
|
|
|
|
|
- if(classGroup.getStudentNum()>=classGroup.getExpectStudentNum()&&Objects.nonNull(byStudentVipGroup)){
|
|
|
- throw new BizException("该课程人数已达上限");
|
|
|
- }
|
|
|
-
|
|
|
if(Objects.nonNull(byStudentVipGroup)){
|
|
|
byStudentVipGroup.setStatus(DealStatusEnum.CLOSE);
|
|
|
studentPaymentOrderDao.update(byStudentVipGroup);
|
|
|
}else{
|
|
|
+ if(classGroup.getStudentNum()>=classGroup.getExpectStudentNum()){
|
|
|
+ throw new BizException("该课程人数已达上限");
|
|
|
+ }
|
|
|
//更新班级人数,如果订单支付失败则减少
|
|
|
- updateVipGroupStudentNumAndStatus(vipGroup.getId(),1,false);
|
|
|
+ this.updateVipGroupStudentNumAndStatus(vipGroup.getId(),1,false);
|
|
|
}
|
|
|
|
|
|
-// VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue());
|
|
|
StudentPaymentOrder studentPaymentOrder=new StudentPaymentOrder();
|
|
|
studentPaymentOrder.setUserId(user.getId());
|
|
|
String orderNo=StringUtils.join(new String[]{user.getId().toString(),String.valueOf(System.currentTimeMillis())});
|
|
@@ -807,11 +806,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
studentPaymentOrder.setType(OrderTypeEnum.SMALL_CLASS_TO_BUY);
|
|
|
studentPaymentOrder.setExpectAmount(vipGroup.getTotalPrice());
|
|
|
studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString());
|
|
|
-// if(vipGroupActivity.getType()==VipGroupActivityTypeEnum.DISCOUNT){
|
|
|
-// studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount().multiply(new BigDecimal(vipGroupActivity.getAttribute1())));
|
|
|
-// }else{
|
|
|
studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount());
|
|
|
-// }
|
|
|
studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString());
|
|
|
studentPaymentOrder.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId());
|
|
|
|
|
@@ -826,12 +821,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
|
|
|
studentPaymentOrderDao.insert(studentPaymentOrder);
|
|
|
|
|
|
-// StudentVipGroupPayment studentVipGroupPayment=new StudentVipGroupPayment();
|
|
|
-// studentVipGroupPayment.setUserId(user.getId());
|
|
|
-// studentVipGroupPayment.setVipGroupId(vipGroup.getId());
|
|
|
-// studentVipGroupPayment.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId());
|
|
|
-// studentVipGroupPayment.setStudentPaymentOrderId(studentPaymentOrder.getId());
|
|
|
-// studentVipGroupPaymentDao.insert(studentVipGroupPayment);
|
|
|
return payMap;
|
|
|
|
|
|
}
|