|  | @@ -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());
 |