浏览代码

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

yonge 5 年之前
父节点
当前提交
29ee578289

+ 9 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -2,6 +2,7 @@ package com.ym.mec.auth.service.impl;
 
 import com.ym.mec.auth.api.dto.SysUserInfo;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.auth.dal.dao.SysUserDao;
 import com.ym.mec.auth.service.SysRoleMenuService;
@@ -160,10 +161,15 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 					return queryUserInfoByPhone(phone);
 				}
 			}
-			throw new UsernameNotFoundException("404.9");
-		}else {
-			throw new UsernameNotFoundException("404.9");
+		}else if(StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
+			SysUser sysUser = new SysUser();
+			sysUser.setPhone(phone);
+			sysUser.setUserType(SysUserType.STUDENT);
+			sysUserDao.insert(sysUser);
+			imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
+			return queryUserInfoByPhone(phone);
 		}
+		throw new UsernameNotFoundException("404.9");
 	}
 
 }

+ 12 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleComplaints.java

@@ -42,9 +42,19 @@ public class CourseScheduleComplaints {
 	private Double teacherLiabilityRatio;
 	
 	private Double studentLiabilityRatio;
-	
+
+	private Float score;
+
 	private SysUser user = new SysUser();
-	
+
+	public Float getScore() {
+		return score;
+	}
+
+	public void setScore(Float score) {
+		this.score = score;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -91,6 +91,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     BACKSTAGE_MUSIC_GROUP_STOP("BACKSTAGE_MUSIC_GROUP_STOP", "乐团暂停"),
     BACKSTAGE_MUSIC_GROUP_CLOSE("BACKSTAGE_MUSIC_GROUP_CLOSE", "乐团结束"),
     BACKSTAGE_VIP_COURSE_APPLY("BACKSTAGE_VIP_COURSE_APPLY", "VIP课申请"),
+    BACKSTAGE_TEACHER_APPLY_VIP("BACKSTAGE_TEACHER_APPLY_VIP", "VIP课申请"),
     BACKSTAGE_VIP_COURSE_STOP("BACKSTAGE_VIP_COURSE_STOP", "VIP课停止"),
     BACKSTAGE_TEACHER_FREEZE("BACKSTAGE_TEACHER_FREEZE", "老师冻结"),
     BACKSTAGE_TEACHER_POSITIVE("BACKSTAGE_TEACHER_POSITIVE", "老师转正"),

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

@@ -23,7 +23,7 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      * @param vipGroup: VIP课申请信息
      * @return void
      */
-    void createVipGroup(VipGroupApplyDto vipGroup);
+    void createVipGroup(VipGroupApplyDto vipGroup,Integer systemId);
 
     /**
      * @describe 更新vip课程信息

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
@@ -884,7 +885,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleComplaints.getCourseScheduleId());
 		Set<Integer> roleIds = new HashSet<>(1);
 		roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL,"",courseSchedule.getName(),user.getUsername());
+		Map<String,Long> memo = new HashMap<>(1);
+		memo.put("courseScheduleComplaintsId",byUserAndCourse.getId());
+		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL, JSONObject.toJSONString(memo),courseSchedule.getName(),user.getUsername());
 	}
 
 	@Override

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

@@ -555,7 +555,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupQuitDao.insert(musicGroupQuit);
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP,"",sysUser.getUsername());
+        Map<String,Object> memo = new HashMap<>(2);
+        memo.put("Id",musicGroupQuit.getId());
+        memo.put("type","MUSICGROUP");
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP,JSONObject.toJSONString(memo),sysUser.getUsername());
         return true;
     }
 

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

@@ -471,10 +471,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()));
@@ -544,6 +544,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
 
         if (studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)) {
+            if (studentRegistration.getTemporaryCourseFee() != null) {
+                //关闭订单
+                StudentPaymentOrder waitPayOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(studentRegistration.getUserId(), studentRegistration.getMusicGroupId(), DealStatusEnum.WAIT_PAY);
+                waitPayOrder.setStatus(DealStatusEnum.CLOSE);
+                studentPaymentOrderService.update(waitPayOrder);
+            }
 
             if (studentRegistration.getTemporaryCourseFee() == null) {
                 //获取当前月

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
@@ -89,7 +90,9 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 		roleIds.add(SysUserRole.DEAN_OF_STUDIES);
 		Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds);
 		if (userIds != null && userIds.size() > 0) {
-			sysMessageService.batchSeoMessage(userIds, MessageTypeEnum.EDUCATION_PUSH_TEACHER_LEAVE_APPLY, "", teacher.getRealName());
+			Map<String,Object> memo = new HashMap<>(1);
+			memo.put("leaveRecordId",teacherLeaveRecord.getId());
+			sysMessageService.batchSeoMessage(userIds, MessageTypeEnum.EDUCATION_PUSH_TEACHER_LEAVE_APPLY, JSONObject.toJSONString(memo), teacher.getRealName());
 		}
 		return true;
 	}

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

@@ -1,8 +1,10 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 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.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
@@ -107,7 +109,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 	@Transactional(rollbackFor = Exception.class)
 	@Override
-	public void createVipGroup(VipGroupApplyDto vipGroup) {
+	public void createVipGroup(VipGroupApplyDto vipGroup,Integer systemId) {
 
 		if (Objects.isNull(vipGroup.getVipGroupApplyBaseInfo().getUserId())){
 			throw new BizException("请选择指导老师");
@@ -256,6 +258,17 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		courseScheduleService.checkNewCourseSchedules(vipGroup.getCourseSchedules(),false);
 		vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
 		vipGroupDao.update(vipGroupApplyBaseInfoDto);
+
+		SysUser systemUser = sysUserFeignService.queryUserById(systemId);
+		Set<Integer> roleIds = new HashSet<>(1);
+		roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+		Map<String,Long> memo = new HashMap<>(1);
+		memo.put("vipGroupId",vipGroupApplyBaseInfoDto.getId());
+		if (systemId != null){
+			sysMessageService.batchSeoMessage(roleIds,MessageTypeEnum.BACKSTAGE_VIP_COURSE_APPLY, JSONObject.toJSONString(memo),systemUser.getUsername(),sysUser.getUsername());
+		}else {
+			sysMessageService.batchSeoMessage(roleIds,MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_VIP, JSONObject.toJSONString(memo),sysUser.getUsername());
+		}
 	}
 
 	@Override
@@ -1303,6 +1316,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void appendVipGroupCourseSchedules(VipGroupApplyDto vipGroupApplyDto) {
 		if(Objects.isNull(vipGroupApplyDto.getVipGroupApplyBaseInfo().getId())){
 			throw new BizException("请指定vip课");
@@ -1311,7 +1325,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(Objects.isNull(vipGroup)){
 			throw new BizException("指定的vip课不存在");
 		}
-		VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperDao.findByVipGroupId(vipGroup.getId());
+		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroup.getId(), null);
 		//课程信息调整
 		vipGroupApplyDto.getCourseSchedules().forEach(courseSchedule -> {
 			courseSchedule.setSchoolId(vipGroup.getTeacherSchoolId());
@@ -1319,17 +1333,40 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			courseSchedule.setActualTeacherId(vipGroup.getUserId());
 			courseSchedule.setStatus(CourseStatusEnum.NOT_START);
 			courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
-			courseSchedule.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId());
+			courseSchedule.setClassGroupId(classGroup.getId());
 		});
 		courseScheduleService.batchAddCourseSchedule(vipGroupApplyDto.getCourseSchedules());
 
 		TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(vipGroup.getUserId(), vipGroup.getVipGroupCategoryId());
 
+		BigDecimal onlineTeacherSalary=new BigDecimal(0),offlineTeacherSalary=new BigDecimal(0);
+		if(Objects.nonNull(byTeacherAndCategory)){
+			onlineTeacherSalary=byTeacherAndCategory.getOnlineClassesSalary();
+			offlineTeacherSalary=byTeacherAndCategory.getOfflineClassesSalary();
+		}else{
+			ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), vipGroup.getUserId());
+			onlineTeacherSalary=classGroupTeacherSalary.getOnlineClassesSalary();
+			offlineTeacherSalary=classGroupTeacherSalary.getSalary();
+		}
+
 		//创建老师单节课课酬信息
 		courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(vipGroup,
 				vipGroupApplyDto.getCourseSchedules(),
-				byTeacherAndCategory.getOnlineClassesSalary(),
-				byTeacherAndCategory.getOfflineClassesSalary());
+				onlineTeacherSalary,
+				offlineTeacherSalary);
+
+
+		List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
+
+		List<ImGroupMember> imGroupMemberList = new ArrayList<>();
+		//生成学生单课缴费信息
+		for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
+			courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroup.getId(),classGroupStudent.getUserId());
+			imGroupMemberList.add(new ImGroupMember(classGroupStudent.getUserId().toString()));
+		}
+		ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
+		imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(),
+				imGroupMembers, classGroup.getName()));
 	}
 
 	@Override

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

@@ -18,6 +18,7 @@
 		<result column="student_liability_ratio_" property="studentLiabilityRatio" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
+		<result column="score_" property="score" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -37,7 +38,7 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO course_schedule_complaints (id_,user_id_,course_schedule_id_,reason_,status_,wf_process_id_,wf_order_id_,create_time_,update_time_,teacher_liability_ratio_,student_liability_ratio_) VALUES(#{id},#{userId},#{courseScheduleId},#{reason},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{wfProcessId},#{wfOrderId},now(),now(),#{teacherLiabilityRatio},#{studentLiabilityRatio})
+		INSERT INTO course_schedule_complaints (id_,user_id_,course_schedule_id_,reason_,status_,wf_process_id_,wf_order_id_,create_time_,update_time_,teacher_liability_ratio_,student_liability_ratio_,score_) VALUES(#{id},#{userId},#{courseScheduleId},#{reason},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{wfProcessId},#{wfOrderId},now(),now(),#{teacherLiabilityRatio},#{studentLiabilityRatio},#{score})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -74,6 +75,9 @@
 			<if test="studentLiabilityRatio != null">
 			student_liability_ratio_ = #{studentLiabilityRatio},
 			</if>
+			<if test="score != null">
+				score_ = #{score},
+			</if>
 		</set> WHERE id_ = #{id}
 	</update>
 	
@@ -84,7 +88,7 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="CourseScheduleComplaints" parameterType="map">
-		SELECT * FROM course_schedule_complaints ORDER BY id_ <include refid="global.limit"/>
+		SELECT * FROM course_schedule_complaints WHERE score_ &lt;= 2 ORDER BY id_ <include refid="global.limit"/>
 	</select>
 	
 	<!-- 查询当前表的总记录数 -->

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

@@ -41,7 +41,7 @@ public class TeacherVipGroupController extends BaseController {
 		vipGroupApplyDto.getVipGroupApplyBaseInfo().setTeacherId(Long.valueOf(user.getId()));
 		vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganIdList(user.getOrganId().toString());
 		vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganId(user.getOrganId());
-		vipGroupService.createVipGroup(vipGroupApplyDto);
+		vipGroupService.createVipGroup(vipGroupApplyDto,null);
 		return succeed();
 	}
 

+ 9 - 9
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
@@ -9,14 +10,12 @@ import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.StudentApplyRefunds.StudentApplyRefundsStatus;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.page.VipGroupAttendanceQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupSalaryQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupTeachingRecordQueryInfo;
-import com.ym.mec.biz.service.CourseScheduleService;
-import com.ym.mec.biz.service.StudentApplyRefundsService;
-import com.ym.mec.biz.service.StudentPaymentOrderService;
-import com.ym.mec.biz.service.VipGroupService;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -28,10 +27,7 @@ import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * @Author Joburgess
@@ -66,7 +62,11 @@ public class VipGroupManageController extends BaseController {
             return failed("请指定指导老师!");
         }
         vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganIdList(sysUser.getOrganId().toString());
-        vipGroupService.createVipGroup(vipGroupApplyDto);
+        sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        vipGroupService.createVipGroup(vipGroupApplyDto,sysUser.getId());
         return succeed();
     }