Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

周箭河 5 lat temu
rodzic
commit
feb86cf96e

+ 10 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -60,7 +60,16 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @params [days:天数]
 	 * @describe 获取多少天之前的未结算教师课酬记录(vip课)
 	 */
-	List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(@Param("days") Integer days);
+	List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(@Param("days") Integer days,@Param("groupType") String groupType);
+
+	/**
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary>
+	 * @Author: Joburgess
+	 * @Date: 2019/10/15
+	 * @params [days:天数]
+	 * @describe 获取多少天之前的未结算教师课酬记录(陪练课课)
+	 */
+	List<CourseScheduleTeacherSalary> findTeacherCourseSalaryNoSettlement(@Param("days") Integer days,@Param("groupType") String groupType);
 
 	/**
 	 * 查询老师指定课程的课酬

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleTeacherSalaryService.java

@@ -49,6 +49,15 @@ public interface CourseScheduleTeacherSalaryService extends BaseService<Long, Co
     void teacherSalarySettlement();
 
     /**
+     * @Author: Joburgess
+     * @Date: 2019/10/15
+     * @params []
+     * @return void
+     * @describe 教师陪练课课酬结算
+     */
+    void practiceTeacherSalarySettlement();
+
+    /**
      * @describe 教师乐团课课酬结算
      * @author Joburgess
      * @date 2019/11/3

+ 15 - 20
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -418,6 +418,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					} else {
 						courseSchedule.setName(type.getMsg());
 					}
+					courseScheduleDao.insert(courseSchedule);
 					courseScheduleList.add(courseSchedule);
 
 					// 课程与老师薪水表
@@ -518,10 +519,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		//检查冲突
 		checkNewCourseSchedules(courseScheduleList, false);
 
-		if (courseScheduleList.size() > 0) {
-			courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
-		}
-
 		if (courseScheduleTeacherSalaries.size() > 0) {
 			courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
 		}
@@ -3690,6 +3687,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         if(courseSchedules != null && courseSchedules.size() > 0){
             courseSchedules = courseSchedules.stream().filter(courseSchedule -> !courseSchedule.getActualTeacherId().equals(teacherId)).collect(Collectors.toList());
         }
+		PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(practiceGroupId));
+		if(Objects.nonNull(subjectId)&&!subjectId.equals(practiceGroup.getSubjectId())){
+			Subject subject = subjectDao.get(subjectId);
+			String groupName = practiceGroup.getName();
+			groupName=groupName.substring(groupName.indexOf("•"));
+			groupName=subject.getName()+groupName;
+			practiceGroup.setName(groupName);
+			practiceGroup.setSubjectId(subjectId);
+			practiceGroupDao.update(practiceGroup);
+			ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(practiceGroupId, GroupType.PRACTICE.getCode());
+			classGroup.setName(groupName);
+			classGroupDao.update(classGroup);
+			courseScheduleDao.updateCourseNameByGroup(practiceGroupId,GroupType.PRACTICE,groupName);
+		}
         classGroupTeacherMapperService.updateTeacher(practiceGroupId,teacherId,GroupType.PRACTICE.getCode());
         classGroupTeacherSalaryDao.updateTeacher(practiceGroupId,teacherId,GroupType.PRACTICE.getCode());
         practiceGroupDao.updateUserId(practiceGroupId,teacherId);
@@ -3718,8 +3729,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         courseScheduleDao.batchUpdate(courseSchedules);
         Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
 
-        PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(practiceGroupId));
-
         if(Objects.nonNull(practiceGroup.getBuyMonths())){
             List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
             if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
@@ -3743,20 +3752,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
 
-        if(Objects.nonNull(subjectId)&&!subjectId.equals(practiceGroup.getSubjectId())){
-            Subject subject = subjectDao.get(subjectId);
-            String groupName = practiceGroup.getName();
-            groupName=groupName.substring(groupName.indexOf("•"));
-            groupName=subject.getName()+groupName;
-            practiceGroup.setName(groupName);
-            practiceGroup.setSubjectId(subjectId);
-            practiceGroupDao.update(practiceGroup);
-            ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(practiceGroupId, GroupType.PRACTICE.getCode());
-            classGroup.setName(groupName);
-            classGroupDao.update(classGroup);
-            courseScheduleDao.updateCourseNameByGroup(practiceGroupId,GroupType.PRACTICE,groupName);
-        }
-
         if (teacherIdMap != null && teacherIdMap.size() > 0) {
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
                     teacherIdMap, null, 0, "7","TEACHER");

+ 19 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -191,13 +191,31 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    public void practiceTeacherSalarySettlement() {
+        int days = Integer.parseInt(sysConfigDao.findByParamName(SysConfigService.VIP_APPEAL_DAYS_RANGE).getParanValue());
+        //获取教师未结算课程记录
+        List<CourseScheduleTeacherSalary> someDayAgoTeacherCourseSalaryNoSettlement = courseScheduleTeacherSalaryDao.findTeacherCourseSalaryNoSettlement(days,GroupType.PRACTICE.getCode());
+        if (CollectionUtils.isEmpty(someDayAgoTeacherCourseSalaryNoSettlement)) {
+            LOGGER.info("未获取到未结算课酬记录!");
+            return;
+        }
+        Date now = new Date();
+        someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> {
+            courseScheduleTeacherSalary.setActualSalary(courseScheduleTeacherSalary.getExpectSalary());
+            courseScheduleTeacherSalary.setSettlementTime(now);
+            courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);
+        });
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public void teacherSalarySettlement() {
         int days = Integer.parseInt(sysConfigDao.findByParamName(SysConfigService.VIP_APPEAL_DAYS_RANGE).getParanValue());
 
         BigDecimal percent = new BigDecimal(10);
 
         //获取教师未结算课程记录
-        List<CourseScheduleTeacherSalary> someDayAgoTeacherCourseSalaryNoSettlement = courseScheduleTeacherSalaryDao.findSomeDayAgoTeacherCourseSalaryNoSettlement(days);
+        List<CourseScheduleTeacherSalary> someDayAgoTeacherCourseSalaryNoSettlement = courseScheduleTeacherSalaryDao.findSomeDayAgoTeacherCourseSalaryNoSettlement(days,"VIP");
         if (CollectionUtils.isEmpty(someDayAgoTeacherCourseSalaryNoSettlement)) {
             LOGGER.info("未获取到未结算课酬记录!");
             return;

+ 19 - 3
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -246,7 +246,24 @@
 		<if test="days!=null">
 			AND cs.class_date_ &lt;= DATE_FORMAT(DATE_ADD( NOW( ), INTERVAL - #{days} DAY ),'%Y-%m-%d')
 		</if>
-		AND cs.type_ IN ('VIP')
+		AND cs.type_ = #{groupType}
+		AND csts.settlement_time_ IS NULL
+		AND (cs.del_flag_ IS NULL OR cs.del_flag_=0)
+    </select>
+    <select id="findTeacherCourseSalaryNoSettlement" resultMap="CourseScheduleTeacherSalary">
+		SELECT
+		cs.class_date_,
+		csts.*
+		FROM
+		course_schedule_teacher_salary csts
+		LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
+		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
+		LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
+		WHERE ta.id_ IS NOT NULL AND sa.id_ IS NOT NULL
+		<if test="days!=null">
+			AND cs.class_date_ &lt;= DATE_FORMAT(DATE_ADD( NOW( ), INTERVAL - #{days} DAY ),'%Y-%m-%d')
+		</if>
+		AND cs.type_ = #{groupType}
 		AND csts.settlement_time_ IS NULL
 		AND (cs.del_flag_ IS NULL OR cs.del_flag_=0)
     </select>
@@ -381,8 +398,7 @@
 	</update>
     <update id="batchUpdateTeacher">
 		UPDATE course_schedule_teacher_salary csts SET csts.user_id_ = #{teacherId},csts.update_time_ = NOW(),
-		csts.expect_salary_ =
-		(SELECT main_teacher_salary_ FROM teacher_default_practice_group_salary WHERE user_id_ = #{teacherId} LIMIT 1)
+		csts.expect_salary_ = (SELECT main_teacher_salary_ FROM teacher_default_practice_group_salary WHERE user_id_ = #{teacherId} LIMIT 1)
 		WHERE csts.course_schedule_id_ IN
 		<foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
 			#{courseScheduleId}

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -61,6 +61,9 @@
 			<if test="memo!=null">
 				memo_=#{memo},
 			</if>
+			<if test="name!=null">
+				name_=#{name},
+			</if>
 			<if test="groupStatus!=null">
 				group_status_=#{groupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 			</if>

+ 4 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -29,6 +29,10 @@ public interface TaskRemoteService {
 	// vip课课酬结算
 	public void vipGroupTeacherSalarySettlement();
 
+	@GetMapping("task/practiceTeacherSalarySettlement")
+	// 陪练课课酬结算
+	public void practiceTeacherSalarySettlement();
+
 	@GetMapping("task/musicGroupTeacherSalarySettlement")
 	void MusicGroupTeacherSalarySettlement();
 

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -37,6 +37,11 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	}
 
 	@Override
+	public void practiceTeacherSalarySettlement() {
+		logger.info("网管课课酬结算的服务调用失败");
+	}
+
+	@Override
 	public void MusicGroupTeacherSalarySettlement() {
 		logger.info("乐团课课酬结算的服务调用失败");
 	}

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/PracticeTeacherSalarySettlementTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class PracticeTeacherSalarySettlementTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.practiceTeacherSalarySettlement();
+	}
+}

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

@@ -11,7 +11,6 @@ import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;

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

@@ -119,7 +119,7 @@ public class CourseScheduleController extends BaseController {
         return succeed();
     }
 
-    @ApiOperation(value = "批量新排课")
+    @ApiOperation(value = "批量新排课")
     @PostMapping("/batchUpdateCourseSchedule/{musicGroupID}")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/batchUpdateCourseSchedule')")
     public Object batchUpdateCourseSchedule(@RequestBody List<CourseSchedule> courseSchedules,

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -60,6 +60,12 @@ public class TaskController extends BaseController {
 		courseScheduleTeacherSalaryService.teacherSalarySettlement();
 	}
 
+	@GetMapping("/practiceTeacherSalarySettlement")
+	// 陪练课课酬结算
+	public void practiceTeacherSalarySettlement() {
+		courseScheduleTeacherSalaryService.practiceTeacherSalarySettlement();
+	}
+
 	// 乐团课课酬结算
 	@GetMapping("/musicGroupTeacherSalarySettlement")
 	public void musicGroupTeacherSalarySettlement() {