提交 2d045cde authored 作者: hzh's avatar hzh

查询接口功能实现

上级 dac4077e
package org.dromara.order.api; package org.dromara.order.api;
import org.dromara.order.api.domain.RemoteOrder;
import org.dromara.order.api.domain.RemoteSaveOrder; import org.dromara.order.api.domain.RemoteSaveOrder;
import java.util.List;
/** /**
* 订单服务 * 订单服务
* *
...@@ -17,4 +20,13 @@ public interface RemoteOrderService { ...@@ -17,4 +20,13 @@ public interface RemoteOrderService {
*/ */
String createOrder(RemoteSaveOrder order); String createOrder(RemoteSaveOrder order);
/**
* 查询订单列表
*
* @param orderType 订单类型
* @param orderNoList 订单号列表
* @return 订单列表
*/
List<RemoteOrder> queryList(String orderType, List<String> orderNoList);
} }
package org.dromara.order.api.domain;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-12-09
**/
@Data
@Accessors(chain = true)
public class RemoteOrder {
/**
* 订单类型
*/
private String orderType;
/**
* 原订单号
*/
private String originOrderNo;
/**
* 订单状态
*/
private String status;
}
...@@ -4,6 +4,7 @@ package org.dromara.order.dubbo; ...@@ -4,6 +4,7 @@ package org.dromara.order.dubbo;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.common.utils.CollectionUtils;
import io.seata.spring.annotation.GlobalTransactional; import io.seata.spring.annotation.GlobalTransactional;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
...@@ -13,6 +14,7 @@ import org.dromara.common.core.utils.StringUtils; ...@@ -13,6 +14,7 @@ import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.core.utils.ValidatorUtils;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.order.api.RemoteOrderService; import org.dromara.order.api.RemoteOrderService;
import org.dromara.order.api.domain.RemoteOrder;
import org.dromara.order.api.domain.RemoteSaveOrder; import org.dromara.order.api.domain.RemoteSaveOrder;
import org.dromara.order.api.enums.OrderStatus; import org.dromara.order.api.enums.OrderStatus;
import org.dromara.order.domain.bo.OrderBo; import org.dromara.order.domain.bo.OrderBo;
...@@ -28,6 +30,7 @@ import org.springframework.stereotype.Service; ...@@ -28,6 +30,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -134,4 +137,18 @@ public class RemoteOrderServiceImpl implements RemoteOrderService { ...@@ -134,4 +137,18 @@ public class RemoteOrderServiceImpl implements RemoteOrderService {
//获取支付订单 //获取支付订单
return IPayStrategy.pay(JSON.toJSONString(ot), feeList, remoteOrder.getTradeType().name()); return IPayStrategy.pay(JSON.toJSONString(ot), feeList, remoteOrder.getTradeType().name());
} }
@Override
public List<RemoteOrder> queryList(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)) {
return BeanUtil.copyProperties(order, RemoteOrder.class);
}
return null;
}).collect(Collectors.toList());
}
} }
package org.dromara.server.service; package org.dromara.server.service;
import org.dromara.order.api.domain.RemoteOrder;
import org.dromara.order.api.enums.OrderType; import org.dromara.order.api.enums.OrderType;
import java.util.List;
/** /**
* 支付相关服务 * 支付相关服务
* @author wenhe * @author wenhe
...@@ -10,10 +13,20 @@ public interface IPayOrderService { ...@@ -10,10 +13,20 @@ public interface IPayOrderService {
/** /**
* 创建订单 * 创建订单
* @param orderNo 订单号 *
* @param orderNo 订单号
* @param orderType 订单类型 * @param orderType 订单类型
* @return 订单号 * @return 订单号
*/ */
String createOrder(String orderNo, OrderType orderType); String createOrder(String orderNo, OrderType orderType);
/**
* 查询订单列表
*
* @param orderType 订单类型
* @param orderNoList 订单号列表
* @return 订单列表
*/
List<RemoteOrder> queryList(String orderType, List<String> orderNoList);
} }
...@@ -3,6 +3,7 @@ package org.dromara.server.service.impl; ...@@ -3,6 +3,7 @@ package org.dromara.server.service.impl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.order.api.RemoteOrderService; import org.dromara.order.api.RemoteOrderService;
import org.dromara.order.api.domain.RemoteOrder;
import org.dromara.order.api.domain.RemoteSaveOrder; import org.dromara.order.api.domain.RemoteSaveOrder;
import org.dromara.order.api.enums.OrderType; import org.dromara.order.api.enums.OrderType;
import org.dromara.order.api.enums.Source; import org.dromara.order.api.enums.Source;
...@@ -11,6 +12,8 @@ import org.dromara.server.service.IOrderStrategy; ...@@ -11,6 +12,8 @@ import org.dromara.server.service.IOrderStrategy;
import org.dromara.server.service.IPayOrderService; import org.dromara.server.service.IPayOrderService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author hzh * @author hzh
* @date 2024-12-06 * @date 2024-12-06
...@@ -31,4 +34,9 @@ public class PayOrderServiceImpl implements IPayOrderService { ...@@ -31,4 +34,9 @@ public class PayOrderServiceImpl implements IPayOrderService {
order.setOrderType(orderType); order.setOrderType(orderType);
return remoteOrderService.createOrder(order); return remoteOrderService.createOrder(order);
} }
@Override
public List<RemoteOrder> queryList(String orderType, List<String> orderNoList) {
return remoteOrderService.queryList(orderType, orderNoList);
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论