|
|
@@ -96,11 +96,22 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
if (subjectChange == null) {
|
|
|
return null;
|
|
|
}
|
|
|
+ List<StudentPaymentOrder> orders = studentPaymentOrderDao.findMusicGroupApplyOrderByStatus(subjectChange.getStudentId(), subjectChange.getMusicGroupId(), SUCCESS);
|
|
|
+ //获取原报名订单的乐器费用
|
|
|
if (subjectChange.getOriginalMusical() != null) {
|
|
|
- subjectChange.setOriginalMusicalGoods(goodsDao.get(subjectChange.getOriginalMusical()));
|
|
|
+ if(orders != null && orders.size() > 0){
|
|
|
+ List<Long> collect = orders.stream().map(e -> e.getId()).collect(Collectors.toList());
|
|
|
+ List<Goods> musical = studentPaymentOrderDetailDao.getGoodsSellPrice(collect, "MUSICAL");
|
|
|
+ if(musical != null && musical.size() > 0){
|
|
|
+ subjectChange.setOriginalMusicalGoods(musical.get(0));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
if (subjectChange.getOriginalAccessories() != null) {
|
|
|
- subjectChange.setOriginalAccessoriesGoods(goodsDao.findGoodsByIds(subjectChange.getOriginalAccessories()));
|
|
|
+ if(orders != null && orders.size() > 0){
|
|
|
+ List<Long> collect = orders.stream().map(e -> e.getId()).collect(Collectors.toList());
|
|
|
+ subjectChange.setOriginalAccessoriesGoods(studentPaymentOrderDetailDao.getGoodsSellPrice(collect,"ACCESSORIES"));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (subjectChange.getChangeMusical() != null) {
|
|
|
@@ -591,11 +602,11 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
subjectChange.setSellTime(nowDate);
|
|
|
|
|
|
//乐器辅件价差大于0时,有销售金额
|
|
|
- if (subjectChange.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.GROUP) && studentPaymentOrder.getActualAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
- BigDecimal sellAmount = studentPaymentOrder.getActualAmount().multiply(subjectChange.getGoodsMargin())
|
|
|
- .divide(studentPaymentOrder.getExpectAmount(), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- subjectChange.setSellAmount(sellAmount);
|
|
|
- }
|
|
|
+// if (subjectChange.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.GROUP) && studentPaymentOrder.getActualAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+// BigDecimal sellAmount = studentPaymentOrder.getActualAmount().multiply(subjectChange.getGoodsMargin())
|
|
|
+// .divide(studentPaymentOrder.getExpectAmount(), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+// subjectChange.setSellAmount(sellAmount);
|
|
|
+// }
|
|
|
|
|
|
if (this.update(subjectChange) <= 0) {
|
|
|
throw new BizException("维修单更新失败");
|
|
|
@@ -614,7 +625,16 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
sellOrderService.refundByOrderId(subjectChange.getOriginalOrderId().longValue(), false);
|
|
|
}
|
|
|
//添加新订单
|
|
|
- this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, studentPaymentOrder.getExpectAmount(), studentPaymentOrder.getBalancePaymentAmount(), subjectChange.getKitGroupPurchaseType());
|
|
|
+ List<SellOrder> sellOrders = this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, studentPaymentOrder.getExpectAmount(), studentPaymentOrder.getBalancePaymentAmount(), subjectChange.getKitGroupPurchaseType());
|
|
|
+ if(sellOrders != null && sellOrders.size() > 0){
|
|
|
+ SubjectChange change = subjectChangeDao.get(subjectChange.getId());
|
|
|
+ BigDecimal instrumentAmount = sellOrders.stream().filter(e -> e.getType() == SellTypeEnum.INSTRUMENT).map(e -> e.getExpectAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal accessoriesAmount = sellOrders.stream().filter(e -> e.getType() == SellTypeEnum.ACCESSORIES).map(e -> e.getExpectAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ change.setChangeMusicalPrice(instrumentAmount.add(change.getOriginalMusicalPrice()));
|
|
|
+ change.setChangeAccessoriesPrice(accessoriesAmount.add(change.getOriginalAccessoriesPrice()));
|
|
|
+ change.setSellAmount(instrumentAmount.add(accessoriesAmount));
|
|
|
+ subjectChangeDao.update(change);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//乐保处理
|