yonge 5 年之前
父節點
當前提交
a9bcd12411

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

@@ -512,4 +512,11 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<ImGroupModel> queryTeacherGroup();
 
     List<ImUserModel> queryImUser();
+    
+    /**
+     * 批量更新班级学生数减一
+     * @param classGroupIdList
+     * @return
+     */
+    int batchUpdateStudentNumMinusOne(List<Integer> classGroupIdList);
 }

+ 16 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -1,17 +1,19 @@
 package com.ym.mec.biz.dal.dao;
 
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Param;
+
 import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
 import com.ym.mec.biz.dal.dto.TeacherClassStudentDto;
 import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
 
 public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStudentMapper> {
     /**
@@ -190,4 +192,13 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
      */
     Integer countUserGroups(@Param("userId") Integer userId,
                             @Param("groupType") String groupType);
+
+    /**
+     * 查询学生所在的班级编号
+     * @param musicGroupId
+     * @param userId
+     * @param groupTpye
+     * @return
+     */
+	List<Integer> queryClassGroupIdList(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId, @Param("groupType") GroupType groupType);
 }

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

@@ -915,12 +915,18 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		musicGroupQuitDao.update(musicGroupQuit);
 
 		if (status == ApprovalStatus.APPROVED) {
-			classGroupStudentMapperDao.deleteStudentByMusicGroupId(musicGroupId, userId);
 
 			StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
 			if (studentRegistration == null) {
 				throw new BizException("用户注册信息不存在");
 			}
+			//更新学员在班级的状态
+			classGroupStudentMapperDao.deleteStudentByMusicGroupId(musicGroupId, userId);
+			
+			//更新班级人数
+			List<Integer> classGroupIdList = classGroupStudentMapperDao.queryClassGroupIdList(musicGroupId, userId, GroupType.MUSIC);
+			classGroupDao.batchUpdateStudentNumMinusOne(classGroupIdList);
+			
 			// 删除未上课
 			courseScheduleService.batchDeleteMusicGroupCourseWithStudent(musicGroupId, userId, GroupType.MUSIC);
 			

+ 4 - 4
mec-biz/src/main/resources/config/contracts/goods.ftl

@@ -112,12 +112,12 @@
         4、乙方终止乐团学习2个月内,仍未将乐器归还给甲方的,则视为乙方违约,乙方所交押金甲方有权不予退还,同时乙方须按乐器团购价格进行赔付。
         <h2>三、乐器标准:</h2> 
         <div class="iInfo">
-            <span>名称:${goodsList[0].name}</span>
-            <span>品牌:${goodsList[0].brand}</span>  
+            <span>名称:<#if (goodsList?size > 0)> ${goodsList[0].name} </#if></span>
+            <span>品牌:<#if (goodsList?size > 0)> ${goodsList[0].brand} </#if></span>  
         </div>
         <div class="iInfo">
-            <span>型号:${goodsList[0].specification}</span>
-            <span>团购价格:${goodsList[0].groupPurchasePrice?string("0.00")}元</span>
+            <span>型号:<#if (goodsList?size > 0)> ${goodsList[0].specification} </#if></span>
+            <span>团购价格:<#if (goodsList?size > 0)> ${goodsList[0].groupPurchasePrice?string("0.00")}元 </#if></span>
         </div>
 
         <h2>四、违约责任</h2>  

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -867,4 +867,10 @@
         WHERE su.id_ IS NOT NULL
     </select>
 
+	<update id="batchUpdateStudentNumMinusOne">
+		update class_group set student_num_ = (student_num_ - 1),update_time_ = now() where id_ IN
+      <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
+          #{classGroupId}
+      </foreach>
+	</update>
 </mapper>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -236,4 +236,8 @@
     <select id="countUserGroups" resultType="int">
       SELECT COUNT(1) FROM class_group_student_mapper WHERE user_id_=#{userId} AND group_type_=#{groupType} AND status_!='QUIT'
     </select>
+    
+    <select id="queryClassGroupIdList" resultType="int" parameterType="map">
+      SELECT distinct class_group_id_ FROM class_group_student_mapper WHERE user_id_=#{userId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND music_group_id_ = #{musicGroupId}
+    </select>
 </mapper>