Browse Source

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

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
yonge 5 years ago
parent
commit
5476908520

+ 8 - 8
codegen/src/main/resources/generateConfigration.xml

@@ -2,16 +2,16 @@
 <GenerateConfiguration>
 	<dbConfiguration>
 		<driverClass>com.mysql.jdbc.Driver</driverClass>
-		<url>jdbc:mysql://47.99.212.176:3306/mec_data_online</url>
-		<username>dayaData</username>
-		<password>dayaDataOnline2019</password>
-		<catalog>mec_data_online</catalog>
-		<schema>mec_data_online</schema>
+		<url>jdbc:mysql://47.99.212.176:3306/edu_saas</url>
+		<username>edu_saas</username>
+		<password>edu_saas</password>
+		<catalog>edu_saas</catalog>
+		<schema>edu_saas</schema>
 	</dbConfiguration>
 	<srcBase>e:/javabean</srcBase>
-	<pojoPackageName>com.ym.mec.biz.dal.entity</pojoPackageName>
-	<daoPackageName>com.ym.mec.biz.dal.dao</daoPackageName>
-	<servicePackageName>com.ym.mec.biz.service</servicePackageName>
+	<pojoPackageName>com.keao.edu.datasource.dal.entity</pojoPackageName>
+	<daoPackageName>com.keao.edu.datasource.dal.dao</daoPackageName>
+	<servicePackageName>com.keao.edu.datasource.service</servicePackageName>
 	<sqlmapPackageName>resources</sqlmapPackageName>
 	<sqlmapConfigPackageName>resources/config</sqlmapConfigPackageName>
 </GenerateConfiguration>

+ 0 - 33
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -7,7 +7,6 @@ import org.apache.ibatis.annotations.Param;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.UserLockFlag;
 import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.entity.ImUserModel;
 
 public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 
@@ -40,13 +39,6 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	void updatePassword(@Param("mobile") String mobile, @Param("password") String password);
 
 	/**
-	 * 获取用户基本信息
-	 * @param userId
-	 * @return
-	 */
-	ImUserModel getBasic(Integer userId);
-
-	/**
 	 * 根据状态查询
 	 * @param status
 	 * @return
@@ -61,35 +53,10 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	SysUser findUserBySalt(String userType);
 
 	/**
-	 * 创建teacher表
-	 * @param userId
-	 * @param lesseeOrganId
-	 */
-	void insertTeacher(@Param("userId") Integer userId, @Param("lesseeOrganId") Integer lesseeOrganId);
-
-	/**
-	 * 获取教师分部编号
-	 * @param userId
-	 * @return
-	 */
-	Integer getTeacherOrganId(Integer userId);
-
-	/**
-	 * 创建租户账户表
-	 * @param userId
-	 */
-    void insertSysTenantAccount(Integer userId);
-
-	/**
 	 * 刷新用户token
 	 * @param userId
 	 * @param imToken
 	 */
 	void refreshImToken(@Param("userId") Integer userId, @Param("imToken") String imToken);
 
-	/**
-	 * 保存student
-	 * @param userId
-	 */
-    void saveStudent(@Param("userId") Integer userId);
 }

+ 5 - 21
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -71,18 +71,6 @@
         VALUES(#{isSuperAdmin},#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},#{organId},now(),now(),#{wxOpenid},#{qqOpenid},#{userType},
         #{gender},#{nation},#{birthdate},#{email},#{idCardNo},#{wechatId},#{realName})
     </insert>
-    <insert id="insertTeacher">
-        INSERT INTO teacher
-        (id_,organ_id_,create_time_,update_time_)VALUES(#{userId},#{lesseeOrganId},NOW(),NOW())
-    </insert>
-    <insert id="insertSysTenantAccount">
-        INSERT INTO sys_tenant_account
-        (user_id_,available_minutes_,frozen_minutes_,status_,create_time_,update_time_)
-		VALUES(#{userId},0,0,1,NOW(),NOW())
-    </insert>
-    <insert id="saveStudent">
-        INSERT INTO student (user_id_,create_time_,update_time_) VALUES(#{userId},NOW(),NOW())
-    </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.auth.api.entity.SysUser">
@@ -154,9 +142,11 @@
         </set>
         WHERE id_ = #{id}
     </update>
+    
     <update id="updatePassword">
         UPDATE sys_user SET password_ = #{password} WHERE phone_ = #{mobile}
     </update>
+    
     <update id="refreshImToken">
         UPDATE sys_user SET im_token_ = #{imToken},update_time_ = NOW() WHERE id_ = #{userId}
     </update>
@@ -187,25 +177,19 @@
     <select id="queryByPhone" resultMap="SysUser">
 		select * from sys_user where phone_ = #{phone} OR username_ = #{phone} LIMIT 1 FOR UPDATE
 	</select>
-    <resultMap id="ImUserModel" type="com.ym.mec.common.entity.ImUserModel">
-        <result column="id_" property="id"/>
-        <result property="name" column="username_"/>
-        <result property="portrait" column="avatar_"/>
-    </resultMap>
-    <select id="getBasic" resultMap="ImUserModel">
-        select CASE WHEN user_type_ LIKE '%TEACHER%' OR user_type_ LIKE '%SYSTEM%' THEN real_name_ ELSE username_ END username_,id_,avatar_
-        from sys_user where id_ = #{userId} LIMIT 1
-    </select>
     
     <select id="queryByStatus" resultMap="SysUser">
         select * from sys_user where lock_flag_ = #{status}
     </select>
+    
     <select id="findUserBySalt" resultMap="SysUser">
         SELECT * FROM sys_user WHERE salt_ IS NOT NULL AND salt_ = 'replace' AND user_type_ LIKE CONCAT('%',#{userType},'%') LIMIT 1
     </select>
+    
     <select id="getTeacherOrganId" resultType="java.lang.Integer">
         SELECT organ_id_ FROM teacher WHERE id_ = #{userId}
     </select>
+    
     <select id="queryByPhoneAndClient" resultMap="SysUser">
         select * from sys_user where (phone_ = #{phone} OR username_ = #{phone}) AND user_type_ LIKE CONCAT('%',#{client},'%') LIMIT 1 FOR UPDATE
     </select>

+ 50 - 67
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -47,7 +47,8 @@ import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static com.ym.mec.biz.dal.enums.GroupType.*;
+import static com.ym.mec.biz.dal.enums.GroupType.MUSIC;
+import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
 import static com.ym.mec.biz.dal.enums.PracticeGroupType.*;
 
 @Service
@@ -1904,7 +1905,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             throw new BizException("排课起始时间不能小于当前时间");
         }
 
-        boolean needSchoolId = Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode()) && vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE) && Objects.isNull(vipGroupCourseAdjustInfo.getSchoolId());
+        boolean needSchoolId = Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode()) && vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE) && Objects.isNull(vipGroupCourseAdjustInfo.getTeachMode());
         if (needSchoolId) {
             throw new BizException("请设置教学点");
         }
@@ -2031,9 +2032,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     courseSchedules.get(courseStartDates.size() - 1).setEndClassTime(courseEndTime);
                     if (Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode())) {
                         if(courseSchedules.get(courseStartDates.size() - 1).getTeachMode().equals(TeachModeEnum.ONLINE)
-                            &&vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)
-							&&Objects.isNull(vipGroupCourseAdjustInfo.getSchoolId())){
-                            throw new BizException("请选择教学点");
+								&&vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)){
+							throw new BizException("暂不支持线上课程转为线下课");
                         }
                         courseSchedules.get(courseStartDates.size() - 1).setTeachMode(vipGroupCourseAdjustInfo.getTeachMode());
                         if (vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)) {
@@ -2075,28 +2075,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 }
             }
         }
-        if(groupType == VIP){
-			VipGroup vipGroup = vipGroupDao.get(vipGroupCourseAdjustInfo.getVipGroupId().longValue());
-
-			BigDecimal teacherSalary=BigDecimal.ZERO;
-
-			ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroupCourseAdjustInfo.getVipGroupId().intValue(), courseSchedules.get(0).getActualTeacherId());
-
-			if(Objects.nonNull(classGroupTeacherSalary)){
-				teacherSalary=vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)?classGroupTeacherSalary.getSalary():classGroupTeacherSalary.getOnlineClassesSalary();
-			}
-			if(Objects.isNull(teacherSalary)||teacherSalary.compareTo(BigDecimal.ZERO)<=0){
-				TeacherDefaultVipGroupSalary tdvs = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(courseSchedules.get(0).getActualTeacherId(),vipGroup.getVipGroupCategoryId());
-				if (tdvs == null||Objects.isNull(tdvs.getOfflineClassesSalary())) {
-					throw new BizException("老师[]没有设置默认课酬,请先设置", courseSchedules.get(0).getActualTeacherId());
-				}
-				teacherSalary=tdvs.getOfflineClassesSalary();
-			}
-
-			courseScheduleTeacherSalaryDao.batchUpdateCourseSalarys(courseScheduleIds, teacherSalary);
-
-		}
-
         courseScheduleDao.batchUpdate(courseSchedules);
         classGroupService.updateClassGroupInfo(classGroup.getId());
         if(vipGroupCourseAdjustInfo.getCourseCreateStartTime().after(now)){
@@ -2383,10 +2361,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 newCourseSchedule.setTeachMode(oldCourseSchedule.getTeachMode());
             }
 
-			if (newCourseSchedule.getTeachMode() != oldCourseSchedule.getTeachMode()
-					&& newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE
-					&& Objects.isNull(newCourseSchedule.getSchoolId())) {
-				throw new BizException("请设置教学点");
+			if (newCourseSchedule.getGroupType() == GroupType.VIP) {
+				if (newCourseSchedule.getTeachMode() != oldCourseSchedule.getTeachMode() && newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
+					throw new BizException("不允许将线上课调整为线下课");
+				}
 			}
 
             if (Objects.isNull(newCourseSchedule.getSchoolId())) {
@@ -2576,18 +2554,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				}
 
 				// 所有老师默认vip课酬
-				List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries = teacherDefaultVipGroupSalaryDao.queryByUserIdList(newTeacherIdList);
-				Map<Integer, Map<Integer, TeacherDefaultVipGroupSalary>> vipGroupSalaryMap = new HashMap<Integer, Map<Integer, TeacherDefaultVipGroupSalary>>();
-				for (TeacherDefaultVipGroupSalary tdvs : teacherDefaultVipGroupSalaries) {
-					Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(tdvs.getUserId());
-					if (map == null) {
-						map = new HashMap<Integer, TeacherDefaultVipGroupSalary>();
-					}
-					map.put(tdvs.getVipGroupCategoryId(), tdvs);
-					vipGroupSalaryMap.put(tdvs.getUserId(), map);
-				}
-
-				VipGroup vipGroup = vipGroupDao.findByCourseSchedule(courseScheduleId);
+//				List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries = teacherDefaultVipGroupSalaryDao.queryByUserIdList(newTeacherIdList);
+//				Map<Integer, Map<Integer, TeacherDefaultVipGroupSalary>> vipGroupSalaryMap = new HashMap<Integer, Map<Integer, TeacherDefaultVipGroupSalary>>();
+//				for (TeacherDefaultVipGroupSalary tdvs : teacherDefaultVipGroupSalaries) {
+//					Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(tdvs.getUserId());
+//					if (map == null) {
+//						map = new HashMap<Integer, TeacherDefaultVipGroupSalary>();
+//					}
+//					map.put(tdvs.getVipGroupCategoryId(), tdvs);
+//					vipGroupSalaryMap.put(tdvs.getUserId(), map);
+//				}
+//
+//				VipGroup vipGroup = vipGroupDao.findByCourseSchedule(courseScheduleId);
 
 				// 删除课酬
 				List<Long> courseScheduleIdList = new ArrayList<Long>();
@@ -2692,31 +2670,36 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						}
 
 					} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
-						Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
-						if (map == null) {
-							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
-						}
-						if (vipGroup == null) {
-							throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
-						}
-
-						BigDecimal teacherSalary=BigDecimal.ZERO;
-
-						ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), teacherId);
-
-						if(Objects.nonNull(classGroupTeacherSalary)){
-							teacherSalary=newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?classGroupTeacherSalary.getSalary():classGroupTeacherSalary.getOnlineClassesSalary();
-						}
-						if(Objects.isNull(teacherSalary)||teacherSalary.compareTo(BigDecimal.ZERO)<=0){
-							TeacherDefaultVipGroupSalary tdvs = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(teacherId,vipGroup.getVipGroupCategoryId());
-							if (tdvs == null||Objects.isNull(tdvs.getOfflineClassesSalary())) {
-								throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
+//						Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
+//						if (map == null) {
+//							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
+//						}
+//						if (vipGroup == null) {
+//							throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
+//						}
+//						TeacherDefaultVipGroupSalary tdvs = map.get(vipGroup.getVipGroupCategoryId());
+//						if (tdvs == null) {
+//							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
+//						}
+//						Map<String, BigDecimal> costInfo = vipGroupService.countVipGroupPredictFee(vipGroup,
+//								teacherId,
+//								vipGroup.getOnlineClassesUnitPrice(),
+//								vipGroup.getOfflineClassesUnitPrice(),
+//								false,true);
+//						if (newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
+//							ts.setExpectSalary(costInfo.get("offlineTeacherSalary"));
+//						} else {
+//							ts.setExpectSalary(costInfo.get("onlineTeacherSalary"));
+//						}
+
+						ts.setExpectSalary(new BigDecimal(0));
+						Map<Integer, CourseScheduleTeacherSalary> tsMap = courseScheduleTeacherSalaryMap.get(courseScheduleId);
+						if(tsMap != null){
+							CourseScheduleTeacherSalary oldTS = tsMap.get(teacherId);
+							if(oldTS != null){
+								ts.setExpectSalary(oldTS.getExpectSalary());
 							}
-							teacherSalary=tdvs.getOfflineClassesSalary();
 						}
-
-						ts.setExpectSalary(teacherSalary);
-
 					} else if (newCourseSchedule.getGroupType() == PRACTICE) {
 						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
 								.queryByUserId(teacherId);
@@ -3896,7 +3879,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
         PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(oldCourseSchedule.getMusicGroupId()));
 		if(practiceGroup.getType() != TRIAL){
-			if(practiceGroup.getType() != FREE){
+			if(practiceGroup.getType() == FREE){
 				List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
 				if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
 					throw new BizException("请设置老师默认课酬");