|
@@ -18,6 +18,8 @@ import java.util.Objects;
|
|
|
import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import com.ym.mec.biz.dal.dao.*;
|
|
|
+import com.ym.mec.biz.dal.entity.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -30,38 +32,6 @@ import com.alibaba.fastjson.TypeReference;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.auth.api.entity.SysUserRole;
|
|
|
-import com.ym.mec.biz.dal.dao.ChargeTypeDao;
|
|
|
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CooperationOrganDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
|
|
|
-import com.ym.mec.biz.dal.dao.EmployeeDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentEntitiesDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupPurchaseListDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupQuitDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectGoodsGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectPlanDao;
|
|
|
-import com.ym.mec.biz.dal.dao.OrganizationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SchoolDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SporadicChargeInfoDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentVisitDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SubjectChangeDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
|
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
|
|
|
-import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
import com.ym.mec.biz.dal.dto.BasicUserDto;
|
|
|
import com.ym.mec.biz.dal.dto.CourseFormDto;
|
|
|
import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
|
|
@@ -72,34 +42,7 @@ import com.ym.mec.biz.dal.dto.SporadicPayDto;
|
|
|
import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
|
|
|
import com.ym.mec.biz.dal.dto.SubjectRegisterDto;
|
|
|
import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
|
|
|
-import com.ym.mec.biz.dal.entity.ApprovalStatus;
|
|
|
-import com.ym.mec.biz.dal.entity.ChargeType;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseSchedule;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
|
|
|
-import com.ym.mec.biz.dal.entity.Goods;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupPurchaseList;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupQuit;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
|
|
|
-import com.ym.mec.biz.dal.entity.Organization;
|
|
|
-import com.ym.mec.biz.dal.entity.School;
|
|
|
-import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
|
|
|
-import com.ym.mec.biz.dal.entity.Student;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentRegistration;
|
|
|
-import com.ym.mec.biz.dal.entity.SubjectChange;
|
|
|
-import com.ym.mec.biz.dal.entity.SysUserCashAccount;
|
|
|
-import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
|
|
|
import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
|
|
|
import com.ym.mec.biz.dal.enums.DealStatusEnum;
|
|
|
import com.ym.mec.biz.dal.enums.GoodsType;
|
|
@@ -272,6 +215,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
private SubjectChangeDao subjectChangeDao;
|
|
|
@Autowired
|
|
|
private StudentVisitDao studentVisitDao;
|
|
|
+ @Autowired
|
|
|
+ private SubjectDao subjectDao;
|
|
|
|
|
|
private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
@@ -391,7 +336,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|| musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson().equals("{}"))) {
|
|
|
throw new BizException(musicGroupSubjectGoodsGroup.getName() + " 请选择提供方式");
|
|
|
}
|
|
|
- if(musicGroupSubjectGoodsGroup.getGroupRemissionCourseFee() == null){
|
|
|
+ if (musicGroupSubjectGoodsGroup.getGroupRemissionCourseFee() == null) {
|
|
|
musicGroupSubjectGoodsGroup.setGroupRemissionCourseFee(0);
|
|
|
}
|
|
|
}
|
|
@@ -612,8 +557,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
if (!kitGroupPurchaseType.equals("GROUP")) {
|
|
|
goodsGroup.setPrice(kitGroupPurchaseType.equals("FREE") ? new BigDecimal(0) : goodsGroup.getDepositFee());
|
|
|
- }else{
|
|
|
- remitCourseRFeeFlag = goodsGroup.getGroupRemissionCourseFee().equals(1);
|
|
|
+ } else {
|
|
|
+ remitCourseRFeeFlag = goodsGroup.getGroupRemissionCourseFee().equals(1);
|
|
|
}
|
|
|
goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.valueOf(kitGroupPurchaseType));
|
|
|
remitFee = groupType.get(kitGroupPurchaseType) == null ? BigDecimal.ZERO : groupType.get(kitGroupPurchaseType);
|
|
@@ -667,7 +612,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (registerPayDto.getNewCourse() != null && registerPayDto.getNewCourse().size() > 0) {
|
|
|
newCourses = musicGroupPaymentCalenderCourseSettingsDao.getCalenderCourseSettings(registerPayDto.getNewCourse());
|
|
|
for (MusicGroupPaymentCalenderCourseSettings calenderCourseSetting : newCourses) {
|
|
|
- if(remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()){
|
|
|
+ if (remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()) {
|
|
|
courseRemitFee = courseRemitFee.add(calenderCourseSetting.getCourseCurrentPrice());
|
|
|
continue;
|
|
|
}
|
|
@@ -832,7 +777,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
if (!kitGroupPurchaseType.equals("GROUP")) {
|
|
|
goodsGroup.setPrice(kitGroupPurchaseType.equals("FREE") ? new BigDecimal(0) : goodsGroup.getDepositFee());
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
remitCourseRFeeFlag = goodsGroup.getGroupRemissionCourseFee().equals(1);
|
|
|
}
|
|
|
goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.valueOf(kitGroupPurchaseType));
|
|
@@ -887,7 +832,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (registerPayDto.getNewCourse() != null && registerPayDto.getNewCourse().size() > 0) {
|
|
|
newCourses = musicGroupPaymentCalenderCourseSettingsDao.getCalenderCourseSettings(registerPayDto.getNewCourse());
|
|
|
for (MusicGroupPaymentCalenderCourseSettings calenderCourseSetting : newCourses) {
|
|
|
- if(remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()){
|
|
|
+ if (remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()) {
|
|
|
courseRemitFee = courseRemitFee.add(calenderCourseSetting.getCourseCurrentPrice());
|
|
|
continue;
|
|
|
}
|
|
@@ -1021,7 +966,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|| musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson().equals("{}"))) {
|
|
|
throw new BizException(musicGroupSubjectGoodsGroup.getName() + " 请选择提供方式");
|
|
|
}
|
|
|
- if(musicGroupSubjectGoodsGroup.getGroupRemissionCourseFee()==null){
|
|
|
+ if (musicGroupSubjectGoodsGroup.getGroupRemissionCourseFee() == null) {
|
|
|
musicGroupSubjectGoodsGroup.setGroupRemissionCourseFee(0);
|
|
|
}
|
|
|
}
|
|
@@ -1562,23 +1507,23 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (musicGroup == null) {
|
|
|
throw new BizException("乐团不存在");
|
|
|
}
|
|
|
-
|
|
|
- if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
|
|
|
- throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
|
|
|
+
|
|
|
+ if (musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
|
|
|
+ throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
|
|
|
}
|
|
|
Integer userId = sysUser.getId();
|
|
|
-
|
|
|
+
|
|
|
StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
if (studentRegistration == null) {
|
|
|
throw new BizException("用户注册信息不存在");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
MusicGroupQuit musicGroupQuit = musicGroupQuitDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
- if(musicGroupQuit != null){
|
|
|
- if(musicGroupQuit.getStatus() == ApprovalStatus.PROCESSING){
|
|
|
- throw new BizException("申请失败,存在[申请中]的记录");
|
|
|
- }
|
|
|
- }
|
|
|
+ if (musicGroupQuit != null) {
|
|
|
+ if (musicGroupQuit.getStatus() == ApprovalStatus.PROCESSING) {
|
|
|
+ throw new BizException("申请失败,存在[申请中]的记录");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
musicGroupQuit = new MusicGroupQuit();
|
|
|
musicGroupQuit.setCreateTime(new Date());
|
|
@@ -1598,18 +1543,18 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()),
|
|
|
MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, JSONObject.toJSONString(memo), sysUser.getUsername());
|
|
|
Map<Integer, String> receivers = new HashMap<>(1);
|
|
|
- receivers.put(musicGroup.getEducationalTeacherId(),musicGroup.getEducationalTeacherId().toString());
|
|
|
- sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY,
|
|
|
- receivers,null,0,null,"SYSTEM",musicGroup.getName(),sysUser.getUsername());
|
|
|
+ receivers.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
|
|
|
+ sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY,
|
|
|
+ receivers, null, 0, null, "SYSTEM", musicGroup.getName(), sysUser.getUsername());
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public boolean cancelQuitMusicGroup(Integer userId, String musicGroupId, String reason) {
|
|
|
- MusicGroupQuit musicGroupQuit = musicGroupQuitDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
- if(musicGroupQuit == null){
|
|
|
- throw new BizException("操作失败,没有查询到退团记录");
|
|
|
- }
|
|
|
+ public boolean cancelQuitMusicGroup(Integer userId, String musicGroupId, String reason) {
|
|
|
+ MusicGroupQuit musicGroupQuit = musicGroupQuitDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
+ if (musicGroupQuit == null) {
|
|
|
+ throw new BizException("操作失败,没有查询到退团记录");
|
|
|
+ }
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
if (sysUser == null) {
|
|
|
throw new BizException("用户信息获取失败");
|
|
@@ -1618,19 +1563,19 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (musicGroup == null) {
|
|
|
throw new BizException("乐团不存在");
|
|
|
}
|
|
|
- musicGroupQuit.setStatus(ApprovalStatus.CANCELED);
|
|
|
+ musicGroupQuit.setStatus(ApprovalStatus.CANCELED);
|
|
|
musicGroupQuit.setReason(reason);
|
|
|
musicGroupQuit.setQuitDate(new Date());
|
|
|
musicGroupQuitDao.update(musicGroupQuit);
|
|
|
|
|
|
Map<Integer, String> receivers = new HashMap<>(1);
|
|
|
- receivers.put(musicGroup.getEducationalTeacherId(),musicGroup.getEducationalTeacherId().toString());
|
|
|
- sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.PUSH_STUDENT_REVOKE_QUIT_MUSIC_APPLY,
|
|
|
- receivers,null,0,null,"SYSTEM",musicGroup.getName(),sysUser.getUsername());
|
|
|
- return true;
|
|
|
- }
|
|
|
+ receivers.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
|
|
|
+ sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.PUSH_STUDENT_REVOKE_QUIT_MUSIC_APPLY,
|
|
|
+ receivers, null, 0, null, "SYSTEM", musicGroup.getName(), sysUser.getUsername());
|
|
|
+ return true;
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
+ @Override
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
public boolean approveQuitMusicGroup(Long id, ApprovalStatus status, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
|
|
|
boolean isRefundTeachingAssistantsFee) {
|
|
@@ -1642,14 +1587,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
String musicGroupId = musicGroupQuit.getMusicGroupId();
|
|
|
Integer userId = musicGroupQuit.getUserId();
|
|
|
-
|
|
|
+
|
|
|
MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
|
|
|
if (musicGroup == null) {
|
|
|
throw new BizException("乐团不存在");
|
|
|
}
|
|
|
-
|
|
|
- if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
|
|
|
- throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
|
|
|
+
|
|
|
+ if (musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
|
|
|
+ throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
|
|
|
}
|
|
|
|
|
|
musicGroupQuit.setStatus(status);
|
|
@@ -1740,7 +1685,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
if (isRefundCourseFee) {
|
|
|
// 退课程费用
|
|
|
- amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
|
+ amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
|
}
|
|
|
|
|
|
SubjectChange studentLastChange = null;
|
|
@@ -1797,9 +1742,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (musicGroup == null) {
|
|
|
throw new BizException("乐团不存在");
|
|
|
}
|
|
|
-
|
|
|
- if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
|
|
|
- throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
|
|
|
+
|
|
|
+ if (musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
|
|
|
+ throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
|
|
|
}
|
|
|
|
|
|
// 判断乐器是否是租赁
|
|
@@ -1807,7 +1752,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (studentRegistration == null) {
|
|
|
throw new BizException("用户注册信息不存在");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
Date date = new Date();
|
|
|
|
|
|
MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
|
|
@@ -1896,7 +1841,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
if (isRefundCourseFee) {
|
|
|
// 退课程费用
|
|
|
- amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
|
+ amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
|
}
|
|
|
|
|
|
SubjectChange studentLastChange = null;
|
|
@@ -1936,7 +1881,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
|
PlatformCashAccountDetailTypeEnum.REFUNDS, null, SUCCESS, "退出乐团", null);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -2085,16 +2030,19 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
//当前乐团报名是否赠送乐团网管课
|
|
|
MusicGroupPaymentCalenderDetail calenderDetail = musicGroupPaymentCalenderDetailDao.findByOrderId(studentPaymentOrder.getId());
|
|
|
MusicGroupStudentFee musicGroupStudentFee = musicGroupPaymentCalenderService.updateCalender(calenderDetail.getId(), studentRegistration.getUserId());
|
|
|
- musicGroupStudentFee.setUpdateTime(date);
|
|
|
- musicGroupStudentFee.setLatestPaidTime(date);
|
|
|
- musicGroupStudentFee.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
|
|
|
- musicGroupStudentFee.setTemporaryCourseFee(new BigDecimal(0));
|
|
|
+ if (musicGroupStudentFee != null) {
|
|
|
+ musicGroupStudentFee.setUpdateTime(date);
|
|
|
+ musicGroupStudentFee.setLatestPaidTime(date);
|
|
|
+ musicGroupStudentFee.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
|
|
|
+ musicGroupStudentFee.setTemporaryCourseFee(new BigDecimal(0));
|
|
|
+ musicGroupStudentFeeDao.update(musicGroupStudentFee);
|
|
|
+ }
|
|
|
/*if (musicGroupPaymentCalender.getType().equals(MusicGroupPaymentCalender.FeeType.ONLINE)) {
|
|
|
Integer getRemainNetworkClassTimes = musicGroupStudentFee.getRemainNetworkClassTimes() == null ? 0 : musicGroupStudentFee.getRemainNetworkClassTimes();
|
|
|
musicGroupStudentFee.setRemainNetworkClassTimes(getRemainNetworkClassTimes + 1);
|
|
|
}*/
|
|
|
// musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, musicGroupStudentFee.getNextPaymentDate(), musicGroupStudentFee));
|
|
|
- musicGroupStudentFeeDao.update(musicGroupStudentFee);
|
|
|
+
|
|
|
|
|
|
//插入交易明细
|
|
|
SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
|
|
@@ -2625,4 +2573,63 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
roleIds.add(SysUserRole.SECTION_MANAGER);
|
|
|
sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, "", musicGroup.getName());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public List<StudentRegistration> addMusicGroupRegs(String musicGroupId, List<Long> registerIds) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
+ }
|
|
|
+ List<StudentRegistration> studentRegistrations = studentRegistrationDao.findStudentListByIdList(registerIds);
|
|
|
+ List<Integer> subjectIds = studentRegistrations.stream().map(StudentRegistration::getActualSubjectId).collect(Collectors.toList());
|
|
|
+ List<Subject> subjects = subjectDao.findBySubjectIds(subjectIds);
|
|
|
+ Map<Integer, List<Subject>> subjectMap = subjects.stream().collect(Collectors.groupingBy(Subject::getId));
|
|
|
+ List<MusicGroupSubjectPlan> musicSubjectClassPlans = musicGroupSubjectPlanDao.getMusicSubjectClassPlan(musicGroupId);
|
|
|
+
|
|
|
+ Map<Integer, List<StudentRegistration>> regsMap = studentRegistrations.stream().collect(Collectors.groupingBy(StudentRegistration::getActualSubjectId));
|
|
|
+ List<StudentRegistration> studentRegistrationList = new ArrayList<>();
|
|
|
+ regsMap.forEach((subjectId, regs) -> {
|
|
|
+ boolean hasSubject = false;
|
|
|
+ MusicGroupSubjectPlan subjectPlan = null;
|
|
|
+ for (MusicGroupSubjectPlan musicGroupSubjectPlan : musicSubjectClassPlans) {
|
|
|
+ if (!subjectId.equals(musicGroupSubjectPlan.getSubjectId())) continue;
|
|
|
+ hasSubject = true;
|
|
|
+ musicGroupSubjectPlan.setApplyStudentNum(regs.size());
|
|
|
+ subjectPlan = musicGroupSubjectPlan;
|
|
|
+ }
|
|
|
+ if (!hasSubject) {
|
|
|
+ String name = subjectMap.get(subjectId).get(0).getName();
|
|
|
+ throw new BizException("当前乐团没有学员包含的声部(" + name + ")");
|
|
|
+ }
|
|
|
+ //更新乐团声部计划信息
|
|
|
+ musicGroupSubjectPlanDao.update(subjectPlan);
|
|
|
+
|
|
|
+ for (StudentRegistration studentRegistration : regs) {
|
|
|
+ studentRegistration.setId(null);
|
|
|
+ studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.APPLY);
|
|
|
+ studentRegistration.setPaymentStatus(PaymentStatusEnum.NO);
|
|
|
+ studentRegistration.setMusicGroupId(musicGroupId);
|
|
|
+ studentRegistration.setSubjectId(subjectId);
|
|
|
+ studentRegistration.setActualSubjectId(subjectId);
|
|
|
+ studentRegistration.setTemporaryCourseFee(null);
|
|
|
+ }
|
|
|
+ studentRegistrationList.addAll(regs);
|
|
|
+ });
|
|
|
+
|
|
|
+ //添加的学生
|
|
|
+ if (studentRegistrationList.size() > 0) {
|
|
|
+ studentRegistrationDao.batchInsert(studentRegistrationList);
|
|
|
+ }
|
|
|
+
|
|
|
+ //修改乐团信息
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
|
|
|
+ musicGroup.setIsExtraClass(YesOrNoEnum.YES);
|
|
|
+ musicGroupDao.update(musicGroup);
|
|
|
+
|
|
|
+ musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "添加报名学员", sysUser.getId(), ""));
|
|
|
+
|
|
|
+ return studentRegistrationList;
|
|
|
+ }
|
|
|
+
|
|
|
}
|