|
@@ -2839,6 +2839,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
public boolean updateOrderCost(TopUpdateCostBo bo) {
|
|
|
bo.getOrderSnList().forEach(orderSn -> {
|
|
|
TopOldOrder order = baseMapper.getOrderBySn(orderSn);
|
|
|
+ if (order.getFinishStatus() == 1){
|
|
|
+ throw new CustomException("订单已完单!请勿修改成本项");
|
|
|
+ }
|
|
|
+ if (order.getRefundStatus() != 1){
|
|
|
+ throw new CustomException("订单已产生退款!请勿修改成本项");
|
|
|
+ }
|
|
|
//重新匹配成本和盈亏
|
|
|
if (order.getOrderFrom() == 1) {
|
|
|
//新系统订单
|
|
@@ -2989,6 +2995,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
.eq(TopOldOrderGoods::getOrderSn, orderSn)
|
|
|
.in(TopOldOrderGoods::getCheckStatus,Arrays.asList(0,1))
|
|
|
.eq(TopOldOrderGoods::getStatus, 1));
|
|
|
+ if (CollectionUtils.isEmpty(orderGoodsList)){
|
|
|
+ throw new CustomException(String.format("订单商品信息获取未空!请检查【%s】",orderSn));
|
|
|
+ }
|
|
|
if (ObjectUtils.isNotNull(order.getPretaxBrokerage()) && order.getPretaxBrokerage().compareTo(BigDecimal.ZERO) != 0){
|
|
|
halveBrokerage = brokerage.divide(new BigDecimal(orderGoodsList.size()),4,BigDecimal.ROUND_DOWN);
|
|
|
}
|
|
@@ -3190,15 +3199,18 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
.set(TopOldOrderGoods::getCheckStatus,-1) //已退学
|
|
|
.in(TopOldOrderGoods::getOrderGoodsId,list.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList())));
|
|
|
order.setRefundStatus(3);//支付成功
|
|
|
+
|
|
|
+// BigDecimal add = BigDecimal.ZERO;
|
|
|
+// BigDecimal reduce = list.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+// if (ObjectUtils.isNotNull(order.getOrderRefunded())){
|
|
|
+// add = order.getOrderRefunded().add(reduce);
|
|
|
+// }else {
|
|
|
+// add = reduce;
|
|
|
+// }
|
|
|
+// order.setOrderRefunded(add);//已退金额
|
|
|
//已退金额
|
|
|
- BigDecimal add = BigDecimal.ZERO;
|
|
|
- BigDecimal reduce = list.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- if (ObjectUtils.isNotNull(order.getOrderRefunded())){
|
|
|
- add = order.getOrderRefunded().add(reduce);
|
|
|
- }else {
|
|
|
- add = reduce;
|
|
|
- }
|
|
|
- order.setOrderRefunded(add);//已退金额
|
|
|
+ BigDecimal add = order.getOrderRefunded().add(bankPay.getMoney());
|
|
|
+ order.setOrderRefunded(add);
|
|
|
//实际账款 = 已收 - 已退
|
|
|
BigDecimal subtract = order.getOrderReceived().subtract(order.getOrderRefunded());
|
|
|
BigDecimal profitTotal = subtract.subtract(order.getOrderCost());
|