Bladeren bron

Merge remote-tracking branch 'origin/master'

Joburgess 5 jaren geleden
bovenliggende
commit
3941172c38

+ 9 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -1,16 +1,18 @@
 package com.ym.mec.biz.dal.dao;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Param;
+
 import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
 import com.ym.mec.biz.dal.dto.TeacherSalaryDto;
 import com.ym.mec.biz.dal.dto.VipGroupSalaryDto;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
-import org.apache.ibatis.annotations.Param;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
 
 public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseScheduleTeacherSalary> {
 
@@ -253,4 +255,6 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 */
 	List<CourseScheduleTeacherSalary> findByGroupWithNotStart(@Param("groupId")String groupId, @Param("groupType")String groupType);
 
+	List<CourseScheduleTeacherSalary> queryUserNoSettlementListByTypeAndStartClassDate(@Param("userId") Integer userId, @Param("typeList") String typeList,
+			@Param("startClassDate") Date startClassDate);
 }

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultMusicGroupSalaryDao.java

@@ -1,11 +1,11 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
-import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
-import com.ym.mec.common.dal.BaseDAO;
+import java.util.List;
+
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
+import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.common.dal.BaseDAO;
 
 public interface TeacherDefaultMusicGroupSalaryDao extends BaseDAO<Long, TeacherDefaultMusicGroupSalary> {
 
@@ -17,7 +17,7 @@ public interface TeacherDefaultMusicGroupSalaryDao extends BaseDAO<Long, Teacher
      * @param classGroupType
      * @return
      */
-    List<TeacherDefaultMusicGroupSalary> getTeacherSalaryByUserIdAndType(@Param("userId") int userId, @Param("classGroupType") String classGroupType, @Param("settlementType") SalarySettlementTypeEnum settlementType);
+    List<TeacherDefaultMusicGroupSalary> getTeacherSalaryByUserIdAndType(@Param("userId") int userId, @Param("classGroupType") String classGroupType);
 
     /**
      * 根据教师编号删除

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultVipGroupSalaryDao.java

@@ -27,4 +27,6 @@ public interface TeacherDefaultVipGroupSalaryDao extends BaseDAO<Long, TeacherDe
      * @param teacherDefaultVipGroupSalaries
      */
     void batchAdd(@Param("vipGroupSalaries") List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries);
+    
+    List<TeacherDefaultVipGroupSalary> queryByUserId(Integer userId);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleTeacherSalary.java

@@ -54,6 +54,8 @@ public class CourseScheduleTeacherSalary {
 	private java.util.Date settlementTime;
 	
 	private Integer classGroupId;
+	
+	private CourseSchedule courseSchedule = new CourseSchedule();
 
 	public CourseScheduleTeacherSalary() {
 	}
@@ -191,6 +193,14 @@ public class CourseScheduleTeacherSalary {
 		this.classGroupId = classGroupId;
 	}
 
+	public CourseSchedule getCourseSchedule() {
+		return courseSchedule;
+	}
+
+	public void setCourseSchedule(CourseSchedule courseSchedule) {
+		this.courseSchedule = courseSchedule;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 0 - 14
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultMusicGroupSalary.java

@@ -5,10 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import java.math.BigDecimal;
 import java.util.Date;
 
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 
 /**
  * 对应数据库表(teacher_default_music_group_salary):
@@ -42,9 +39,6 @@ public class TeacherDefaultMusicGroupSalary {
 	@ApiModelProperty(value = "助教30分钟课酬",required = false)
 	private BigDecimal assistantTeacher30MinSalary;
 
-	@ApiModelProperty(value = "是否删除该条数据",required = false)
-	private YesOrNoEnum delFlag;
-	
 	/**  */
 	private java.util.Date createTime;
 	
@@ -107,14 +101,6 @@ public class TeacherDefaultMusicGroupSalary {
 		this.assistantTeacher30MinSalary = assistantTeacher30MinSalary;
 	}
 
-	public YesOrNoEnum getDelFlag() {
-		return delFlag;
-	}
-
-	public void setDelFlag(YesOrNoEnum delFlag) {
-		this.delFlag = delFlag;
-	}
-
 	public Date getCreateTime() {
 		return createTime;
 	}

+ 5 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherDefaultMusicGroupSalaryService.java

@@ -1,12 +1,12 @@
 package com.ym.mec.biz.service;
 
+import java.util.Date;
+import java.util.List;
+
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.common.service.BaseService;
 
-import java.util.List;
-
 public interface TeacherDefaultMusicGroupSalaryService extends BaseService<Long, TeacherDefaultMusicGroupSalary> {
 
 
@@ -21,6 +21,7 @@ public interface TeacherDefaultMusicGroupSalaryService extends BaseService<Long,
     /**
      * 批量新增修改教师薪酬设置
      * @param teacherDefaultMusicGroupSalaries
+     * @param startDate
      */
-    void batchUpset(List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries);
+    void batchUpset(List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries, Date startDate);
 }

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

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.Date;
 import java.util.List;
 
 public interface TeacherDefaultVipGroupSalaryService extends BaseService<Long, TeacherDefaultVipGroupSalary> {
@@ -19,6 +20,7 @@ public interface TeacherDefaultVipGroupSalaryService extends BaseService<Long, T
     /**
      * 批量新增修改教师vip课酬设置
      * @param teacherDefaultVipGroupSalaries
+     * @param startDate
      */
-    void upSet(List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries);
+    void upSet(List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries, Date startDate);
 }

+ 105 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java

@@ -1,40 +1,130 @@
 package com.ym.mec.biz.service.impl;
 
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.TeacherDefaultMusicGroupSalaryDao;
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
+import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import com.ym.mec.biz.service.TeacherDefaultMusicGroupSalaryService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 @Service
-public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<Long, TeacherDefaultMusicGroupSalary>  implements TeacherDefaultMusicGroupSalaryService {
-	
+public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<Long, TeacherDefaultMusicGroupSalary> implements
+		TeacherDefaultMusicGroupSalaryService {
+
 	@Autowired
 	private TeacherDefaultMusicGroupSalaryDao teacherDefaultMusicGroupSalaryDao;
 
+	@Autowired
+	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+
+	@Autowired
+	private MusicGroupDao musicGroupDao;
+
 	@Override
 	public BaseDAO<Long, TeacherDefaultMusicGroupSalary> getDAO() {
 		return teacherDefaultMusicGroupSalaryDao;
 	}
 
 	@Override
-    public List<TeacherDefaultMusicGroupSalary> getTeacherSalaryByUserIdAndType(int userId, String classGroupType, SalarySettlementTypeEnum settlementType) {
-        return teacherDefaultMusicGroupSalaryDao.getTeacherSalaryByUserIdAndType(userId, classGroupType,settlementType);
-    }
+	public List<TeacherDefaultMusicGroupSalary> getTeacherSalaryByUserIdAndType(int userId, String classGroupType, SalarySettlementTypeEnum settlementType) {
+		return teacherDefaultMusicGroupSalaryDao.getTeacherSalaryByUserIdAndType(userId, classGroupType);
+	}
 
 	@Override
-	public void batchUpset(List<TeacherDefaultMusicGroupSalary> salaries) {
-		if(salaries != null && salaries.size() > 0){
-			//删除当前教师所有的结算类型的数据
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public void batchUpset(List<TeacherDefaultMusicGroupSalary> salaries, Date startDate) {
+		if (salaries != null && salaries.size() > 0) {
 			TeacherDefaultMusicGroupSalary salary = salaries.get(0);
-			teacherDefaultMusicGroupSalaryDao.delByTeacherId(salary.getUserId());
-			//批量新增
-			teacherDefaultMusicGroupSalaryDao.batchAdd(salaries);
+			Integer userId = salary.getUserId();
+			// 获取老师默认乐团课课酬
+			List<TeacherDefaultMusicGroupSalary> origSalaryList = teacherDefaultMusicGroupSalaryDao.getTeacherSalaryByUserIdAndType(userId, null);
+
+			Map<CourseScheduleType, TeacherDefaultMusicGroupSalary> map = new HashMap<CourseScheduleType, TeacherDefaultMusicGroupSalary>();
+			if (origSalaryList != null && origSalaryList.size() > 0) {
+				for (TeacherDefaultMusicGroupSalary ms : origSalaryList) {
+					map.put(ms.getCourseScheduleType(), ms);
+				}
+			}
+
+			Map<CourseScheduleType, TeacherDefaultMusicGroupSalary> salaryMap = new HashMap<CourseScheduleType, TeacherDefaultMusicGroupSalary>();
+			for (TeacherDefaultMusicGroupSalary ms : salaries) {
+				// 修改了哪些课酬
+				TeacherDefaultMusicGroupSalary oldMS = map.get(ms.getCourseScheduleType());
+
+				if (oldMS.getAssistantTeacher30MinSalary().doubleValue() != ms.getAssistantTeacher30MinSalary().doubleValue()
+						|| oldMS.getMainTeacher30MinSalary().doubleValue() != ms.getMainTeacher30MinSalary().doubleValue()
+						|| oldMS.getAssistantTeacher90MinSalary().doubleValue() != ms.getAssistantTeacher90MinSalary().doubleValue()
+						|| oldMS.getMainTeacher90MinSalary().doubleValue() != ms.getMainTeacher90MinSalary().doubleValue()) {
+					salaryMap.put(ms.getCourseScheduleType(), ms);
+				}
+
+			}
+
+			if (salaryMap.size() > 0) {
+				String typeList = salaryMap.keySet().stream().map(e -> e.getCode()).collect(Collectors.joining(","));
+				// 查询所有需要修改的课酬
+				List<CourseScheduleTeacherSalary> updateTeacherSalaryList = courseScheduleTeacherSalaryDao.queryUserNoSettlementListByTypeAndStartClassDate(
+						userId, typeList, startDate);
+
+				if (updateTeacherSalaryList != null && updateTeacherSalaryList.size() > 0) {
+					Set<String> musicGroupIdList = updateTeacherSalaryList.stream().map(ts -> ts.getMusicGroupId()).collect(Collectors.toSet());
+					// 查询包含的乐团信息
+					Map<String, MusicGroup> musicGroupMap = musicGroupDao.queryListByIds(StringUtils.join(musicGroupIdList, ",")).stream()
+							.collect(Collectors.toMap(MusicGroup::getId, mg -> mg));
+
+					// 批量修改课程课酬
+					for (CourseScheduleTeacherSalary ts : updateTeacherSalaryList) {
+						MusicGroup musicGroup = musicGroupMap.get(ts.getMusicGroupId());
+						// 课酬结算标准
+						if (musicGroup != null) {
+							TeacherDefaultMusicGroupSalary tdms = salaryMap.get(ts.getCourseSchedule().getType());
+							if (tdms != null) {
+								if (musicGroup.getSettlementType() == SalarySettlementTypeEnum.GRADIENT_SALARY) {// 3.0课酬
+
+									// 判断是助教、主教
+									if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
+										ts.setExpectSalary(tdms.getMainTeacher90MinSalary());
+									} else {
+										ts.setExpectSalary(tdms.getAssistantTeacher90MinSalary());
+									}
+								} else if (musicGroup.getSettlementType() == SalarySettlementTypeEnum.TEACHER_DEFAULT) {// 默认课酬
+									// 判断是助教、主教
+									if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
+										ts.setExpectSalary(tdms.getMainTeacher30MinSalary());
+									} else {
+										ts.setExpectSalary(tdms.getAssistantTeacher30MinSalary());
+									}
+								}
+							}
+						}
+					}
+					courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(updateTeacherSalaryList);
+				}
+
+				// 删除当前教师所有的结算类型的数据
+				teacherDefaultMusicGroupSalaryDao.delByTeacherId(userId);
+				// 批量新增
+				teacherDefaultMusicGroupSalaryDao.batchAdd(salaries);
+			}
 		}
 	}
 }

+ 86 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultVipGroupSalaryServiceImpl.java

@@ -1,17 +1,30 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
 import com.ym.mec.biz.dal.dao.TeacherDefaultVipGroupSalaryDao;
+import com.ym.mec.biz.dal.dao.VipGroupDao;
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
+import com.ym.mec.biz.dal.entity.VipGroup;
+import com.ym.mec.biz.dal.enums.TeachModeEnum;
 import com.ym.mec.biz.service.TeacherDefaultVipGroupSalaryService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Objects;
 
 @Service
 public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Long, TeacherDefaultVipGroupSalary>  implements TeacherDefaultVipGroupSalaryService {
@@ -19,6 +32,12 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 	@Autowired
 	private TeacherDefaultVipGroupSalaryDao teacherDefaultVipGroupSalaryDao;
 
+	@Autowired
+	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+	
+	@Autowired
+	private VipGroupDao vipGroupDao;
+
 	@Override
 	public BaseDAO<Long, TeacherDefaultVipGroupSalary> getDAO() {
 		return teacherDefaultVipGroupSalaryDao;
@@ -36,12 +55,68 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void upSet(List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries) {
-		if(teacherDefaultVipGroupSalaries != null && teacherDefaultVipGroupSalaries.size() > 0){
-			//根据教师编号删除
+	public void upSet(List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries, Date startDate) {
+		if (teacherDefaultVipGroupSalaries != null && teacherDefaultVipGroupSalaries.size() > 0) {
+
 			TeacherDefaultVipGroupSalary salary = teacherDefaultVipGroupSalaries.get(0);
+			Integer userId = salary.getUserId();
+			// 获取老师默认VIP课课酬
+			List<TeacherDefaultVipGroupSalary> origSalaryList = teacherDefaultVipGroupSalaryDao.queryByUserId(userId);
+
+			Map<String, TeacherDefaultVipGroupSalary> map = new HashMap<String, TeacherDefaultVipGroupSalary>();
+			if (origSalaryList != null && origSalaryList.size() > 0) {
+				for (TeacherDefaultVipGroupSalary ms : origSalaryList) {
+					map.put(ms.getVipGroupCategoryId(), ms);
+				}
+			}
+
+			Map<String, TeacherDefaultVipGroupSalary> salaryMap = new HashMap<String, TeacherDefaultVipGroupSalary>();
+			for (TeacherDefaultVipGroupSalary ms : teacherDefaultVipGroupSalaries) {
+				// 修改了哪些课酬
+				TeacherDefaultVipGroupSalary oldMS = map.get(ms.getVipGroupCategoryId());
+
+				if (oldMS.getOfflineClassesSalary().doubleValue() != ms.getOfflineClassesSalary().doubleValue()
+						|| oldMS.getOnlineClassesSalary().doubleValue() != ms.getOnlineClassesSalary().doubleValue()) {
+					salaryMap.put(ms.getVipGroupCategoryId(), ms);
+				}
+
+			}
+
+			if (salaryMap.size() > 0) {
+				String typeList = CourseScheduleType.VIP.getCode();
+				// 查询所有需要修改的课酬
+				List<CourseScheduleTeacherSalary> updateTeacherSalaryList = courseScheduleTeacherSalaryDao.queryUserNoSettlementListByTypeAndStartClassDate(
+						userId, typeList, startDate);
+
+				if (updateTeacherSalaryList != null && updateTeacherSalaryList.size() > 0) {
+					Set<String> musicGroupIdList = updateTeacherSalaryList.stream().map(ts -> ts.getMusicGroupId()).collect(Collectors.toSet());
+					// 查询包含的VIP信息
+					Map<Long, VipGroup> vipGroupMap = vipGroupDao.queryByIds(StringUtils.join(musicGroupIdList, ",")).stream()
+							.collect(Collectors.toMap(VipGroup::getId, mg -> mg));
+
+					// 批量修改课程课酬
+					for (CourseScheduleTeacherSalary ts : updateTeacherSalaryList) {
+						VipGroup vipGroup = vipGroupMap.get(ts.getMusicGroupId());
+						// 课酬结算标准
+						if (vipGroup != null) {
+							TeacherDefaultVipGroupSalary tdms = salaryMap.get(vipGroup.getVipGroupCategoryId());
+							if (tdms != null) {
+								if (ts.getCourseSchedule().getTeachMode() == TeachModeEnum.ONLINE) {// 线上课
+
+									ts.setExpectSalary(tdms.getOnlineClassesSalary());
+								} else if (ts.getCourseSchedule().getTeachMode() == TeachModeEnum.OFFLINE) {// 线下课
+									ts.setExpectSalary(tdms.getOfflineClassesSalary());
+								}
+							}
+						}
+					}
+				}
+				courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(updateTeacherSalaryList);
+			}
+
+			// 根据教师编号删除
 			teacherDefaultVipGroupSalaryDao.delByTeacherId(salary.getUserId());
-			//新增
+			// 新增
 			teacherDefaultVipGroupSalaryDao.batchAdd(teacherDefaultVipGroupSalaries);
 		}
 	}

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -21,6 +21,8 @@
 		<result column="actual_salary_" property="actualSalary" />
 		<result column="settlement_time_" property="settlementTime" />
 		<result column="class_group_id_" property="classGroupId" />
+		<result column="type_" property="courseSchedule.type" />
+		<result column="teach_mode_" property="courseSchedule.teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -332,6 +334,7 @@
 			csts.update_time_ = now()
 		WHERE csts.user_id_ = #{userId} and csts.class_group_id_ = #{classGroupId} and csts.settlement_time_ is null and CONCAT(cs.class_date_,' ',cs.start_class_time_) &gt;= #{startDateTime}
 	</update>
+	
     <update id="batchUpdateTeacherExpectSalary">
 		UPDATE course_schedule_teacher_salary
 		SET expect_salary_ = 0,update_time_ = NOW()
@@ -416,4 +419,9 @@
     <delete id="deleteByMusicGroupId" parameterType="map" >
 		DELETE cssp FROM course_schedule_teacher_salary cssp left join course_schedule cs on cssp.course_schedule_id_ = cs.id_ WHERE cssp.music_group_id_=#{musicGroupId} AND cssp.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and cs.status_ = 'NOT_START'
 	</delete>
+
+	<select id="queryUserNoSettlementListByTypeAndStartClassDate" resultMap="CourseScheduleTeacherSalary">
+		SELECT ts.*,cs.type_,cs.teach_mode_ FROM course_schedule_teacher_salary ts LEFT JOIN course_schedule cs ON ts.course_schedule_id_ = cs.id_
+		WHERE cs.type_ IN (#{typeList}) AND ts.user_id_ = #{userId} AND ts.settlement_time_ IS NULL AND cs.class_date_ &gt;= #{startClassDate}
+	</select>
 </mapper>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/TeacherDefaultVipGroupSalaryMapper.xml

@@ -99,4 +99,8 @@
 		select * from teacher_default_vip_group_salary
 		where user_id_=#{userId} and vip_group_category_id_=#{categoryId}
 	</select>
+	
+    <select id="queryByUserId" resultMap="TeacherDefaultVipGroupSalary">
+		SELECT * FROM teacher_default_vip_group_salary where user_id_ = #{userId} ORDER BY id_
+	</select>
 </mapper>

+ 3 - 2
mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultMusicGroupSalaryController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
+import java.util.Date;
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,8 +30,8 @@ public class TeacherDefaultMusicGroupSalaryController extends BaseController {
     @ApiOperation(value = "批量新增、修改教师乐团课薪酬")
     @PostMapping("/batchUpset")
     @PreAuthorize("@pcs.hasPermissions('teacherDefaultMusicGroupSalary/batchUpset')")
-    public Object batchUpset(@RequestBody List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries) {
-        teacherDefaultMusicGroupSalaryService.batchUpset(teacherDefaultMusicGroupSalaries);
+    public Object batchUpset(@RequestBody List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries, Date startDate) {
+        teacherDefaultMusicGroupSalaryService.batchUpset(teacherDefaultMusicGroupSalaries, startDate);
         return succeed();
     }
 

+ 15 - 8
mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultVipGroupSalaryController.java

@@ -1,16 +1,23 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
-import com.ym.mec.biz.service.TeacherDefaultVipGroupSalaryService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import java.util.Date;
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
+import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
+import com.ym.mec.biz.service.TeacherDefaultVipGroupSalaryService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.page.QueryInfo;
 
 /**
  * @Author Joburgess
@@ -41,8 +48,8 @@ public class TeacherDefaultVipGroupSalaryController extends BaseController {
     @ApiOperation(value = "批量新增、修改教师vip课酬")
     @PostMapping("/upSet")
     @PreAuthorize("@pcs.hasPermissions('teacherDefaultVipGroupSalary/upSet')")
-    public Object setVipGroupSalary(@RequestBody List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries){
-        teacherDefaultVipGroupSalaryService.upSet(teacherDefaultVipGroupSalaries);
+    public Object setVipGroupSalary(@RequestBody List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries, Date startDate){
+        teacherDefaultVipGroupSalaryService.upSet(teacherDefaultVipGroupSalaries, startDate);
         return succeed();
     }