Browse Source

im群bug修改

zouxuan 4 years ago
parent
commit
ac3f0a4e3d

+ 9 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupMember.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.ImRoleType;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -22,7 +23,7 @@ public class ImGroupMember {
 	private boolean isAdmin;
 	
 	/** 群角色 */
-	private String roleType;
+	private ImRoleType roleType;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -69,15 +70,15 @@ public class ImGroupMember {
 	public boolean getIsAdmin(){
 		return this.isAdmin;
 	}
-			
-	public void setRoleType(String roleType){
-		this.roleType = roleType;
+
+	public ImRoleType getRoleType() {
+		return roleType;
 	}
-	
-	public String getRoleType(){
-		return this.roleType;
+
+	public void setRoleType(ImRoleType roleType) {
+		this.roleType = roleType;
 	}
-			
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupStudentClassAdjust.java

@@ -1,6 +1,8 @@
 package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -54,10 +56,21 @@ public class MusicGroupStudentClassAdjust {
 	@ApiModelProperty(value = "主班编号", required = false)
 	private Integer masterClassGroupId;
 
+	@ApiModelProperty(value = "主班剩余价值", required = false)
+	private BigDecimal masterTotalPrice;
+
 	private Date createTime;
 
 	private Date updateTime;
 
+	public BigDecimal getMasterTotalPrice() {
+		return masterTotalPrice;
+	}
+
+	public void setMasterTotalPrice(BigDecimal masterTotalPrice) {
+		this.masterTotalPrice = masterTotalPrice;
+	}
+
 	public Integer getMasterClassCourseTimes() {
 		return masterClassCourseTimes;
 	}

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ImRoleType.java

@@ -0,0 +1,29 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum ImRoleType implements BaseEnum<String, ImRoleType> {
+
+	TEAM_TEACHER("TEAM_TEACHER", "运营主管"),
+	EDUCATION("EDUCATION", "教务老师"),
+	DIRECTOR("DIRECTOR", "乐队指导");
+
+	private String code;
+
+	private String desc;
+
+	private ImRoleType(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	@Override
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -542,5 +542,6 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param courseIds
      * @param classGroupStudents
      */
-    void spanGroupClassAdjustPass(Integer masterClassGroupId,List<Integer> studentIds,List<Long> courseIds,List<Map<String, String>> classGroupStudents,List<Long> allLockCourseIds,String batchNo);
+    void spanGroupClassAdjustPass(Integer masterClassGroupId,List<Integer> studentIds,List<Long> courseIds,List<Map<String,
+            String>> classGroupStudents,List<Long> allLockCourseIds,String batchNo,BigDecimal masterTotalPrice);
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupStudentMapperService.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.service.BaseService;
 
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Set;
 
@@ -96,6 +97,6 @@ public interface ClassGroupStudentMapperService extends BaseService<Long, ClassG
      * @param studentIds:
      * @return void
      */
-    void updateClassGroupStudents1(Long classGroupId, List<Integer> studentIds,List<Long> allLockCourseIds,String batchNo);
+    void updateClassGroupStudents1(Long classGroupId, List<Integer> studentIds, List<Long> allLockCourseIds, String batchNo, BigDecimal masterTotalPrice);
 
 }

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

@@ -3754,6 +3754,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         musicGroupStudentClassAdjust.setOperatorId(sysUser.getId());
         musicGroupStudentClassAdjust.setClassGroupIds(JSON.toJSONString(classGroupIds));
         musicGroupStudentClassAdjust.setStudentIds(JSON.toJSONString(studentIds));
+        musicGroupStudentClassAdjust.setMasterTotalPrice(masterTotalPrice);
         musicGroupStudentClassAdjust.setMasterClassCourseTimes(courseScheduleDao.queryTotalCourseTimes(masterClassGroupId));
         if (classGroupStudents != null && classGroupStudents.size() > 0) {
             musicGroupStudentClassAdjust.setClassGroupStudents(JSON.toJSONString(mergeClassSplitClassAffirmDto.getClassGroupStudents()));
@@ -3782,7 +3783,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //没有需要审核的缴费项目
         if (paymentCalenderDto.getStatus() != AUDITING) {
             List<Map<String,String>> classGroupStudents1 = (List<Map<String,String>>)JSON.parse(musicGroupStudentClassAdjust.getClassGroupStudents());
-            spanGroupClassAdjustPass(masterClassGroupId,studentIds,courseIds,classGroupStudents1,allLockCourseIds,paymentCalenderDto.getBatchNo());
+            spanGroupClassAdjustPass(masterClassGroupId,studentIds,courseIds,classGroupStudents1,allLockCourseIds,paymentCalenderDto.getBatchNo(),masterTotalPrice);
         }else {
 //                冻结班级
             classGroupDao.batchUpdateLockByClassGroupIds(classGroupIds, 1);
@@ -3791,9 +3792,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
     }
 
-    public void spanGroupClassAdjustPass(Integer masterClassGroupId,List<Integer> studentIds,List<Long> courseIds,List<Map<String, String>> classGroupStudents,List<Long> allLockCourseIds,String batchNo){
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void spanGroupClassAdjustPass(Integer masterClassGroupId,
+                                         List<Integer> studentIds,
+                                         List<Long> courseIds,
+                                         List<Map<String, String>> classGroupStudents,
+                                         List<Long> allLockCourseIds,
+                                         String batchNo,BigDecimal masterTotalPrice){
         //将学员加进班级未开始的课程,以及班级关联、加群
-        classGroupStudentMapperService.updateClassGroupStudents1(masterClassGroupId.longValue(),studentIds,allLockCourseIds,batchNo);
+        classGroupStudentMapperService.updateClassGroupStudents1(masterClassGroupId.longValue(),studentIds,allLockCourseIds,batchNo,masterTotalPrice);
         //删除学员课程
         courseScheduleDao.deleteMusicGroupCourseSchedulesWithStudents(courseIds, studentIds);
         //删除班级关联的学员

+ 15 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -549,7 +549,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void updateClassGroupStudents1(Long classGroupId, List<Integer> studentIds,List<Long> allLockCourseIds,String batchNo) {
+    public void updateClassGroupStudents1(Long classGroupId, List<Integer> studentIds,List<Long> allLockCourseIds,String batchNo,BigDecimal masterTotalPrice) {
         ClassGroup classGroup = classGroupDao.lockClassGroup(classGroupId.intValue());
         if (Objects.isNull(classGroup)) {
             throw new BizException("班级信息错误");
@@ -561,8 +561,11 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
         Date now = new Date();
         List<ClassGroupStudentMapper> classGroupStudentMappers = new ArrayList<>();
         //获取分布默认的课程类型单价
-        MusicGroup musicGroup = musicGroupDao.findByClassGroupId(classGroupId.intValue());
-        Map<String, BigDecimal> unitPriceMap = MapUtil.convertIntegerMap(organizationCourseUnitPriceSettingsDao.queryMapByOrganIdAndChargeTypeId(musicGroup.getChargeTypeId(), musicGroup.getOrganId()));
+//        MusicGroup musicGroup = musicGroupDao.findByClassGroupId(classGroupId.intValue());
+//        Map<String, BigDecimal> unitPriceMap = MapUtil.convertIntegerMap(organizationCourseUnitPriceSettingsDao.queryMapByOrganIdAndChargeTypeId(musicGroup.getChargeTypeId(), musicGroup.getOrganId()));
+
+        BigDecimal divide = masterTotalPrice.divide(new BigDecimal(classGroupNotStartCourse.size()), 2);
+        BigDecimal decimal = divide.multiply(new BigDecimal(classGroupNotStartCourse.size()));
 
         //生成班级关联
         for (Integer studentId : studentIds) {
@@ -575,10 +578,8 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             classGroupStudentMapper.setGroupType(GroupType.MUSIC);
             classGroupStudentMappers.add(classGroupStudentMapper);
             //生成课程关联
-            for (CourseSchedule courseSchedule : classGroupNotStartCourse) {
-                //获取课程时长
-                int minutesBetween = DateUtil.minutesBetween(courseSchedule.getStartClassTime(), courseSchedule.getEndClassTime());
-                BigDecimal multiply = unitPriceMap.get(courseSchedule.getType().getCode()).multiply(new BigDecimal(minutesBetween));
+            for (int i = 0; i < classGroupNotStartCourse.size(); i++) {
+                CourseSchedule courseSchedule = classGroupNotStartCourse.get(i);
                 CourseScheduleStudentPayment cssp = new CourseScheduleStudentPayment();
                 cssp.setGroupType(courseSchedule.getGroupType());
                 cssp.setMusicGroupId(courseSchedule.getMusicGroupId());
@@ -586,8 +587,13 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 cssp.setClassGroupId(courseSchedule.getClassGroupId());
                 cssp.setBatchNo(batchNo);
                 cssp.setUserId(studentId);
-                cssp.setOriginalPrice(multiply);
-                cssp.setExpectPrice(multiply);
+                if(i == 0){
+                    cssp.setOriginalPrice(divide.add(masterTotalPrice.subtract(decimal)));
+                    cssp.setExpectPrice(divide.add(masterTotalPrice.subtract(decimal)));
+                }else {
+                    cssp.setOriginalPrice(divide);
+                    cssp.setExpectPrice(divide);
+                }
                 cssp.setActualPrice(BigDecimal.ZERO);
                 courseScheduleStudentPayments.add(cssp);
             }

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

@@ -1,13 +1,13 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.enums.ImRoleType;
+import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -35,10 +35,10 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 	private ImGroupDao imGroupDao;
 
 	@Autowired
-	private ImFeignService imFeignService;
+	private TeacherDao teacherDao;
 
 	@Autowired
-	private ImGroupService imGroupService;
+	private ImFeignService imFeignService;
 
 	@Override
 	public BaseDAO<Long, ImGroupMember> getDAO() {
@@ -64,7 +64,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		imGroupMember.setCreateTime(date);
 		imGroupMember.setImGroupId(imGroupId);
 		imGroupMember.setIsAdmin(isAdmin);
-		imGroupMember.setRoleType(roleType);
+		imGroupMember.setRoleType(StringUtils.isEmpty(roleType)?null: ImRoleType.valueOf(roleType));
 		imGroupMember.setUpdateTime(date);
 		imGroupMember.setUserId(userId);
 
@@ -98,7 +98,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		List<GroupMember> groupMemberList = new ArrayList<GroupMember>();
 
 		String groupId = imGroup.getId().toString();
-
+		Map<Integer, String> nameIdMap= MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(userRoleMap.keySet())));
 		for (Entry<Integer, String> entry : userRoleMap.entrySet()) {
 			
 			if(existUserIdList.contains(entry.getKey())){
@@ -109,9 +109,10 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 			imGroupMember.setCreateTime(date);
 			imGroupMember.setImGroupId(imGroupId);
 			imGroupMember.setIsAdmin(false);
-			imGroupMember.setRoleType(entry.getValue());
+			imGroupMember.setRoleType(StringUtils.isEmpty(entry.getValue())?null: ImRoleType.valueOf(entry.getValue()));
 			imGroupMember.setUpdateTime(date);
 			imGroupMember.setUserId(entry.getKey());
+			imGroupMember.setNickname(nameIdMap.get(imGroupMember.getUserId()));
 
 			imGroupMemberList.add(imGroupMember);
 			groupMemberList.add(new GroupMember(imGroupMember.getUserId().toString(), groupId));
@@ -193,7 +194,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 
 		Date date = new Date();
 		for (ImGroupMember imGroupMember : imGroupMemberList) {
-			imGroupMember.setRoleType(roleType);
+			imGroupMember.setRoleType(StringUtils.isEmpty(roleType)?null: ImRoleType.valueOf(roleType));
 			imGroupMember.setUpdateTime(date);
 		}
 		imGroupMemberDao.batchUpdate(imGroupMemberList);

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

@@ -764,7 +764,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				List<Long> courseIds = JSON.parseArray(adjust.getSubLockCourseIds(), Long.class);
 				List<Long> allLockCourseIds = JSON.parseArray(adjust.getAllLockCourseIds(), Long.class);
 				classGroupService.spanGroupClassAdjustPass(adjust.getMasterClassGroupId()
-						,studentIds,courseIds,classGroupStudents,allLockCourseIds,batchNo);
+						,studentIds,courseIds,classGroupStudents,allLockCourseIds,batchNo,adjust.getMasterTotalPrice());
 			}
 		}
 		return batchNo;
@@ -1081,7 +1081,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			//如果是跨团班级合并,添加学员
 			musicGroupPaymentCalenderDetailService.batchAdd(calender,musicGroupPaymentCalenderStudentDetailDao.findByBatchNo(batchNo));
 			classGroupService.spanGroupClassAdjustPass(adjust.getMasterClassGroupId()
-					,studentIds,courseIds,classGroupStudents,allLockCourseIds,batchNo);
+					,studentIds,courseIds,classGroupStudents,allLockCourseIds,batchNo,adjust.getMasterTotalPrice());
 		}
 		musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenders);
 	}

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

@@ -2369,9 +2369,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         quitUserIdList.add(oldDirectorUserId);
 
         Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
-        userRoleMap.put(teamTeacherId, null);
-        userRoleMap.put(educationalTeacherId, null);
-        userRoleMap.put(directorUserId, null);
+        userRoleMap.put(directorUserId, ImRoleType.DIRECTOR.getDesc());
+        userRoleMap.put(educationalTeacherId, ImRoleType.EDUCATION.getDesc());
+        userRoleMap.put(teamTeacherId, ImRoleType.TEAM_TEACHER.getDesc());
         
         classGroups.forEach(e -> {
         	imGroupMemberService.quit(e.getId().longValue(), quitUserIdList);
@@ -2404,7 +2404,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             courseScheduleDao.updateCourseScheduleSchool("MUSIC", musicGroupId, musicGroup.getSchoolId());
         }
         updateTeamTeacher(group, musicGroup);
-//        List<Integer> months = subFeeSettingDto.getMonths();
 
         Date date = new Date();
         //缴费方式不同
@@ -2422,55 +2421,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 musicGroupPaymentCalenderCourseSettingsDao.deleteByMusicGroupPaymentCalenderId(calenderIds);
             }
         }
-
-        //判断缴费日历是否修改
-        /*boolean isModifiedOfCalender = false;
-
-        List<MusicGroupPaymentCalender> calenderList = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
-        if (months.size() == calenderList.size()) {
-            for (MusicGroupPaymentCalender cal : calenderList) {
-                if (!months.contains(cal.getPaymentMonth())) {
-                    isModifiedOfCalender = true;
-                    break;
-                }
-            }
-        } else {
-            isModifiedOfCalender = true;
-        }
-
-        if (isModifiedOfCalender) {
-            Integer num = musicGroupStudentFeeDao.countStudentNoPayNum(musicGroupId);
-            if (num > 0) {
-                throw new BizException("缴费周期更新失败,当前乐团有未缴费的学员");
-            }
-
-            // 删除乐团相关付费周期
-            musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
-            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> fees = musicGroupStudentFeeDao.queryByMusicGroupId(musicGroupId);
-            fees.forEach(e -> {
-                e.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, null, e));
-                e.setUpdateTime(date);
-            });
-            musicGroupStudentFeeDao.batchUpdate(fees);
-        }*/
         musicGroup.setUpdateTime(date);
         musicGroupDao.update(musicGroup);
-        //修改课程里面的教学点
-//        if (!musicGroup.getSchoolId().equals(musicGroup.getSchoolId())) {
-//            courseScheduleDao.updateByMusicGroupId(musicGroupId, musicGroup.getSchoolId());
-//        }
         // 删除乐团付费主体列表
         musicGroupPaymentEntitiesDao.delByGroupId(musicGroupId);
         //批量新增

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java

@@ -377,10 +377,10 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
             if (collect == null || collect.size() == 0) {
                 continue;
             }
-            List<String> list = studentPaymentRouteOrderDao.countByTransNo(collect);
-            if (list != null && list.size() > 0) {
-                throw new BizException("导入数据错误  重复的交易流水号:{}", list.get(0));
-            }
+//            List<String> list = studentPaymentRouteOrderDao.countByTransNo(collect);
+//            if (list != null && list.size() > 0) {
+//                throw new BizException("导入数据错误  重复的交易流水号:{}", list.get(0));
+//            }
             Date nowDate = new Date();
 
             List<Object> calenderIds = sheet.stream().map(m -> m.get("缴费单号")).collect(Collectors.toList());

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

@@ -988,7 +988,7 @@
 
     <select id="findClassGroups" resultMap="ClassGroup">
         SELECT * FROM class_group WHERE music_group_id_=#{musicGroupId}
-        AND del_flag_='0' AND group_type_ NOT IN ('PRACTICE','VIP','HIGH')
+        AND del_flag_='0' AND group_type_ = 'MUSIC'
     </select>
 
     <!-- 根据合奏班id获取子班及老师 -->

+ 20 - 40
mec-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!--
-这个文件是自动生成的
-不要修改此文件。所有改动将在下次重新自动生成时丢失。
+这个文件是自动生成的.
+不要修改此文件.所有改动将在下次重新自动生成时丢失.
 -->
 <mapper namespace="com.ym.mec.biz.dal.dao.ImGroupMemberDao">
 	
@@ -12,7 +12,7 @@
 		<result column="user_id_" property="userId" />
 		<result column="nickname_" property="nickname" />
 		<result column="is_admin_" property="isAdmin" />
-		<result column="role_type_" property="roleType" />
+		<result column="role_type_" property="roleType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
@@ -29,18 +29,14 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ImGroupMember" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO im_group_member (id_,im_group_id_,user_id_,nickname_,is_admin_,role_type_,create_time_,update_time_) VALUES(#{id},#{imGroupId},#{userId},#{nickname},#{isAdmin},#{roleType},#{createTime},#{updateTime})
+		INSERT INTO im_group_member (im_group_id_,user_id_,nickname_,is_admin_,role_type_,create_time_,update_time_) 
+		VALUES(#{imGroupId},#{userId},#{nickname},#{isAdmin},#{roleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},NOW(),NOW())
 	</insert>
 	
 	<insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.ImGroupMember" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO im_group_member (id_,im_group_id_,user_id_,nickname_,is_admin_,role_type_,create_time_,update_time_) VALUES
+		INSERT INTO im_group_member (im_group_id_,user_id_,nickname_,is_admin_,role_type_,create_time_,update_time_) VALUES
 		 <foreach collection="list" item="item" separator=",">
-		(#{item.id},#{item.imGroupId},#{item.userId},#{item.nickname},#{item.isAdmin},#{item.roleType},#{item.createTime},#{item.updateTime})
+		(#{item.imGroupId},#{item.userId},#{item.nickname},#{item.isAdmin},#{item.roleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},NOW(),NOW())
 		</foreach>
 	</insert>
 	
@@ -48,7 +44,7 @@
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.ImGroupMember">
 		UPDATE im_group_member <set>
 		<if test="roleType != null">
-		role_type_ = #{roleType},
+		role_type_ = #{roleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 		</if>
 		<if test="userId != null">
 		user_id_ = #{userId},
@@ -56,21 +52,13 @@
 		<if test="nickname != null">
 		nickname_ = #{nickname},
 		</if>
-		<if test="id != null">
-		id_ = #{id},
-		</if>
 		<if test="isAdmin != null">
 		is_admin_ = #{isAdmin},
 		</if>
 		<if test="imGroupId != null">
 		im_group_id_ = #{imGroupId},
 		</if>
-		<if test="updateTime != null">
-		update_time_ = #{updateTime},
-		</if>
-		<if test="createTime != null">
-		create_time_ = #{createTime},
-		</if>
+		update_time_ = NOW()
 		</set> WHERE id_ = #{id} 
 	</update>
 	
@@ -78,32 +66,24 @@
 		<foreach collection="list" item="item" index="index" open="" close="" separator=";">
 			UPDATE im_group_member 
 			<set>
-				<if test="itemroleType != null">
-				role_type_ = #{item。roleType},
+				<if test="item.roleType != null">
+				role_type_ = #{item.roleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 				</if>
-				<if test="itemuserId != null">
-				user_id_ = #{itemuserId},
+				<if test="item.userId != null">
+				user_id_ = #{item.userId},
 				</if>
 				<if test="item.nickname != null">
 				nickname_ = #{item.nickname},
 				</if>
-				<if test="item。id != null">
-				id_ = #{item。id},
-				</if>
-				<if test="item。isAdmin != null">
-				is_admin_ = #{item。isAdmin},
-				</if>
-				<if test="item。imGroupId != null">
-				im_group_id_ = #{item。imGroupId},
-				</if>
-				<if test="item。updateTime != null">
-				update_time_ = #{item。updateTime},
+				<if test="item.isAdmin != null">
+				is_admin_ = #{item.isAdmin},
 				</if>
-				<if test="item。createTime != null">
-				create_time_ = #{item。createTime},
+				<if test="item.imGroupId != null">
+				im_group_id_ = #{item.imGroupId},
 				</if>
-			</set> 
-			WHERE id_ = #{item。id}
+				update_time_ = NOW()
+			</set>
+			WHERE id_ = #{item.id}
 		</foreach> 
 	</update>
 	

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupStudentClassAdjustMapper.xml

@@ -15,6 +15,7 @@
 		<result column="student_ids_" property="studentIds" />
 		<result column="class_course_minute_" property="classCourseMinute" />
 		<result column="master_class_course_times_" property="masterClassCourseTimes" />
+		<result column="master_total_price_" property="masterTotalPrice" />
 		<result column="default_course_type_minute_" property="defaultCourseTypeMinute" />
 		<result column="all_lock_course_ids_" property="allLockCourseIds" />
 		<result column="sub_lock_course_ids_" property="subLockCourseIds" />
@@ -40,15 +41,18 @@
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupStudentClassAdjust" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO music_group_student_class_adjust (music_group_id_,batch_no_,new_class_group_json_,
 		class_group_ids_,student_ids_,class_course_minute_,all_lock_course_ids_,sub_lock_course_ids_,
-		operator_id_,student_payment_ids_,class_group_students_,default_course_type_minute_,master_class_group_id_,master_class_course_times_,create_time_,update_time_)
+		operator_id_,student_payment_ids_,class_group_students_,default_course_type_minute_,master_class_group_id_,master_class_course_times_,master_total_price_,create_time_,update_time_)
 		VALUES(#{musicGroupId},#{batchNo},#{newClassGroupJson},#{classGroupIds},#{studentIds},
 		#{classCourseMinute},#{allLockCourseIds},#{subLockCourseIds},#{operatorId},#{studentPaymentIds},#{classGroupStudents},
-			   #{defaultCourseTypeMinute},#{masterClassGroupId},#{masterClassCourseTimes},NOW(),NOW())
+			   #{defaultCourseTypeMinute},#{masterClassGroupId},#{masterClassCourseTimes},#{masterTotalPrice},NOW(),NOW())
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.MusicGroupStudentClassAdjust">
 		UPDATE music_group_student_class_adjust <set>
+		<if test="masterTotalPrice != null">
+			master_total_price_ = #{masterTotalPrice},
+		</if>
 		<if test="masterClassCourseTimes != null">
 			master_class_course_times_ = #{masterClassCourseTimes},
 		</if>

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java

@@ -67,7 +67,7 @@ public class ImGroupController extends BaseController {
 	@GetMapping(value = "/queryGroupStudentList")
 	public Object queryGroupStudentList(Long imGroupId) {
 
-		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> StringUtils.isBlank(e.getRoleType())).collect(Collectors.toList()));
+		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> e.getRoleType() == null).collect(Collectors.toList()));
 	}
 
 	@ApiOperation("查询群成员详情")

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -79,7 +79,7 @@ public class ImGroupController extends BaseController {
 	@GetMapping(value = "/queryGroupStudentList")
 	public Object queryGroupStudentList(Long imGroupId) {
 
-		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> StringUtils.isBlank(e.getRoleType())).collect(Collectors.toList()));
+		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> e.getRoleType() == null).collect(Collectors.toList()));
 	}
 
 	@ApiOperation("查询群成员详情")