From cd0b30796f01dd9f6f30e62bfa10ceb6240126df Mon Sep 17 00:00:00 2001 From: liuxiaohua Date: Mon, 10 Feb 2025 09:21:02 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20[2025-02-10]=20=E6=A2=B3?= =?UTF-8?q?=E7=90=86=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 任务/今日任务.md | 10 + 发版/2025/20250208-企赋南北流量网关发布.md | 48 ++++ 发版/2025/config/20250208-eg-config.yaml | 85 ++++++ 发版/2025/sql/20250208-eg-ddl.sql | 259 ++++++++++++++++++ 发版/目录结构说明.md | 6 + 教程/20250103-YApi部署指南.md | 1 + 教程/20250104-JenkinsSSO接入指南.md | 1 + 教程/20250104-Linkwarden部署指南.md | 1 + 教程/20250107-Yearning安装及SSO接入指南.md | 1 + 教程/20250108-Gitlab安装及SSO接入指南.md | 1 + 教程/20250110-Confluence安装及SSO接入指南.md | 1 + 教程/20250111-Nacos安装及SSO接入指南.md | 1 + 教程/20250113-Grafana安装及SSO接入指南.md | 1 + 教程/20250117-Graylog安装及SSO接入指南.md | 1 + .../20250122-Clash安装及GitSSH使用代理教程.md | 118 ++++++++ 文档/20241224-元盟全域SSO方案进度表.md | 1 + 文档/20250110-K8s健康检查迁移进度表.md | 2 + 方案/20241224-元盟全域SSO方案.md | 1 + 方案/20241225-产研协同平台企微登录.md | 1 + 方案/20241226-GitlabWebhook配置.md | 1 + 方案/20250110-K8s健康检查技术方案.md | 90 ++++++ 方案/20250122-开源企业内部培训平台调研.md | 56 ++++ 方案/20250208-WhatsApp接入技术调研.md | 29 ++ 23 files changed, 716 insertions(+) create mode 100644 发版/2025/20250208-企赋南北流量网关发布.md create mode 100644 发版/2025/config/20250208-eg-config.yaml create mode 100644 发版/2025/sql/20250208-eg-ddl.sql create mode 100644 发版/目录结构说明.md create mode 100644 教程/20250122-Clash安装及GitSSH使用代理教程.md create mode 100644 方案/20250110-K8s健康检查技术方案.md create mode 100644 方案/20250122-开源企业内部培训平台调研.md create mode 100644 方案/20250208-WhatsApp接入技术调研.md diff --git a/任务/今日任务.md b/任务/今日任务.md index 8aaab32..dc2ed0e 100644 --- a/任务/今日任务.md +++ b/任务/今日任务.md @@ -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打通 + ## - [ ] 回调业务方法实现(回调详情表?) diff --git a/发版/2025/20250208-企赋南北流量网关发布.md b/发版/2025/20250208-企赋南北流量网关发布.md new file mode 100644 index 0000000..a73de5a --- /dev/null +++ b/发版/2025/20250208-企赋南北流量网关发布.md @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + +# 20250208-企赋南北流量网关发布 + +## 发布说明 + +### 涉及项目 + +| 项目 | 发布顺序 | 数据库变更 | 配置变更 | 负责人 | 备注 | +|--------------|------|---------------------------------------|-----------------------------------------------|-----|----------------------------| +| qifu-saas-eg | 1 | [数据库脚本DDL](./sql/20250208-eg-ddl.sql) | [Nacos配置文件](./config/20250208-eg-config.yaml) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 | + + +### 其余配置 +#### Track123 +- 配置 Track123 回调地址到对应的环境 + - [ ] DEV + - [ ] TEST + - [ ] UAT + - [ ] PROD + +---- + +## 开发说明 diff --git a/发版/2025/config/20250208-eg-config.yaml b/发版/2025/config/20250208-eg-config.yaml new file mode 100644 index 0000000..d018c8a --- /dev/null +++ b/发版/2025/config/20250208-eg-config.yaml @@ -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 \ No newline at end of file diff --git a/发版/2025/sql/20250208-eg-ddl.sql b/发版/2025/sql/20250208-eg-ddl.sql new file mode 100644 index 0000000..c49d085 --- /dev/null +++ b/发版/2025/sql/20250208-eg-ddl.sql @@ -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; diff --git a/发版/目录结构说明.md b/发版/目录结构说明.md new file mode 100644 index 0000000..db2d37e --- /dev/null +++ b/发版/目录结构说明.md @@ -0,0 +1,6 @@ +# 目录结构说明 +- 按年划分 +- 每个年份下有对应的 sql 文件夹 `sql` +- ddl 和 dml 分开不同文件: `xxx-ddl.sql`, `xxx-dml.sql` +- 配置文件有单独的文件夹 `config` +- 配置文件为 `xxx.yaml`, \ No newline at end of file diff --git a/教程/20250103-YApi部署指南.md b/教程/20250103-YApi部署指南.md index e04b249..49dde56 100644 --- a/教程/20250103-YApi部署指南.md +++ b/教程/20250103-YApi部署指南.md @@ -2,6 +2,7 @@ + + + + + + diff --git a/教程/20250111-Nacos安装及SSO接入指南.md b/教程/20250111-Nacos安装及SSO接入指南.md index 93a47c4..208dd57 100644 --- a/教程/20250111-Nacos安装及SSO接入指南.md +++ b/教程/20250111-Nacos安装及SSO接入指南.md @@ -2,6 +2,7 @@ + diff --git a/教程/20250113-Grafana安装及SSO接入指南.md b/教程/20250113-Grafana安装及SSO接入指南.md index ec6a917..8b9f63b 100644 --- a/教程/20250113-Grafana安装及SSO接入指南.md +++ b/教程/20250113-Grafana安装及SSO接入指南.md @@ -2,6 +2,7 @@ + + + + + + + + + + + + + + + +# 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/config(win:用户目录/.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.com),SSH 会展示目标服务的公钥指纹用于验证服务。当输入 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 \ No newline at end of file diff --git a/文档/20241224-元盟全域SSO方案进度表.md b/文档/20241224-元盟全域SSO方案进度表.md index eb536ec..e768fcd 100644 --- a/文档/20241224-元盟全域SSO方案进度表.md +++ b/文档/20241224-元盟全域SSO方案进度表.md @@ -2,6 +2,7 @@ + diff --git a/文档/20250110-K8s健康检查迁移进度表.md b/文档/20250110-K8s健康检查迁移进度表.md index 694fa35..4e32f50 100644 --- a/文档/20250110-K8s健康检查迁移进度表.md +++ b/文档/20250110-K8s健康检查迁移进度表.md @@ -2,6 +2,8 @@ + + + + + + + + + + + + + + + + + + +# 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() { + FilterRegistrationBean 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); + } + } + } +} +``` \ No newline at end of file diff --git a/方案/20250122-开源企业内部培训平台调研.md b/方案/20250122-开源企业内部培训平台调研.md new file mode 100644 index 0000000..367f61a --- /dev/null +++ b/方案/20250122-开源企业内部培训平台调研.md @@ -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 \ No newline at end of file diff --git a/方案/20250208-WhatsApp接入技术调研.md b/方案/20250208-WhatsApp接入技术调研.md new file mode 100644 index 0000000..0831c29 --- /dev/null +++ b/方案/20250208-WhatsApp接入技术调研.md @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + +# WhatsApp接入技术调研 + + +## 参考 +- [WhatsApp云端API](https://developers.facebook.com/docs/whatsapp/cloud-api) +- [开发者平台](https://developers.facebook.com/) \ No newline at end of file