فهرست منبع

Merge remote-tracking branch 'origin/master'

zouxuan 4 سال پیش
والد
کامیت
d956c429f2

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderAddStudentDto.java

@@ -4,16 +4,16 @@ import java.util.List;
 
 public class MusicGroupPaymentCalenderAddStudentDto {
 
-	private Long musicGroupPaymentCalenderId;
+	private String batchNo;
 
 	private List<Integer> userIdList;
 
-	public Long getMusicGroupPaymentCalenderId() {
-		return musicGroupPaymentCalenderId;
+	public String getBatchNo() {
+		return batchNo;
 	}
 
-	public void setMusicGroupPaymentCalenderId(Long musicGroupPaymentCalenderId) {
-		this.musicGroupPaymentCalenderId = musicGroupPaymentCalenderId;
+	public void setBatchNo(String batchNo) {
+		this.batchNo = batchNo;
 	}
 
 	public List<Integer> getUserIdList() {

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java

@@ -52,6 +52,13 @@ public interface MusicGroupPaymentCalenderDetailService extends BaseService<Long
     void batchAdd(Long musicGroupPaymentCalenderId, List<Integer> userIdList);
 
     /**
+     * 乐团缴费记录新增学员
+     * @param batchNo
+     * @param userIdList
+     */
+    void batchAdd(String batchNo, List<Integer> userIdList);
+
+    /**
      * 获取fee表学员列表
      * @param musicGroupId
      * @return

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

@@ -15,6 +15,7 @@ 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 org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,8 +33,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 	
 	@Autowired
 	private MusicGroupPaymentCalenderDetailDao musicGroupPaymentCalenderDetailDao;
-//	@Autowired
-//	private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
+	@Autowired
+	private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
 	@Autowired
 	private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
 	
@@ -318,6 +319,98 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 	}
 
 	@Override
+	public void batchAdd(String batchNo, List<Integer> userIdList) {
+		
+		List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
+		
+		List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
+		
+		Long musicGroupPaymentCalenderId = null;
+		
+		for(MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenderList){
+			
+			musicGroupPaymentCalenderId = musicGroupPaymentCalender.getId();
+			
+			if(musicGroupPaymentCalender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY){
+				throw new BizException("操作失败:报名缴费项不允许添加学员");
+			}
+			if (musicGroupPaymentCalender.getStatus() == PaymentCalenderStatusEnum.AUDITING
+					|| musicGroupPaymentCalender.getStatus() == PaymentCalenderStatusEnum.REJECT) {
+				throw new BizException("当前缴费状态不能添加学生");
+			}
+			
+			List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupPaymentCalenderId);
+			
+			BigDecimal totalPrice = new BigDecimal(0);
+			for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
+				//剔除可选课程
+				if (courseSettings.getIsStudentOptional() == false) {
+					totalPrice = totalPrice.add(courseSettings.getCourseCurrentPrice());
+				}
+			}
+			
+			Date date = new Date();
+			MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = null;
+			Map<Integer,MusicGroupPaymentCalenderDetail> userMap = new HashMap<Integer, MusicGroupPaymentCalenderDetail>();
+			List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
+			//创建缴费明细
+			for(Integer studentId : userIdList){
+				musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
+				musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
+				musicGroupPaymentCalenderDetail.setCreateTime(date);
+				musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
+				musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT);
+				musicGroupPaymentCalenderDetail.setUpdateTime(date);
+				musicGroupPaymentCalenderDetail.setUserId(studentId);
+				musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
+				musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupPaymentCalender.getDeadlinePaymentDate());
+				userMap.put(studentId, musicGroupPaymentCalenderDetail);
+				musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
+			}
+
+			if (musicGroupPaymentCalenderDetailList.size() > 0) {
+				musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
+			}
+			//更新预计缴费人数
+			musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + userIdList.size());
+			musicGroupPaymentCalender.setUpdateTime(date);
+			musicGroupPaymentCalenderService.update(musicGroupPaymentCalender);
+			
+			MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
+			//创建学生课排课分钟数
+			for(Integer studentId : userIdList){
+				for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
+					if (courseSettings.getIsStudentOptional() == true) {
+						continue;
+					}
+					musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
+					musicGroupPaymentStudentCourseDetail.setCourseType(courseSettings.getCourseType());
+					musicGroupPaymentStudentCourseDetail.setCreateTime(date);
+					musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
+					musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(userMap.get(studentId).getId());
+					musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSettings.getCourseTotalMinuties());
+					musicGroupPaymentStudentCourseDetail.setUpdateTime(date);
+					musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
+					musicGroupPaymentStudentCourseDetail.setUserId(studentId);
+					
+					musicGroupPaymentStudentCourseDetailList.add(musicGroupPaymentStudentCourseDetail);
+				}
+			}
+		}
+		
+		if(musicGroupPaymentStudentCourseDetailList.size() > 0){
+			musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetailList);
+		}
+		//给学员推送缴费通知
+		for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenderList) {
+			if (musicGroupPaymentCalender.getStatus() == PaymentCalenderStatusEnum.OPEN) {
+				musicGroupPaymentCalenderService.pushWaitRenewMessage(musicGroupPaymentCalenderId,
+						musicGroupDao.get(musicGroupPaymentCalender.getMusicGroupId()));
+			}
+		}
+	}
+
+	@Override
 	public List<FeeStudentDto> queryFeeStudents(String musicGroupId,String search,Integer subjectId) {
 		return musicGroupStudentFeeDao.queryFeeStudents(musicGroupId,search,subjectId);
 	}

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java

@@ -61,7 +61,7 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
     @PostMapping("/batchAdd")
     @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/batchAdd')")
 	public Object batchAdd(@RequestBody MusicGroupPaymentCalenderAddStudentDto musicGroupPaymentCalenderAddStudentDto) {
-		musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalenderAddStudentDto.getMusicGroupPaymentCalenderId(),
+		musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalenderAddStudentDto.getBatchNo(),
 				musicGroupPaymentCalenderAddStudentDto.getUserIdList());
 		return succeed();
 	}