Browse Source

同意售后接口

LuoDLeo 6 months ago
parent
commit
b3ac25bb17

+ 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 = "驳回售后")

+ 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);
 
 	/**
 	 * 拒绝售后

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

@@ -197,37 +197,20 @@ 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, "售后数据不存在");
+        Order order = orderService.getById(afterSales.getOrderId());
+        Assert.notNull(order, "订单数据不存在");
+        if (YesOrNoEnum.YES.getValue().equals(afterSales.getRefundState())) {
+            throw new ServiceException("该售后订单已退款");
+        }
+        // 通过
+        afterSales.setRefundState(2);// 退款中
+        orderService.commonRefund(order, afterSales.getId());
+    }
 
 	@Override
 	public void refuse(String afterSalesNo, String refuseReason) {