Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
zouxuan 4 éve
szülő
commit
78be586eff

+ 1 - 1
codegen/src/main/resources/generateConfigration.xml

@@ -8,7 +8,7 @@
 		<catalog>mec_dev</catalog>
 		<schema>mec_dev</schema>
 	</dbConfiguration>
-	<srcBase>d:/javabean</srcBase>
+	<srcBase>/Users/zouxuan/Documents/javabean</srcBase>
 	<pojoPackageName>com.ym.mec.biz.dal.entity</pojoPackageName>
 	<daoPackageName>com.ym.mec.biz.dal.dao</daoPackageName>
 	<servicePackageName>com.ym.mec.biz.service</servicePackageName>

+ 35 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -222,8 +222,19 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             return;
         }
 
+        //获取课程对应教学点补贴
+        List<Map<Long, BigDecimal>> courseSubsidyByCourses = courseScheduleTeacherSalaryDao.findCourseSubsidyByCourses(new ArrayList<>(courseScheduleIds));
+        Map<Integer, BigDecimal> courseSubsidyMap = MapUtil.convertIntegerMap(courseSubsidyByCourses);
+
         someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> {
 
+            BigDecimal subsidy = courseSubsidyMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
+            if (Objects.isNull(subsidy)) {
+                subsidy = new BigDecimal(0);
+            }
+            courseScheduleTeacherSalary.setSubsidy(subsidy);
+            courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().add(subsidy));
+
             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
             if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0){
                 courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().multiply(new BigDecimal("0.8")));
@@ -340,9 +351,20 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         List<TeacherAttendance> allTeacherAttendances = teacherAttendanceDao.findByCourseSchedules(courseScheduleIds);
         Map<String, List<TeacherAttendance>> teacherCourseAttendanceMap = allTeacherAttendances.stream().collect(Collectors.groupingBy(ta -> org.apache.commons.lang3.StringUtils.joinWith(":", ta.getCourseScheduleId(), ta.getTeacherId())));
 
+        //获取课程对应教学点补贴
+        List<Map<Long, BigDecimal>> courseSubsidyByCourses = courseScheduleTeacherSalaryDao.findCourseSubsidyByCourses(courseScheduleIds);
+        Map<Integer, BigDecimal> courseSubsidyMap = MapUtil.convertIntegerMap(courseSubsidyByCourses);
+
         //处理课酬信息
         someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> {
 
+            BigDecimal subsidy = courseSubsidyMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
+            if (Objects.isNull(subsidy)) {
+                subsidy = new BigDecimal(0);
+            }
+            courseScheduleTeacherSalary.setSubsidy(subsidy);
+            courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().add(subsidy));
+
             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
             if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0){
                 courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().multiply(new BigDecimal("0.8")));
@@ -542,6 +564,12 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                     teacherSalary = BigDecimal.ZERO;
                 }
 
+                BigDecimal subsidy = courseSubsidyMap.get(courseSchedule.getId());
+                if (Objects.isNull(subsidy)) {
+                    subsidy = new BigDecimal(0);
+                }
+                teacherSalary = teacherSalary.add(subsidy);
+
                 //如果上课日期在转正日期之前的按80%结算
                 if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0){
                     teacherSalary = teacherSalary.multiply(new BigDecimal("0.8"));
@@ -601,6 +629,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 courseScheduleTeacherSalary.setDeductionReason(org.apache.commons.lang3.StringUtils.join(deductReasons, ";"));
 
                 //更新教师结算信息
+                courseScheduleTeacherSalary.setSubsidy(subsidy);
                 courseScheduleTeacherSalary.setActualSalary(finalSalary.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:finalSalary);
                 courseScheduleTeacherSalary.setSettlementTime(now);
                 courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);
@@ -645,16 +674,16 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 teacherSalary=courseScheduleTeacherSalary.getExpectSalary();
             }
 
-            if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0){
-                teacherSalary = teacherSalary.multiply(new BigDecimal("0.8"));
-            }
-
-            BigDecimal subsidy = courseSubsidyMap.get(courseSchedule.getSchoolId());
+            BigDecimal subsidy = courseSubsidyMap.get(courseSchedule.getId());
             if (Objects.isNull(subsidy)) {
                 subsidy = new BigDecimal(0);
             }
             teacherSalary = teacherSalary.add(subsidy);
 
+            if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0){
+                teacherSalary = teacherSalary.multiply(new BigDecimal("0.8"));
+            }
+
             //扣除费用
             BigDecimal deductCost = BigDecimal.ZERO;
             List<String> deductReasons = new ArrayList<>();
@@ -760,6 +789,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             }
 
             //更新教师结算信息
+            courseScheduleTeacherSalary.setSubsidy(subsidy);
             courseScheduleTeacherSalary.setActualSalary(finalSalary.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:finalSalary);
             courseScheduleTeacherSalary.setSettlementTime(now);
             courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);

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

@@ -43,7 +43,7 @@ public class MusicGroupOrganizationCourseSettingsServiceImpl extends BaseService
         musicGroupOrganizationCourseSettingsDao.insert(setting);
         for (MusicGroupOrganizationCourseSettingsDetail detail : setting.getDetails()) {
             detail.setMusicGroupOrganizationCourseSettingsId(setting.getId());
-            detail.setUnitPrice(detail.getCourseCurrentPrice().divide(new BigDecimal(detail.getCourseTotalMinuties()), 2, BigDecimal.ROUND_DOWN));
+            detail.setUnitPrice(detail.getCourseCurrentPrice().divide(new BigDecimal(detail.getCourseTotalMinuties()), 8, BigDecimal.ROUND_HALF_UP));
         }
         musicGroupOrganizationCourseSettingsDetailDao.batchInsert(setting.getDetails());
         return setting;

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

@@ -130,7 +130,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			}
 			MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 			String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-			String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + musicGroupId;
+			String memo = "4?" + baseUrl + "/#/musicGroupRenew?calenderId="+calender.getId()+"&id=" + calender.getMusicGroupId();
 			// 发送续费通知
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 					null, 0, memo,"STUDENT",musicGroup.getName());
@@ -176,7 +176,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			}
 			MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
 			String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-			String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + calender.getMusicGroupId();
+			String memo = "4?" + baseUrl + "/#/musicGroupRenew?calenderId="+calender.getId()+"&id=" + calender.getMusicGroupId();
 			// 发送续费通知
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 					null, 0, memo,"STUDENT",musicGroup.getName());

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -1107,7 +1107,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		Set<Integer> studentIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentStudentIds(calenderId);
 		if (studentIds.size() > 0) {
 			String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-			String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + musicGroup.getId();
+			String memo = "4?" + baseUrl + "/#/musicGroupRenew?calenderId="+calenderId+"&id=" + musicGroup.getId();
 			Map<Integer, String> push = new HashMap<>();
 			for (Integer userId : studentIds) {
 				push.put(userId, userId + "");
@@ -1228,7 +1228,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				}
 				MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
 				String configValue = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-				String memo = "4?" + configValue + "/#/renew?musicGroupId=" + musicGroup.getId();
+				String memo = "4?" + configValue + "/#/musicGroupRenew?calenderId="+calender.getId()+"&id=" + calender.getMusicGroupId();
 				// 发送续费通知
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 						null, 0, memo, "STUDENT", musicGroup.getName());
@@ -1325,7 +1325,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				}
 				MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 				String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-				String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + musicGroupId;
+				String memo = "4?" + baseUrl + "/#/musicGroupRenew?calenderId="+id+"&id=" + musicGroupId;
 				// 发送续费通知
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 						null, 0, memo, "STUDENT", musicGroup.getName());
@@ -1348,7 +1348,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				}
 				MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
 				String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-				String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + calender.getMusicGroupId();
+				String memo = "4?" + baseUrl + "/#/musicGroupRenew?calenderId="+calender.getId()+"&id=" + calender.getMusicGroupId();
 				// 发送续费通知
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 						null, 0, memo, "STUDENT", musicGroup.getName());

+ 7 - 49
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupStudentFeeServiceImpl.java

@@ -1,29 +1,22 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+
+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.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dto.UpdateStudentFeeDto;
-import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
-import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.service.MusicGroupStudentFeeService;
-import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
-import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
-import com.ym.mec.util.collection.MapUtil;
-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 java.math.BigDecimal;
-import java.util.*;
 
 @Service
 public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, MusicGroupStudentFee> implements MusicGroupStudentFeeService {
@@ -47,41 +40,6 @@ public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, Music
 
 	@Override
 	public boolean refreshPaymentFeeStatus() {
-
-		int days = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.REFRESH_PAYMENT_STATUS_EARLY_DAYS));
-
-		Date date = new Date();
-
-		List<MusicGroupStudentFee> updateList = new ArrayList<MusicGroupStudentFee>();
-
-		List<MusicGroupStudentFee> musicGroupStudentFeeList = musicGroupStudentFeeDao.queryWillRenewList(days);
-		for (MusicGroupStudentFee musicGroupStudentFee : musicGroupStudentFeeList) {
-			//课程费用为空,或者课程费用为0,只更新下次缴费时间
-			if (musicGroupStudentFee.getPaymentStatus() == PaymentStatus.PAID_COMPLETED &&
-					(musicGroupStudentFee.getCourseFee() != null && musicGroupStudentFee.getCourseFee().doubleValue() > 0)) {
-				musicGroupStudentFee.setPaymentStatus(PaymentStatus.NON_PAYMENT);
-				musicGroupStudentFee.setUpdateTime(date);
-				updateList.add(musicGroupStudentFee);
-			}
-		}
-
-		if (updateList.size() > 0) {
-			musicGroupStudentFeeDao.batchUpdate(updateList);
-			MusicGroup musicGroup = musicGroupDao.get(updateList.get(0).getMusicGroupId());
-			Map<Integer, String> push = new HashMap<>();
-			for (MusicGroupStudentFee sf : updateList) {
-				push.put(sf.getUserId(), sf.getUserId() + "");
-			}
-			String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-			String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + musicGroup.getId();
-			// 发送续费通知
-			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
-					null, 0, memo,"STUDENT",musicGroup.getName());
-		}
-
-		// int i = DateUtil.daysBetween(new Date(), musicGroupStudentFee.getNextPaymentDate());
-		// e.setRenewStatus(i < 8 ? 0 : 1);
-
 		return true;
 	}
 

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

@@ -238,7 +238,7 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         for (MusicGroupGoodsAndDiscountDto musicGroupGoodsAndDiscountDto : goodsList) {
             if (musicGroupGoodsAndDiscountDto.getType() != null && musicGroupGoodsAndDiscountDto.getType().equals(GoodsType.INSTRUMENT)) {
                 musicGroupGoodsAndDiscountDto.setDiscountRate(subjectDiscount.getGoodsDiscountRate());
-                musicGroupGoodsAndDiscountDto.setGroupPurchasePrice(musicGroupGoodsAndDiscountDto.getDiscountPrice().multiply(subjectDiscount.getGoodsDiscountRate()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP));
+                musicGroupGoodsAndDiscountDto.setGroupPurchasePrice(musicGroupGoodsAndDiscountDto.getDiscountPrice().multiply(subjectDiscount.getGoodsDiscountRate()).divide(new BigDecimal(100), 0, BigDecimal.ROUND_HALF_UP));
             }
         }
         return goodsList;

+ 5 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -27,6 +27,7 @@
 		<result column="class_date_" property="courseSchedule.classDate" />
 		<result column="start_class_time_" property="courseSchedule.startClassTime" />
 		<result column="end_class_time_" property="courseSchedule.endClassTime" />
+		<result column="schoole_id_" property="courseSchedule.schoolId" />
 		<result column="reduce_salary" property="reduceSalary" />
 		<result column="confirm_status_" property="confirmStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="memo_" property="memo" />
@@ -270,6 +271,7 @@
 			CONCAT(cs.class_date_	,' ',cs.start_class_time_) start_class_time_,
 			CONCAT( cs.class_date_, ' ', cs.end_class_time_ ) end_class_time_,
 			cs.teach_mode_,
+		    cs.schoole_id_,
 			csts.*
 		FROM
 		course_schedule_teacher_salary csts
@@ -300,6 +302,7 @@
 		cs.class_date_,
 		CONCAT(cs.class_date_	,' ',cs.start_class_time_) start_class_time_,
 		CONCAT( cs.class_date_, ' ', cs.end_class_time_ ) end_class_time_,
+		cs.schoole_id_,
 		csts.*
 		FROM
 		course_schedule_teacher_salary csts
@@ -359,8 +362,8 @@
 	</select>
 	<select id="findCourseSubsidyByCourses" resultType="map">
 		SELECT
-			cs.id_,
-			s.subsidy_
+			cs.id_ AS 'key',
+			s.subsidy_ AS 'value'
 		FROM
 			course_schedule cs
 			LEFT JOIN school s ON cs.schoole_id_=s.id_