|
@@ -277,7 +277,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList, List<CourseFormDto> courseForms) throws Exception {
|
|
|
+ public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList, List<CourseFormDto> courseForms,BigDecimal remitFee,BigDecimal courseRemitFee) throws Exception {
|
|
|
Date date = new Date();
|
|
|
StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
|
|
|
studentPaymentOrder.setUserId(studentRegistration.getUserId());
|
|
@@ -294,7 +294,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
|
|
|
StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
|
|
|
studentPaymentOrderDetail.setType(OrderDetailTypeEnum.COURSE);
|
|
|
- studentPaymentOrderDetail.setPrice(courseFee);
|
|
|
+ studentPaymentOrderDetail.setPrice(courseFee.subtract(courseRemitFee));
|
|
|
+ studentPaymentOrderDetail.setRemitFee(courseRemitFee);
|
|
|
studentPaymentOrderDetail.setCreateTime(date);
|
|
|
studentPaymentOrderDetail.setUpdateTime(date);
|
|
|
studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
@@ -312,9 +313,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
}
|
|
|
|
|
|
StudentPaymentOrderDetail studentPaymentOrderDetail4goodsGroup = new StudentPaymentOrderDetail();
|
|
|
+ studentPaymentOrderDetail4goodsGroup.setRemitFee(BigDecimal.ZERO);
|
|
|
OrderDetailTypeEnum type = null;
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
|
|
|
type = OrderDetailTypeEnum.MUSICAL;
|
|
|
+ goodsGroup.setPrice(goodsGroup.getPrice().subtract(remitFee));
|
|
|
+ studentPaymentOrderDetail4goodsGroup.setRemitFee(remitFee);
|
|
|
} else if (goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
|
|
|
type = OrderDetailTypeEnum.ACCESSORIES;
|
|
|
} else if (goodsGroup.getType().equals(GoodsType.OTHER)) {
|
|
@@ -431,7 +435,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public StudentPaymentOrder reAddOrder(Integer userId, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList, String musicGroupId, StudentPaymentOrder oldOrder, List<CourseFormDto> courseForms) {
|
|
|
+ public StudentPaymentOrder reAddOrder(Integer userId, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList, String musicGroupId, StudentPaymentOrder oldOrder, List<CourseFormDto> courseForms,BigDecimal remitFee,BigDecimal courseRemitFee) {
|
|
|
//关闭老订单
|
|
|
oldOrder.setStatus(DealStatusEnum.CLOSE);
|
|
|
studentPaymentOrderService.update(oldOrder);
|
|
@@ -451,10 +455,11 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentPaymentOrder.setMusicGroupId(musicGroupId);
|
|
|
studentPaymentOrderService.insert(studentPaymentOrder);
|
|
|
|
|
|
- ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
|
|
|
+ List<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
|
|
|
StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
|
|
|
studentPaymentOrderDetail.setType(OrderDetailTypeEnum.COURSE);
|
|
|
- studentPaymentOrderDetail.setPrice(courseFee);
|
|
|
+ studentPaymentOrderDetail.setPrice(courseFee.subtract(courseRemitFee));
|
|
|
+ studentPaymentOrderDetail.setRemitFee(courseRemitFee);
|
|
|
studentPaymentOrderDetail.setCreateTime(date);
|
|
|
studentPaymentOrderDetail.setUpdateTime(date);
|
|
|
studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
@@ -463,9 +468,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
if (goodsGroups != null && goodsGroups.size() > 0) {
|
|
|
for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
|
|
|
StudentPaymentOrderDetail studentPaymentOrderDetail4goodsGroup = new StudentPaymentOrderDetail();
|
|
|
+ studentPaymentOrderDetail4goodsGroup.setRemitFee(BigDecimal.ZERO);
|
|
|
OrderDetailTypeEnum type = null;
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
|
|
|
type = OrderDetailTypeEnum.MUSICAL;
|
|
|
+ goodsGroup.setPrice(goodsGroup.getPrice().subtract(remitFee));
|
|
|
+ studentPaymentOrderDetail4goodsGroup.setRemitFee(remitFee);
|
|
|
} else if (goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
|
|
|
type = OrderDetailTypeEnum.ACCESSORIES;
|
|
|
} else if (goodsGroup.getType().equals(GoodsType.OTHER)) {
|