All checks were successful
Publish to Confluence / confluence (push) Successful in 37s
300 lines
20 KiB
Markdown
300 lines
20 KiB
Markdown
<!-- Space: qifu -->
|
||
<!-- Parent: 后端技术&知识&规范 -->
|
||
<!-- Parent: 技术方案 -->
|
||
<!-- Parent: 基建 -->
|
||
<!-- Parent: 01-发布文档 -->
|
||
<!-- Title: 20250321-eBay电商订单对接发布 -->
|
||
|
||
<!-- Macro: :anchor\((.*)\):
|
||
Template: ac:anchor
|
||
Anchor: ${1} -->
|
||
<!-- Macro: \!\[.*\]\((.+)\)\<\!\-\- width=(.*) \-\-\>
|
||
Template: ac:image
|
||
Url: ${1}
|
||
Width: ${2} -->
|
||
<!-- Macro: \<\!\-\- :toc: \-\-\>
|
||
Template: ac:toc
|
||
Printable: 'false'
|
||
MinLevel: 2
|
||
MaxLevel: 4 -->
|
||
<!-- Include: 杂项/声明文件.md -->
|
||
|
||
<!-- :toc: -->
|
||
|
||
# 20250321-eBay电商订单对接发布
|
||
|
||
## 发布说明
|
||
|
||
### 涉及项目
|
||
|
||
| 项目 | 分支 | 发布顺序 | 数据库变更 | 配置变更 | 负责人 | 备注 |
|
||
|-----------------|------------------------------------|------|-----------------------|-------------------------|-----|----------------------------|
|
||
| yuanmeng-engine | feat/20250311-engine-starter-cache | 1 | | | 刘晓华 | 升级 1.0.14 |
|
||
| yuanmeng-parent | feat/20250311-engine-starter-cache | 2 | | | 刘晓华 | 升级 1.0.14 |
|
||
| qifu-saas-eg | feat/20250304-e-commerce | 3 | [数据库脚本DDL](#数据库脚本DDL) | [Nacos配置文件](#Nacos配置文件) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 |
|
||
|
||
### 附件
|
||
|
||
#### 数据库脚本DDL
|
||
|
||
##### qifu-saas-eg 数据库
|
||
|
||
```sql
|
||
/*
|
||
Navicat Premium Dump SQL
|
||
|
||
Source Server : DEV-Mysql
|
||
Source Server Type : MySQL
|
||
Source Server Version : 50743 (5.7.43-log)
|
||
Source Host : mysql.develop.qifu.com:30336
|
||
Source Schema : dev_qifu_saas_eg
|
||
|
||
Target Server Type : MySQL
|
||
Target Server Version : 50743 (5.7.43-log)
|
||
File Encoding : 65001
|
||
|
||
Date: 21/03/2025 11:28:05
|
||
*/
|
||
|
||
SET NAMES utf8mb4;
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for eg_order_app
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `eg_order_app`;
|
||
CREATE TABLE `eg_order_app`
|
||
(
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||
`channel` int(4) NOT NULL COMMENT '渠道:1=eBay',
|
||
`client_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '客户端id',
|
||
`client_secret` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '客户端secret',
|
||
`dev_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '开发者id',
|
||
`scopes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '授权范围,+ 号拼接',
|
||
`redirect_uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '回调链接',
|
||
`attach_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '附加信息,Json 格式',
|
||
`create_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '创建人id',
|
||
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建人名称',
|
||
`create_time` bigint(20) NOT NULL COMMENT '创建时间',
|
||
`update_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新人ID',
|
||
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '更新人名称',
|
||
`update_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '删除标识:0=未删除,id=以删除',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
INDEX `idx_channel` (`channel`) USING BTREE
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 2
|
||
CHARACTER SET = utf8mb4
|
||
COLLATE = utf8mb4_general_ci COMMENT = '电商应用表'
|
||
ROW_FORMAT = DYNAMIC;
|
||
|
||
|
||
-- ----------------------------
|
||
-- Table structure for eg_order_app_seller
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `eg_order_app_seller`;
|
||
CREATE TABLE `eg_order_app_seller`
|
||
(
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||
`channel` int(4) NOT NULL COMMENT '渠道:1=eBay',
|
||
`seller_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '卖家id',
|
||
`order_app_id` bigint(20) NOT NULL COMMENT '应用id',
|
||
`region` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '所属区域,对照 client 包中的 xxxRegionEnum',
|
||
`spi_server_codes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关联服务编码,spi调用使用。, 分割',
|
||
`refresh_token` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '刷新token',
|
||
`refresh_token_expires_in` int(8) NOT NULL DEFAULT 0 COMMENT '刷新token过期时间',
|
||
`refresh_token_expires_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '过期时间',
|
||
`attach_info` text DEFAULT NULL COMMENT '附加参数,json字段,参考 EgOrderAppSellerAttachInfo',
|
||
`create_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '创建人id',
|
||
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建人名称',
|
||
`create_time` bigint(20) NOT NULL COMMENT '创建时间',
|
||
`update_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新人ID',
|
||
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '更新人名称',
|
||
`update_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '删除标识:0=未删除,id=以删除',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
INDEX `idx_channel_seller_id_update_time` (`channel`, `seller_id`, `update_time`) USING BTREE
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 2
|
||
CHARACTER SET = utf8mb4
|
||
COLLATE = utf8mb4_general_ci COMMENT = '卖家电商应用表'
|
||
ROW_FORMAT = DYNAMIC;
|
||
|
||
|
||
-- ----------------------------
|
||
-- Table structure for eg_order_order
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `eg_order_order`;
|
||
CREATE TABLE `eg_order_order`
|
||
(
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||
`channel` int(4) NOT NULL COMMENT '渠道:1=eBay',
|
||
`order_app_seller_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '卖家id',
|
||
`order_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '电商订单id',
|
||
`status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单状态,参考 OrderStatusEnum',
|
||
`buyer_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '买家ID',
|
||
`buyer_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '买家备注',
|
||
`buyer_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '买家全名',
|
||
`buyer_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发货收件人的主要电话号码',
|
||
`buyer_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '买家邮箱',
|
||
`buyer_tax_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '买家税号',
|
||
`buyer_tax_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '买家税号类型',
|
||
`buyer_company_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '买家公司名称',
|
||
`receiver_address_line1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '街道地址的第一行',
|
||
`receiver_address_line2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '街道地址的第二行',
|
||
`receiver_address_detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '完整的收件人详细地址',
|
||
`receiver_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '配送目的地所在的城市',
|
||
`receiver_country_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '配送目的地所在的国家/地区',
|
||
`receiver_province` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '配送目的地的州或省',
|
||
`receiver_postal_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '配送目的地的邮政编码',
|
||
`cancel_state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单取消状态,NONE_REQUESTED 表示尚未针对该订单提出取消请求',
|
||
`cancelled_date` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单取消时间',
|
||
`creation_date` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单创建时间',
|
||
`creation_date_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '订单创建时间的时间戳',
|
||
`last_modified_date` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单修改时间',
|
||
`last_modified_date_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '订单修改时间的时间戳',
|
||
`order_fulfillment_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单履行完成的程度,参考 com.yuanmeng.qifu.eg.feign.order.constants.OrderFulfillmentStatusEnum',
|
||
`order_payment_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单支付状态,可能的值有 FAILED(买家付款或退款失败)、FULLY_REFUNDED(订单全额退款)、PAID(订单已全额支付)、PARTIALLY_REFUNDED(订单部分退款)、PENDING(买家付款或卖家退款待处理)',
|
||
`seller_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '销售订单的卖家的唯一用户 ID',
|
||
`original_md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '参数md5',
|
||
`create_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '创建人id',
|
||
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建人名称',
|
||
`create_time` bigint(20) NOT NULL COMMENT '创建时间',
|
||
`update_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新人ID',
|
||
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '更新人名称',
|
||
`update_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '删除标识:0=未删除,id=以删除',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
INDEX `idx_channel_seller_id_order_id` (`channel`, `order_app_seller_id`, `order_id`) USING BTREE,
|
||
INDEX `idx_last_modified_time` (`channel`, `order_app_seller_id`, `last_modified_date_time`) USING BTREE
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 1
|
||
CHARACTER SET = utf8mb4
|
||
COLLATE = utf8mb4_general_ci COMMENT = '电商订单表'
|
||
ROW_FORMAT = DYNAMIC;
|
||
|
||
|
||
-- ----------------------------
|
||
-- Table structure for eg_order_order_detail
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `eg_order_order_detail`;
|
||
CREATE TABLE `eg_order_order_detail`
|
||
(
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||
`order_id` bigint(20) NOT NULL DEFAULT 0 COMMENT 'order 表 id',
|
||
`line_item_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单行项目的唯一标识符。一旦承诺从卖方处购买,就会创建此字段。',
|
||
`quantity` int(8) NOT NULL DEFAULT 0 COMMENT '订单中行项目的单位数',
|
||
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'listing title',
|
||
`sku` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '卖家定义的库存单位 (SKU)。此库存编码在卖家的库存中必须是唯一的。',
|
||
`create_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '创建人id',
|
||
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建人名称',
|
||
`create_time` bigint(20) NOT NULL COMMENT '创建时间',
|
||
`update_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新人ID',
|
||
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '更新人名称',
|
||
`update_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '删除标识:0=未删除,id=以删除',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
INDEX `idx_order_id` (`order_id`) USING BTREE
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 1
|
||
CHARACTER SET = utf8mb4
|
||
COLLATE = utf8mb4_general_ci COMMENT = '电商平台订单详情'
|
||
ROW_FORMAT = DYNAMIC;
|
||
|
||
|
||
-- ----------------------------
|
||
-- Table structure for eg_order_order_original
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `eg_order_order_original`;
|
||
CREATE TABLE `eg_order_order_original`
|
||
(
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||
`order_id` bigint(20) NOT NULL DEFAULT 0 COMMENT 'order 表 id',
|
||
`original` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '原始订单信息',
|
||
`create_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '创建人id',
|
||
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建人名称',
|
||
`create_time` bigint(20) NOT NULL COMMENT '创建时间',
|
||
`update_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新人ID',
|
||
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '更新人名称',
|
||
`update_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '删除标识:0=未删除,id=以删除',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
INDEX `idx_order_id` (`order_id`) USING BTREE
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 1
|
||
CHARACTER SET = utf8mb4
|
||
COLLATE = utf8mb4_general_ci COMMENT = '电商平台订单原始信息表'
|
||
ROW_FORMAT = DYNAMIC;
|
||
|
||
|
||
-- ----------------------------
|
||
-- Table structure for eg_spi
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `eg_spi`;
|
||
CREATE TABLE `eg_spi`
|
||
(
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||
`type` int(4) NOT NULL COMMENT 'spi 类型:1=订单信息同步',
|
||
`server_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '服务编码,针对type唯一',
|
||
`server_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '服务名称,feign调用服务名',
|
||
`server_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '服务描述',
|
||
`secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'SPI请求密钥',
|
||
`create_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '创建人id',
|
||
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建人名称',
|
||
`create_time` bigint(20) NOT NULL COMMENT '创建时间',
|
||
`update_user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新人ID',
|
||
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '更新人名称',
|
||
`update_time` bigint(20) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '删除标识:0=未删除,id=以删除',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
INDEX `idx_type_server_code` (`type`, `server_code`) USING BTREE
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 1
|
||
CHARACTER SET = utf8mb4
|
||
COLLATE = utf8mb4_general_ci COMMENT = 'SPI服务信息表'
|
||
ROW_FORMAT = DYNAMIC;
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|
||
|
||
```
|
||
|
||
#### Nacos配置文件
|
||
|
||
```yaml
|
||
rocketmq:
|
||
name-server: rocketmq.qifu.com:30938
|
||
producer:
|
||
group: qifu-saas-eg
|
||
namespace: dev
|
||
consumer:
|
||
group: qifu-saas-eg
|
||
namespace: dev
|
||
|
||
qifu:
|
||
eg:
|
||
ebay:
|
||
authorize-url: https://auth.sandbox.ebay.com/oauth2/authorize
|
||
token-url: https://api.sandbox.ebay.com/identity/v1/oauth2/token
|
||
order-url: https://api.sandbox.ebay.com/sell/fulfillment/v1/order
|
||
shipping-fulfillment-url: https://api.sandbox.ebay.com/sell/fulfillment/v1/order/{orderId}/shipping_fulfillment
|
||
|
||
spi-consumer-group: qifuEgSpiConsumerGroup
|
||
|
||
yuanmeng:
|
||
redis:
|
||
cache-manager:
|
||
enable: true
|
||
```
|
||
|
||
### 其余配置
|
||
|
||
#### Ebay开发者平台配置
|
||
|
||
1. 需要创建生产应用,并激活
|
||
2. 添加 eg_order_app 表记录
|
||
3. 生产需要把 sandbox 链接改为 product 链接
|
||
|
||
----
|
||
|
||
## 开发说明
|