소스 검색

Merge remote-tracking branch 'origin/master'

Joburgess 5 년 전
부모
커밋
4073b8ecf1

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRegistration.java

@@ -103,7 +103,7 @@ public class StudentRegistration {
 
     private String schoolName;
 
-    private KitPurchaseMethodEnum KitType;
+    private KitPurchaseMethodEnum kitType;
 
     public BigDecimal getBalance() {
         return balance;
@@ -353,10 +353,10 @@ public class StudentRegistration {
     }
 
     public KitPurchaseMethodEnum getKitType() {
-        return KitType;
+        return kitType;
     }
 
     public void setKitType(KitPurchaseMethodEnum kitType) {
-        KitType = kitType;
+        this.kitType = kitType;
     }
 }

+ 29 - 31
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -1,21 +1,19 @@
 package com.ym.mec.biz.service.impl;
 
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-
 import com.ym.mec.util.date.DateUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.stream.Collectors;
 
 @Service
 public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long, MusicGroupPaymentCalender> implements MusicGroupPaymentCalenderService {
@@ -44,29 +42,29 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
 		if (musicGroupPaymentCalenderList != null && musicGroupPaymentCalenderList.size() > 0) {
 			Date date = new Date();
-			List<Integer> months = musicGroupPaymentCalenderList.stream().map(e -> e.getPaymentMonth()).collect(Collectors.toList());
-			//获取当前月份
-			int currentMonth = Integer.parseInt(DateUtil.getMonth(date));
-			int nextMonth = currentMonth;
-			for (int i = 0;i < months.size();i++){
-				if(i == months.size()-1 && months.get(i) <= currentMonth){
-					nextMonth = months.get(0);
-					break;
-				}else if(months.get(i) > currentMonth){
-					nextMonth = months.get(i);
-					break;
+			List<Integer> months = musicGroupPaymentCalenderList.stream().map(e -> e.getPaymentMonth()).sorted().collect(Collectors.toList());
+
+			if (months.size() > 0) {
+				// 获取当前月份
+				int currentMonth = Integer.parseInt(DateUtil.getMonth(date));
+				int nextMonth = months.get(0);
+				for (int i = 0; i < months.size(); i++) {
+					if (currentMonth < months.get(i)) {
+						nextMonth = months.get(i);
+						break;
+					}
 				}
+				// 修改学员付费周期
+				Date nextPaymentDate = null;
+				if (nextMonth > currentMonth) {
+					nextPaymentDate = DateUtil.addMonths(date, nextMonth - currentMonth);
+				} else if (nextMonth < currentMonth) {
+					nextPaymentDate = DateUtil.addMonths(date, 12 - currentMonth + nextMonth);
+				} else {
+					nextPaymentDate = DateUtil.addMonths(date, 12);
+				}
+				return DateUtil.getFirstDayOfMonth(nextPaymentDate);
 			}
-			// 修改学员付费周期
-			Date nextPaymentDate = null;
-			if(nextMonth > currentMonth){
-				nextPaymentDate = DateUtil.addMonths(date, nextMonth - currentMonth);
-			}else if(nextMonth < currentMonth) {
-				nextPaymentDate = DateUtil.addMonths(date, 12 - currentMonth + nextMonth);
-			}else {
-				nextPaymentDate = DateUtil.addMonths(date, 12);
-			}
-			return DateUtil.getFirstDayOfMonth(nextPaymentDate);
 		}
 		return null;
 	}

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

@@ -1784,13 +1784,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 			if (months != null && months.size() > 0) {
 				// 批量插入
 				musicGroupPaymentCalenderDao.batchAdd(months, musicGroupId);
-				
-				//生成学员费用表
-		        List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
-		        if(musicGroupStudentFees != null && musicGroupStudentFees.size() > 0){
-		            musicGroupStudentFeeDao.batchInsert(musicGroupStudentFees,musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId),"PAID_COMPLETED");
-		        }
 			}
+			
+			//生成学员费用表
+	        List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
+	        if(musicGroupStudentFees != null && musicGroupStudentFees.size() > 0){
+	            musicGroupStudentFeeDao.batchInsert(musicGroupStudentFees,musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId),"PAID_COMPLETED");
+	        }
 		}
         musicGroupDao.update(musicGroup);
         //修改课程里面的教学点

+ 4 - 2
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -378,7 +378,7 @@
                 AND sr.music_group_status_ = #{studentStatus}
             </if>
             <if test="paymentStatus != null">
-                AND sr.payment_status_ = #{paymentStatus}
+                AND mgsf.payment_status_ = #{paymentStatus}
             </if>
             <if test="musicGroupId != null and musicGroupId != ''">
                 AND sr.music_group_id_ = #{musicGroupId}
@@ -408,7 +408,7 @@
         <result property="isActive" column="isActive_"/>
     </resultMap>
     <select id="queryMusicGroupStudent" resultMap="MusicGroupStudentsDto">
-        SELECT sr.user_id_,su.username_ real_name_,su.gender_,su.phone_ parents_phone_,sr.current_grade_,sr.payment_status_,
+        SELECT sr.user_id_,su.username_ real_name_,su.gender_,su.phone_ parents_phone_,sr.current_grade_,mgsf.payment_status_,
         sr.current_class_,sr.music_group_status_,mgsf.next_payment_date_,mgsf.course_fee_,
         s.name_ subject_name_,sr.music_group_id_,case when su.password_ is null then 0 else 1 end isActive_,
         IF(DATE_FORMAT(sr.create_time_,'%Y-%m-%d') > DATE_FORMAT(mg.payment_expire_date_,'%Y-%m-%d'),1,0) is_new_student_
@@ -427,6 +427,8 @@
         FROM student_registration sr
         LEFT JOIN sys_user su ON sr.user_id_ = su.id_
         LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
+        LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+        LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_ AND mgsf.user_id_ = su.id_
         <include refid="queryMusicGroupStudentSql"/>
     </select>
 

+ 5 - 4
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -38,6 +38,7 @@
         <result column="school_name_" property="schoolName" />
         <result column="subject_name_" property="subjectName" />
         <result column="kit_group_purchase_type_" property="kitType" />
+        <result column="username_" property="name" />
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.dto.StudentInfo" id="StudentInfo">
@@ -413,7 +414,7 @@
 
     <!-- 获取乐团声部下的学生 -->
     <select id="findMusicGroupStudent" resultMap="StudentRegistration">
-        SELECT sr.*,cg.name_ class_group_name_,su.gender_ gender_ FROM student_registration sr
+        SELECT sr.*,cg.name_ class_group_name_,su.gender_ gender_,su.username_ FROM student_registration sr
         LEFT JOIN class_group cg ON cg.id_ = sr.class_group_id_
         LEFT JOIN sys_user su on sr.user_id_ = su.id_
         WHERE sr.music_group_id_ = #{musicGroupId}
@@ -590,9 +591,9 @@
     <select id="findStudentByMusicGroupIdAndUserId" resultMap="StudentRegistration">
         SELECT sr.*,s.name_ school_name_,s2.name_ subject_name_,mgsp.kit_group_purchase_type_ kit_group_purchase_type_ FROM student_registration sr
         LEFT JOIN music_group mg ON mg.id_ =sr.music_group_id_
-        LEFT JOIN school s on mg.school_id_ = s.id_
-        LEFT JOIN subject s2 on sr.subject_id_ = s2.id_
-        LEFT JOIN music_group_subject_plan mgsp on mg.id_ = sr.subject_id_
+        LEFT JOIN school s ON mg.school_id_ = s.id_
+        LEFT JOIN subject s2 ON sr.subject_id_ = s2.id_
+        LEFT JOIN music_group_subject_plan mgsp ON mgsp.subject_id_ = sr.subject_id_
         WHERE sr.music_group_id_ = #{musicGroupId} AND sr.user_id_ = #{userId} AND sr.music_group_status_ != 'QUIT' LIMIT 1
     </select>
 </mapper>