Prechádzať zdrojové kódy

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

yonge 5 rokov pred
rodič
commit
9f48cd4913

+ 15 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1798,25 +1798,26 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 			
 			// 删除乐团相关付费周期
 			musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
-//			musicGroupStudentFeeDao.deleteByMusicGroupId(musicGroupId,0);
 			if (months != null && months.size() > 0) {
 				// 批量插入
 				musicGroupPaymentCalenderDao.batchAdd(months, musicGroupId);
 			}
-			if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
-			    //修改未锁定学员缴费周期
-                String join = null;
-                if (months != null && months.size() > 0)  {
-                    join = StringUtils.join(months,",");
-                }
-                musicGroupStudentFeeDao.batchUpdateCalender(join,musicGroupId);
-                /*//生成学员费用表
-                List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
-                if(musicGroupStudentFees != null && musicGroupStudentFees.size() > 0){
-                    musicGroupStudentFeeDao.batchInsert(musicGroupStudentFees,musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, null,null),"PAID_COMPLETED");
-                }*/
-            }
 		}
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
+            //修改未锁定学员缴费周期
+            String join = null;
+            if (months != null && months.size() > 0)  {
+                join = StringUtils.join(months,",");
+            }
+            musicGroupStudentFeeDao.batchUpdateCalender(join,musicGroupId);
+            List<MusicGroupStudentFee> fees = musicGroupStudentFeeDao.queryByMusicGroupId(musicGroupId);
+            Date date = new Date();
+            fees.forEach(e->{
+                e.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, null,e));
+                e.setUpdateTime(date);
+            });
+            musicGroupStudentFeeDao.batchUpdate(fees);
+        }
         musicGroupDao.update(musicGroup);
         //修改课程里面的教学点
         if(!musicGroup.getSchoolId().equals(musicGroup.getSchoolId())){

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupStudentFeeServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
 import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dto.UpdateStudentFeeDto;
@@ -8,14 +9,17 @@ 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.MusicGroupPaymentCalenderService;
 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.MessageSender;
 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.*;
@@ -36,6 +40,9 @@ public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, Music
 	@Autowired
 	private SysMessageService sysMessageService;
 
+	@Autowired
+	private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
+
 	@Override
 	public BaseDAO<Long, MusicGroupStudentFee> getDAO() {
 		return musicGroupStudentFeeDao;
@@ -80,9 +87,16 @@ public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, Music
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void updateStudentFee(UpdateStudentFeeDto studentFeeDto) {
 		//修改学员缴费周期和是否锁定
 		musicGroupStudentFeeDao.updateStudentFee(studentFeeDto);
+		MusicGroupStudentFee fee = musicGroupStudentFeeDao.findByUser(studentFeeDto.getStudentId(), studentFeeDto.getMusicGroupId());
+		if(fee == null){
+			throw new BizException("学员缴费信息不存在");
+		}
+		fee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(studentFeeDto.getMusicGroupId(),fee.getNextPaymentDate(),fee));
+		musicGroupStudentFeeDao.update(fee);
 	}
 
 	@Override

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

@@ -1025,9 +1025,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				throw new BizException("您已预约过此课程");
 			}
 			throw new BizException("您已购买过此课程");
-		}else if(Objects.nonNull(statusCountMap.get(DealStatusEnum.ING))&&statusCountMap.get(DealStatusEnum.ING)>0){
-
-		}else{
+		}else if(CollectionUtils.isEmpty(oldOrders)||Objects.isNull(statusCountMap.get(DealStatusEnum.ING))){
 			if(classGroup.getStudentNum()>=classGroup.getExpectStudentNum()){
 				throw new BizException("该课程人数已达上限");
 			}