♻️ [2025-02-10] 梳理项目结构
All checks were successful
Publish to Confluence / confluence (push) Successful in 3m39s

This commit is contained in:
liuxiaohua 2025-02-10 09:21:02 +08:00
parent 63d21afff3
commit cd0b30796f
23 changed files with 716 additions and 0 deletions

View File

@ -3,6 +3,16 @@
- [月度任务规划](http://confluence.qifu.com/pages/viewpage.action?pageId=38503257)
- [周报](http://confluence.qifu.com/display/qifu/20241115)
## 长期任务
- 来源http://confluence.qifu.com/pages/viewpage.action?pageId=38507909
- 监控平台: `GC boot`
- 自动化测试,精准测试。凯钧
- 企微OA审批
- WhatsApp
- SSO继续完善
- xblms 看看能不能支持 sso
- PM系统与Gitlab打通
##
- [ ] 回调业务方法实现(回调详情表?)

View File

@ -0,0 +1,48 @@
<!-- Space: qifu -->
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 01-发布文档 -->
<!-- Title: 20250208-企赋南北流量网关发布 -->
<!-- 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 -->
<!-- Attachment: ./sql/20250208-eg-ddl.sql -->
<!-- Attachment: ./config/20250208-eg-config.yaml -->
<!-- :toc: -->
# 20250208-企赋南北流量网关发布
## 发布说明
### 涉及项目
| 项目 | 发布顺序 | 数据库变更 | 配置变更 | 负责人 | 备注 |
|--------------|------|---------------------------------------|-----------------------------------------------|-----|----------------------------|
| qifu-saas-eg | 1 | [数据库脚本DDL](./sql/20250208-eg-ddl.sql) | [Nacos配置文件](./config/20250208-eg-config.yaml) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 |
### 其余配置
#### Track123
- 配置 Track123 回调地址到对应的环境
- [ ] DEV
- [ ] TEST
- [ ] UAT
- [ ] PROD
----
## 开发说明

View File

@ -0,0 +1,85 @@
# 需要修改
# change、spring.datasource、spring.redis
change:
# 快递100 参数
kuaidi-ozz:
callback-url: 'http://keyfil.texous.cn/callback/kuaidiOzz'
customer: C6E7EB413784823FA9518675EAE9C937
key: XGGCirbf4175
secret: a94dcc1d34d84494846d71d5c7a15c97
# Track123 参数
track-ott:
api-secret: 5d209e731b344fb6bb3ffae20b142258
logging:
level:
root: DEBUG
org.springframework.web: DEBUG
org.springframework.security: DEBUG
org.springframework.security.oauth2: DEBUG
com.yuanmeng: debug
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
spring:
datasource:
#url: jdbc:mysql://10.168.2.187:30306/qifu_saas_wms?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true
url: jdbc:mysql://mysql:3306/dev_qifu_saas_eg?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: qifu@2023
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 5
min-idle: 5
max-active: 20
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
min-evictable-idle-time-millis: 300000
filter:
stat: # 配置 StatFilter ,对应文档 https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter
log-slow-sql: true # 开启慢查询记录
slow-sql-millis: 2000 # 慢 SQL 的标准,单位:毫秒
merge-sql: true # SQL合并配置
stat-view-servlet:
enabled: false
login-username: admin
login-password: 123456
#redis
redis:
host: redis
port: 6379
password: 123456
database: 0
timeout: 30000
lettuce:
pool:
max-active: 10
max-idle: 5
min-idle: 2
max-wait: 3000
qifu:
eg:
one-seven-track:
enable: false
key: ${ONE_SEVEN_KEY}
kuaidi-ozz:
enable: true
callback-url: ${change.kuaidi-ozz.callback-url}
customer: ${change.kuaidi-ozz.customer}
key: ${change.kuaidi-ozz.key}
secret: ${change.kuaidi-ozz.secret}
track-one-two-three:
enable: true
api-secret: ${change.track-ott.api-secret}
wework-map:
keyfil:
token: NG4Vcr
corp-id: ww3ea89275951efdf1
aes-key: 7RzIdfVg3rQggEjrk54Ccg7WDbNFXuHtQmdfO487MtA

View File

@ -0,0 +1,259 @@
/*
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: 08/02/2025 15:05:51
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for eg_express
-- ----------------------------
DROP TABLE IF EXISTS `eg_express`;
CREATE TABLE `eg_express` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '渠道编码',
`company` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
`number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '快递单号',
`send_man_mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送人手机号',
`send_man_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送人名称',
`send_man_print_addr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送人地址',
`rec_man_mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '接收人手机号',
`rec_man_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '接收人名称',
`rec_man_print_addr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '接收人地址',
`cargo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '物流物品名称',
`state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '99999' COMMENT '状态:默认 99999',
`send_country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送国家',
`send_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送省',
`send_city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送市',
`send_district` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送街道',
`rec_country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '接收国家',
`rec_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '接收省',
`rec_city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '接收市',
`rec_district` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '接收街道',
`delivered_days` int(4) NOT NULL DEFAULT 0 COMMENT '交货时间 和 收货时间的天数',
`receipt_days` int(4) NOT NULL DEFAULT 0 COMMENT '收货时间 和 发货时间的天数',
`transit_days` int(4) NOT NULL DEFAULT 0 COMMENT '当前时间 和 收货时间 之间的天数,停止更新',
`stay_days` int(4) NOT NULL DEFAULT 0 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
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '物流信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for eg_express_company_mapping
-- ----------------------------
DROP TABLE IF EXISTS `eg_express_company_mapping`;
CREATE TABLE `eg_express_company_mapping` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '来源渠道',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
`out_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '外部公司编码',
`cn_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '公司名称',
`us_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '公司名称英文',
`out_cn_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '外部公司名称',
`out_us_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' 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
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '物流公司映射表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for eg_express_order
-- ----------------------------
DROP TABLE IF EXISTS `eg_express_order`;
CREATE TABLE `eg_express_order` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`request_id` bigint(20) NOT NULL COMMENT '请求id',
`trx_id` bigint(20) NOT NULL COMMENT '流水id',
`channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '来源渠道',
`company` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
`number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '快递单号',
`send_man_mobile` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送人手机',
`rec_man_mobile` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' 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
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '物流下单表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for eg_express_register
-- ----------------------------
DROP TABLE IF EXISTS `eg_express_register`;
CREATE TABLE `eg_express_register` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '渠道编码',
`company` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
`number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '快递单号',
`status` int(2) NOT NULL DEFAULT 1 COMMENT '状态1=待注册2=注册成功3=注册失败',
`message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '成功或者失败信息',
`retry_times` int(2) NOT NULL DEFAULT 0 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
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '物流追踪注册' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for eg_express_tracking
-- ----------------------------
DROP TABLE IF EXISTS `eg_express_tracking`;
CREATE TABLE `eg_express_tracking` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '来源渠道',
`company` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
`number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '快递单号',
`time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求状态',
`time_long` bigint(20) NOT NULL DEFAULT 0 COMMENT '错误信息',
`context` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '节点事件内容',
`country` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '国家',
`province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '',
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '',
`district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '街道',
`address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '详细地址',
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物流状态',
`coordinates` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' 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
) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '物流追踪表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for eg_express_waybill
-- ----------------------------
DROP TABLE IF EXISTS `eg_express_waybill`;
CREATE TABLE `eg_express_waybill` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '渠道编码',
`company` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
`company_channel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '物流公司渠道',
`number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '快递单号',
`biz_type` int(4) NOT NULL DEFAULT 1 COMMENT '业务类型1=出库单',
`biz_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '业务编码',
`status` int(4) NOT NULL DEFAULT 1 COMMENT '状态1=待处理2=成功3=失败',
`original_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '源电子面单链接',
`oss_obj_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'OSS文件名称',
`file_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'pdf' COMMENT '文件类型',
`file_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' 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
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '物流电子面单信息' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for eg_request_flow_control
-- ----------------------------
DROP TABLE IF EXISTS `eg_request_flow_control`;
CREATE TABLE `eg_request_flow_control` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`biz_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务编码',
`biz_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务名称',
`limit_type` int(4) NOT NULL DEFAULT 1 COMMENT '限制类型1=令牌桶',
`limit_time` int(8) NOT NULL DEFAULT 1 COMMENT '限制时间',
`limit_unit` int(4) NOT NULL DEFAULT 1 COMMENT '限制时间单位1=秒',
`limit_quantity` int(8) NOT NULL DEFAULT 1 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
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '请求流量控制表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for eg_request_info
-- ----------------------------
DROP TABLE IF EXISTS `eg_request_info`;
CREATE TABLE `eg_request_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`request_id` bigint(20) NOT NULL COMMENT '请求id客户端生成',
`trx_id` bigint(20) NOT NULL COMMENT '请求记录id服务端生成',
`request_time` bigint(20) NOT NULL COMMENT '请求时间',
`request_type` int(4) NOT NULL COMMENT '请求类型:比如下运单,查物流等',
`exec_type` int(2) NOT NULL DEFAULT 1 COMMENT '执行类型1=同步2=异步',
`request_status` int(2) NOT NULL DEFAULT 1 COMMENT '请求状态',
`attach_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '附加信息',
`callback_url` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' 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
) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '请求信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for eg_request_info_detail
-- ----------------------------
DROP TABLE IF EXISTS `eg_request_info_detail`;
CREATE TABLE `eg_request_info_detail` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`trx_id` bigint(20) NOT NULL COMMENT '请求记录id服务端生成',
`request_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求信息',
`response_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '结果信息',
`status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '20000' COMMENT '请求状态',
`error_message` 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
) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '请求信息详情表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for magic_api_file
-- ----------------------------
DROP TABLE IF EXISTS `magic_api_file`;
CREATE TABLE `magic_api_file` (
`file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`file_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -0,0 +1,6 @@
# 目录结构说明
- 按年划分
- 每个年份下有对应的 sql 文件夹 `sql`
- ddl 和 dml 分开不同文件: `xxx-ddl.sql`, `xxx-dml.sql`
- 配置文件有单独的文件夹 `config`
- 配置文件为 `xxx.yaml`,

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250103-YApi部署指南 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250104-JenkinsSSO接入指南 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250104-Linkwarden部署指南 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250107-Yearning安装及SSO接入指南 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250108-Gitlab安装及SSO接入指南 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250110-Confluence安装及SSO接入指南 -->
<!-- Attachment: ../材料/atlassian-agent.jar -->

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250111-Nacos安装及SSO接入指南 -->
<!-- Attachment: ../材料/nacos.zip -->

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250113-Grafana安装及SSO接入指南 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 03-接入指南 -->
<!-- Title: 20250117-Graylog安装及SSO接入指南 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -0,0 +1,118 @@
<!-- Space: qifu -->
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 04-使用教程 -->
<!-- Title: 20250122-Clash安装及GitSSH使用代理教程 -->
<!-- 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: -->
# 20250122-Clash安装及GitSSH使用代理教程
## Clash安装配置
### 下载 Clash
- 进入 [Clash官网][ClashDownload]
- 下载对应的客户端
- Windows可以直接下载[Clash.Verge_1.5.11_x64-setup.exe](https://picture.texous.cn/blog/20250122103244674.exe)
- 安装
### 配置
#### 订阅链接
- 点击订阅, 输入订阅链接, 点击导入
- ![](https://picture.texous.cn/blog/20250122103541177.png)
#### 配置服务模式及TUN模式(SSH代理需要)
- 点击设置, 开启服务模式和Tun模式
- ![](https://picture.texous.cn/blog/20250122103815705.png)
## 配置Git使用SSH代理
### 问题来源
> 当进行 SSH 连接时抛出 kex_exchange_identification: Connection closed by remote host如果你使用了代理工具那基本上为代理的问题。
- 可能出现错误的原因: 网络中断、不稳定等,端口连接失败(本地或代理的防火墙)
- 最小复现:选择一个无法连接的节点,或在连接途中切换网络环境(或节点)
- ![](https://picture.texous.cn/blog/20250122104133612.png)
### 解决方案
#### 不使用代理
- 不使用代理。如果是和 Github 进行交互可以选择 Https 方式进行。
- ```shell
git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
```
#### 通过 443 端口链接 SSH
- 测试 443 端口是否可用
- 前提SSH 服务需要支持该端口,如 Github
- 大多数规则(或防火墙)都不会对 443 端口进行限制(基本上你能访问 Https 站点即代表 443 是放行的)
- 当然,在配置之前可以先测试 443 的连通性(注意:支持 443 端口的域名为 ssh.github.com 非 github.com
- ```shell
ssh -T -p 443 git@ssh.github.com
```
- 若如下输出,则表明连接成功
- ```shell
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
```
- 覆盖 SSH 的默认行为
- 确保刚才的测试指令可以连通 443 端口
- 编辑 ~/.ssh/configwin用户目录/.ssh即可无感切换端口连接 SSH
- 若无该配置文件,保存时会自动创建.(win: 直接新建 config 文件)
- 编辑 `config` 文件.(linux: `vi ~/.ssh/config`, win: 右键,记事本编辑)
- ```text
Host github.com
Hostname ssh.github.com
Port 443
User git
```
- 测试
- 注意这里使用的是原来的域名 github.com对使用来说无感知
- ```shell
$ ssh -T git@github.com
#- Hi USERNAME! You've successfully authenticated, but GitHub does not
#- provide shell access.
```
- 不同端口的连接(开启 TUN 模式,可在代理软件中查看相关连接)
- ![](https://picture.texous.cn/blog/20250122105125193.png) ![](https://picture.texous.cn/blog/20250122105137391.png)
- 至此教程结束
----
## 相关知识
### SSH known_hosts
- 当使用 SSH 连接新的服务时(如 ssh.github.comSSH 会展示目标服务的公钥指纹用于验证服务。当输入 yes 后,服务器公钥将会被保存至 ~/.ssh/known_hosts 中用于后续连接时的公钥验证
- ```shell
#- The authenticity of host '[ssh.github.com]:443 ([140.82.112.36]:443)' can't be established.
#- ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
#- This host key is known by the following other names/addresses:
#- ~/.ssh/known_hosts:32: github.com
#- Are you sure you want to continue connecting (yes/no/[fingerprint])?
```
- Github 提供的 SSH 密钥指纹,可添加至 known_hosts 文件中,避免在连接时手动验证(验证也仅在第一次)
### 终端代理 与 TUN 模式
- 通过 export http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890 可在终端设置 代理的环境变量
- 需要注意的是,一些命令如 SSH、PING 等由于自身实现,或传输层限制等无法使用终端代理,此时可以打开代理工具的 TUN 模式来解决。
- TUN 模式相当于给系统安装虚拟网卡,可以捕获所有类型的流量,即便代理只支持 TCP 或 UDP 的流量,如 ICMP 层的 PING。该模式是无感的可以快速的接管不支持 系统代理 的应用
## 总结
- 如果你之前一直使用代理来连接 SSH只是偶尔出现该情况那建议更换代理服务或暂时关闭代理直接连接。
## 参考
- [Using SSH over the HTTPS port](https://docs.github.com/en/authentication/troubleshooting-ssh/using-ssh-over-the-https-port)
- [解决使用代理clash 等)进行 SSH 连接(如 Github ssh key clone/push出现 kex_exchange_identification 错误](https://ksh7.com/posts/ssh-connection-errors/)
[ClashDownload]: https://clashcn.com/clashreleases

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 02-技术方案 -->
<!-- Parent: 20241224-元盟全域SSO方案 -->
<!-- Title: 20241224-元盟全域SSO方案进度表 -->

View File

@ -2,6 +2,8 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 02-技术方案 -->
<!-- Parent: 20250110-K8s健康检查技术方案 -->
<!-- Title: 20250110-K8s健康检查迁移进度表 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 02-技术方案 -->
<!-- Title: 20241224-元盟全域SSO方案 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 02-技术方案 -->
<!-- Title: 20241225-产研协同平台企微登录方案 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -2,6 +2,7 @@
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 00-基础组件 -->
<!-- Title: 20241226-GitlabWebhook配置 -->
<!-- Macro: :anchor\((.*)\):

View File

@ -0,0 +1,90 @@
<!-- Space: qifu -->
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 02-技术方案 -->
<!-- Title: 20250110-K8s健康检查技术方案 -->
<!-- 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: -->
# K8s健康检查技术方案
## K8s 探针
- [K8s配置存活、就绪和启动探针](https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)
- 使用 httpGet 方式,请求 `/actuator/health` 做服务就绪检查
## 后端健康检查接口
- 使用 `Filter` 实现健康检查接口处理
- 代码集成在 `web-core`
- 代码示例:
```java
package com.yuanmeng.engine.web.core.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.http.HttpStatus;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Configuration
@ConditionalOnProperty(prefix = "yuanmeng.web-core", name = "enable-health-check", matchIfMissing = true)
public class HealthCheckFilterConfig {
@Bean
public FilterRegistrationBean<HealthCheckFilter> healthCheckFilter() {
FilterRegistrationBean<HealthCheckFilter> registrationBean = new FilterRegistrationBean<>();
registrationBean.setFilter(new HealthCheckFilter());
registrationBean.addUrlPatterns("/actuator/health");
registrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return registrationBean;
}
@Slf4j
public static class HealthCheckFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) {
log.info("[web-core]: HealthCheckFilter init");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
if (httpRequest.getRequestURI().contains("/actuator/health")) {
log.info("[web-core]: receive health check");
httpResponse.setStatus(HttpStatus.OK.value());
httpResponse.getWriter().write("{\"status\":\"UP\"}");
} else {
chain.doFilter(request, response);
}
}
}
}
```

View File

@ -0,0 +1,56 @@
## 20250122-开源企业内部培训平台调研.md
### PlayEdu
- 开源地址: https://github.com/PlayEdu/PlayEdu
- 语言: java
- 功能对比(开源及收费): https://www.playeduos.com/function.html
- 体验地址:
- 管理端http://10.168.3.62:9900 账号admin@playedu.xyz 密码playedu
- 用户端http://10.168.3.62:9800 账号texousliu@foxmail.com 密码Admin123.
- 可以通过管理端自己创建账户
- 功能说明
- 支持视频
- 支持章节及课件
- 支持按组织分配
### 在线培训系统
- 开源地址: https://gitee.com/texousliu/xblmls
- 语言: .net
- 功能对比(开源及收费): 全部开源
- 体验地址:
- 管理端http://10.168.3.62/admin 账号admin 密码Admin123.
- 用户端http://10.168.3.62/home 账号texousliu 密码 Admin123.
- 可以通过管理端自己创建账户
- 功能说明
- 支持视频
- 支持考试
- 支持培训计划
### OpenOLAT
- 开源地址: https://github.com/OpenOLAT/OpenOLAT
- 主要针对在线教育:功能全,但是使用复杂,不建议
### canvas lms
- 开源地址: https://github.com/instructure/canvas-lms
-
### saki
- 开源地址: https://github.com/sakaiproject/sakai
- 主要针对在线教育:功能全,但是使用复杂,不建议
### 探学未来/E-Learning在线学习平台
- https://gitee.com/yuanjiusheng/cloud-learning-ce
- 在线教育平台
- 最新版本-演示地址
后台https://chawind.com/testadmin 账号密码admin/admin
前台https://chawind.com/testweb 账号密码13800138000/123456
H5 https://chawind.com/testh5 账号密码13800138000/123456
### 广东启点学教育科技有限公司/启点学网校平台
- https://gitee.com/qidianxue/qdxwx-platform
https://github.com/snwjas/OnlineEdu
https://github.com/PAcee1/xcEduService
https://github.com/Qsnh/meedu
https://github.com/yuechenedu/EduLearn?tab=readme-ov-file
https://github.com/hjsdjko/qiyezaixianpeixun/tree/main

View File

@ -0,0 +1,29 @@
<!-- Space: qifu -->
<!-- Parent: 后端技术&知识&规范 -->
<!-- Parent: 技术方案 -->
<!-- Parent: 基建 -->
<!-- Parent: 05-技术调研 -->
<!-- Title: 20250208-WhatsApp接入技术调研 -->
<!-- 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: -->
# WhatsApp接入技术调研
## 参考
- [WhatsApp云端API](https://developers.facebook.com/docs/whatsapp/cloud-api)
- [开发者平台](https://developers.facebook.com/)