Browse Source

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

zouxuan 5 years ago
parent
commit
6e16cc5b75

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -261,6 +261,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 if (orderDetail == null || orderDetail.getPrice() == null || orderDetail.getGoodsIdList() == null){
                     continue;
                 }
+                if(orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.FREE) ){
+                    orderDetail.setPrice(BigDecimal.ZERO);
+                }
                 MusicGroupSubjectGoodsGroup musicGroupSubjectGoodsGroup = new MusicGroupSubjectGoodsGroup();
                 GoodsType goodsType = orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) ? GoodsType.INSTRUMENT : GoodsType.ACCESSORIES;
                 musicGroupSubjectGoodsGroup.setType(goodsType);
@@ -406,6 +409,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 if (orderDetail == null || orderDetail.getPrice() == null || orderDetail.getGoodsIdList() == null){
                     continue;
                 }
+                if(orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.FREE) ){
+                    orderDetail.setPrice(BigDecimal.ZERO);
+                }
                 MusicGroupSubjectGoodsGroup musicGroupSubjectGoodsGroup = new MusicGroupSubjectGoodsGroup();
                 GoodsType goodsType = orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) ? GoodsType.INSTRUMENT : GoodsType.ACCESSORIES;
                 musicGroupSubjectGoodsGroup.setType(goodsType);

+ 14 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -401,6 +401,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         //增加缴费学生数
         boolean updateFlag = false;
         for (int i = 0; i < 10; i++) {
+            if(amount.compareTo(BigDecimal.ZERO)==0){ //0元订单不增加报名人数
+                updateFlag = true;
+                break;
+            }
             MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
             int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
             musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
@@ -766,7 +770,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Transactional(rollbackFor = Exception.class)
     public StudentPaymentOrder updateApplyOrder(StudentPaymentOrder studentPaymentOrder) throws Exception {
         //更新订单状态
-        studentPaymentOrderService.update(studentPaymentOrder);
+        int updateCount = studentPaymentOrderService.update(studentPaymentOrder);
+        if(updateCount <=0 ){
+            throw new BizException("订单更新失败");
+        }
         Date nowDate = new Date();
 
         //成功报名状态变更
@@ -861,10 +868,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
         //减去缴费人数
         if (studentPaymentOrder.getStatus().equals(DealStatusEnum.FAILED)) {
-            musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
-            int updateCount = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
-            if (updateCount <= 0) {
-                throw new BizException("减去缴费人数失败");
+            if(studentPaymentOrder.getActualAmount().compareTo(BigDecimal.ZERO) > 0) {
+                musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
+                updateCount = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
+                if (updateCount <= 0) {
+                    throw new BizException("减去缴费人数失败");
+                }
             }
             //发送缴费成功通知(短信 + push)
             String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + studentRegistration.getMusicGroupId();

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1597,6 +1597,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("此vip课程没有剩余课程计划");
 		}
 
+		BigDecimal surplusCourseNum = new BigDecimal(surplusCourses.size());
 		BigDecimal surplusCoursesPrice=new BigDecimal(0);
 		for (CourseSchedule courseSchedule : surplusCourses) {
 			if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
@@ -1606,6 +1607,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 		}
 
+		BigDecimal avgCourseFee = surplusCoursesPrice.divide(surplusCourseNum,CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
+
 		List<ImGroupMember> imGroupMemberList = new ArrayList<>();
 		List<ClassGroupStudentMapper> classGroupStudentMappers=new ArrayList<>();
 		//生成学生单课缴费信息
@@ -1624,8 +1627,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				courseScheduleStudentPayment.setClassGroupId(vipGroupCourseSchedule.getClassGroupId());
 				courseScheduleStudentPayment.setCourseScheduleId(vipGroupCourseSchedule.getId());
 				courseScheduleStudentPayment.setUserId(studentId);
-				//通过课程余额兑换的课程不会产生实际费用
-				courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
+				courseScheduleStudentPayment.setExpectPrice(avgCourseFee);
 				courseScheduleStudentPayment.setCreateTime(now);
 				courseScheduleStudentPayment.setUpdateTime(now);
 				courseScheduleStudentPayments.add(courseScheduleStudentPayment);
@@ -1741,6 +1743,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                     vipGroup1.setId(vipGroup.getId());
                     vipGroup1.setStatus(vipGroup.getStatus());
                     vipGroup1.setUpdateTime(now);
+                    vipGroup1.setTotalPrice(vipGroup.getTotalPrice());
                     needUpdateVipGroups.add(vipGroup1);
                 } catch (Exception e) {
                     e.printStackTrace();

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -523,7 +523,7 @@
     </sql>
 
     <select id="queryOrganTeacherNum" resultType="map">
-        select count(*) total,sum(case when job_nature_ = 'PART_TIME' then 1 else 0 end) part_time_num_,sum(case whfen
+        select count(*) total,sum(case when job_nature_ = 'PART_TIME' then 1 else 0 end) part_time_num_,sum(case when
         job_nature_ = 'FULL_TIME' then 1 else 0 end) full_time_num_ from teacher
         <where>
             <if test="organId != null">

+ 1 - 1
mec-eureka/src/main/resources/bootstrap-test.properties

@@ -1,7 +1,7 @@
 #\u6307\u5b9a\u5f00\u53d1\u73af\u5883
 #spring.profiles.active=dev
 #\u670d\u52a1\u5668\u5730\u5740
-spring.cloud.nacos.config.server-addr=47.99.212.176:8848
+spring.cloud.nacos.config.server-addr=47.96.85.100:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
 spring.cloud.nacos.config.namespace=02105743-16b8-46ab-87df-2aca0f3dbca3
 #\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e

+ 1 - 1
mec-zipkin/src/main/resources/bootstrap-test.properties

@@ -1,7 +1,7 @@
 #\u6307\u5b9a\u5f00\u53d1\u73af\u5883
 #spring.profiles.active=dev
 #\u670d\u52a1\u5668\u5730\u5740
-spring.cloud.nacos.config.server-addr=localhost:8848
+spring.cloud.nacos.config.server-addr=47.96.85.100:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
 spring.cloud.nacos.config.namespace=02105743-16b8-46ab-87df-2aca0f3dbca3
 #\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e