|
@@ -1,6 +1,8 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import static com.ym.mec.biz.dal.enums.DealStatusEnum.SUCCESS;
|
|
|
+import static com.ym.mec.biz.dal.enums.GroupType.SUBJECT_CHANGE;
|
|
|
+import static com.ym.mec.biz.dal.enums.GroupType.VIP;
|
|
|
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.dto.SubjectChangeParamDto;
|
|
@@ -82,6 +84,8 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
|
|
|
@Autowired
|
|
|
private SysCouponCodeService sysCouponCodeService;
|
|
|
+ @Autowired
|
|
|
+ private SysUserCashAccountLogDao sysUserCashAccountLogDao;
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
|
@@ -175,7 +179,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(subjectChangeParamDto.getCouponIdList(),amount,true);
|
|
|
amount = studentPaymentOrder.getActualAmount();
|
|
|
studentPaymentOrder.setUserId(subjectChange.getStudentId());
|
|
|
- studentPaymentOrder.setGroupType(GroupType.SUBJECT_CHANGE);
|
|
|
+ studentPaymentOrder.setGroupType(SUBJECT_CHANGE);
|
|
|
studentPaymentOrder.setOrderNo(orderNo);
|
|
|
studentPaymentOrder.setType(OrderTypeEnum.SUBJECT_CHANGE);
|
|
|
studentPaymentOrder.setStatus(DealStatusEnum.ING);
|
|
@@ -337,21 +341,30 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
subjectChange.setSellAmount(BigDecimal.ZERO);
|
|
|
subjectChange.setSellTime(nowDate);
|
|
|
}
|
|
|
- //差价小于0退到余额
|
|
|
- if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
- sysUserCashAccountService.updateBalance(subjectChange.getStudentId(), amountMargin.negate(), PlatformCashAccountDetailTypeEnum.REFUNDS, "声部更换退还");
|
|
|
- studentRegistrationService.changeStudentSubject(subjectChange.getStudentId(), subjectChange.getMusicGroupId(), subjectChange.getOriginalSubjectId(), subjectChange.getChangeSubjectId());
|
|
|
- }
|
|
|
subjectChange.setCreateTime(nowDate);
|
|
|
subjectChange.setUpdateTime(nowDate);
|
|
|
subjectChange.setVersion(0);
|
|
|
subjectChangeDao.insert(subjectChange);
|
|
|
+ //差价小于0退到余额
|
|
|
+ if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
+// sysUserCashAccountService.updateBalance(subjectChange.getStudentId(), amountMargin.negate(), PlatformCashAccountDetailTypeEnum.REFUNDS, "声部更换退还");
|
|
|
+ SysUserCashAccountLog sysUserCashAccountLog = new SysUserCashAccountLog();
|
|
|
+ sysUserCashAccountLog.setUserId(subjectChange.getStudentId());
|
|
|
+ sysUserCashAccountLog.setGroupType(SUBJECT_CHANGE);
|
|
|
+ sysUserCashAccountLog.setOrganId(subjectChange.getOrganId());
|
|
|
+ sysUserCashAccountLog.setGroupId(subjectChange.getId().toString());
|
|
|
+ sysUserCashAccountLog.setAmount(amountMargin);
|
|
|
+ sysUserCashAccountLog.setReturnFeeType(ReturnFeeEnum.SUBJECT_CHANGE);
|
|
|
+ sysUserCashAccountLog.setComment("声部更换退还");
|
|
|
+ sysUserCashAccountLogDao.insert(sysUserCashAccountLog);
|
|
|
+ studentRegistrationService.changeStudentSubject(subjectChange.getStudentId(), subjectChange.getMusicGroupId(), subjectChange.getOriginalSubjectId(), subjectChange.getChangeSubjectId());
|
|
|
+ }
|
|
|
|
|
|
if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
String orderNo = idGeneratorService.generatorId("payment") + "";
|
|
|
StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
|
|
|
studentPaymentOrder.setUserId(subjectChange.getStudentId());
|
|
|
- studentPaymentOrder.setGroupType(GroupType.SUBJECT_CHANGE);
|
|
|
+ studentPaymentOrder.setGroupType(SUBJECT_CHANGE);
|
|
|
studentPaymentOrder.setOrderNo(orderNo);
|
|
|
studentPaymentOrder.setType(OrderTypeEnum.SUBJECT_CHANGE);
|
|
|
studentPaymentOrder.setExpectAmount(BigDecimal.ZERO);
|