|
@@ -574,7 +574,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
throw new GlobalException("积分商品,无法退款");
|
|
|
}
|
|
|
if (Objects.equals(orderRefundParam.getRefundType(), RefundType.ALL.value()) && (!Objects.isNull(order.getRefundStatus()) && !Objects.equals(order.getRefundStatus(), RefundStatusEnum.DISAGREE.value()))) {
|
|
|
- throw new GlobalException("该订单已有商品正在退款中,不能再进行整单退款");
|
|
|
+ throw new GlobalException("77该订单已有商品正在退款中,不能再进行整单退款");
|
|
|
}
|
|
|
// 生成退款单信息
|
|
|
OrderRefund newOrderRefund = new OrderRefund();
|
|
@@ -760,7 +760,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
* @return rReturnMoneySts
|
|
|
*/
|
|
|
@Override
|
|
|
- public String applyAgain(OrderRefundParam orderRefundParam, Integer rReturnMoneySts) {
|
|
|
+ public OrderRefund applyAgain(OrderRefundParam orderRefundParam, Integer rReturnMoneySts) {
|
|
|
log.info(" 海博申请退款参数:{}", JSONObject.toJSONString(orderRefundParam));
|
|
|
List<OrderRefundSku> orderRefundSkuList = orderRefundParam.getOrderRefundSkuList();
|
|
|
|
|
@@ -772,7 +772,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
|
|
|
|
|
if (Objects.equals(orderRefundParam.getRefundType(), RefundType.ALL.value()) && (!Objects.isNull(order.getRefundStatus()) && !Objects.equals(order.getRefundStatus(), RefundStatusEnum.DISAGREE.value()))) {
|
|
|
- throw new GlobalException("该订单已有商品正在退款中,不能再进行整单退款");
|
|
|
+ throw new GlobalException("88该订单已有商品正在退款中,不能再进行整单退款");
|
|
|
}
|
|
|
|
|
|
OrderRefund newOrderRefund = new OrderRefund();
|
|
@@ -795,7 +795,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
// 判断退款单类型(1:整单退款,2:单个物品退款)
|
|
|
|
|
|
|
|
|
- //TODO 待处理 全部和部分退款积分问题
|
|
|
+
|
|
|
if (orderRefundParam.getRefundType().equals(RefundType.ALL.value())) {
|
|
|
// 全部物品退款
|
|
|
// 计算该订单项的分销金额
|
|
@@ -840,19 +840,19 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
|
|
|
// 判断退款金额是否超出订单金额
|
|
|
- double refundSingleAmount = Arith.div(orderRefundParam.getRefundAmount(), orderRefundParam.getGoodsNum(), 3);
|
|
|
- double singleAmount = Arith.div(orderItem.getActualTotal(), orderItem.getProdCount(), 3);
|
|
|
- if (refundSingleAmount > orderItem.getProductTotalAmount() || refundSingleAmount > singleAmount) {
|
|
|
- throw new GlobalException("退款金额已超出订单金额,无法申请");
|
|
|
- }
|
|
|
+// double refundSingleAmount = Arith.div(orderRefundParam.getRefundAmount(), orderRefundParam.getGoodsNum(), 3);
|
|
|
+// double singleAmount = Arith.div(orderItem.getActualTotal(), orderItem.getProdCount(), 3);
|
|
|
+// if (refundSingleAmount > orderItem.getProductTotalAmount() || refundSingleAmount > singleAmount) {
|
|
|
+// throw new GlobalException("退款金额已超出订单金额,无法申请");
|
|
|
+// }
|
|
|
|
|
|
// 待发货状态-最后一件商品进行退款,退款金额 = 商品金额 + 订单运费金额
|
|
|
- if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
|
|
|
- int orderItenCount = orderItemService.count(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
|
|
|
- if (Objects.equals(orderRefunds.size(), orderItenCount - 1)) {
|
|
|
- newOrderRefund.setRefundAmount(Arith.add(newOrderRefund.getRefundAmount(), order.getFreightAmount()));
|
|
|
- }
|
|
|
- }
|
|
|
+// if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
|
|
|
+// int orderItenCount = orderItemService.count(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
|
|
|
+// if (Objects.equals(orderRefunds.size(), orderItenCount - 1)) {
|
|
|
+// newOrderRefund.setRefundAmount(Arith.add(newOrderRefund.getRefundAmount(), order.getFreightAmount()));
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
newOrderRefund.setShopId(order.getShopId());
|
|
@@ -863,7 +863,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
newOrderRefund.setRefundType(orderRefundParam.getRefundType());
|
|
|
newOrderRefund.setRefundAmount(orderRefundParam.getRefundAmount());
|
|
|
|
|
|
-
|
|
|
newOrderRefund.setGoodsNum(orderRefundParam.getGoodsNum());
|
|
|
newOrderRefund.setApplyType(orderRefundParam.getApplyType());
|
|
|
if (Objects.equals(orderRefundParam.getApplyType(), 2)) {
|
|
@@ -880,7 +879,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
newOrderRefund.setUpdateTime(new Date());
|
|
|
log.info("生成退款单:{}", newOrderRefund);
|
|
|
|
|
|
-
|
|
|
// 生成退款单
|
|
|
orderRefundMapper.insert(newOrderRefund);
|
|
|
// 更新订单状态
|
|
@@ -898,7 +896,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderRefundSkuMapper.insert(c);
|
|
|
});
|
|
|
}
|
|
|
- return newOrderRefund.getRefundSn();
|
|
|
+
|
|
|
+ return newOrderRefund;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -927,7 +926,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
OrderSettlement orderSettlement = orderSettlementMapper.selectOne(new LambdaQueryWrapper<OrderSettlement>()
|
|
|
.eq(OrderSettlement::getOrderNumber, order.getOrderNumber())
|
|
|
.eq(OrderSettlement::getPayType, 1));
|
|
|
- if (order.getOffsetPoints() > 0) {//混合支付
|
|
|
+ if (ObjectUtil.isNotEmpty(order.getOffsetPoints()) && order.getOffsetPoints() > 0) {//混合支付
|
|
|
//退钱
|
|
|
RefundInfoPo po = new RefundInfoPo();
|
|
|
po.setOutTradeNo(orderSettlement.getPayNo());
|