|
@@ -180,17 +180,17 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
.subtract(subjectChange.getOriginalMusicalPrice()).subtract(subjectChange.getOriginalAccessoriesPrice());
|
|
|
subjectChange.setGoodsMargin(goodsMargin);
|
|
|
subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
|
|
|
+ subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
|
|
|
//差价 <= 0
|
|
|
- if (subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin()).compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
+ BigDecimal amountMargin = subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin());
|
|
|
+ if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
|
|
|
subjectChange.setSellAmount(BigDecimal.ZERO);
|
|
|
subjectChange.setSellTime(nowDate);
|
|
|
}
|
|
|
//差价小于0退到余额
|
|
|
- if (subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin()).compareTo(BigDecimal.ZERO) < 0) {
|
|
|
- subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
|
|
|
- subjectChange.setSellAmount(BigDecimal.ZERO);
|
|
|
- subjectChange.setSellTime(nowDate);
|
|
|
+ if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
+ sysUserCashAccountService.updateBalance(subjectChange.getStudentId(), amountMargin.negate(), PlatformCashAccountDetailTypeEnum.REFUNDS, "声部更换退还");
|
|
|
}
|
|
|
subjectChange.setCreateTime(nowDate);
|
|
|
subjectChange.setUpdateTime(nowDate);
|