Bladeren bron

Merge remote-tracking branch 'origin/master'

Joburgess 5 jaren geleden
bovenliggende
commit
4cbdb37dcd

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipCourseStudentInfoDto.java

@@ -8,7 +8,7 @@ public class VipCourseStudentInfoDto {
 
 	private Integer studentNum;
 
-	private Long musicGroupId;
+	private String musicGroupId;
 
 	private Integer totalCourseTimes;
 
@@ -28,11 +28,11 @@ public class VipCourseStudentInfoDto {
 		this.studentNum = studentNum;
 	}
 
-	public Long getMusicGroupId() {
+	public String getMusicGroupId() {
 		return musicGroupId;
 	}
 
-	public void setMusicGroupId(Long musicGroupId) {
+	public void setMusicGroupId(String musicGroupId) {
 		this.musicGroupId = musicGroupId;
 	}
 

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

@@ -396,5 +396,5 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      * 更新线上课老师的课酬
      * @return
      */
-    boolean updateHistoryTeacherSalaryOfOnline();
+    void updateHistoryTeacherSalaryOfOnline();
 }

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -2833,18 +2834,19 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 	@Override
 	@Async
-	public boolean updateHistoryTeacherSalaryOfOnline() {
+	public void updateHistoryTeacherSalaryOfOnline() {
 		// 查询所有含有线上课的课程组,线上课节数,实付金额
 		List<VipCourseStudentInfoDto> list = vipGroupDao.queryVipCourseStudentInfo();
-		Map<Long, VipCourseStudentInfoDto> map = list.stream().collect(Collectors.toMap(VipCourseStudentInfoDto::getMusicGroupId, e -> e));
+		Map<String, VipCourseStudentInfoDto> map = list.stream().collect(Collectors.toMap(VipCourseStudentInfoDto::getMusicGroupId, e -> e));
 
 		VipCourseStudentInfoDto dto = null;
 		// 查询需要修改的课酬记录
 		List<CourseScheduleTeacherSalary> teacherSalaryList = courseScheduleTeacherSalaryDao.queryOnlineCourseByGroupType(GroupType.VIP);
 		for (CourseScheduleTeacherSalary ts : teacherSalaryList) {
-			dto = map.get(ts.getCourseScheduleId());
+			dto = map.get(ts.getMusicGroupId());
 			if (dto != null) {
-				ts.setExpectSalary(dto.getTotalAmount().divide(new BigDecimal((dto.getTotalCourseTimes() / dto.getStudentNum()))));
+				ts.setExpectSalary(dto.getTotalAmount().divide(new BigDecimal(dto.getTotalCourseTimes()), RoundingMode.HALF_UP)
+						.divide(new BigDecimal(dto.getStudentNum()), RoundingMode.HALF_UP).multiply(new BigDecimal(0.6)));
 			}
 		}
 		
@@ -2852,6 +2854,5 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(teacherSalaryList);
 		}
 
-		return true;
 	}
 }

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -921,7 +921,7 @@
     </select>
     
     <select id="queryVipCourseStudentInfo" resultMap="vipCourseStudentInfoDto">
-        SELECT cssp.music_group_id_,sum(cssp.expect_price_) total_amount_,count(DISTINCT(cssp.user_id_)) student_num_,count(cssp.id_) total_times_   
+        SELECT cssp.music_group_id_,ifnull(sum(cssp.expect_price_),0) total_amount_,ifnull(count(DISTINCT(cssp.user_id_)),0) student_num_,ifnull(count(cssp.id_),0) total_times_   
 		FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs on cs.id_ = cssp.course_schedule_id_
 		WHERE cs.group_type_ = 'VIP' and cs.teach_mode_ = 'ONLINE'
 		GROUP BY cssp.music_group_id_