Ver Fonte

Merge remote-tracking branch 'origin/master'

Joburgess há 5 anos atrás
pai
commit
f501c54d79

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupStudentFeeDao.java

@@ -148,4 +148,11 @@ public interface MusicGroupStudentFeeDao extends BaseDAO<Long, MusicGroupStudent
 	 * @param fee
 	 */
 	void updateStudentFeeIsLock(@Param("fee") UpdateStudentFeeDto fee);
+
+	/**
+	 * 批量修改学员缴费周期
+	 * @param month
+	 * @param musicGroupId
+	 */
+	void batchUpdateCalender(@Param("month") String month, @Param("musicGroupId") String musicGroupId);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupStudentsDto.java

@@ -48,6 +48,7 @@ public class MusicGroupStudentsDto{
 
     private Boolean isActive = false;
 
+    private Integer isLock;
 
     private String activeName;
 
@@ -55,6 +56,14 @@ public class MusicGroupStudentsDto{
 
     private String nextPaymentDateStr;
 
+    public Integer getIsLock() {
+        return isLock;
+    }
+
+    public void setIsLock(Integer isLock) {
+        this.isLock = isLock;
+    }
+
     public Boolean getIsActive() {
         return isActive;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupStudentQueryInfo.java

@@ -17,12 +17,23 @@ public class MusicGroupStudentQueryInfo extends QueryInfo {
   @ApiModelProperty(value = "是否激活")
   private Boolean isActive;
 
+  @ApiModelProperty(value = "是否锁定")
+  private Integer isLock;
+
   @ApiModelProperty(value = "学员状态 NORMAL(NORMAL, 在读), LEAVE(LEAVE, 请假), QUIT(QUIT, 退班)",required = false)
   private String studentStatus;
 
   @ApiModelProperty(value = "缴费状态  PAID_COMPLETED(完成缴费), NON_PAYMENT(未缴费), PROCESSING(缴费中)",required = false)
   private String paymentStatus;
 
+  public Integer getIsLock() {
+    return isLock;
+  }
+
+  public void setIsLock(Integer isLock) {
+    this.isLock = isLock;
+  }
+
   public Boolean getIsActive() {
     return isActive;
   }

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

@@ -1298,9 +1298,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //检测新排课冲突
         courseScheduleService.checkNewCourseSchedules(courseScheduleList, false);
         //老师结算表
-        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+        if(courseScheduleTeacherSalaryList.size() > 0) {
+            courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+        }
         //学生结算表
-        courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
+        if(courseScheduleStudentPaymentList.size() > 0) {
+            courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
+        }
         return classGroup;
     }
 
@@ -1538,10 +1542,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
 
         //老师结算表
-        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+        if(courseScheduleTeacherSalaryList.size() > 0) {
+            courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+        }
 
         //学生结算表
-        courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
+        if(courseScheduleStudentPaymentList.size() > 0) {
+            courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
+        }
         return classGroup;
     }
 
@@ -1788,10 +1796,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         courseScheduleService.checkSnapCourseShchedules(courseScheduleList);
 
         //老师结算表
-        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+        if(courseScheduleTeacherSalaryList.size() > 0) {
+            courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+        }
 
         //学生结算表
-        courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
+        if(courseScheduleStudentPaymentList.size() > 0) {
+            courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
+        }
         return classGroup;
     }
 

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

@@ -1444,7 +1444,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(userId, musicGroupId);
 
         if (musicGroupStudentFee == null) {
-            throw new BizException("个人信息不存在");
+            throw new BizException("个人续费信息错误");
         }
         //判断是否是续费
 		/*List<StudentPaymentOrder> orderList = studentPaymentOrderDao.queryByCondition(GroupType.MUSIC, musicGroupId, userId, DealStatusEnum.SUCCESS);
@@ -1768,8 +1768,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //如果已生成课表,那么修改未上课时教学点
             courseScheduleDao.updateCourseScheduleSchool("MUSIC",musicGroupId,musicGroup.getSchoolId());
         }
-
-        Date date = new Date();
         List<Integer> months = subFeeSettingDto.getMonths();
         
         //判断缴费日历是否修改
@@ -1788,7 +1786,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		}
 
 		if (isModifiedOfCalender) {
-			
 			Integer num = musicGroupStudentFeeDao.countStudentNoPayNum(musicGroupId);
 			if (num > 0) {
 				throw new BizException("缴费周期更新失败,当前乐团有未缴费的学员");
@@ -1796,17 +1793,23 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 			
 			// 删除乐团相关付费周期
 			musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
-			musicGroupStudentFeeDao.deleteByMusicGroupId(musicGroupId,0);
+//			musicGroupStudentFeeDao.deleteByMusicGroupId(musicGroupId,0);
 			if (months != null && months.size() > 0) {
 				// 批量插入
 				musicGroupPaymentCalenderDao.batchAdd(months, musicGroupId);
 			}
 			if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
-                //生成学员费用表
+			    //修改未锁定学员缴费周期
+                String join = null;
+                if (months != null && months.size() > 0)  {
+                    join = StringUtils.join(months,",");
+                }
+                musicGroupStudentFeeDao.batchUpdateCalender(join,musicGroupId);
+                /*//生成学员费用表
                 List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
                 if(musicGroupStudentFees != null && musicGroupStudentFees.size() > 0){
                     musicGroupStudentFeeDao.batchInsert(musicGroupStudentFees,musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, null,null),"PAID_COMPLETED");
-                }
+                }*/
             }
 		}
         musicGroupDao.update(musicGroup);

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml

@@ -165,6 +165,7 @@
     <select id="countStudentNoPayNum" resultType="java.lang.Integer">
         SELECT COUNT(DISTINCT sr.id_) FROM student_registration sr LEFT JOIN music_group_student_fee_ sf ON sr.user_id_ = sf.user_id_
         WHERE sr.music_group_id_ = #{musicGroupId} AND sr.music_group_status_ != 'QUIT' AND sf.payment_status_ != 'PAID_COMPLETED'
+        AND sr.music_group_id_ = sf.music_group_id_
     </select>
 
     <select id="findContinuousAbsenteeismTimesByUsersAndMusicGroup" resultType="map">
@@ -240,12 +241,17 @@
     </update>
     <update id="updateStudentFee">
         UPDATE music_group_student_fee_
-        SET course_fee_ = #{fee.amount},payment_period_list_ = #{fee.month}
+        SET course_fee_ = #{fee.amount},payment_period_list_ = #{fee.month},update_time_ = NOW()
         WHERE music_group_id_ = #{fee.musicGroupId} AND user_id_ = #{fee.studentId}
     </update>
     <update id="updateStudentFeeIsLock">
         UPDATE music_group_student_fee_
-        SET is_lock_ = #{fee.isLock}
+        SET is_lock_ = #{fee.isLock},update_time_ = NOW()
         WHERE music_group_id_ = #{fee.musicGroupId} AND user_id_ = #{fee.studentId}
     </update>
+    <update id="batchUpdateCalender">
+        UPDATE music_group_student_fee_
+        SET payment_period_list_ = #{month},update_time_ = NOW()
+        WHERE music_group_id_ = #{musicGroupId} AND is_lock_ = 0
+    </update>
 </mapper>

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

@@ -380,6 +380,9 @@
             <if test="paymentStatus != null">
                 AND mgsf.payment_status_ = #{paymentStatus}
             </if>
+            <if test="isLock != null">
+                AND mgsf.is_lock_ = #{isLock}
+            </if>
             <if test="musicGroupId != null and musicGroupId != ''">
                 AND sr.music_group_id_ = #{musicGroupId}
             </if>
@@ -406,11 +409,12 @@
         <result property="courseFee" column="course_fee_"/>
         <result property="nextPaymentDate" column="next_payment_date_"/>
         <result property="isActive" column="isActive_"/>
+        <result property="isLock" column="is_lock_"/>
     </resultMap>
     <select id="queryMusicGroupStudent" resultMap="MusicGroupStudentsDto">
         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_,
+        s.name_ subject_name_,sr.music_group_id_,case when su.password_ is null then 0 else 1 end isActive_,mgsf.is_lock_,
         IF(DATE_FORMAT(sr.create_time_,'%Y-%m-%d') > DATE_FORMAT(mg.payment_expire_date_,'%Y-%m-%d'),1,0) is_new_student_
         FROM student_registration sr
         LEFT JOIN sys_user su ON sr.user_id_ = su.id_

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -190,7 +190,7 @@ public class StudentManageController extends BaseController {
      * 修改学员缴费金额和缴费周期
      * @return
      */
-    @GetMapping(value = "/updateStudentFee")
+    @PostMapping(value = "/updateStudentFee")
     @PreAuthorize("@pcs.hasPermissions('studentManage/updateStudentFee')")
     public Object updateStudentFee(UpdateStudentFeeDto studentFeeDto) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
@@ -206,7 +206,7 @@ public class StudentManageController extends BaseController {
      * 修改学员缴费周期锁定状态
      * @return
      */
-    @GetMapping(value = "/updateStudentFeeIsLock")
+    @PostMapping(value = "/updateStudentFeeIsLock")
     @PreAuthorize("@pcs.hasPermissions('studentManage/updateStudentFeeIsLock')")
     public Object updateStudentFeeIsLock(UpdateStudentFeeDto studentFeeDto) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();