|
@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.dao.*;
|
|
import com.ym.mec.biz.dal.dto.DegreeRegistrationActivityDto;
|
|
import com.ym.mec.biz.dal.dto.DegreeRegistrationActivityDto;
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
|
|
import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
|
|
|
|
+import com.ym.mec.common.constant.CommonConstants;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -138,7 +139,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
|
|
if(Objects.isNull(practiceGroupSellPrice)){
|
|
if(Objects.isNull(practiceGroupSellPrice)){
|
|
throw new BizException("该分部暂未参与此活动");
|
|
throw new BizException("该分部暂未参与此活动");
|
|
}
|
|
}
|
|
- BigDecimal practiceUnitPrice = practiceGroupSellPrice.getOnceActivityPrice(),
|
|
|
|
|
|
+ BigDecimal practiceUnitPrice = practiceGroupSellPrice.getOnceOriginalPrice(),
|
|
vipUnitPrice = new BigDecimal("0"), highUnitPrice;
|
|
vipUnitPrice = new BigDecimal("0"), highUnitPrice;
|
|
if(student.getIsNewUser()){
|
|
if(student.getIsNewUser()){
|
|
vipUnitPrice = practiceGroupSellPrice.getVipOneStudentTwelveCourseActivityPriceWithNewUser();
|
|
vipUnitPrice = practiceGroupSellPrice.getVipOneStudentTwelveCourseActivityPriceWithNewUser();
|
|
@@ -151,7 +152,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
|
|
if(FREE_PRICE_LEVEL.contains(degreeRegistration.getLevel())){
|
|
if(FREE_PRICE_LEVEL.contains(degreeRegistration.getLevel())){
|
|
degreeRegistration.setMoney(BigDecimal.ZERO);
|
|
degreeRegistration.setMoney(BigDecimal.ZERO);
|
|
}else{
|
|
}else{
|
|
- degreeRegistration.setMoney(degreeRegistration.getMoney().divide(new BigDecimal(2)));
|
|
|
|
|
|
+ degreeRegistration.setMoney(degreeRegistration.getMoney().divide(new BigDecimal(2), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_DOWN));
|
|
}
|
|
}
|
|
highUnitPrice = practiceGroupSellPrice.getHighOnlineTenCourseActivityPriceWithNewUser();
|
|
highUnitPrice = practiceGroupSellPrice.getHighOnlineTenCourseActivityPriceWithNewUser();
|
|
|
|
|
|
@@ -188,6 +189,10 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
|
|
amount = amount.add(degreeRegistration.getTheoryMoney());
|
|
amount = amount.add(degreeRegistration.getTheoryMoney());
|
|
amount = amount.add(additionCoursePrice);
|
|
amount = amount.add(additionCoursePrice);
|
|
|
|
|
|
|
|
+ if(amount.compareTo(degreeRegistration.getPrice())!=0){
|
|
|
|
+ throw new BizException("商品价格不符");
|
|
|
|
+ }
|
|
|
|
+
|
|
OrderTypeEnum type = OrderTypeEnum.DEGREE_REGISTRATION;
|
|
OrderTypeEnum type = OrderTypeEnum.DEGREE_REGISTRATION;
|
|
|
|
|
|
Integer userId = degreeRegistration.getId();
|
|
Integer userId = degreeRegistration.getId();
|
|
@@ -200,7 +205,9 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
|
|
studentPaymentOrder.setExpectAmount(amount);
|
|
studentPaymentOrder.setExpectAmount(amount);
|
|
studentPaymentOrder.setActualAmount(amount);
|
|
studentPaymentOrder.setActualAmount(amount);
|
|
studentPaymentOrder.setStatus(DealStatusEnum.ING);
|
|
studentPaymentOrder.setStatus(DealStatusEnum.ING);
|
|
- studentPaymentOrder.setMusicGroupId(degreeRegistration.getSporadicId().toString());
|
|
|
|
|
|
+ if(Objects.nonNull(degreeRegistration.getSporadicId())){
|
|
|
|
+ studentPaymentOrder.setMusicGroupId(degreeRegistration.getSporadicId().toString());
|
|
|
|
+ }
|
|
studentPaymentOrder.setOrganId(degreeRegistration.getOrganId());
|
|
studentPaymentOrder.setOrganId(degreeRegistration.getOrganId());
|
|
studentPaymentOrder.setRoutingOrganId(degreeRegistration.getOrganId());
|
|
studentPaymentOrder.setRoutingOrganId(degreeRegistration.getOrganId());
|
|
if (degreeRegistration.getTheoryMoney().compareTo(BigDecimal.ZERO) > 0) {
|
|
if (degreeRegistration.getTheoryMoney().compareTo(BigDecimal.ZERO) > 0) {
|