多角色保存修复、售后退款余额、积分处理、微信退款类型处理、升级springboot2.7.10、druid1.2.16、mybatis-plus3.5.3

This commit is contained in:
taozi
2023-04-02 22:50:30 +08:00
parent 85648a8a6f
commit 61382e277c
5 changed files with 38 additions and 11 deletions

View File

@ -1,13 +1,21 @@
package co.yixiang.modules.sales;
import cn.hutool.core.util.ObjectUtil;
import co.yixiang.api.YshopException;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.enums.OrderInfoEnum;
import co.yixiang.enums.PayTypeEnum;
import co.yixiang.modules.logging.aop.log.Log;
import co.yixiang.modules.mp.service.WeixinPayService;
import co.yixiang.modules.order.service.YxStoreOrderService;
import co.yixiang.modules.order.vo.YxStoreOrderQueryVo;
import co.yixiang.modules.sales.domain.StoreAfterSales;
import co.yixiang.modules.sales.param.SalesCheckDto;
import co.yixiang.modules.sales.param.YxStoreAfterSalesDto;
import co.yixiang.modules.sales.service.StoreAfterSalesService;
import co.yixiang.modules.sales.param.YxStoreAfterSalesQueryCriteria;
import co.yixiang.modules.user.service.YxUserService;
import co.yixiang.modules.user.vo.YxUserQueryVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -38,7 +46,9 @@ public class StoreAfterSalesController {
private final StoreAfterSalesService storeAfterSalesService;
private final WeixinPayService weixinPayService;
private final YxStoreOrderService storeOrderService;
private final IGenerator generator;
private final YxUserService userService;
/**
* 审核
@ -62,7 +72,22 @@ public class StoreAfterSalesController {
StoreAfterSales sales = storeAfterSalesService.makeMoney(salesId, orderCode);
BigDecimal bigDecimal = new BigDecimal("100");
int payPrice = bigDecimal.multiply(sales.getRefundAmount()).intValue();
weixinPayService.refundOrder(orderCode, payPrice);
YxStoreOrderQueryVo orderInfo = storeOrderService.getOrderInfo(orderCode, null);
if (PayTypeEnum.WEIXIN.getValue().equals(orderInfo.getPayType())) {
if (ObjectUtil.isNull(orderInfo)) {
throw new YshopException("订单不存在");
}
YxUserQueryVo userQueryVo = userService.getYxUserById(orderInfo.getUid());
if (ObjectUtil.isNull(userQueryVo)) {
throw new YshopException("用户不存在");
}
if (OrderInfoEnum.REFUND_STATUS_2.getValue().equals(orderInfo.getRefundStatus())) {
throw new YshopException("订单已经退款了哦!");
}
weixinPayService.refundOrder(orderCode, payPrice);
} else {
storeOrderService.orderRefund(orderCode, sales.getRefundAmount(), 1);
}
return new ResponseEntity<>(HttpStatus.OK);
}