|
@@ -6,16 +6,12 @@ import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.enums.*;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
-import com.ym.mec.common.dto.OrderCreate;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
import com.ym.mec.common.page.WrapperUtil;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
-import com.ym.mec.mall.MallFeignService;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
-
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -65,17 +61,11 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
|
|
|
@Resource
|
|
|
private MusicGroupPaymentCalenderDetailService musicGroupPaymentCalenderDetailService;
|
|
|
@Resource
|
|
|
- private ChargeTypeSubjectMapperDao chargeTypeSubjectMapperDao;
|
|
|
- @Resource
|
|
|
- private StudentMusicCourseFeeService studentMusicCourseFeeService;
|
|
|
- @Resource
|
|
|
private MemberFeeSettingService memberFeeSettingService;
|
|
|
@Resource
|
|
|
private MusicGroupPaymentCalenderMemberDao musicGroupPaymentCalenderMemberDao;
|
|
|
@Resource
|
|
|
private ImUserFriendService imUserFriendService;
|
|
|
- @Resource
|
|
|
- private MallFeignService mallFeignService;
|
|
|
@Override
|
|
|
public BaseDAO<Long, StudentPaymentOrderDetail> getDAO() {
|
|
|
return studentPaymentOrderDetailDao;
|
|
@@ -88,6 +78,28 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
+ public int batchAdd(List<StudentPaymentOrderDetail> studentPaymentOrderDetailList,BigDecimal couponRemitFee,BigDecimal expectAmount) {
|
|
|
+ if(couponRemitFee.compareTo(BigDecimal.ZERO) > 0 && expectAmount.compareTo(BigDecimal.ZERO) > 0){
|
|
|
+ BigDecimal subCouponRemitFee = couponRemitFee;
|
|
|
+ for (int i = 0; i < studentPaymentOrderDetailList.size(); i++) {
|
|
|
+ StudentPaymentOrderDetail orderDetail = studentPaymentOrderDetailList.get(i);
|
|
|
+ if (i == studentPaymentOrderDetailList.size() - 1) {
|
|
|
+ orderDetail.setRemitFee(subCouponRemitFee);
|
|
|
+ } else {
|
|
|
+ //获取比例
|
|
|
+ BigDecimal ratioAmount = orderDetail.getPrice().divide(expectAmount, 6, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //获取分配的减免金额
|
|
|
+ BigDecimal multiply = ratioAmount.multiply(couponRemitFee).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ subCouponRemitFee = subCouponRemitFee.subtract(multiply);
|
|
|
+ orderDetail.setRemitFee(multiply);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return studentPaymentOrderDetailDao.batchAdd(studentPaymentOrderDetailList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
public int batchAdd(List<StudentPaymentOrderDetail> studentPaymentOrderDetailList) {
|
|
|
return Optional.ofNullable(studentPaymentOrderDetailList)
|
|
|
.filter(CollectionUtils::isNotEmpty)
|