# 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 链接 ---- ## 开发说明