Browse Source

Merge branch 'system_fee' of http://git.dayaedu.com/yonge/mec into system_fee

yonge 4 years ago
parent
commit
1ba4cd75c0

+ 3 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -136,8 +136,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Autowired
     private SysConfigService sysConfigService;
     @Autowired
-//    private StudentDao studentDao;
-//    @Autowired
     private StudentService studentService;
     @Autowired
     private MusicGroupPaymentCalenderCourseSettingsService musicGroupPaymentCalenderCourseSettingsService;
@@ -157,6 +155,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private MusicGroupSchoolTermStudentCourseDetailDao musicGroupSchoolTermStudentCourseDetailDao;
     @Autowired
     private MusicGroupSchoolTermCourseDetailDao musicGroupSchoolTermCourseDetailDao;
+    @Autowired
+    private CloudTeacherOrderDao cloudTeacherOrderDao;
 
     @Override
     public BaseDAO<Integer, ClassGroup> getDAO() {
@@ -2678,12 +2678,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             teacherAttendanceDao.batchInsert(teacherAttendances);
         }
         imUserFriendService.refreshGroupImUserFriend(termCourseDetail.getMusicGroupId(),MUSIC);
-        //是否是该乐团第一次会员排课
-        List<MusicGroupSchoolTermCourseDetail> termCourseDetails = musicGroupSchoolTermCourseDetailDao.findByMusicGroupId(termCourseDetail.getMusicGroupId());
-        if(termCourseDetails.size() == 1){
-            MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.findByMusicGroupRegCalender(termCourseDetail.getMusicGroupId());
-            studentService.batchUpdateMemberRank(studentIds,calender.getMemberRankSettingId(),PeriodEnum.MONTH,calender.getMemberValidDate());
-        }
     }
 
     @Override
@@ -2880,7 +2874,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     }
                     //排课开始时间不可小于预排课时间
                     if(courseTimeDto.getStartDate().compareTo(schoolTermCourseDetail.getStartSchoolTerm()) < 0){
-                        throw new BizException("操作失败:排课开始时间不可小于预排课时间");
+                        throw new BizException("操作失败:排课开始时间不可小于开课日期");
                     }
 
                     //跳过节假日

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

@@ -23,6 +23,7 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 
+import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -70,6 +71,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 	private GroupEventSource groupEventSource;
 	@Autowired
 	private StudentService studentService;
+	@Autowired
+	private CloudTeacherOrderDao cloudTeacherOrderDao;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalenderDetail> getDAO() {
@@ -89,6 +92,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		}
 		Date date = new Date();
 		MusicGroupPaymentCalender calender = musicGroupPaymentCalenderService.get(calenderDetails.get(0).getMusicGroupPaymentCalenderId());
+		MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
 		//缴费项目已结束,并且没有单独开启缴费的学员,不能修改缴费金额
 //		if(calender.getStatus() == OVER){
 //			List<MusicGroupPaymentCalenderDetail> paymentCalenderDetails = calenderDetails.stream().filter(e -> e.getOpenFlag() == YesOrNoEnum.NO).collect(Collectors.toList());
@@ -111,7 +115,17 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			}else {
 				// 添加会员有效时长
 				if(calender.getMemberRankSettingId() != null){
-					studentService.updateMemberRank(e.getUserId(),calender.getMemberRankSettingId(),PeriodEnum.MONTH,6);
+					CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
+					cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
+					cloudTeacherOrder.setType(2);
+					cloudTeacherOrder.setTime(calender.getMemberValidDate());
+					cloudTeacherOrder.setAmount(expectAmount);
+					cloudTeacherOrder.setStatus(2);
+					cloudTeacherOrder.setStartTime(date);
+					cloudTeacherOrder.setEndTime(DateUtil.addMonths(date,calender.getMemberValidDate()));
+					cloudTeacherOrder.setRemark("进行中乐团加学生,缴费金额改为0元");
+					cloudTeacherOrderDao.insert(cloudTeacherOrder);
+					studentService.updateMemberRank(e.getUserId(),calender.getMemberRankSettingId(),PeriodEnum.MONTH,calender.getMemberValidDate());
 				}
 				calender.setActualNum((calender.getActualNum()==null?0:calender.getActualNum()) + 1);
 				e.setPaymentStatus(PAID_COMPLETED);
@@ -139,12 +153,10 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		musicGroupPaymentCalenderDetailDao.batchUpdate(calenderDetails);
 		//推送消息
 		if (calender.getPayUserType() == STUDENT && studentIds.size() > 0) {
-			String musicGroupId = calenderDetails.get(0).getMusicGroupId();
 			Map<Integer, String> push = new HashMap<>();
 			for (Integer userId : studentIds) {
 				push.put(userId, userId + "");
 			}
-			MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 			String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
 			String memo = "4?" + baseUrl + "/#/musicGroupRenew?calenderId="+calender.getId()+"&id=" + calender.getMusicGroupId();
 			// 发送续费通知
@@ -507,10 +519,6 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 				musicGroupPaymentCalenderDetail.setCreateTime(date);
 				musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
 				if (musicGroupPaymentCalenderDetail.getExpectAmount().compareTo(new BigDecimal(0)) == 0) {
-					// 添加会员有效时长
-					if(musicGroupPaymentCalender.getMemberRankSettingId() != null){
-						studentService.updateMemberRank(studentId,musicGroupPaymentCalender.getMemberRankSettingId(),PeriodEnum.MONTH,6);
-					}
 					musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
 					paymentNum++;
 				} else {

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

@@ -129,6 +129,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	private MemberRankSettingDao memberRankSettingDao;
 	@Autowired
 	private StudentService studentService;
+	@Autowired
+	private CloudTeacherOrderDao cloudTeacherOrderDao;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
@@ -979,7 +981,17 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				if(totalPrice.doubleValue() == 0d){
 					// 添加会员有效时长
 					if(musicGroupPaymentCalender.getMemberRankSettingId() != null){
-						studentService.updateMemberRank(Integer.parseInt(studentId),musicGroupPaymentCalender.getMemberRankSettingId(),PeriodEnum.MONTH,6);
+						CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
+						cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
+						cloudTeacherOrder.setType(2);
+						cloudTeacherOrder.setTime(musicGroupPaymentCalender.getMemberValidDate());
+						cloudTeacherOrder.setAmount(totalPrice);
+						cloudTeacherOrder.setStatus(2);
+						cloudTeacherOrder.setStartTime(date);
+						cloudTeacherOrder.setEndTime(DateUtil.addMonths(date,musicGroupPaymentCalender.getMemberValidDate()));
+						cloudTeacherOrder.setRemark("进行中乐团0元加学生");
+						cloudTeacherOrderDao.insert(cloudTeacherOrder);
+						studentService.updateMemberRank(Integer.parseInt(studentId),musicGroupPaymentCalender.getMemberRankSettingId(),PeriodEnum.MONTH,musicGroupPaymentCalender.getMemberValidDate());
 					}
 					MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(Integer.parseInt(studentId), musicGroupPaymentCalender.getMusicGroupId());
 					if (musicGroupStudentFee != null) {

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

@@ -63,7 +63,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 			throw new BizException("操作失败:请确保所有在读学员都在班级");
 		}
 		MusicGroupSchoolTermCourseDetail courseDetail = musicGroupSchoolTermCourseDetailDao.
-				findByCourseDateAndMusicGroupId(musicGroupId,startCourseDate,0);
+				findByCourseDateAndMusicGroupId(musicGroupId,null,0);
 		Date date = DateUtil.stringToDate(DateUtil.format(new Date(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT);
 		if(startCourseDate != null){
 			MusicGroupSchoolTermCourseDetail courseDetail1 = musicGroupSchoolTermCourseDetailDao.findByCourseDateAndMusicGroupId(musicGroupId,startCourseDate,1);
@@ -138,11 +138,11 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 		//一个学期默认为6个月,9月1日—2月28、29日,3月1日—8月31日
 		Integer month = Integer.parseInt(DateUtil.getMonth(startCourseDate));
 		String year = DateUtil.getYear(startCourseDate);
-		if(month >= 9 && month <= 2){
+		if(month >= 9 || month <= 2){
 			if(month >= 9){
 				year = DateUtil.getYear(DateUtil.addYears(startCourseDate, 1));
 			}
-			courseDetail.setEndSchoolTerm(DateUtil.getLastDayOfMonth(DateUtil.stringToDate(year + "-02-01")));
+			courseDetail.setEndSchoolTerm(DateUtil.getLastDayOfMonth(DateUtil.stringToDate(year + "-02-01 00:00:00")));
 		}else {
 			courseDetail.setEndSchoolTerm(DateUtil.stringToDate(year + "-08-31 00:00:00"));
 		}
@@ -151,7 +151,8 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 //		int week = LocalDateTime.ofInstant(startCourseDate.toInstant(),DateUtil.zoneId).getDayOfWeek().getValue();
 		int week = DateUtil.date2Week1(startCourseDate);
 		int weekSize = DateUtil.getWeekDays(startCourseDate, courseDetail.getEndSchoolTerm(), week).size();
-		courseDetail.setTotalCourseTime(weekSize * 4 * 45);
+		int i = weekSize * 4 * 45;
+		courseDetail.setTotalCourseTime(i > 3960?3960:i);
 		courseDetail.setStartCourseDate(startCourseDate);
 		return courseDetail;
 	}

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

@@ -9,10 +9,7 @@ import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseHomeWorkQueryInfo;
-import com.ym.mec.biz.service.CourseHomeworkService;
-import com.ym.mec.biz.service.StudentCourseHomeworkService;
-import com.ym.mec.biz.service.StudentServeService;
-import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -505,6 +502,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         int count = musicGroupDao.queryCount(params);
         pageInfo.setTotal(count);
         params.put("offset", pageInfo.getOffset());
+//        StudentService
         List<MusicGroup> musicGroups = musicGroupDao.queryPage(params);
 
         List<EduHomeworkStatDto> dataList = new ArrayList<>();

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

@@ -82,7 +82,7 @@
 		SELECT * FROM music_group_school_term_course_detail
 		WHERE music_group_id_ = #{musicGroupId}
 		<if test="startCourseDate != null">
-		  AND (#{startCourseDate} >= start_school_term_ OR #{startCourseDate} &lt;= end_school_term_)
+			AND (#{startCourseDate} BETWEEN start_school_term_ AND end_school_term_)
 		</if>
 		<if test="courseFlag != null">
 			AND course_flag_ = #{courseFlag}