浏览代码

Merge branch 'activity_2020_12'

Joburgess 4 年之前
父节点
当前提交
c6d8ef7be5

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/DegreeRegistrationActivityDto.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.DegreeRegistration;
 
+import java.math.BigDecimal;
 import java.util.Map;
 
 /**
@@ -13,6 +14,8 @@ public class DegreeRegistrationActivityDto extends DegreeRegistration {
 
     private Map<CourseSchedule.CourseScheduleType, Integer> additionCourseInfo;
 
+    private BigDecimal price;
+
     public Map<CourseSchedule.CourseScheduleType, Integer> getAdditionCourseInfo() {
         return additionCourseInfo;
     }
@@ -20,4 +23,12 @@ public class DegreeRegistrationActivityDto extends DegreeRegistration {
     public void setAdditionCourseInfo(Map<CourseSchedule.CourseScheduleType, Integer> additionCourseInfo) {
         this.additionCourseInfo = additionCourseInfo;
     }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
 }

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -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.entity.*;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
+import com.ym.mec.common.constant.CommonConstants;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -151,7 +152,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                     if(FREE_PRICE_LEVEL.contains(degreeRegistration.getLevel())){
                         degreeRegistration.setMoney(BigDecimal.ZERO);
                     }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();
 
@@ -188,6 +189,10 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         amount = amount.add(degreeRegistration.getTheoryMoney());
         amount = amount.add(additionCoursePrice);
 
+        if(amount.compareTo(degreeRegistration.getPrice())!=0){
+            throw new BizException("商品价格不符");
+        }
+
         OrderTypeEnum type = OrderTypeEnum.DEGREE_REGISTRATION;
 
         Integer userId = degreeRegistration.getId();