|
@@ -26,6 +26,7 @@ import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.enums.*;
|
|
|
import com.ym.mec.biz.event.source.GroupEventSource;
|
|
|
+import com.ym.mec.biz.service.*;
|
|
|
import org.apache.commons.lang3.ArrayUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
@@ -50,23 +51,6 @@ import com.ym.mec.biz.dal.dto.StudentInfo;
|
|
|
import com.ym.mec.biz.dal.dto.StudentMusicDetailDto;
|
|
|
import com.ym.mec.biz.dal.dto.StudentMusicGroupDto;
|
|
|
import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
|
|
|
-import com.ym.mec.biz.service.ClassGroupService;
|
|
|
-import com.ym.mec.biz.service.ClassGroupStudentMapperService;
|
|
|
-import com.ym.mec.biz.service.ContractService;
|
|
|
-import com.ym.mec.biz.service.CourseScheduleService;
|
|
|
-import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
|
|
|
-import com.ym.mec.biz.service.ImGroupMemberService;
|
|
|
-import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
|
|
|
-import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
|
|
|
-import com.ym.mec.biz.service.SellOrderService;
|
|
|
-import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
|
|
|
-import com.ym.mec.biz.service.StudentPaymentOrderService;
|
|
|
-import com.ym.mec.biz.service.StudentRegistrationService;
|
|
|
-import com.ym.mec.biz.service.SubjectService;
|
|
|
-import com.ym.mec.biz.service.SysConfigService;
|
|
|
-import com.ym.mec.biz.service.SysMessageService;
|
|
|
-import com.ym.mec.biz.service.SysUserCashAccountDetailService;
|
|
|
-import com.ym.mec.biz.service.SysUserCashAccountService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.entity.ImResult;
|
|
|
import com.ym.mec.common.entity.ImUserModel;
|
|
@@ -159,6 +143,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
@Autowired
|
|
|
private GroupEventSource groupEventSource;
|
|
|
+ @Autowired
|
|
|
+ private StudentInstrumentService studentInstrumentService;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, StudentRegistration> getDAO() {
|
|
@@ -330,7 +316,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
|
|
|
studentRegistration.setId(hasReg.getId());
|
|
|
studentRegistrationDao.update(studentRegistration);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
studentRegistrationDao.insert(studentRegistration);
|
|
|
}
|
|
|
//更新年级信息
|
|
@@ -583,7 +569,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
return null;
|
|
|
}
|
|
|
SysUserCashAccount account = sysUserCashAccountDao.getLocked(userId);
|
|
|
- registration.setBalance(account==null?BigDecimal.ZERO : account.getBalance());
|
|
|
+ registration.setBalance(account == null ? BigDecimal.ZERO : account.getBalance());
|
|
|
registration.setTransferStudent(0);
|
|
|
return registration;
|
|
|
}
|
|
@@ -754,30 +740,30 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
@Override
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
- public void insertStudent(String studentIds,String oldMusicGroupId,String newMusicGroupId,Map<Integer, List<MusicGroupPaymentCalenderStudentDetail>> collect){
|
|
|
+ public void insertStudent(String studentIds, String oldMusicGroupId, String newMusicGroupId, Map<Integer, List<MusicGroupPaymentCalenderStudentDetail>> collect) {
|
|
|
SysUser sysUser1 = sysUserFeignService.queryUserInfo();
|
|
|
//获取旧乐团学员注册信息
|
|
|
- List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryByUserIdsAndMusicGroupId(studentIds,oldMusicGroupId);
|
|
|
+ List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryByUserIdsAndMusicGroupId(studentIds, oldMusicGroupId);
|
|
|
List<StudentCourseFeeDetail> studentCourseFeeDetails = new ArrayList<>();
|
|
|
BigDecimal amount = BigDecimal.ZERO;
|
|
|
for (StudentRegistration studentRegistration : studentRegistrations) {
|
|
|
List<MusicGroupPaymentCalenderStudentDetail> details = collect.get(studentRegistration.getUserId());
|
|
|
- BigDecimal masterTotalPrice = details.stream().map(e->e.getCutAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- if(masterTotalPrice.doubleValue() > studentRegistration.getSurplusCourseFee().doubleValue()){
|
|
|
+ BigDecimal masterTotalPrice = details.stream().map(e -> e.getCutAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (masterTotalPrice.doubleValue() > studentRegistration.getSurplusCourseFee().doubleValue()) {
|
|
|
throw new BizException("用户信息发生变动,请重新提交");
|
|
|
}
|
|
|
- if(oldMusicGroupId == newMusicGroupId){
|
|
|
+ if (oldMusicGroupId == newMusicGroupId) {
|
|
|
continue;
|
|
|
}
|
|
|
- courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(oldMusicGroupId),null, GroupType.MUSIC);
|
|
|
+ courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(oldMusicGroupId), null, GroupType.MUSIC);
|
|
|
//记录课程余额消费日志
|
|
|
- if(studentRegistration.getSurplusCourseFee().doubleValue() > 0d && masterTotalPrice.doubleValue() > 0d){
|
|
|
+ if (studentRegistration.getSurplusCourseFee().doubleValue() > 0d && masterTotalPrice.doubleValue() > 0d) {
|
|
|
StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
|
|
|
- if(studentRegistration.getSurplusCourseFee().doubleValue() > masterTotalPrice.doubleValue()){
|
|
|
+ if (studentRegistration.getSurplusCourseFee().doubleValue() > masterTotalPrice.doubleValue()) {
|
|
|
amount = masterTotalPrice;
|
|
|
studentCourseFeeDetail.setAmount(masterTotalPrice.negate());
|
|
|
studentCourseFeeDetail.setSurplusCourseFee(studentRegistration.getSurplusCourseFee().subtract(masterTotalPrice));
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
amount = studentRegistration.getSurplusCourseFee();
|
|
|
studentCourseFeeDetail.setAmount(studentRegistration.getSurplusCourseFee().negate());
|
|
|
studentCourseFeeDetail.setSurplusCourseFee(BigDecimal.ZERO);
|
|
@@ -794,7 +780,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
//用户是否在主乐团
|
|
|
StudentRegistration registration = studentRegistrationDao.getByPhoneAndMusicGroupId(newMusicGroupId, studentRegistration.getParentsPhone());
|
|
|
if (registration != null) {
|
|
|
- if(registration.getMusicGroupStatus() == StudentMusicGroupStatusEnum.NORMAL){
|
|
|
+ if (registration.getMusicGroupStatus() == StudentMusicGroupStatusEnum.NORMAL) {
|
|
|
orderFlag = false;
|
|
|
}
|
|
|
//修改剩余课程余额
|
|
@@ -804,7 +790,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
registration.setUpdateTime(date);
|
|
|
registration.setSurplusCourseFee(registration.getSurplusCourseFee().add(amount));
|
|
|
studentRegistrationDao.update(registration);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//生成学员乐团注册表
|
|
|
studentRegistration.setOrganId(musicGroupDao.get(newMusicGroupId).getOrganId());
|
|
|
studentRegistration.setSurplusCourseFee(amount);
|
|
@@ -815,11 +801,11 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
//增加报名学生数
|
|
|
musicGroupSubjectPlanService.addApplyStudentNum(newMusicGroupId, studentRegistration.getActualSubjectId(), 1);
|
|
|
//新增Fee表
|
|
|
- MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(studentRegistration.getUserId(),newMusicGroupId);
|
|
|
- if(musicGroupStudentFee == null){
|
|
|
+ MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(studentRegistration.getUserId(), newMusicGroupId);
|
|
|
+ if (musicGroupStudentFee == null) {
|
|
|
musicGroupStudentFee = new MusicGroupStudentFee(newMusicGroupId,
|
|
|
- studentRegistration.getUserId(), studentRegistration.getSubjectId(),BigDecimal.ZERO,
|
|
|
- null, studentRegistration.getTemporaryCourseFee(), studentRegistration.getPaymentStatus()==YES?PAID_COMPLETED:NON_PAYMENT);
|
|
|
+ studentRegistration.getUserId(), studentRegistration.getSubjectId(), BigDecimal.ZERO,
|
|
|
+ null, studentRegistration.getTemporaryCourseFee(), studentRegistration.getPaymentStatus() == YES ? PAID_COMPLETED : NON_PAYMENT);
|
|
|
musicGroupStudentFeeDao.insert(musicGroupStudentFee);
|
|
|
}
|
|
|
}
|
|
@@ -829,7 +815,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
waitPayOrder.setStatus(DealStatusEnum.CLOSE);
|
|
|
studentPaymentOrderService.update(waitPayOrder);
|
|
|
}
|
|
|
- if(orderFlag){
|
|
|
+ if (orderFlag) {
|
|
|
//生成订单
|
|
|
StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
|
|
|
studentPaymentOrder.setUserId(registration.getUserId());
|
|
@@ -846,7 +832,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentPaymentOrderService.insert(studentPaymentOrder);
|
|
|
}
|
|
|
//主班新增余额日志
|
|
|
- if(amount.doubleValue() != 0d && masterTotalPrice.doubleValue() > 0d){
|
|
|
+ if (amount.doubleValue() != 0d && masterTotalPrice.doubleValue() > 0d) {
|
|
|
StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
|
|
|
studentCourseFeeDetail.setAmount(amount);
|
|
|
studentCourseFeeDetail.setSurplusCourseFee(registration.getSurplusCourseFee());
|
|
@@ -856,7 +842,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentCourseFeeDetails.add(studentCourseFeeDetail);
|
|
|
}
|
|
|
}
|
|
|
- if(studentCourseFeeDetails.size() > 0){
|
|
|
+ if (studentCourseFeeDetails.size() > 0) {
|
|
|
studentCourseFeeDetailDao.batchInsert(studentCourseFeeDetails);
|
|
|
}
|
|
|
}
|
|
@@ -1073,8 +1059,13 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
sellOrderService.addOrderDetail2SellOrder(orderDetails, studentPaymentOrder, musicGroup);
|
|
|
}
|
|
|
|
|
|
+ //课程处理
|
|
|
addCalenderDetail(studentPaymentOrder, studentRegistration);
|
|
|
|
|
|
+ //学生乐器与月保处理
|
|
|
+ studentInstrumentService.addOrderDetail2Instrument(studentPaymentOrder);
|
|
|
+
|
|
|
+ //合并学员处理
|
|
|
if (studentRegistration.getIsMerge().equals(1) && studentPaymentOrder.getExpectAmount().compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
return studentPaymentOrder;
|
|
|
}
|
|
@@ -1348,7 +1339,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public StudentRegistration updateStudent(StudentRegistration studentRegistration) {
|
|
|
- if(StringUtils.isBlank(studentRegistration.getCertificateType())){
|
|
|
+ if (StringUtils.isBlank(studentRegistration.getCertificateType())) {
|
|
|
studentRegistration.setCertificateType(CertificateTypeEnum.IDENTITY.getCode());
|
|
|
}
|
|
|
StudentRegistration student = get(studentRegistration.getId());
|
|
@@ -1367,7 +1358,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentInfo.setCurrentClass(studentRegistration.getCurrentClass());
|
|
|
studentDao.update(studentInfo);
|
|
|
// 添加用户电子签章账户
|
|
|
- if(CertificateTypeEnum.IDENTITY.getCode().equals(studentRegistration.getCertificateType())){
|
|
|
+ if (CertificateTypeEnum.IDENTITY.getCode().equals(studentRegistration.getCertificateType())) {
|
|
|
contractService.register(student.getUserId(), student.getParentsName(), student.getIdCardNo(), student.getParentsPhone());
|
|
|
}
|
|
|
return student;
|
|
@@ -1555,10 +1546,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
return amount;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public List<StudentMusicGroupDto> queryStudentMusicGroupInfo(Integer userId) {
|
|
|
- return studentRegistrationDao.queryStudentMusicGroupInfo(userId);
|
|
|
- }
|
|
|
+ @Override
|
|
|
+ public List<StudentMusicGroupDto> queryStudentMusicGroupInfo(Integer userId) {
|
|
|
+ return studentRegistrationDao.queryStudentMusicGroupInfo(userId);
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -1579,8 +1570,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
public Boolean batchDelRegs(String musicGroupId, List<Integer> userIds) {
|
|
|
List<StudentRegistration> registrations = studentRegistrationDao.findStudentListByUserIdList(musicGroupId, userIds);
|
|
|
for (StudentRegistration registration : registrations) {
|
|
|
- if(registration.getPaymentStatus().equals(PaymentStatusEnum.OPEN)||registration.getPaymentStatus().equals(PaymentStatusEnum.YES)){
|
|
|
- throw new BizException(registration.getName()+"("+registration.getPaymentStatus().getDesc()+"),不能删除");
|
|
|
+ if (registration.getPaymentStatus().equals(PaymentStatusEnum.OPEN) || registration.getPaymentStatus().equals(PaymentStatusEnum.YES)) {
|
|
|
+ throw new BizException(registration.getName() + "(" + registration.getPaymentStatus().getDesc() + "),不能删除");
|
|
|
}
|
|
|
}
|
|
|
if (registrations.size() <= 0) {
|
|
@@ -1608,6 +1599,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
@Override
|
|
|
public List<StudentRegistration> getMusicGroupStuReBack(String musicGroupId) {
|
|
|
courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), null, GroupType.MUSIC);
|
|
|
- return this.findMusicGroupStudent(musicGroupId,null);
|
|
|
+ return this.findMusicGroupStudent(musicGroupId, null);
|
|
|
}
|
|
|
}
|