zhanghui 6 месяцев назад
Родитель
Сommit
e23c8b2581

+ 7 - 7
src/main/java/org/springblade/modules/api/controller/ApiAfterSalesController.java

@@ -100,13 +100,13 @@ public class ApiAfterSalesController {
         return R.success("ok");
     }
 
-    @ApiOperationSupport(order = 6)
-    @ApiOperation(value = "同意售后")
-    @PostMapping("agree")
-    public R agree(@RequestParam("afterSalesNo") String afterSalesNo) {
-        afterSalesService.agree(afterSalesNo);
-        return R.success("ok");
-    }
+//    @ApiOperationSupport(order = 6)
+//    @ApiOperation(value = "同意售后")
+//    @PostMapping("agree")
+//    public R agree(@RequestParam("afterSalesNo") String afterSalesNo) {
+//        afterSalesService.agree(afterSalesNo);
+//        return R.success("ok");
+//    }
 
     @ApiOperationSupport(order = 7)
     @ApiOperation(value = "驳回售后")

+ 14 - 14
src/main/java/org/springblade/modules/api/controller/ApiOrderController.java

@@ -82,18 +82,18 @@ public class ApiOrderController extends BladeController {
         return R.success("订单已取消");
     }
 
-    @Transactional(rollbackFor = Exception.class)
-    @PostMapping("/return-goods")
-    @ApiOperationSupport(order = 12)
-    @ApiOperation(value = "申请退货", notes = "传入订单号")
-    public R afterSales(@RequestParam("orderId")Long orderId,
-                        @RequestParam("reason") String reason) {
-        Order order = orderService.getById(orderId);
-        Assert.notNull(order, "订单数据不存在");
-        afterSalesService.add(orderId, reason, AfterSalesTypeEnum.RETURN_GOODS);
-
-        order.setOrderState(OrderStateEnum.AFTER_SALES.getValue());
-        orderService.updateById(order);
-        return success("操作成功");
-    }
+//    @Transactional(rollbackFor = Exception.class)
+//    @PostMapping("/return-goods")
+//    @ApiOperationSupport(order = 12)
+//    @ApiOperation(value = "申请退货", notes = "传入订单号")
+//    public R afterSales(@RequestParam("orderId")Long orderId,
+//                        @RequestParam("reason") String reason) {
+//        Order order = orderService.getById(orderId);
+//        Assert.notNull(order, "订单数据不存在");
+//        afterSalesService.add(orderId, reason, AfterSalesTypeEnum.RETURN_GOODS);
+//
+//        order.setOrderState(OrderStateEnum.AFTER_SALES.getValue());
+//        orderService.updateById(order);
+//        return success("操作成功");
+//    }
 }

+ 7 - 19
src/main/java/org/springblade/modules/finance/controller/AfterSalesController.java

@@ -74,12 +74,9 @@ public class AfterSalesController extends BladeController {
 	public R<AfterSalesVO> detail(AfterSales afterSales) {
 		AfterSalesVO vo = afterSalesService.getUserAfterSalesDetail(afterSales.getId());
 		vo.setOrderNo(vo.getOrder().getOrderNo());
-		if (AfterSalesTypeEnum.RETURN_GOODS.getValue().equals(vo.getType())) {
-			for (OrderGoods goods : vo.getGoodsList()) {
-				goods.setGoodsNum(vo.getReturnGoodsNum());
-			}
+		for (OrderGoods goods : vo.getGoodsList()) {
+			goods.setGoodsNum(vo.getReturnGoodsNum());
 		}
-
 		return R.data(vo);
 	}
 
@@ -149,7 +146,7 @@ public class AfterSalesController extends BladeController {
 		return R.status(afterSalesService.saveOrUpdate(afterSales));
 	}
 
-	
+
 	/**
 	 * 删除 售后表
 	 */
@@ -194,24 +191,15 @@ public class AfterSalesController extends BladeController {
 	public R refundApply(@RequestParam Long afterSalesId, @RequestParam Integer auditStatus, @RequestParam String remark) {
 		AfterSales afterSales = afterSalesService.getById(afterSalesId);
 		Assert.notNull(afterSales, "售后数据不存在");
-
+		Order order = orderService.getById(afterSales.getOrderId());
+		Assert.notNull(order, "订单数据不存在");
 		if (YesOrNoEnum.YES.getValue().equals(afterSales.getRefundState())) {
 			throw new ServiceException("该售后订单已退款");
 		}
 		// 通过
 		if (auditStatus == 1) {
-			Order order = orderService.getById(afterSales.getOrderId());
-			if (AfterSalesTypeEnum.REFUND.getValue().equals(afterSales.getType())) {
-				afterSales.setRefundState(2);// 退款中
-				Assert.notNull(order, "订单数据不存在");
-				orderService.commonRefund(order, afterSalesId);
-			} else if (AfterSalesTypeEnum.RETURN_GOODS.getValue().equals(afterSales.getType())) {
-				afterSalesService.confirm(order.getId(), afterSalesId);
-			} else if (AfterSalesTypeEnum.PART_REFUND.getValue().equals(afterSales.getType())) {
-				afterSalesService.agree(afterSales.getAfterSalesNo());
-			} else {
-				return R.fail("参数异常");
-			}
+			afterSales.setRefundState(2);// 退款中
+			orderService.commonRefund(order, afterSalesId);
 		} else if (auditStatus == 2) {// 驳回
 			afterSales.setStatus(AfterSalesStatusEnum.REFUSE.getValue());
 			afterSales.setRefuseReason(remark);

+ 1 - 1
src/main/java/org/springblade/modules/finance/service/IAfterSalesService.java

@@ -55,7 +55,7 @@ public interface IAfterSalesService extends IService<AfterSales> {
 	 * 同意售后
 	 * @param afterSalesNo
 	 */
-	void agree(String afterSalesNo);
+//	void agree(String afterSalesNo);
 
 	/**
 	 * 拒绝售后

+ 31 - 77
src/main/java/org/springblade/modules/finance/service/impl/AfterSalesServiceImpl.java

@@ -195,37 +195,37 @@ public class AfterSalesServiceImpl extends ServiceImpl<AfterSalesMapper, AfterSa
 		updateById(afterSales);
 	}
 
-	@Override
-	@Transactional
-	public void agree(String afterSalesNo) {
-		AfterSales afterSales = lambdaQuery().eq(AfterSales::getAfterSalesNo, afterSalesNo).one();
-		Assert.notNull(afterSales, "售后数据不存在");
-		afterSales.setStatus(AfterSalesStatusEnum.FINISH.getValue());
-		updateById(afterSales);
-
-		if (AfterSalesTypeEnum.REFUND.getValue().equals(afterSales.getType())) {
-			if (YesOrNoEnum.YES.getValue().equals(afterSales.getRefundState())) {
-				throw new ServiceException("该售后订单已退款");
-			}
-			Order order = orderService.getById(afterSales.getOrderId());
-			Assert.notNull(order, "订单数据不存在");
-			orderService.commonRefund(order, afterSales.getId());
-		} else if (AfterSalesTypeEnum.PART_REFUND.getValue().equals(afterSales.getType()) ||
-				AfterSalesTypeEnum.NOT_ARRIVE_REFUND.getValue().equals(afterSales.getType())) {
-			if (YesOrNoEnum.YES.getValue().equals(afterSales.getRefundState())) {
-				throw new ServiceException("该售后订单已退款");
-			}
-			Order order = orderService.getById(afterSales.getOrderId());
-			Assert.notNull(order, "订单数据不存在");
-			// 计算退款金额
-			List<OrderGoods> goods = afterSalesGoodsService.getGoodsByAfterSalesId(afterSales.getId());
-			BigDecimal refundAmount = new BigDecimal(0);
-			for (OrderGoods good : goods) {
-				refundAmount = refundAmount.add(good.getGoodsPrice().multiply(BigDecimal.valueOf(good.getRefundGoodsNum())));
-			}
-			orderService.commonRefund(order.getOrderNo(), order.getId(), refundAmount, order.getTotalAmount(), afterSales.getId());
-		}
-	}
+//	@Override
+//	@Transactional
+//	public void agree(String afterSalesNo) {
+//		AfterSales afterSales = lambdaQuery().eq(AfterSales::getAfterSalesNo, afterSalesNo).one();
+//		Assert.notNull(afterSales, "售后数据不存在");
+//		afterSales.setStatus(AfterSalesStatusEnum.FINISH.getValue());
+//		updateById(afterSales);
+//
+//		if (AfterSalesTypeEnum.REFUND.getValue().equals(afterSales.getType())) {
+//			if (YesOrNoEnum.YES.getValue().equals(afterSales.getRefundState())) {
+//				throw new ServiceException("该售后订单已退款");
+//			}
+//			Order order = orderService.getById(afterSales.getOrderId());
+//			Assert.notNull(order, "订单数据不存在");
+//			orderService.commonRefund(order, afterSales.getId());
+//		} else if (AfterSalesTypeEnum.PART_REFUND.getValue().equals(afterSales.getType()) ||
+//				AfterSalesTypeEnum.NOT_ARRIVE_REFUND.getValue().equals(afterSales.getType())) {
+//			if (YesOrNoEnum.YES.getValue().equals(afterSales.getRefundState())) {
+//				throw new ServiceException("该售后订单已退款");
+//			}
+//			Order order = orderService.getById(afterSales.getOrderId());
+//			Assert.notNull(order, "订单数据不存在");
+//			// 计算退款金额
+//			List<OrderGoods> goods = afterSalesGoodsService.getGoodsByAfterSalesId(afterSales.getId());
+//			BigDecimal refundAmount = new BigDecimal(0);
+//			for (OrderGoods good : goods) {
+//				refundAmount = refundAmount.add(good.getGoodsPrice().multiply(BigDecimal.valueOf(good.getRefundGoodsNum())));
+//			}
+//			orderService.commonRefund(order.getOrderNo(), order.getId(), refundAmount, order.getTotalAmount(), afterSales.getId());
+//		}
+//	}
 
 	@Override
 	public void refuse(String afterSalesNo, String refuseReason) {
@@ -413,52 +413,6 @@ public class AfterSalesServiceImpl extends ServiceImpl<AfterSalesMapper, AfterSa
 		afterSales.setRefundState(YesOrNoEnum.YES.getValue());
 		afterSales.setStatus(AfterSalesStatusEnum.FINISH.getValue());
 		updateById(afterSales);
-
-		// 类型为售后的时候,查询该订单下是否还有未处理的售后,如果没有则重新计算收益
-		if (AfterSalesTypeEnum.PART_REFUND.getValue().equals(afterSales.getType())) {
-			List<AfterSales> list = lambdaQuery().eq(AfterSales::getOrderId, afterSales.getOrderId()).list();
-			if (CollUtil.isNotEmpty(list)) {
-				List<AfterSales> collect = list.stream().filter(e -> AfterSalesStatusEnum.PROCESSED.getValue().equals(e.getStatus())).collect(Collectors.toList());
-				// 如果没有则重新计算收益
-				if (CollUtil.isEmpty(collect)) {
-					List<Long> longs = list.stream().map(AfterSales::getId).collect(Collectors.toList());
-					List<OrderRefund> refunds = orderRefundService.lambdaQuery().in(OrderRefund::getAfterSalesId, longs).list();
-
-					BigDecimal totalRefund = new BigDecimal(0);
-					// 计算总的退款金额
-					for (OrderRefund refund : refunds) {
-						totalRefund = totalRefund.add(refund.getRefuseAmount());
-					}
-					Order order = orderService.getById(afterSales.getOrderId());
-					// 退款金额跟订单金额一致则不处理
-					if (!order.getPaymentAmount().equals(totalRefund)) {
-						commissionService.commissionCalculationTwo(order.getId(), order.getPaymentAmount().subtract(totalRefund));
-					}
-				}
-			}
-		} else if (AfterSalesTypeEnum.PART_REFUND.getValue().equals(afterSales.getType())) {
-			List<OrderGoods> goods = afterSalesGoodsService.getGoodsByAfterSalesId(afterSales.getId());
-			for (OrderGoods good : goods) {
-				good.setIsRefund(YesOrNoEnum.YES.getValue());
-			}
-			orderGoodsService.updateBatchById(goods);
-
-			// 如果该订单下所有商品都已退款,则吧订单状态修改为已退款
-			Integer count = orderGoodsService.lambdaQuery().eq(OrderGoods::getOrderId, afterSales.getOrderId()).eq(OrderGoods::getIsRefund, YesOrNoEnum.NO.getValue())
-					.count();
-
-			// 判断所有的商品是否都已申请退款
-			boolean flag = true;
-			for (OrderGoods g : goods) {
-				if (g.getGoodsNum() > g.getAfterSalesGoodsNum()) {
-					flag = false;
-					break;
-				}
-			}
-			if (count < 1 && flag) {
-				orderService.lambdaUpdate().set(Order::getOrderState, OrderStateEnum.REFUNDED.getValue()).eq(BaseEntity::getId, afterSales.getOrderId()).update();
-			}
-		}
 	}
 
 	@Override

+ 1 - 3
src/main/java/org/springblade/modules/finance/service/impl/IWxPayServiceImpl.java

@@ -279,8 +279,6 @@ public class IWxPayServiceImpl implements IWxPayService {
 
 	@Override
 	public Boolean orderRefund(String orderNo, Long orderId, BigDecimal refundAmount, BigDecimal totalAmount,  Long afterSalesId) {
-		int a = refundAmount.multiply(BigDecimal.valueOf(100)).intValue();
-		int b =totalAmount.multiply(BigDecimal.valueOf(100)).intValue();
 		try {
 			OrderRefund orderRefund = OrderRefund.build(orderId);
 			orderRefund.setAfterSalesId(afterSalesId);
@@ -342,5 +340,5 @@ public class IWxPayServiceImpl implements IWxPayService {
 		return orderRefund(order.getOrderNo(), order.getId(), order.getPaymentAmount(), order.getTotalAmount(), afterSalesId);
 	}
 
-	
+
 }

+ 1 - 4
src/main/java/org/springblade/modules/finance/service/impl/OrderServiceImpl.java

@@ -219,10 +219,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					List<OrderGoods> grouponGoods = null;
 					if (AfterSalesTypeEnum.REFUND.getValue().equals(r.getType())) {
 						grouponGoods = orderGoodsService.lambdaQuery().eq(OrderGoods::getOrderId, r.getOrderId()).list();
-					} else if (AfterSalesTypeEnum.RETURN_GOODS.getValue().equals(r.getType())) {
-						grouponGoods = orderGoodsService.lambdaQuery().eq(BaseEntity::getId, r.getOrderGrouponGoodsId()).list();
-					} else if (AfterSalesTypeEnum.PART_REFUND.getValue().equals(r.getType()) ||
-							AfterSalesTypeEnum.NOT_ARRIVE_REFUND.getValue().equals(r.getType())) {
+					}else if (AfterSalesTypeEnum.NOT_ARRIVE_REFUND.getValue().equals(r.getType())) {
 						grouponGoods = afterSalesGoodsService.getGoodsByAfterSalesId(r.getAfterSalesId());
 						for (OrderGoods orderGoods : grouponGoods) {
 							orderGoods.setGoodsNum(orderGoods.getRefundGoodsNum());

+ 7 - 7
src/main/java/org/springblade/modules/groupon/controller/TzController.java

@@ -105,13 +105,13 @@ public class TzController {
         return R.data(orderGrouponService.getCommanderOrder(Condition.getPage(query), AuthUtil.getUserId(), grouponState));
     }
 
-    @ApiOperationSupport(order = 8)
-    @ApiOperation(value = "同意售后")
-    @PostMapping("/after-sales/agree")
-    public R agree(@RequestParam("afterSalesNo") String afterSalesNo) {
-        afterSalesService.agree(afterSalesNo);
-        return R.success("ok");
-    }
+//    @ApiOperationSupport(order = 8)
+//    @ApiOperation(value = "同意售后")
+//    @PostMapping("/after-sales/agree")
+//    public R agree(@RequestParam("afterSalesNo") String afterSalesNo) {
+//        afterSalesService.agree(afterSalesNo);
+//        return R.success("ok");
+//    }
 
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "驳回售后")