提交 0b76f09a authored 作者: hzh's avatar hzh

代码优化

上级 7b27441b
......@@ -60,4 +60,12 @@ public interface RemoteOrderService {
*/
RemoteSaveOrder.Fee calcServiceFee(Source source, OrderType orderType, List<RemoteSaveOrder.Fee> feeList);
/**
* 查询退款订单列表
*
* @param orderType 订单类型
* @param orderNoList 订单号列表
* @return 退款订单列表
*/
List<RemoteOrder> queryRefundList(String orderType, List<String> orderNoList);
}
......@@ -240,6 +240,27 @@ public class RemoteOrderServiceImpl implements RemoteOrderService {
}).collect(Collectors.toList());
}
@Override
public List<RemoteOrder> queryRefundList(String orderType, List<String> orderNoList) {
if (CollectionUtils.isEmpty(orderNoList)) {
return List.of();
}
return orderNoList.stream().map(orderNo -> {
OrderVo order = orderService.getOne(new OrderBo().setOrderType(orderType).setOriginOrderNo(orderNo));
if (Objects.nonNull(order)) {
OrderRefundVo or = orderRefundService.getOne(
new OrderRefundBo().setOrderNo(order.getOrderNo()).setOrderPayNo(order.getOrderPayNo()));
if (Objects.nonNull(or)) {
return new RemoteOrder()
.setOrderType(order.getOrderType())
.setOriginOrderNo(orderNo)
.setStatus(or.getStatus());
}
}
return null;
}).collect(Collectors.toList());
}
@Override
public boolean autoUpdateOrGetCertificate(String serialNumber) throws Exception {
return wxPayService.autoUpdateOrGetCertificate(serialNumber);
......
......@@ -39,6 +39,27 @@ public class OrderController {
return R.ok(service.createOrder(vo.getOrderNo(), ot));
}
/**
* 退款申请接口
*
* @param vo vo
* @return 退款结果
* @throws Exception
*/
@PostMapping("/refund")
public R<Boolean> refund(@Validated @RequestBody OrderPayVo vo) throws Exception {
OrderType ot = OrderType.getEnum(vo.getOrderType());
return R.ok(service.refund(vo.getOrderNo(), ot));
}
/**
* 查询订单状态
*/
@PostMapping("/orderRefundStatus")
public R<List<RemoteOrder>> orderRefundStatus(@Validated @RequestBody OrderQueryVo vo) {
return R.ok(service.queryRefundList(vo.getOrderType(), vo.getOrderNoList()));
}
/**
* 查询订单状态
*/
......
......@@ -22,6 +22,16 @@ public interface IPayOrderService {
*/
OrderPay createOrder(String orderNo, OrderType orderType) throws Exception;
/**
* 退款
*
* @param orderNo 订单号
* @param orderType 订单类型
* @return 退款结果
* @throws Exception
*/
Boolean refund(String orderNo, OrderType orderType) throws Exception;
/**
* 查询订单列表
*
......@@ -33,9 +43,19 @@ public interface IPayOrderService {
/**
* 计算费用
*
* @param orderNo 订单号
* @param ot 订单类型
* @param ot 订单类型
* @return 费用列表
*/
List<RemoteSaveOrder.Fee> calcFee(String orderNo, OrderType ot);
/**
* 查询退款订单列表
*
* @param orderType 订单类型
* @param orderNoList 订单号列表
* @return 退款订单列表
*/
List<RemoteOrder> queryRefundList(String orderType, List<String> orderNoList);
}
......@@ -7,6 +7,7 @@ import org.dromara.order.api.RemoteOrderService;
import org.dromara.order.api.domain.OrderPay;
import org.dromara.order.api.domain.RemoteOrder;
import org.dromara.order.api.domain.RemoteSaveOrder;
import org.dromara.order.api.domain.RemoteSaveRefundOrder;
import org.dromara.order.api.enums.OrderType;
import org.dromara.order.api.enums.Source;
import org.dromara.order.api.enums.TradeType;
......@@ -43,11 +44,23 @@ public class PayOrderServiceImpl implements IPayOrderService {
return remoteOrderService.createOrder(order);
}
@Override
public Boolean refund(String orderNo, OrderType orderType) throws Exception {
return remoteOrderService.createRefundOrder(new RemoteSaveRefundOrder()
.setOrderType(orderType)
.setOriginOrderNo(orderNo));
}
@Override
public List<RemoteOrder> queryList(String orderType, List<String> orderNoList) {
return remoteOrderService.queryList(orderType, orderNoList);
}
@Override
public List<RemoteOrder> queryRefundList(String orderType, List<String> orderNoList) {
return remoteOrderService.queryRefundList(orderType, orderNoList);
}
@Override
public List<RemoteSaveOrder.Fee> calcFee(String orderNo, OrderType ot) {
RemoteSaveOrder order = IOrderStrategy.createOrder(orderNo, ot);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论