瀏覽代碼

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

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
zouxuan 5 年之前
父節點
當前提交
7fb0ce827e

+ 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);
 }

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

@@ -6,7 +6,6 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 
 /**
  * 对应数据库表(class_group):
@@ -65,7 +64,7 @@ public class ClassGroup {
 
 	/** 班级类型(普通班级、合奏班级) */
 	@ApiModelProperty(value = "是否删除,1是 0否", required = false)
-	private YesOrNoEnum delFlag;
+	private Integer delFlag;
 
 	@ApiModelProperty(value = "总统课次",required = false)
 	private Integer totalClassTimes;
@@ -100,11 +99,11 @@ public class ClassGroup {
 		this.totalClassTimes = totalClassTimes;
 	}
 
-	public YesOrNoEnum getDelFlag() {
+	public Integer getDelFlag() {
 		return delFlag;
 	}
 
-	public void setDelFlag(YesOrNoEnum delFlag) {
+	public void setDelFlag(Integer delFlag) {
 		this.delFlag = delFlag;
 	}
 

+ 3 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -294,8 +294,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
         }
 
-        System.out.println(1/0);
-
         Integer schoolId = musicGroup.getSchoolId();
         for (HighClassGroupDto highClassGroup : highClassGroupList) {
             //1、插入班级信息
@@ -978,7 +976,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         classGroup.setExpectStudentNum(studentList.size());
         classGroup.setStudentNum(studentList.size());
         classGroup.setType(ClassGroupTypeEnum.NORMAL);
-        classGroup.setDelFlag(YesOrNoEnum.NO);
+        classGroup.setDelFlag(0);
         classGroup.setGroupType(GroupType.MUSIC);
         classGroup.setCurrentClassTimes(0);
         classGroup.setTotalClassTimes(classGroup4MixDto.getCourseTimes());
@@ -1197,7 +1195,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         classGroup.setStudentNum(studentList.size());
         classGroup.setType(ClassGroupTypeEnum.NORMAL);
         classGroup.setGroupType(GroupType.MUSIC);
-        classGroup.setDelFlag(YesOrNoEnum.NO);
+        classGroup.setDelFlag(0);
         classGroup.setCreateTime(date);
         classGroup.setUpdateTime(date);
         classGroupDao.insert(classGroup);
@@ -1405,7 +1403,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         classGroup.setStudentNum(studentList.size());
         classGroup.setType(ClassGroupTypeEnum.SNAP);
         classGroup.setGroupType(GroupType.MUSIC);
-        classGroup.setDelFlag(YesOrNoEnum.NO);
+        classGroup.setDelFlag(0);
         classGroup.setTotalClassTimes(classGroup4MixDto.getCourseTimes());
         classGroup.setCurrentClassTimes(0);
         classGroup.setCreateTime(date);

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

@@ -201,7 +201,7 @@ public class DemoGroupServiceImpl extends BaseServiceImpl<Long, DemoGroup>  impl
 		classGroup.setMusicGroupId(demoGroup.getId().toString());
 		classGroup.setName(demoGroup.getName());
 		classGroup.setType(ClassGroupTypeEnum.DEMO);
-		classGroup.setDelFlag(YesOrNoEnum.NO);
+		classGroup.setDelFlag(0);
 		classGroup.setTotalClassTimes(1);
 		classGroup.setGroupType(GroupType.DEMO);
 		classGroup.setCreateTime(now);

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

@@ -164,10 +164,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if(musicGroup.getStatus() == MusicGroupStatusEnum.AUDIT){
             Set<Integer> roleIds = new HashSet<>(1);
             roleIds.add(SysUserRole.SECTION_MANAGER);
-            String[] organIds = null;
-            if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-                organIds = sysUser.getOrganId().split(",");
-            }
+
+    		String[] organIds = { musicGroup.getOrganId() + "" };
             sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
         }
         // 保存乐团付费主体列表
@@ -538,8 +536,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //删除原有的声部商品组合
             musicGroupSubjectGoodsGroupDao.delByMusicGroupId(subFeeSettingDto.getMusicGroupId());
 
-            musicGroupSubjectPlanDao.batchAdd(subFeeSettingDto.getMusicGroupSubjectPlans(),musicGroupId);
-            musicGroupSubjectGoodsGroupDao.batchInsert(subFeeSettingDto.getMusicGroupSubjectGoodsGroups(),musicGroupId);
+			if (subFeeSettingDto.getMusicGroupSubjectPlans() != null && subFeeSettingDto.getMusicGroupSubjectPlans().size() > 0) {
+				musicGroupSubjectPlanDao.batchAdd(subFeeSettingDto.getMusicGroupSubjectPlans(), musicGroupId);
+			}
+			if (subFeeSettingDto.getMusicGroupSubjectGoodsGroups() != null && subFeeSettingDto.getMusicGroupSubjectGoodsGroups().size() > 0) {
+				musicGroupSubjectGoodsGroupDao.batchInsert(subFeeSettingDto.getMusicGroupSubjectGoodsGroups(), musicGroupId);
+            }
         }else {
             throw new Exception("乐团信息不存在");
         }
@@ -603,10 +605,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
         roleIds.add(SysUserRole.DEAN_OF_STUDIES);
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_ACTION_GROUP,"1",musicGroup.getName());
     }
 
@@ -637,10 +637,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupDao.update(musicGroup);
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
     }
 
@@ -675,10 +673,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_ACTION_APPLY,"",musicGroup.getName());
     }
 
@@ -777,10 +773,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(2);
         roleIds.add(SysUserRole.SECTION_MANAGER);
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP,"1",musicGroup.getName());
         return true;
     }
@@ -867,10 +861,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT,"",musicGroup.getName());
         return true;
     }
@@ -900,10 +892,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Map<String,Object> memo = new HashMap<>(2);
         memo.put("Id",musicGroupQuit.getId());
         memo.put("type","MUSICGROUP");
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP,JSONObject.toJSONString(memo),sysUser.getUsername());
         return true;
     }
@@ -927,12 +917,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);
 			
@@ -1278,10 +1274,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         MusicGroup musicGroup = musicGroupDao.get(classGroupDao.findByCourseSchedule(courseScheduleId.intValue()).getMusicGroupId());
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_TEACHER_AMOUNT_CHANGE,"",
                 teacher.getRealName(),musicGroup.getName(),scope.equals("all")?"所有":"本次");
         return true;
@@ -1479,11 +1473,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(3);
         roleIds.add(SysUserRole.SECTION_MANAGER);
         roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+		roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT,"",musicGroup.getName());
         return musicGroup;
     }
@@ -1557,10 +1548,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		}
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        String[] organIds = null;
-        if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-            organIds = sysUser.getOrganId().split(",");
-        }
+
+		String[] organIds = { musicGroup.getOrganId() + "" };
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING,"",musicGroup.getName());
     }
 }

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

@@ -54,6 +54,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Autowired
     private MusicGroupStudentFeeDao musicGroupStudentFeeDao;
     @Autowired
+    private ClassGroupStudentMapperDao classGroupStudentMapperDao;
+    @Autowired
+    private ClassGroupRelationDao classGroupRelationDao;
+    @Autowired
     private SysMessageService sysMessageService;
     @Autowired
     private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
@@ -132,10 +136,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             Set<Integer> roleIds = new HashSet<>(2);
             roleIds.add(SysUserRole.SECTION_MANAGER);
             roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-            String[] organIds = null;
-            if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-                organIds = sysUser.getOrganId().split(",");
-            }
+
+    		String[] organIds = { musicGroup.getOrganId() + "" };
             sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds), MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE, "", musicGroup.getName());
         }
         return i;
@@ -474,10 +476,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
             Set<Integer> roleIds = new HashSet<>(1);
             roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-            String[] organIds = null;
-            if(StringUtils.isNotEmpty(studentRegistration.getOrganId())){
-                organIds = studentRegistration.getOrganId().split(",");
-            }
+
+    		String[] organIds = { musicGroup.getOrganId() + "" };
             sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_ADD_STUDENT, "", musicGroup.getName(), studentRegistration.getName());
             //增加报名学生数
             musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, studentRegistration.getSubjectId(), 1);
@@ -497,10 +497,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                     throw new Exception("班级不存在");
                 }
                 //新增班级学生关系(单技班)
-//                classGroupStudentMapperDao.insert(new ClassGroupStudentMapper(classGroupId, userId));
-//                //新增班级学生关系(合奏班)
-//                ClassGroupRelation classGroupRelation = classGroupRelationDao.findClassGroupRelation(classGroupId);
-//                classGroupStudentMapperDao.insert(new ClassGroupStudentMapper(classGroupRelation.getClassGroupId(), userId));
+                classGroupStudentMapperDao.insert(new ClassGroupStudentMapper(classGroupId, userId));
+                //新增班级学生关系(合奏班)
+                ClassGroupRelation classGroupRelation = classGroupRelationDao.findClassGroupRelation(classGroupId);
+                classGroupStudentMapperDao.insert(new ClassGroupStudentMapper(classGroupRelation.getClassGroupId(), userId));
 
                 //获取当前月
                 Integer month = Integer.parseInt(DateUtil.getMonth(new Date()));

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

@@ -11,7 +11,6 @@ import com.ym.mec.biz.service.SysUserCashAccountService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;

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

@@ -261,7 +261,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		classGroup.setExpectStudentNum(vipGroupApplyBaseInfoDto.getStudentNum());
 		classGroup.setTotalClassTimes(totalClassTimes);
 		classGroup.setType(ClassGroupTypeEnum.VIP);
-		classGroup.setDelFlag(YesOrNoEnum.YES);
+		classGroup.setDelFlag(1);
 		classGroup.setGroupType(GroupType.VIP);
 		classGroup.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
 		classGroup.setCreateTime(now);
@@ -846,7 +846,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		if(studentPaymentNum.equals(classGroup.getExpectStudentNum())&&updateVipStatus){
 			classGroup.setStudentNum(studentPaymentNum);
-			classGroup.setDelFlag(YesOrNoEnum.NO);
+			classGroup.setDelFlag(0);
 			vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
 			vipGroupDao.update(vipGroup);
 			createVipGroupCourseScheInfo(vipGroupId,classGroup);
@@ -966,6 +966,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 			if(userCashAccount.getBalance().subtract(vipGroup.getTotalPrice()).doubleValue() > 0){
 				// 更新订单信息
+				studentPaymentOrder.setActualAmount(new BigDecimal(0));
 				studentPaymentOrder.setBalancePaymentAmount(amount);
 				studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
 				studentPaymentOrder.setUpdateTime(date);
@@ -980,9 +981,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				return result;
 			}else{
 				if (userCashAccount.getBalance().doubleValue() > 0) {
+					sysUserCashAccountService.updateBalance(user.getId(), userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
 					amount = amount.subtract(userCashAccount.getBalance());
+					studentPaymentOrder.setActualAmount(amount);
 					studentPaymentOrder.setBalancePaymentAmount(userCashAccount.getBalance());
-					sysUserCashAccountService.updateBalance(user.getId(), userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
 				} else {
 					studentPaymentOrder.setBalancePaymentAmount(new BigDecimal(0));
 				}

+ 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>  

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

@@ -16,7 +16,7 @@
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="del_flag_" property="delFlag"/>
         <result column="expect_student_num_" property="expectStudentNum"/>
         <result column="total_class_times_" property="totalClassTimes"/>
         <result column="img_" property="img"/>
@@ -75,7 +75,7 @@
             <if test="totalClassTimes!=null">#{totalClassTimes},</if>
             <if test="currentClassTimes!=null">#{currentClassTimes},</if>
             <if test="img!=null">#{img},</if>
-            <if test="delFlag!=null">#{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},</if>
+            <if test="delFlag!=null">#{delFlag},</if>
         </trim>
     </insert>
 
@@ -129,7 +129,7 @@
                 img_=#{img},
             </if>
             <if test="delFlag != null">
-                del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                del_flag_ = #{delFlag},
             </if>
         </set>
         WHERE id_ = #{id}
@@ -232,7 +232,7 @@
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="del_flag_" property="delFlag"/>
         <result column="expect_student_num_" property="expectStudentNum"/>
         <result column="total_class_times_" property="totalClassTimes"/>
     </resultMap>
@@ -354,7 +354,7 @@
     <select id="findNoClassSubjects" resultMap="ClassGroup">
         SELECT cg.* FROM class_group cg LEFT JOIN class_group_relation cgr ON cgr.sub_class_group_id_=cg.id_
         WHERE cg.music_group_id_=#{musicGroupId} AND cg.type_ = 'NORMAL'
-        AND cg.group_type_='MUSIC' AND cg.del_flag_ = '0'
+        AND cg.group_type_='MUSIC' AND cg.del_flag_ = '0' and cgr.id_ is null
     </select>
 
     <select id="countTeacherNum" resultType="java.lang.Integer">
@@ -736,7 +736,7 @@
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="del_flag_" property="delFlag"/>
         <result column="total_class_times_" property="totalClassTimes"/>
         <result column="img_" property="img"/>
         <result column="current_class_times_" property="currentClassTimes"/>
@@ -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>

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

@@ -23,7 +23,7 @@
 		SELECT * FROM sys_user_cash_account WHERE user_id_ = #{userId} 
 	</select>
 	
-    <select id="getLocked" resultMap="SysUserCashAccount">
+    <select id="getLocked" resultMap="SysUserCashAccount" useCache="false" flushCache="true">
 		SELECT * FROM sys_user_cash_account WHERE user_id_ = #{userId} for update
 	</select>