|
@@ -23,6 +23,7 @@ import javax.annotation.Resource;
|
|
|
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.dto.*;
|
|
|
+import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.page.*;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.common.constant.CommonConstants;
|
|
@@ -43,34 +44,6 @@ 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.auth.api.enums.CertificateTypeEnum;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
|
|
|
-import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
|
|
|
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseSchedule;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
|
|
|
-import com.ym.mec.biz.dal.entity.Goods;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
-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.MusicGroupPaymentCalenderStudentDetail;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
|
|
|
-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.OrganizationCloudTeacherFee;
|
|
|
-import com.ym.mec.biz.dal.entity.Student;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentCourseFeeDetail;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentInstrument;
|
|
|
-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.Subject;
|
|
|
-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.ClassGroupStudentStatusEnum;
|
|
|
import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
|
|
|
import com.ym.mec.biz.dal.enums.CourseStatusEnum;
|
|
@@ -198,6 +171,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
private SysUserCashAccountLogService sysUserCashAccountLogService;
|
|
|
@Autowired
|
|
|
private ActivityUserMapperService activityUserMapperService;
|
|
|
+ @Autowired
|
|
|
+ private MusicGroupPaymentCalenderActivityService musicGroupPaymentCalenderActivityService;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, StudentRegistration> getDAO() {
|
|
@@ -585,9 +560,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel,
|
|
|
List<MusicGroupSubjectGoodsGroup> goodsGroups, BigDecimal remitFee, BigDecimal courseRemitFee,
|
|
|
- List<MusicGroupPaymentCalenderCourseSettings> newCourses, Boolean buyMaintenance, Boolean buyCloudTeacher, Boolean buyCloudTeacherPlus,List<Integer> couponIdList) throws Exception {
|
|
|
+ List<MusicGroupPaymentCalenderCourseSettings> newCourses, RegisterPayDto registerPayDto,Long calenderId) throws Exception {
|
|
|
Date date = new Date();
|
|
|
- StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(couponIdList,amount,true);
|
|
|
+ StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(registerPayDto.getCouponIdList(),amount,true);
|
|
|
studentPaymentOrder.setUserId(studentRegistration.getUserId());
|
|
|
studentPaymentOrder.setGroupType(GroupType.MUSIC);
|
|
|
studentPaymentOrder.setOrderNo(orderNo);
|
|
@@ -595,6 +570,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentPaymentOrder.setStatus(DealStatusEnum.ING);
|
|
|
studentPaymentOrder.setPaymentChannel(paymentChannel);
|
|
|
studentPaymentOrder.setMusicGroupId(studentRegistration.getMusicGroupId());
|
|
|
+ studentPaymentOrder.setCalenderId(calenderId);
|
|
|
studentPaymentOrderService.insert(studentPaymentOrder);
|
|
|
|
|
|
ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
|
|
@@ -619,7 +595,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
BigDecimal goodsPrice = new BigDecimal(0);
|
|
|
|
|
|
- if(studentRegistration.getOrganId() == 55 && (newCourses == null || newCourses.size() == 0) && !(buyCloudTeacher || buyCloudTeacherPlus)){
|
|
|
+ if(studentRegistration.getOrganId() == 55 && (newCourses == null || newCourses.size() == 0) && !registerPayDto.getBuyCloudTeacher()){
|
|
|
//取商品零售价
|
|
|
if (StringUtils.isNotBlank(goodsGroup.getGoodsIdList())) {
|
|
|
List<Goods> goodsList = goodsDao.findGoodsByIds(goodsGroup.getGoodsIdList());
|
|
@@ -631,7 +607,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
goodsPrice = goodsGroup.getPrice();
|
|
|
}
|
|
|
studentPaymentOrderDetail4goodsGroup.setPrice(goodsPrice);
|
|
|
-
|
|
|
studentPaymentOrderDetail4goodsGroup.setGoodsIdList(goodsGroup.getGoodsIdList());
|
|
|
studentPaymentOrderDetail4goodsGroup.setCreateTime(date);
|
|
|
studentPaymentOrderDetail4goodsGroup.setUpdateTime(date);
|
|
@@ -662,7 +637,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentPaymentOrderDetailList.add(studentPaymentOrderDetailCourse);
|
|
|
}
|
|
|
}
|
|
|
- if (buyMaintenance) {
|
|
|
+ //乐保
|
|
|
+ if (registerPayDto.getBuyMaintenance()) {
|
|
|
if ("".equals(maintenanceGoodsId)) {
|
|
|
throw new BizException("有乐器才能购买乐保,请核查");
|
|
|
}
|
|
@@ -681,11 +657,28 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
maintenanceOrderDetail.setIsRenew(0);
|
|
|
studentPaymentOrderDetailList.add(maintenanceOrderDetail);
|
|
|
}
|
|
|
-
|
|
|
+ //活动
|
|
|
+ List<Long> buyCalenderActivityId = registerPayDto.getBuyCalenderActivityId();
|
|
|
+ if (buyCalenderActivityId != null && buyCalenderActivityId.size() > 0) {
|
|
|
+ List<MusicGroupPaymentCalenderActivity> calenderActivities = musicGroupPaymentCalenderActivityService.findByIds(buyCalenderActivityId);
|
|
|
+ for (MusicGroupPaymentCalenderActivity calenderActivity : calenderActivities) {
|
|
|
+ StudentPaymentOrderDetail maintenanceOrderDetail = new StudentPaymentOrderDetail();
|
|
|
+ maintenanceOrderDetail.setType("网管课".equals(calenderActivity.getCategoryName())?PRACTICE:VIP);
|
|
|
+ maintenanceOrderDetail.setPrice(calenderActivity.getActualAmount());
|
|
|
+ maintenanceOrderDetail.setRemitFee(BigDecimal.ZERO);
|
|
|
+ maintenanceOrderDetail.setCreateTime(date);
|
|
|
+ maintenanceOrderDetail.setUpdateTime(date);
|
|
|
+ maintenanceOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
+ maintenanceOrderDetail.setIsRenew(0);
|
|
|
+ //保存的是活动编号
|
|
|
+ maintenanceOrderDetail.setStudentInstrumentId(calenderActivity.getId());
|
|
|
+ studentPaymentOrderDetailList.add(maintenanceOrderDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
|
|
|
|
|
|
//云教练/云教练+
|
|
|
- if (buyCloudTeacher || buyCloudTeacherPlus) {
|
|
|
+ if (registerPayDto.getBuyCloudTeacher()) {
|
|
|
|
|
|
BigDecimal cloudTeacherPrice = BigDecimal.ZERO;
|
|
|
|
|
@@ -700,7 +693,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
|
|
|
}
|
|
|
-
|
|
|
OrderDetailTypeEnum orderDetailTypeEnum = OrderDetailTypeEnum.CLOUD_TEACHER;
|
|
|
StudentPaymentOrderDetail cloudTeacherOrderDetail = new StudentPaymentOrderDetail();
|
|
|
cloudTeacherOrderDetail.setType(orderDetailTypeEnum);
|
|
@@ -726,7 +718,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
|
|
|
int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
|
|
|
- if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !buyCloudTeacher && StringUtils.isBlank(maintenanceGoodsId))) {
|
|
|
+ if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !registerPayDto.getBuyCloudTeacher() && StringUtils.isBlank(maintenanceGoodsId))) {
|
|
|
if (studentRegistration.getPaymentStatus() != YES) {
|
|
|
paidZeroFlag = true;
|
|
|
}
|