zouxuan 4 years ago
parent
commit
38f0dce0fd

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

@@ -24,4 +24,11 @@ public interface MusicGroupPaymentCalenderStudentDetailDao extends BaseDAO<Integ
      * @param batchNo
      */
     void delByBatchNo(String batchNo);
+
+    /**
+     * 获取跨团合班学员缴费详情
+     * @param batchNo
+     * @param userId
+     */
+    List<MusicGroupPaymentCalenderStudentDetail>  findByBatchNoAndUserId(@Param("batchNo") String batchNo, @Param("userId") Integer userId);
 }

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

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

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

@@ -1,29 +0,0 @@
-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;
-	}
-
-}

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

@@ -5,7 +5,6 @@ import java.util.Map.Entry;
 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;
@@ -17,7 +16,6 @@ import com.ym.mec.biz.dal.dao.ImGroupMemberDao;
 import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.entity.ImGroupMember;
 import com.ym.mec.biz.service.ImGroupMemberService;
-import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
@@ -64,7 +62,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		imGroupMember.setCreateTime(date);
 		imGroupMember.setImGroupId(imGroupId);
 		imGroupMember.setIsAdmin(isAdmin);
-		imGroupMember.setRoleType(StringUtils.isEmpty(roleType)?null: ImRoleType.valueOf(roleType));
+		imGroupMember.setRoleType(roleType);
 		imGroupMember.setUpdateTime(date);
 		imGroupMember.setUserId(userId);
 
@@ -109,7 +107,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 			imGroupMember.setCreateTime(date);
 			imGroupMember.setImGroupId(imGroupId);
 			imGroupMember.setIsAdmin(false);
-			imGroupMember.setRoleType(StringUtils.isEmpty(entry.getValue())?null: ImRoleType.valueOf(entry.getValue()));
+			imGroupMember.setRoleType(entry.getValue());
 			imGroupMember.setUpdateTime(date);
 			imGroupMember.setUserId(entry.getKey());
 			imGroupMember.setNickname(nameIdMap.get(imGroupMember.getUserId()));
@@ -194,7 +192,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 
 		Date date = new Date();
 		for (ImGroupMember imGroupMember : imGroupMemberList) {
-			imGroupMember.setRoleType(StringUtils.isEmpty(roleType)?null: ImRoleType.valueOf(roleType));
+			imGroupMember.setRoleType(roleType);
 			imGroupMember.setUpdateTime(date);
 		}
 		imGroupMemberDao.batchUpdate(imGroupMemberList);

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

@@ -19,6 +19,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,39 +34,6 @@ import com.alibaba.fastjson.TypeReference;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
-import com.ym.mec.biz.dal.dao.ChargeTypeDao;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
-import com.ym.mec.biz.dal.dao.CooperationOrganDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.dao.EmployeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentEntitiesDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPurchaseListDao;
-import com.ym.mec.biz.dal.dao.MusicGroupQuitDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectGoodsGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectPlanDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
-import com.ym.mec.biz.dal.dao.SchoolDao;
-import com.ym.mec.biz.dal.dao.SporadicChargeInfoDao;
-import com.ym.mec.biz.dal.dao.StudentDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
-import com.ym.mec.biz.dal.dao.StudentVisitDao;
-import com.ym.mec.biz.dal.dao.SubjectChangeDao;
-import com.ym.mec.biz.dal.dao.SubjectDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.CloseMusicGroupDto;
 import com.ym.mec.biz.dal.dto.CourseFormDto;
@@ -76,35 +45,7 @@ import com.ym.mec.biz.dal.dto.SporadicPayDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.dto.SubjectRegisterDto;
 import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
-import com.ym.mec.biz.dal.entity.ApprovalStatus;
-import com.ym.mec.biz.dal.entity.ChargeType;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
-import com.ym.mec.biz.dal.entity.Goods;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
-import com.ym.mec.biz.dal.entity.MusicGroupPurchaseList;
-import com.ym.mec.biz.dal.entity.MusicGroupQuit;
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-import com.ym.mec.biz.dal.entity.Organization;
-import com.ym.mec.biz.dal.entity.School;
-import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
-import com.ym.mec.biz.dal.entity.Student;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
-import com.ym.mec.biz.dal.entity.Subject;
-import com.ym.mec.biz.dal.entity.SubjectChange;
-import com.ym.mec.biz.dal.entity.SysUserCashAccount;
-import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
 import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.ClassGroupStudentMapperService;
@@ -180,6 +121,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private SysUserCashAccountDetailService sysUserCashAccountDetailService;
 
     @Autowired
+    private MusicGroupPaymentCalenderStudentDetailDao musicGroupPaymentCalenderStudentDetailDao;
+
+    @Autowired
     private MusicGroupQuitDao musicGroupQuitDao;
 
     @Autowired
@@ -2156,17 +2100,31 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
             sysUserCashAccountDetailService.insert(rechargeDetail);
 
-            List<MusicGroupPaymentCalenderCourseSettings> courseSettings = musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettings(calenderDetail.getMusicGroupPaymentCalenderId());
             List<StudentPaymentOrderDetail> paymentOrderDetails = new ArrayList<>();
-            courseSettings.forEach(e -> {
-                StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
-                studentPaymentOrderDetail.setType(OrderDetailTypeEnum.valueOf(e.getCourseType().getCode()));
-                studentPaymentOrderDetail.setPrice(e.getCourseCurrentPrice());
-                studentPaymentOrderDetail.setCreateTime(date);
-                studentPaymentOrderDetail.setUpdateTime(date);
-                studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
-                paymentOrderDetails.add(studentPaymentOrderDetail);
-            });
+            List<MusicGroupPaymentCalenderCourseSettings> courseSettings = musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettings(calenderDetail.getMusicGroupPaymentCalenderId());
+            //跨团合班没有settings
+            if(courseSettings.size() == 0){
+                List<MusicGroupPaymentCalenderStudentDetail> studentDetails = musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(paymentCalender.getBatchNo(), userId);
+                for (MusicGroupPaymentCalenderStudentDetail studentDetail : studentDetails) {
+                    StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
+                    studentPaymentOrderDetail.setType(OrderDetailTypeEnum.valueOf(studentDetail.getCourseType()));
+                    studentPaymentOrderDetail.setPrice(studentDetail.getCourseCurrentPrice());
+                    studentPaymentOrderDetail.setCreateTime(date);
+                    studentPaymentOrderDetail.setUpdateTime(date);
+                    studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
+                    paymentOrderDetails.add(studentPaymentOrderDetail);
+                }
+            }else {
+                courseSettings.forEach(e -> {
+                    StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
+                    studentPaymentOrderDetail.setType(OrderDetailTypeEnum.valueOf(e.getCourseType().getCode()));
+                    studentPaymentOrderDetail.setPrice(e.getCourseCurrentPrice());
+                    studentPaymentOrderDetail.setCreateTime(date);
+                    studentPaymentOrderDetail.setUpdateTime(date);
+                    studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
+                    paymentOrderDetails.add(studentPaymentOrderDetail);
+                });
+            }
             studentPaymentOrderDetailService.batchAdd(paymentOrderDetails);
 
             //缴费
@@ -2369,9 +2327,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         quitUserIdList.add(oldDirectorUserId);
 
         Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
-        userRoleMap.put(directorUserId, ImRoleType.DIRECTOR.getDesc());
-        userRoleMap.put(educationalTeacherId, ImRoleType.EDUCATION.getDesc());
-        userRoleMap.put(teamTeacherId, ImRoleType.TEAM_TEACHER.getDesc());
+        userRoleMap.put(directorUserId, "乐队指导");
+        userRoleMap.put(educationalTeacherId, "运营主管");
+        userRoleMap.put(teamTeacherId, "教务老师");
         
         classGroups.forEach(e -> {
         	imGroupMemberService.quit(e.getId().longValue(), quitUserIdList);

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

@@ -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" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="role_type_" property="roleType"/>
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
@@ -30,13 +30,13 @@
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ImGroupMember" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		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())
+		VALUES(#{imGroupId},#{userId},#{nickname},#{isAdmin},#{roleType},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 (im_group_id_,user_id_,nickname_,is_admin_,role_type_,create_time_,update_time_) VALUES
 		 <foreach collection="list" item="item" separator=",">
-		(#{item.imGroupId},#{item.userId},#{item.nickname},#{item.isAdmin},#{item.roleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},NOW(),NOW())
+		(#{item.imGroupId},#{item.userId},#{item.nickname},#{item.isAdmin},#{item.roleType},NOW(),NOW())
 		</foreach>
 	</insert>
 	
@@ -44,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,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		role_type_ = #{roleType},
 		</if>
 		<if test="userId != null">
 		user_id_ = #{userId},
@@ -67,7 +67,7 @@
 			UPDATE im_group_member 
 			<set>
 				<if test="item.roleType != null">
-				role_type_ = #{item.roleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+				role_type_ = #{item.roleType},
 				</if>
 				<if test="item.userId != null">
 				user_id_ = #{item.userId},

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

@@ -116,8 +116,11 @@
 	<select id="findByBatchNo" resultMap="MusicGroupPaymentCalenderStudentDetail">
 		SELECT * FROM music_group_payment_calender_student_detail where batch_no_ = #{batchNo}
 	</select>
+    <select id="findByBatchNoAndUserId" resultMap="MusicGroupPaymentCalenderStudentDetail">
+		SELECT * FROM music_group_payment_calender_student_detail where batch_no_ = #{batchNo} AND user_id_ = #{userId}
+	</select>
 
-	<delete id="delByBatchNo">
+    <delete id="delByBatchNo">
 		DELETE FROM music_group_payment_calender_student_detail WHERE batch_no_ = #{batchNo}
 	</delete>
 </mapper>

+ 7 - 0
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupPaymentCalenderController.java

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderStudentDetailDao;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
@@ -45,6 +46,8 @@ public class MusicGroupPaymentCalenderController extends BaseController {
     @Autowired
     private MusicGroupPaymentCalenderDetailDao musicGroupPaymentCalenderDetailDao;
     @Autowired
+    private MusicGroupPaymentCalenderStudentDetailDao musicGroupPaymentCalenderStudentDetailDao;
+    @Autowired
     private MusicGroupPaymentCalenderCourseSettingsDao musicGroupPaymentCalenderCourseSettingsDao;
 
 
@@ -75,6 +78,10 @@ public class MusicGroupPaymentCalenderController extends BaseController {
             }
             List<MusicGroupPaymentCalenderCourseSettings> calenderCourseSettings = musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettings(calenderId);
             ModelMap model = new ModelMap();
+            musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(calender.getBatchNo(),userId);
+            if(calenderCourseSettings.size() == 0){
+                model.put("musicGroupPaymentCalenderStudentDetails",musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(calender.getBatchNo(),userId));
+            }
             model.put("musicGroup",musicGroupDao.get(musicGroupId));
             model.put("amount", calenderDetail.getExpectAmount());
             model.put("calenderCourseSettings", calenderCourseSettings);

+ 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 -> e.getRoleType() == null).collect(Collectors.toList()));
+		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> StringUtils.isBlank(e.getRoleType())).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 -> e.getRoleType() == null).collect(Collectors.toList()));
+		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> StringUtils.isBlank(e.getRoleType())).collect(Collectors.toList()));
 	}
 
 	@ApiOperation("查询群成员详情")