فهرست منبع

Merge remote-tracking branch 'origin/master'

Joburgess 5 سال پیش
والد
کامیت
0394b076a3

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java

@@ -61,7 +61,7 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 		}
 	
 		if (userInfo.getSysUser().getUserType() != SysUserType.SYSTEM && !StringUtils.equalsIgnoreCase(clientId, userInfo.getSysUser().getUserType().getCode())) {
-			throw new LockedException("登录失败");
+			throw new LockedException("用户不存在,请联系教务老师");
 		}
 
 		principal = principal.trim();

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

@@ -67,7 +67,7 @@ public interface CourseScheduleRewardsRulesDao extends BaseDAO<Integer, CourseSc
 	 * @param lastDayOfMonth
 	 * @return
 	 */
-    List<TaskRewardsRulesDto> queryVipGroupTeachereClassTimesByMonth(@Param("firstDayOfMonth") String firstDayOfMonth, @Param("lastDayOfMonth") String lastDayOfMonth);
+    List<TaskRewardsRulesDto> queryVipGroupTeacherClassTimesByMonth(@Param("firstDayOfMonth") String firstDayOfMonth, @Param("lastDayOfMonth") String lastDayOfMonth);
 
 	/**
 	 * 根据主键列表获取数据

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

@@ -55,7 +55,7 @@ public interface CourseScheduleRewardsRulesService extends BaseService<Integer,
 	 * @param lastDayOfMonth
 	 * @return
 	 */
-    List<TaskRewardsRulesDto> queryVipGroupTeachereClassTimesByMonth(String firstDayOfMonth,String lastDayOfMonth);
+    List<TaskRewardsRulesDto> queryVipGroupTeacherClassTimesByMonth(String firstDayOfMonth,String lastDayOfMonth);
 
 	/**
 	 * 根据主键列表获取数据

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleRewardsRulesServiceImpl.java

@@ -205,8 +205,8 @@ public class CourseScheduleRewardsRulesServiceImpl extends BaseServiceImpl<Integ
 	}
 
 	@Override
-	public List<TaskRewardsRulesDto> queryVipGroupTeachereClassTimesByMonth(String firstDayOfMonth, String lastDayOfMonth) {
-		return courseScheduleRewardsDao.queryVipGroupTeachereClassTimesByMonth(firstDayOfMonth,lastDayOfMonth);
+	public List<TaskRewardsRulesDto> queryVipGroupTeacherClassTimesByMonth(String firstDayOfMonth, String lastDayOfMonth) {
+		return courseScheduleRewardsDao.queryVipGroupTeacherClassTimesByMonth(firstDayOfMonth,lastDayOfMonth);
 	}
 
 	@Override

+ 19 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1588,7 +1588,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		String firstDayOfMonth = DateUtil.format(DateUtil.getFirstDayOfMonth(months),DateUtil.ISO_EXPANDED_DATE_FORMAT);
 		String lastDayOfMonth =  DateUtil.format(DateUtil.getLastDayOfMonth(months),DateUtil.ISO_EXPANDED_DATE_FORMAT);
 
-		List<TaskRewardsRulesDto> rewardsRulesDtos = courseScheduleRewardsRulesService.queryVipGroupTeachereClassTimesByMonth(firstDayOfMonth,lastDayOfMonth);
+		List<TaskRewardsRulesDto> rewardsRulesDtos = courseScheduleRewardsRulesService.queryVipGroupTeacherClassTimesByMonth(firstDayOfMonth,lastDayOfMonth);
 		if(rewardsRulesDtos != null && rewardsRulesDtos.size() > 0){
 			List<Integer> activeIds = rewardsRulesDtos.stream().map(e -> e.getActiveId()).collect(Collectors.toList());
 			List<CourseScheduleRewardsRules> rewardsRules = courseScheduleRewardsRulesService.findByIds(activeIds);
@@ -1602,20 +1602,30 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 					List<RewardsRulesJsonDto> rulesJsonDtos = JSONObject.parseArray(rewardsRule.getRewardsRulesJson(), RewardsRulesJsonDto.class);
 					BigDecimal money = BigDecimal.ZERO;
 					//STAIR 阶梯, PER 累计, TOTAL
+					RewardsRulesJsonDto dto;
+					int times = e.getTimes();
 					switch (rewardsRule.getRewardMode()) {
 						case STAIR:
-							for (RewardsRulesJsonDto rule : rulesJsonDtos) {
-								if (e.getTimes() >= rule.getMin()) {
-									money = money.add(rule.getMoney());
+							for (int i = 0;i< rulesJsonDtos.size();i++){
+								dto = rulesJsonDtos.get(i);
+								if (e.getTimes() >= dto.getMin()) {
+									//最后一个梯度
+									if(rulesJsonDtos.size()-1 == i){
+										money = money.add(dto.getMoney().multiply(new BigDecimal(times)));
+									}else if(e.getTimes() >= dto.getMax()){
+										times = Math.abs(dto.getMax() - times);
+										money = money.add(dto.getMoney().multiply(new BigDecimal(dto.getMax()-dto.getMin()+1)));
+									}else {
+										money = money.add(dto.getMoney().multiply(new BigDecimal(times)));
+									}
 								}
 							}
 							break;
 						case PER:
-							int count = 0;
-							for (RewardsRulesJsonDto rule : rulesJsonDtos) {
-								if (e.getTimes() >= rule.getMin()) {
-									count++;
-									money = rule.getMoney().multiply(new BigDecimal(count));
+							for (int i = 0;i< rulesJsonDtos.size();i++){
+								dto = rulesJsonDtos.get(i);
+								if (e.getTimes() >= dto.getMin()) {
+									money = dto.getMoney().multiply(new BigDecimal(times));
 								}
 							}
 							break;

+ 2 - 3
mec-biz/src/main/resources/config/mybatis/CourseScheduleRewardsMapper.xml

@@ -143,13 +143,12 @@
 		<result property="times" column="times_"/>
 		<result property="activeId" column="active_id_"/>
 	</resultMap>
-    <select id="queryVipGroupTeachereClassTimesByMonth" resultMap="TaskRewardsRulesDtoMap">
+    <select id="queryVipGroupTeacherClassTimesByMonth" resultMap="TaskRewardsRulesDtoMap">
 		SELECT COUNT(cs.id_) times_,cs.actual_teacher_id_,csrr.id_ active_id_ FROM course_schedule_rewards_rules csrr
 		LEFT JOIN vip_group vg ON FIND_IN_SET(vg.vip_group_category_id_,csrr.vip_group_category_id_list_)
 		LEFT JOIN course_schedule cs ON vg.id_ = cs.music_group_id_ AND FIND_IN_SET(cs.actual_teacher_id_,csrr.teacher_id_)
 		LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_ AND csts.user_id_ = cs.actual_teacher_id_
-		WHERE cs.group_type_ = 'VIP' AND csts.settlement_time_ IS NOT NULL
-		AND cs.class_date_ &gt;= #{firstDayOfMonth} AND cs.class_date_ &lt;= #{lastDayOfMonth}
+		WHERE cs.group_type_ = 'VIP'
 		GROUP BY cs.actual_teacher_id_,csrr.id_
 	</select>
 	<select id="findByIds" resultMap="CourseScheduleRewardsRules">