Преглед изворни кода

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge пре 4 година
родитељ
комит
38c332bc25

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

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleStudentPaymentDto.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.entity;
 
 
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 
 
+import java.util.Date;
+
 /**
 /**
  * @Author qnc99
  * @Author qnc99
  * @Date 2020/12/2 0002
  * @Date 2020/12/2 0002
@@ -10,6 +12,8 @@ public class CourseScheduleStudentPaymentDto extends CourseScheduleStudentPaymen
 
 
     private CourseStatusEnum courseStatus;
     private CourseStatusEnum courseStatus;
 
 
+    private Date courseStartTime;
+
     public CourseStatusEnum getCourseStatus() {
     public CourseStatusEnum getCourseStatus() {
         return courseStatus;
         return courseStatus;
     }
     }
@@ -17,4 +21,12 @@ public class CourseScheduleStudentPaymentDto extends CourseScheduleStudentPaymen
     public void setCourseStatus(CourseStatusEnum courseStatus) {
     public void setCourseStatus(CourseStatusEnum courseStatus) {
         this.courseStatus = courseStatus;
         this.courseStatus = courseStatus;
     }
     }
+
+    public Date getCourseStartTime() {
+        return courseStartTime;
+    }
+
+    public void setCourseStartTime(Date courseStartTime) {
+        this.courseStartTime = courseStartTime;
+    }
 }
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -596,6 +596,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 
 
 		if(statusCoursesMap.containsKey(CourseStatusEnum.OVER)){
 		if(statusCoursesMap.containsKey(CourseStatusEnum.OVER)){
 			List<CourseScheduleStudentPaymentDto> notStartCourses = statusCoursesMap.get(CourseStatusEnum.OVER);
 			List<CourseScheduleStudentPaymentDto> notStartCourses = statusCoursesMap.get(CourseStatusEnum.OVER);
+			notStartCourses.sort(Comparator.comparing(CourseScheduleStudentPaymentDto::getCourseStartTime));
 			for (CourseScheduleStudentPaymentDto notStartCourse : notStartCourses) {
 			for (CourseScheduleStudentPaymentDto notStartCourse : notStartCourses) {
 				boolean isUpdate = studentRegistrationService.updateUserSurplusCourseFee(notStartCourse.getUserId(), notStartCourse.getMusicGroupId(), notStartCourse.getExpectPrice().negate(), StringUtils.join("课程结束,扣除课程费用:", notStartCourse.getCourseScheduleId()), null);
 				boolean isUpdate = studentRegistrationService.updateUserSurplusCourseFee(notStartCourse.getUserId(), notStartCourse.getMusicGroupId(), notStartCourse.getExpectPrice().negate(), StringUtils.join("课程结束,扣除课程费用:", notStartCourse.getCourseScheduleId()), null);
 				if(!isUpdate){
 				if(!isUpdate){

+ 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.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;
@@ -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();

+ 2 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -32,6 +32,7 @@
 
 
 	<resultMap id="CourseScheduleStudentPaymentDto" type="com.ym.mec.biz.dal.entity.CourseScheduleStudentPaymentDto" extends="CourseScheduleStudentPayment">
 	<resultMap id="CourseScheduleStudentPaymentDto" type="com.ym.mec.biz.dal.entity.CourseScheduleStudentPaymentDto" extends="CourseScheduleStudentPayment">
 		<result column="course_status_" property="courseStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="course_status_" property="courseStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="course_start_time_" property="courseStartTime"/>
 	</resultMap>
 	</resultMap>
 
 
 	<!-- 根据主键查询一条记录 -->
 	<!-- 根据主键查询一条记录 -->
@@ -623,6 +624,7 @@
 	<select id="findNeedUpdateActualPriceStudentCourses" resultMap="CourseScheduleStudentPaymentDto">
 	<select id="findNeedUpdateActualPriceStudentCourses" resultMap="CourseScheduleStudentPaymentDto">
 		SELECT
 		SELECT
 			cssp.*,
 			cssp.*,
+			CONCAT(cs.class_date_,' ',cs.start_class_time_) course_start_time_,
 			cs.status_ course_status_
 			cs.status_ course_status_
 		FROM
 		FROM
 			course_schedule_student_payment cssp
 			course_schedule_student_payment cssp

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/DegreeController.java

@@ -89,7 +89,7 @@ public class DegreeController extends BaseController {
             return failed("报名信息不存在");
             return failed("报名信息不存在");
         }
         }
 
 
-        DegreeRegistration degree = degreeRegistrationDao.findByMobileAndSporadicId(degreeRegistration.getMobile(), degreeRegistration.getSporadicId());
+        DegreeRegistration degree = degreeRegistrationDao.getWithUserIdAndActivityTag(user.getId(), DegreeRegistrationService.ACTIVITY_TAG);
 
 
         if (!degreeRegistration.getIsRepay() && degree != null && degree.getStatus().equals(1)) {
         if (!degreeRegistration.getIsRepay() && degree != null && degree.getStatus().equals(1)) {
             Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(degree.getId(), degreeRegistration.getSporadicId(), "SPORADIC", DealStatusEnum.ING);
             Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(degree.getId(), degreeRegistration.getSporadicId(), "SPORADIC", DealStatusEnum.ING);