✨ [2025-05-13] 完善电商订单发布文档
All checks were successful
Publish to Confluence / confluence (push) Successful in 1m20s
All checks were successful
Publish to Confluence / confluence (push) Successful in 1m20s
This commit is contained in:
parent
47ab6e13b1
commit
9241c01127
@ -25,13 +25,26 @@
|
||||
|
||||
## 发布说明
|
||||
|
||||
### RocketMQ配置
|
||||
|
||||
#### RocketMQ Topic 创建
|
||||
|
||||
- EG_ORDER_SPI_TOPIC
|
||||
- EG_WEWORK_EVENT_WEBHOOK_TOPIC
|
||||
|
||||
#### RocketMQ ConsumerGroup 创建
|
||||
|
||||
- egOrderSpiConsumerGroup
|
||||
- egWeworkEventWebhookConsumerGroup
|
||||
|
||||
### 涉及项目
|
||||
|
||||
| 项目 | 分支 | 发布顺序 | 数据库变更 | 配置变更 | 负责人 | 备注 |
|
||||
|-----------------|---------------------------|------|-----------------------|-------------------------|-----|----------------------------|
|
||||
| yuanmeng-engine | feat/20250429-web-satrter | 1 | | | 刘晓华 | 升级 1.0.14 |
|
||||
| yuanmeng-parent | feat/20250429-web-satrter | 2 | | | 刘晓华 | 升级 1.0.14 |
|
||||
| qifu-saas-eg | feat/20250304-e-commerce | 3 | [数据库脚本DDL](#数据库脚本DDL) | [Nacos配置文件](#Nacos配置文件) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 |
|
||||
| 项目 | 分支 | 发布顺序 | 数据库变更 | 配置变更 | 负责人 | 备注 |
|
||||
|-----------------|-----------------------------|------|-----------------------|-------------------------|-----|----------------------------|
|
||||
| yuanmeng-engine | feat/20250429-web-satrter | 1 | | | 刘晓华 | 升级 1.1.0 |
|
||||
| yuanmeng-parent | feat/20250429-web-satrter | 2 | | | 刘晓华 | 升级 1.1.0 |
|
||||
| qifu-saas-eg | feat/20250304-e-commerce | 3 | [数据库脚本DDL](#数据库脚本DDL) | [Nacos配置文件](#Nacos配置文件) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 |
|
||||
| pm | feature/20250428-wework-tzk | 4 | [数据库脚本DDL](#数据库脚本DDL) | [Nacos配置文件](#Nacos配置文件) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 |
|
||||
|
||||
### 附件
|
||||
|
||||
@ -67,6 +80,7 @@ CREATE TABLE `eg_order_app`
|
||||
(
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`channel` int(4) NOT NULL COMMENT '渠道:1=eBay',
|
||||
`app_name` varchar(50) NOT NULL DEFAULT '' 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',
|
||||
@ -254,6 +268,142 @@ CREATE TABLE `eg_spi`
|
||||
COLLATE = utf8mb4_general_ci COMMENT = 'SPI服务信息表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for eg_wework_event_member
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `eg_wework_event_member`;
|
||||
CREATE TABLE `eg_wework_event_member`
|
||||
(
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`suite_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '第三方应用ID',
|
||||
`auth_corp_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '授权企业的CorpID',
|
||||
`info_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'change_contact' COMMENT '固定为change_contact',
|
||||
`timestamp` bigint(20) NOT NULL COMMENT '时间戳',
|
||||
`change_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'create_user' COMMENT '固定为create_user',
|
||||
`user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '成员UserID',
|
||||
`open_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '全局唯一,对于同一个服务商,不同应用获取到企业内同一个成员的OpenUserID是相同的',
|
||||
`new_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '新的UserID,变更时推送(userid由系统生成时可更改一次)',
|
||||
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '成员名称',
|
||||
`department` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '成员所在部门列表(逗号分隔)',
|
||||
`main_department` int(11) NOT NULL DEFAULT 1 COMMENT '主部门',
|
||||
`is_leader_in_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表示所在部门是否为上级(逗号分隔),0-否,1-是',
|
||||
`direct_leader` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '直属上级UserID(逗号分隔)',
|
||||
`mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号码',
|
||||
`position` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '职位信息',
|
||||
`gender` tinyint(4) NOT NULL DEFAULT 0 COMMENT '性别。0表示未定义,1表示男性,2表示女性。',
|
||||
`email` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
|
||||
`biz_mail` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业邮箱',
|
||||
`status` tinyint(4) NOT NULL DEFAULT 4 COMMENT '激活状态: 1=已激活,2=已禁用,4=未激活,5=退出企业。',
|
||||
`avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像url',
|
||||
`alias` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '成员别名',
|
||||
`telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '座机',
|
||||
`mem_change_cnt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 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_user_id` (`user_id`) USING BTREE,
|
||||
INDEX `idx_auth_corp_id` (`auth_corp_id`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 23105705
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci COMMENT = '成员事件表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for eg_wework_member
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `eg_wework_member`;
|
||||
CREATE TABLE `eg_wework_member`
|
||||
(
|
||||
`id` bigint(20) NOT NULL COMMENT '自增id',
|
||||
`user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户唯一标识',
|
||||
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户姓名',
|
||||
`alias` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户别名',
|
||||
`mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号码(带国际区号)',
|
||||
`position` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '职务信息',
|
||||
`gender` tinyint(4) NULL DEFAULT NULL COMMENT '性别(1-男,2-女)',
|
||||
`email` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业邮箱',
|
||||
`biz_mail` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '腾讯企业邮箱',
|
||||
`telephone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '座机号码',
|
||||
`direct_leader` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '直属上级UserID',
|
||||
`enable` tinyint(1) NULL DEFAULT 1 COMMENT '启用状态(1-启用,0-禁用)',
|
||||
`avatar_mediaid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像媒体ID',
|
||||
`address` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '办公地址',
|
||||
`main_department` bigint(20) NULL DEFAULT NULL COMMENT '主部门ID',
|
||||
`to_invite` tinyint(1) NULL DEFAULT 1 COMMENT '是否发送邀请',
|
||||
`external_position` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 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_user_id` (`user_id`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci COMMENT = '企业微信成员表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for eg_wework_member_dept
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `eg_wework_member_dept`;
|
||||
CREATE TABLE `eg_wework_member_dept`
|
||||
(
|
||||
`id` bigint(20) NOT NULL COMMENT '自增id',
|
||||
`user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户唯一标识',
|
||||
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户姓名',
|
||||
`dept_id` bigint(20) NOT NULL COMMENT '部门id',
|
||||
`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,
|
||||
UNIQUE INDEX `uk_user_dept` (`user_id`, `dept_id`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci COMMENT = '成员部门关联表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for eg_wework_department
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `eg_wework_department`;
|
||||
CREATE TABLE `eg_wework_department`
|
||||
(
|
||||
`id` bigint(20) NOT NULL COMMENT '自增id',
|
||||
`dept_id` bigint(20) NOT NULL COMMENT '部门id',
|
||||
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '部门名称',
|
||||
`name_en` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '英文部门名称',
|
||||
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父部门id',
|
||||
`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_dept_id` (`dept_id`) USING BTREE,
|
||||
INDEX `idx_dept_parent_id` (`dept_id`, `parent_id`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci COMMENT = '企业微信部门表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
```
|
||||
|
||||
@ -302,9 +452,13 @@ rocketmq:
|
||||
producer:
|
||||
group: qifu-saas-eg
|
||||
namespace: dev
|
||||
# 发送消息超时时间,默认3000
|
||||
sendMessageTimeout: 10000
|
||||
consumer:
|
||||
group: qifu-saas-eg
|
||||
namespace: dev
|
||||
# 一次拉取消息最大值,注意是拉取消息的最大值而非消费最大值
|
||||
pull-batch-size: 10
|
||||
|
||||
qifu:
|
||||
eg:
|
||||
@ -315,7 +469,19 @@ qifu:
|
||||
shipping-fulfillment-url: https://api.sandbox.ebay.com/sell/fulfillment/v1/order/{orderId}/shipping_fulfillment
|
||||
challenge-verification-token: 'dfcDlKJ35c693cFi90Mc3CCiu776fsfgs'
|
||||
notification-endpoint: 'https://wxwork.texous.cn/open/order/callback/1'
|
||||
spi-consumer-group: qifuEgSpiConsumerGroup
|
||||
consumer-group:
|
||||
order-spi: egOrderSpiConsumerGroup
|
||||
wework-event-webhook: egWeworkEventWebhookConsumerGroup
|
||||
wework-map:
|
||||
keyfil:
|
||||
webhooks:
|
||||
#- 生产
|
||||
#- - url: http://172.17.229.30:18088/api/pssystem/event/changeContact
|
||||
#- 测试
|
||||
- url: http://172.17.229.30:18080/api/pssystem/event/changeContact
|
||||
timeout: 6000
|
||||
events:
|
||||
- change_contact
|
||||
|
||||
yuanmeng:
|
||||
redis:
|
||||
|
@ -22,6 +22,16 @@
|
||||
<!-- :toc: -->
|
||||
|
||||
# 电商应用发布材料
|
||||
- 授权回调链接URL:https://#{host}/qifu-saas-eg/open/order/oauth/callback/#{channel}/#{appName}
|
||||
- Webhook链接URL:https://#{host}/qifu-saas-eg/open/order/callback/#{channel}/#{appName}
|
||||
- #{host}: 对应环境的域名
|
||||
- #{channel}:电商渠道
|
||||
- 1: eBay
|
||||
- 2: TikTok
|
||||
- 3: Amazon
|
||||
- 4: Lazada
|
||||
- 5: Shopee
|
||||
- #{appName}: 应用名称,需要是英文,因为单个渠道可能会有多个应用,所以这边做兼容
|
||||
|
||||
## 材料准备
|
||||
### eBay
|
||||
@ -32,10 +42,21 @@
|
||||
- 配置 endpoint: 例如 `https://xxxxx.keyfil.com/qifu-saas-eg/open/order/callback/1` 将 `xxx.keyfil.com` 改为对应的环境
|
||||
- 保存即可
|
||||
|
||||
### Lazada
|
||||
|
||||
### Tiktok
|
||||
- 需要先注册账号:https://partner-sso.tiktok.com/account/login?from=ttspc_no_login&redirectURL=%2F%2Fpartner.tiktokshop.com%2Fapproval%2Fprofile&lang=zh-CN&local_id=localID_Portal_50688815_1742884012545&userID=46044724&is_through_login=1
|
||||
- 操作界面:https://partner.tiktokshop.com/approval/profile
|
||||
- 成为合作者文档:https://partner.tiktokshop.com/doc/page/63fd7443715d622a338c507f
|
||||
- 创建和发布服务文档:https://partner.tiktokshop.com/doc/page/63fd7445715d622a338c509d#%E5%9B%9E%E5%88%B0%E9%A1%B6%E9%83%A8
|
||||
|
||||
|
||||
### Shopee
|
||||
|
||||
### Lazada
|
||||
- 发布教程:https://www.yuque.com/lazadasellerservicemarket/hoafmn/qyldgaxgtfsm5om6?singleDoc#%20%E3%80%8A%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0%E5%95%86%E7%94%A8APPKEY%E5%8F%91%E5%B8%83%E8%87%B3%E6%9C%8D%E5%8A%A1%E5%B8%82%E5%9C%BA%E6%95%99%E7%A8%8B%E3%80%8B
|
||||
- 如果需要解密敏感信息需要做如下操作
|
||||
- 解密信息申请:https://eco.lazada.com/service/project?id=7377
|
||||
- 第一步需要产品介入
|
||||
- 第三步需要开发介入
|
||||
|
||||
### Amazon
|
||||
|
||||
### Shopee
|
||||
|
200
教程/电商/20250515-电商订单对接指南.md
Normal file
200
教程/电商/20250515-电商订单对接指南.md
Normal file
@ -0,0 +1,200 @@
|
||||
<!-- Space: qifu -->
|
||||
<!-- Parent: 后端技术&知识&规范 -->
|
||||
<!-- Parent: 技术方案 -->
|
||||
<!-- Parent: 基建 -->
|
||||
<!-- Parent: 03-接入指南 -->
|
||||
<!-- Parent: 0301-电商接入指南 -->
|
||||
<!-- Title: 20250515-电商订单对接指南 -->
|
||||
|
||||
<!-- 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: -->
|
||||
|
||||
# 电商订单对接指南
|
||||
|
||||
- eBay 接入指南可以查看:http://confluence.qifu.com/pages/viewpage.action?pageId=38511846
|
||||
- TikTok 接入指南可以查看:http://confluence.qifu.com/pages/viewpage.action?pageId=38512736
|
||||
- Amazon 接入指南可以查看:http://confluence.qifu.com/pages/viewpage.action?pageId=38512738
|
||||
- Lazada 接入指南可以查看:http://confluence.qifu.com/pages/viewpage.action?pageId=38512740
|
||||
|
||||
## 使用南北流量网关对接电商平台
|
||||
|
||||
### 接口交互流程
|
||||
|
||||
#### 电商用户授权流程
|
||||
|
||||

|
||||
|
||||
#### 接口交互流程
|
||||
|
||||

|
||||
|
||||
### 添加依赖
|
||||
|
||||
```xml
|
||||
|
||||
<dependencys>
|
||||
<!-- RPC接口 -->
|
||||
<dependency>
|
||||
<groupId>com.yuanmeng.qifu</groupId>
|
||||
<artifactId>qifu-saas-eg-client</artifactId>
|
||||
<version>1.0.13</version>
|
||||
</dependency>
|
||||
|
||||
<!-- SPI接收订单同步信息 -->
|
||||
<dependency>
|
||||
<groupId>com.yuanmeng.qifu</groupId>
|
||||
<artifactId>qifu-saas-eg-spi</artifactId>
|
||||
<version>1.0.13</version>
|
||||
</dependency>
|
||||
</dependencys>
|
||||
|
||||
```
|
||||
|
||||
### 注册SPI服务(注册之后才会有 webhook 请求)
|
||||
|
||||
#### spi包中包含的自动注册
|
||||
|
||||
- qifu-saas-eg-spi 已经整合了自动注册功能。
|
||||
- 默认以 spring.application.name 作为服务名在程序启动时发起注册
|
||||
- 可以做特殊配置:
|
||||
- ```yaml
|
||||
qifu:
|
||||
eg:
|
||||
spi:
|
||||
enable: true
|
||||
enable-spi-register: true
|
||||
spi-infos:
|
||||
- type: 1
|
||||
server-code: ${spring.application.name}
|
||||
server-name: ${spring.application.name}
|
||||
server-description: '测试服务'
|
||||
```
|
||||
- type:1=订单同步SPI
|
||||
- server-code:唯一标识,卖家授权的时候使用
|
||||
- server-name:服务名称,SPI feign调用服务名
|
||||
|
||||
#### 手动注册
|
||||
|
||||
- 使用 `RemoteSpiService.addSpi` 来进行注册
|
||||
- 可以关闭自动注册
|
||||
- ```yaml
|
||||
qifu:
|
||||
eg:
|
||||
spi:
|
||||
enable-spi-register: false
|
||||
```
|
||||
|
||||
### 卖家授权(必须)
|
||||
|
||||
#### 第一步:关联卖家授权应用(必须)
|
||||
|
||||
- `RemoteOrderService.linkApp(channel, sellerId, region, orderAppId, spiServerCodes)`
|
||||
- channel`(required)`: 渠道,参考 `OrderChannelEnum` code字段
|
||||
- sellerId`(required)`:卖家id,卖家唯一标识,业务自定义
|
||||
- region`(required)`:所属区域,请看 `RemoteOrderService.linkApp()` 接口文档注释
|
||||
- orderAppId`(optional)`:关联的授权应用,没传由系统负载获取
|
||||
- spiServerCodes`(optional)`:spi回调应用编码,多个用, 分割,没有时不会做 webhook
|
||||
- **示例:**
|
||||
- ```shell
|
||||
curl -X POST --location "http://localhost:8933/order/app/link?channel=4&sellerId=keyfil001®ion=Vietnam" \
|
||||
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYmYiOjE3MzEzODIxNzksInRlbmFudElkIjo3LCJuaWNrbmFtZSI6IuWImOaZk-WNjiIsImV4cCI6MTczMTQyNTM3OSwiaWF0IjoxNzMxMzgyMTc5LCJ1c2VySWQiOjEzODM3MjksImp0aSI6ImYyMzQ1NDgxNWQ0NTRkNzk4MGQ2ZjQwMGQ2NWFlMzBkIn0.QjFcqlGACbR9VZXEyQhmuP-JTJTT7ILmP8FeNdGJcJI"
|
||||
```
|
||||
|
||||
#### 获取授权链接(必须)
|
||||
|
||||
- `RemoteOrderService.authAuthorizeUrl(Integer channel, String sellerId)`
|
||||
- **示例:**
|
||||
- ```shell
|
||||
curl -X GET --location "http://localhost:8933/order/oauth/authorize?channel=4&sellerId=keyfil001" \
|
||||
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYmYiOjE3MzEzODIxNzksInRlbmFudElkIjo3LCJuaWNrbmFtZSI6IuWImOaZk-WNjiIsImV4cCI6MTczMTQyNTM3OSwiaWF0IjoxNzMxMzgyMTc5LCJ1c2VySWQiOjEzODM3MjksImp0aSI6ImYyMzQ1NDgxNWQ0NTRkNzk4MGQ2ZjQwMGQ2NWFlMzBkIn0.QjFcqlGACbR9VZXEyQhmuP-JTJTT7ILmP8FeNdGJcJI"
|
||||
```
|
||||
|
||||
#### 获取accessToken(回调链接为业务链接时必须)
|
||||
|
||||
-
|
||||
`RemoteOrderService.authAccessToken(Integer channel, String appName, String code, String spapiOauthCode, String shopId, String mainAccountId, String state)`
|
||||
- **示例:**
|
||||
- ```shell
|
||||
curl -X GET --location "http://localhost:8933/open/order/oauth/callback/4?code=0_132783_8fmfr7mGBVhjyFt7aycC8R784464&state=1922598474703364098"
|
||||
```
|
||||
|
||||
#### 授权状态(必须)(快过期时提醒用户重新授权)
|
||||
|
||||
- **在授权后需要查询授权状态,授权状态快过期时需要提醒用户重新授权**
|
||||
- `RemoteOrderService.oauthStatus(Integer channel, String sellerId)`
|
||||
- **示例:**
|
||||
- ```shell
|
||||
curl -X GET --location "http://localhost:8933/order/oauth/status?channel=4&sellerId=keyfil001"
|
||||
```
|
||||
|
||||
#### 手动同步(可选)
|
||||
|
||||
- 手动触发订单同步操作
|
||||
- `RemoteOrderService.syncOrder(OrderSyncReq req)`
|
||||
- **示例:**
|
||||
- ```shell
|
||||
curl -X POST --location "http://localhost:8933/order/sync" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYmYiOjE3MzEzODIxNzksInRlbmFudElkIjo3LCJuaWNrbmFtZSI6IuWImOaZk-WNjiIsImV4cCI6MTczMTQyNTM3OSwiaWF0IjoxNzMxMzgyMTc5LCJ1c2VySWQiOjEzODM3MjksImp0aSI6ImYyMzQ1NDgxNWQ0NTRkNzk4MGQ2ZjQwMGQ2NWFlMzBkIn0.QjFcqlGACbR9VZXEyQhmuP-JTJTT7ILmP8FeNdGJcJI" \
|
||||
-d '{
|
||||
"channel": 4,
|
||||
"sellerId": "keyfil001",
|
||||
"startTimeMillis": 1742529814000
|
||||
}'
|
||||
```
|
||||
|
||||
#### 自动同步
|
||||
|
||||
- 每一个小时会进行一次订单同步。cron:`0 0 0/1 * * ?`
|
||||
|
||||
### 编写SPI处理逻辑
|
||||
|
||||
#### 开放接口
|
||||
|
||||
- SPI通过自动注册接口 `/sync/order/change` 来实现 webhook 请求接收
|
||||
- 需要程序开放 `/sync/order/change` 接口供 `qifu-saas-eg` 回调使用
|
||||
|
||||
#### 编写回调信息处理逻辑
|
||||
|
||||
- 实现 `OrderSyncHandler`
|
||||
- **示例:**
|
||||
- ```java
|
||||
@Slf4j
|
||||
@Component
|
||||
public class OrderSyncHandlerImpl implements OrderSyncHandler {
|
||||
|
||||
@Override
|
||||
public Boolean handle(SpiOrderReq req) {
|
||||
log.info("channel: {}", req.getChannel());
|
||||
log.info("sellerId: {}", req.getSellerId());
|
||||
log.info("orders: {}", req.getSpiOrders());
|
||||
|
||||
for (SpiOrderReq.SpiOrder spiOrder : req.getSpiOrders()) {
|
||||
if (spiOrder.getOldOrder() == null) {
|
||||
// TODO 新订单处理逻辑
|
||||
log.info("new order handler: order info: {}", spiOrder.getNewOrder());
|
||||
|
||||
} else {
|
||||
// TODO 更新订单逻辑
|
||||
log.info("update order handler: old order info: {}", spiOrder.getOldOrder());
|
||||
log.info("update order handler: new order info: {}", spiOrder.getNewOrder());
|
||||
}
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
}
|
||||
```
|
34
材料/01-IDEA优化配置.md
Normal file
34
材料/01-IDEA优化配置.md
Normal file
@ -0,0 +1,34 @@
|
||||
# IDEA优化配置
|
||||
|
||||
## Terminal修改为GitBash
|
||||
|
||||
- 配置路径:`Settings > Tools > Terminal`
|
||||
- 
|
||||
- 支持中文显示
|
||||
- 修改 git bash 配置:`Git安装目录 > etc > bash.bashrc`
|
||||
- 
|
||||
|
||||
## 通用注释模板配置
|
||||
- 配置路径 `Settings > File and Code Templates > includes > File Header`
|
||||
- 
|
||||
- ```java
|
||||
/**
|
||||
* insert description here
|
||||
*
|
||||
* @author liuxiaohua
|
||||
* @since ${DATE}
|
||||
*/
|
||||
```
|
||||
|
||||
## 常用插件列表
|
||||

|
||||
|
||||
## 自定义快捷键配置
|
||||
### Git Merge
|
||||
- 配置路径 `Settings > Keymap`
|
||||
- 
|
||||
- `Ctrl + ,`
|
||||
### 界面配置
|
||||
- 配置路径 `右上角空白处 > 右键 > Customize Toolbar...`
|
||||
- 
|
||||
- 
|
@ -3,23 +3,23 @@
|
||||
#### 查看集群信息
|
||||
```shell
|
||||
#- 查看集群信息
|
||||
C:\Programs\Developer\ktctl_0.3.7\kubectl.exe cluster-info
|
||||
C:/Programs/Developer/ktctl_0.3.7/kubectl.exe cluster-info
|
||||
```
|
||||
|
||||
#### 启动Connect
|
||||
```shell
|
||||
C:\Programs\Developer\ktctl_0.3.7\ktctl.exe connect --namespace qifu-develop --kubeconfig C:\Documents\Workspace\Env\.kube\kubeconfig.yaml
|
||||
C:/Programs/Developer/ktctl_0.3.7/ktctl.exe connect --namespace qifu-develop --kubeconfig C:/Documents/Workspace/Env/.kube/kubeconfig.yaml
|
||||
```
|
||||
|
||||
#### 启动mesh服务
|
||||
```shell
|
||||
#- 启动mesh
|
||||
C:\Programs\Developer\ktctl_0.3.7\ktctl.exe mesh qifu-saas-eg --namespace qifu-develop --expose 8933:8933 --versionMark ym-version:liuxiaohua --kubeconfig C:\Documents\Workspace\Env\.kube\kubeconfig.yaml
|
||||
C:/Programs/Developer/ktctl_0.3.7/ktctl.exe mesh qifu-saas-eg --namespace qifu-develop --expose 8933:8933 --versionMark ym-version:liuxiaohua --kubeconfig C:/Documents/Workspace/Env/.kube/kubeconfig.yaml
|
||||
```
|
||||
|
||||
#### 资源清理
|
||||
```shell
|
||||
C:\Programs\Developer\ktctl_0.3.7\ktctl.exe clean --namespace qifu-develop --kubeconfig C:\Documents\Workspace\Env\.kube\kubeconfig.yaml
|
||||
C:/Programs/Developer/ktctl_0.3.7/ktctl.exe clean --namespace qifu-develop --kubeconfig C:/Documents/Workspace/Env/.kube/kubeconfig.yaml
|
||||
|
||||
#- --dryRun 只打印要删除的Kubernetes资源名称,不删除资源
|
||||
#- --thresholdInMinus value 清理至少已失联超过多长时间的Kubernetes资源 (单位:分钟,默认值:15)
|
||||
|
Loading…
x
Reference in New Issue
Block a user