1. 迁移交易订单的查询接口

2. 支付服务,重新初始化结构
This commit is contained in:
YunaiV
2020-11-27 18:38:39 +08:00
parent db4ee1ed7e
commit fdc83d4550
100 changed files with 1241 additions and 3604 deletions

View File

@@ -0,0 +1,30 @@
package cn.iocoder.mall.tradeservice.enums.order;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderRespDTO;
/**
* 交易订单的明细的字段枚举
*
* @see TradeOrderRespDTO
*/
public enum TradeOrderDetailFieldEnum {
/**
* 交易订单项
*/
ITEM("item");
/**
* 字段
*/
private final String field;
TradeOrderDetailFieldEnum(String field) {
this.field = field;
}
public String getField() {
return field;
}
}

View File

@@ -1,7 +1,12 @@
package cn.iocoder.mall.tradeservice.rpc.order;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderCreateReqDTO;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderPageReqDTO;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderRespDTO;
import java.util.Collection;
/**
* 交易订单 Rpc 接口
@@ -16,4 +21,23 @@ public interface TradeOrderRpc {
*/
CommonResult<Integer> createTradeOrder(TradeOrderCreateReqDTO createReqDTO);
/**
* 获得订单交易
*
* @param tradeOrderId 订单交易编号
* @param fields 额外返回字段,可见 {@link cn.iocoder.mall.tradeservice.enums.order.TradeOrderDetailFieldEnum}
* @return 订单交易
*/
CommonResult<TradeOrderRespDTO> getTradeOrder(Integer tradeOrderId, Collection<String> fields);
/**
* 获得交易订单分页
*
* @param pageDTO 订单交易分页查询
* @return 订单交易分页结果
*/
CommonResult<PageResult<TradeOrderRespDTO>> pageTradeOrder(TradeOrderPageReqDTO pageDTO);
}

View File

@@ -0,0 +1,101 @@
package cn.iocoder.mall.tradeservice.rpc.order.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 交易订单项 Response DTO
*/
@Data
@Accessors(chain = true)
public class TradeOrderItemRespDTO implements Serializable {
/**
* id自增长
*/
private Integer id;
/**
* 订单编号
*/
private Integer orderId;
/**
* 订单项状态
*/
private Integer status;
/**
* 商品 SKU 编号
*/
private Integer skuId;
/**
* 商品 SPU 编号
*/
private Integer spuId;
/**
* 商品名字
*/
private String skuName;
/**
* 图片名字
*/
private String skuImage;
/**
* 商品数量
*/
private Integer quantity;
/**
* 原始单价,单位:分
*/
private Integer originPrice;
/**
* 购买单价,单位:分
*/
private Integer buyPrice;
/**
* 最终价格,单位:分
*/
private Integer presentPrice;
/**
* 购买总金额,单位:分
*/
private Integer buyTotal;
/**
* 优惠总金额,单位:分
*/
private Integer discountTotal;
/**
* 最终总金额,单位:分
*/
private Integer presentTotal;
/**
* 退款总金额,单位:分
*/
private Integer refundTotal;
/**
* 物流id
*/
private Integer logisticsId;
/**
* 售后状态
*/
private Integer afterSaleStatus;
/**
* 售后订单编号
*/
private Integer afterSaleOrderId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 删除状态
*/
private Integer deleted;
}

View File

@@ -0,0 +1,45 @@
package cn.iocoder.mall.tradeservice.rpc.order.dto;
import cn.iocoder.common.framework.vo.PageParam;
import cn.iocoder.common.framework.vo.SortingField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* 交易订单分页 Request DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class TradeOrderPageReqDTO extends PageParam {
public static final SortingField ID_ASC = new SortingField("id", "asc");
public static final SortingField ID_DESC = new SortingField("id", "desc");
/**
* 用户编号
*/
private Integer userId;
/**
* 订单状态
*/
private Integer orderStatus;
/**
* 排序字段数组
*/
private List<SortingField> sorts;
/**
* 额外返回字段
*
* @see cn.iocoder.mall.tradeservice.enums.order.TradeOrderDetailFieldEnum
*/
private Collection<String> fields = Collections.emptySet();
}

View File

@@ -0,0 +1,139 @@
package cn.iocoder.mall.tradeservice.rpc.order.dto;
import cn.iocoder.mall.tradeservice.enums.order.TradeOrderDetailFieldEnum;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 交易订单 Response DTO
*/
@Data
@Accessors(chain = true)
public class TradeOrderRespDTO implements Serializable {
// ========== 订单基本信息 ==========
/**
* 订单编号
*/
private Integer id;
/**
* 用户编号
*/
private Integer userId;
/**
* 订单单号
*/
private String orderNo;
/**
* 订单状态
*/
private Integer orderStatus;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private Date createTime;
// ========== 价格 + 支付基本信息 ==========
/**
* 订单结束时间
*/
private Date endTime;
/**
* 订单金额(总金额),单位:分
*/
private Integer buyPrice;
/**
* 优惠总金额,单位:分
*/
private Integer discountPrice;
/**
* 物流金额,单位:分
*/
private Integer logisticsPrice;
/**
* 最终金额,单位:分
*/
private Integer presentPrice;
/**
* 支付金额,单位:分
*/
private Integer payPrice;
/**
* 退款金额,单位:分
*/
private Integer refundPrice;
/**
* 付款时间
*/
private Date payTime;
/**
* 支付订单编号
*/
private Integer payTransactionId;
/**
* 支付渠道
*/
private Integer payChannel;
// ========== 收件 + 物流基本信息 ==========
/**
* 配送类型
*/
private Integer deliveryType;
/**
* 发货时间
*/
private Date deliveryTime;
/**
* 收货时间
*/
private Date receiveTime;
/**
* 收件人名称
*/
private String receiverName;
/**
* 手机号
*/
private String receiverMobile;
/**
* 地区编码
*/
private Integer receiverAreaCode;
/**
* 收件详细地址
*/
private String receiverDetailAddress;
// ========== 售后基本信息 ==========
/**
* 售后状态
*/
private Integer afterSaleStatus;
// ========== 营销基本信息 ==========
/**
* 优惠劵编号
*/
private Integer couponCardId;
// ========== 商品基本信息 ==========
/**
* 订单项数组
*
* 需要设置 {@link TradeOrderDetailFieldEnum#ITEM} 才返回
*
* // TODO 芋艿,后续考虑怎么优化下,目前是内嵌了别的 dto
*/
private List<TradeOrderItemRespDTO> orderItems;
}