浏览代码

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

zouxuan 5 年之前
父节点
当前提交
c743e5d890

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

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

@@ -1316,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课");
@@ -1324,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());
@@ -1332,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>
 	
 	<!-- 查询当前表的总记录数 -->