Browse Source

陪练课课酬结算,定时任务

zouxuan 5 năm trước cách đây
mục cha
commit
223af180da

+ 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

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

+ 18 - 1
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>

+ 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();
 

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

+ 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() {