zhouyonggao
|
fde87fde96
|
feat(api): 支持 gRPC 用户服务集成
- 更新路由以支持 gRPC 服务器地址配置
- 修改 YMTUsersHandler 以使用 gRPC 客户端进行用户数据查询
- 添加 gRPC 连接失败的降级处理逻辑
- 引入 gRPC 生成的代码以支持用户服务调用
|
2025-12-20 14:11:28 +08:00 |
zhouyonggao
|
c02f051cb8
|
feat(config): 添加 gRPC 服务器配置支持
- 在配置结构中新增 GRPCServer 类型,包含 Host 和 Port 字段
- 更新 Load 函数以支持从环境变量读取 gRPC 服务器的配置
- 引入 gRPC 和 protobuf 依赖以支持 gRPC 功能
|
2025-12-20 14:08:30 +08:00 |
zhouyonggao
|
858200051e
|
feat(submodule): 添加 gRPC 子模块支持
- 新增 .gitmodules 文件以管理 gRPC 子模块
- 引入 gRPC 子模块的路径和远程仓库 URL
|
2025-12-20 13:49:51 +08:00 |
zhouyonggao
|
e8c264a384
|
refactor(exports): 使用并行导出替代串行分块导出
- 移除旧的串行分块导出代码,改为基于分片的并行导出机制
- 引入并行导出配置,支持设置分片数量、最大并发数和每文件最大行数
- 预估总行数作为并行导出总行数,用于更合理的任务拆分
- 新增并行导出过程中的进度更新和文件创建回调处理
- 并行导出失败时记录错误日志并标记导出任务失败
- 保留原有Transform行数据转换功能,保证数据一致性
- 优化日志输出,详细记录并行导出过程中的错误信息
|
2025-12-19 18:43:43 +08:00 |
zhouyonggao
|
5426ca76d8
|
fix(server): 启动时异步恢复未完成的任务
- 修改任务恢复为异步执行,避免阻塞服务启动
- 添加启动日志提示任务恢复开始
- 去除同步恢复完成日志,简化启动流程
|
2025-12-19 18:31:34 +08:00 |
zhouyonggao
|
56e298d79b
|
refactor(server): 优化数据库连接池设置及任务恢复并发控制
- 新增 applyDefaultPool 函数统一设置数据库连接池默认参数
- 在主函数中各数据库连接初始化后调用 applyDefaultPool 进行默认配置
- recoverRunningJobs 中使用信号量限制任务恢复最大并发数为3
- 使用 WaitGroup 等待所有恢复任务启动完成后再继续执行
- 删除无用注释,提升代码可读性和并发性能
|
2025-12-19 18:28:32 +08:00 |
zhouyonggao
|
b2901a9113
|
perf(exporter): 优化分片数据统计实现并发查询
- 引入sync包实现并发控制
- 使用信号量限制最大并发数为10
- 针对每个时间范围启动goroutine并行执行查询
- 利用互斥锁保护total计数的安全更新
- 等待所有并发查询完成后返回总计数结果
|
2025-12-19 18:21:28 +08:00 |
zhouyonggao
|
bd38bdc374
|
refactor(exporter): 优化按时间跨度的分块计数策略
- 根据时间跨度自适应选择分块方式,提升查询效率
- ≤15天直接查询,避免无谓分片
- 15-30天按天分片(步长15天)
- 30-90天按周分片(7天)
- >90天新增按月分片(30天)策略
- 新增 SplitByMonths 函数实现月度分片逻辑
- 日志事件更新为按分片策略动态记录
|
2025-12-19 18:15:09 +08:00 |
zhouyonggao
|
db8abb437b
|
fix(export): 优化导出完成时的缓存清理逻辑
- 导出完成时将缓存进度更新为实际完成行数,避免超过100%
- 延迟清理缓存,确保完成行数保持到任务完成
- 修改清理缓存时机,提升内存释放的准确性
|
2025-12-19 18:07:35 +08:00 |
zhouyonggao
|
328a8ced3a
|
feat(export): 实现导出进度缓存及zip压缩优化
- 新增导出任务实时进度缓存模块,提供设置、获取和清除进度缓存接口
- 导出进度更新时只更新缓存,不再频繁写入数据库,减轻数据库压力
- 导出完成时清除进度缓存,释放内存资源
- API返回的导出进度字段改为实时缓存数据,提升前端实时性
- 导出列表也使用实时缓存的进度数据替换原数据库字段
- 优化ZipFiles函数,使用DEFLATE算法压缩分片文件,提高压缩效率
- 维护代码注释,明确缓存和压缩实现逻辑
|
2025-12-19 18:04:13 +08:00 |
zhouyonggao
|
6cec327340
|
feat(export): 优化导出数据处理能力
- 将单个文件最大行数从30万提升至50万
- 新增海量数据集批次大小(500万+行)支持
- 将超大数据集批次大小由10万调整至20万
- 根据估算行数新增海量数据集批次选择逻辑
- 增加进度同步间隔至每10万行,减少同步频率
- 保持同步最长时间限制不变,优化性能表现
|
2025-12-19 17:55:55 +08:00 |
zhouyonggao
|
d96271edf9
|
refactor(export): 优化导出任务进度更新,减少数据库写入
- 引入内存进度跟踪器ProgressTracker管理进度状态
- 将多处调用rrepo.UpdateProgress替换为ProgressTracker.Update
- 增加周期性和时间间隔同步限制,降低数据库写入频率
- 实现导出完成时的最终同步以保证进度准确更新
- 统一管理各类型导出任务的进度更新逻辑
- 保持导出流程原有功能不变,提高性能和稳定性
|
2025-12-19 17:49:41 +08:00 |
zhouyonggao
|
48979b41d1
|
feat(exports): 支持服务启动时恢复未完成的导出任务
- 在服务启动时自动查询并恢复所有运行状态的导出任务
- 为导出任务增加重启次数计数及进度重置功能,确保任务重试正确性
- 将原有导出任务执行流程抽象出根据任务ID恢复任务的方法
- 修复导出任务相关数据库访问,统一使用结构体内db连接字段
- 优化导出任务文件处理与状态更新流程,提升任务恢复的稳定性
- 新增导出任务运行状态查询接口以支持任务恢复功能
- 改进错误日志记录,便于排查任务恢复中的异常情况
|
2025-12-19 17:44:29 +08:00 |
zhouyonggao
|
cfaad63e9a
|
fix(export): 修正导出界面创建者选择逻辑
- 修改导出界面创建者选择框禁用条件,由 hasMobile 改为 hasOnlyUserId
- 更新创建者自动匹配逻辑,根据手机号是否存在自动匹配
- 改变创建者编辑权限判断依据,由手机号判断调整为 userId 是否为空
- 添加相关代码注释以提升代码可读性和维护性
|
2025-12-19 17:22:35 +08:00 |
zhouyonggao
|
c5f6f6c6e9
|
fix(api): 增强创建者选择逻辑以支持手机号自动匹配
- 更新创建者查询逻辑,新增手机号字段以便于选择
- 修改前端逻辑,支持通过 URL 中的手机号自动选中创建者
- 优化创建者选择组件,确保在禁用状态下仍能正确显示选项
- 增强日志记录,提供手机号匹配的调试信息,提升用户体验
|
2025-12-19 17:09:39 +08:00 |
zhouyonggao
|
6df550beb9
|
fix(exports): 优化导出表单创建者选择逻辑
- 修改创建者选择组件,支持通过 URL 中的 userId 自动选中并禁用创建者字段
- 更新导出逻辑,确保在对话框打开后重新设置 creatorId 和 ymtCreatorId
- 增强日志记录,提供创建者选择的调试信息,确保用户体验的流畅性
|
2025-12-19 14:35:52 +08:00 |
zhouyonggao
|
61a3b17c09
|
fix(exports): 优化导出逻辑以支持动态时间范围分片
- 在 CountRowsFastChunked 函数中添加时间跨度计算,支持根据时间跨度选择按天或按周分片
- 新增 SplitByWeeks 函数以实现按周分割时间范围
- 增强日志记录,提供分片信息以便于后续分析和调试
|
2025-12-19 02:33:59 +08:00 |
zhouyonggao
|
ccb12da7f3
|
fix(exports): 更新导出逻辑以移除自动用户ID转换
- 删除从 URL 参数 userId 和 current_user_id 自动转换为 creator_in 的逻辑
- 更新相关注释,明确 current_user_id 仅用于记录导出任务的 owner,不用于数据过滤
- 强调用户需手动选择 creator 进行过滤,提升数据过滤的安全性和灵活性
|
2025-12-19 02:24:54 +08:00 |
zhouyonggao
|
fca0e70115
|
fix(exports): 优化导出逻辑以支持多数据源和参数类型记录
- 修改 runJob 函数,重命名参数 fmt 为 fileFormat,提升可读性
- 在 runJob 中添加对查询参数类型的记录,便于调试和排查问题
- 更新 create 函数中的过滤条件逻辑,确保适用于所有数据源
- 引入 toIntID 函数,安全地将多种类型转换为 int64,优化 SQL 构建过程中的参数处理
- 记录导出查询的首行数据和零行结果,增强日志信息以便于后续分析
|
2025-12-19 02:12:44 +08:00 |
zhouyonggao
|
0eb65dde05
|
feat(exports): 增强导出数据转换逻辑以支持渠道编码转换
- 在transformRow函数中添加对voucher_batch.provider字段的渠道编码转换逻辑,将老编码和新编码映射为中文名称
- 添加对order.key字段的解密处理,确保数据安全性
- 提升数据转换的可读性和可维护性,确保导出数据的准确性和友好性
|
2025-12-19 01:20:26 +08:00 |
zhouyonggao
|
bca7892799
|
fix(sqlbuilder): 处理 reseller_id_eq 和 plan_id_eq 过滤条件逻辑
- 添加逻辑判断当存在 plan_id_eq 过滤条件时
- 删除与 creator 相关的过滤条件 creator_in 和 creator_ids
- 优化过滤条件组合,避免冲突和冗余
- 保持现有 merchant_id_in 条件处理逻辑不变
|
2025-12-19 01:14:59 +08:00 |
zhouyonggao
|
57a32855fc
|
fix(api): 删除未使用的变量以清理代码
- 移除了多余的变量used,减少不必要的内存占用
- 优化了list函数中的代码结构
- 提高了代码的可读性和维护性
|
2025-12-19 01:04:43 +08:00 |
zhouyonggao
|
43d67073c9
|
fix(api): 修正用户列表查询逻辑以避免重复
- 将查询语句从 activity 表改为 user 表,优化数据来源
- 修改排序字段由 user_id 改为 id,保持一致性
- 移除代码中对用户 ID 的去重逻辑,简化处理流程
- 保持空用户名用用户 ID 字符串替代的逻辑不变
|
2025-12-19 01:00:51 +08:00 |
zhouyonggao
|
c27cf278dd
|
fix(datepicker): 优化日期禁用逻辑及组件更新方式
- 修正日期禁用函数逻辑,避免重复判断dateRange是否存在
- 结束时间限制调整为只禁止超过开始时间一年后的日期
- 开始时间限制调整为只禁止早于结束时间一年前的日期
- 移除通过DOM操作强制重新渲染的代码,改用组件强制更新方法
- 简化代码增强可读性和维护性
|
2025-12-19 00:14:47 +08:00 |
zhouyonggao
|
c600b30b7e
|
fix(date-range): 调整日期边界计算及强制重渲染逻辑
- 日期边界的计算增加±1天调整,防止超过一年限制
- 添加注释说明开始和结束时间范围限制规则
- 修改日期范围变化监听,增强强制重渲染日期选择器逻辑
- 通过移除再插入元素方式,确保日期选择器正确更新显示
- 优化了判断条件,避免出现空元素操作错误
|
2025-12-19 00:13:00 +08:00 |
zhouyonggao
|
89436d24ed
|
fix(date-picker): 优化日期选择禁用逻辑与重渲染
- 修改 disabledDate 函数,支持基于已选开始或结束时间的前后一年范围限制
- 增加对未选择时间范围时默认不禁用日期的判断
- 新增 watch 监听 exportForm.dateRange,强制触发日期选择器重新渲染
- 通过修改日期选择器 DOM 元素的 key 值实现强制刷新
- 确保日期选择禁用逻辑和视图状态同步更新
|
2025-12-19 00:08:01 +08:00 |
zhouyonggao
|
849e77b401
|
feat(datepicker): 添加日期禁用功能,限制日期范围为一年内
- 新增 disabledDate 函数用于禁用超出当前日期前后一年范围的日期
- 在日期选择组件中绑定 disabledDate 函数
- 优化用户选择日期的有效范围,防止选取过早或过晚的日期
- 通过代码注释清晰说明禁用逻辑实现细节
|
2025-12-19 00:06:34 +08:00 |
zhouyonggao
|
ae4d69edb9
|
fix(export): 修复导出创建者选择为单选的逻辑问题
- 将订单数据创建者选择从多选改为单选
- 修改关联分销商加载逻辑,支持单个创建者ID查询
- 更新计算属性hasCreators以适应单选字段
- 调整导出筛选条件构建中创建者ID的处理
- 添加监听导出表单中的creatorId变化,重置相关筛选条件并重新加载分销商列表
|
2025-12-19 00:04:14 +08:00 |
zhouyonggao
|
4b573d3981
|
fix(exports): 修正 creator_in 过滤条件逻辑
- 调整在 marketing 数据集的 order 或 order_info 主要表时,
当存在 plan_id_eq 或 reseller_id_eq 过滤参数,不设置 creator_in
- 在 mergePermissionIntoFilters 函数中,传递了 plan_id_eq 或 reseller_id_eq 时,
删除已有的 creator_in 和 creator_ids 过滤,避免重复过滤
- 优化过滤逻辑,确保在特定条件下 creator_in 不会被错误附加
- 保留当 creator_in 已经存在且非空时的过滤行为不变
|
2025-12-18 23:39:39 +08:00 |
zhouyonggao
|
13b4ff56df
|
fix(api): 优化权限过滤器中 plan_id_eq 与 reseller_id_eq 的设置逻辑
- 将 plan_id_eq 和 reseller_id_eq 的赋值提至过滤 creator 判断之前
- 避免重复映射相同的权限边界字段
- 保持营销数据集订单相关过滤条件的正确性
- 简化 skipCreator 标签区域中重复的代码逻辑
|
2025-12-18 23:34:19 +08:00 |
zhouyonggao
|
dd559f2f78
|
fix(api): 调整权限合并逻辑以支持plan_id_eq和reseller_id_eq过滤
- 在marketing数据源且主资源为order或order_info时
- 若filters包含非空的plan_id_eq或reseller_id_eq,则跳过creator过滤
- 优化了对权限中多个可能user id字段的检测逻辑
- 统一将识别到的用户ID写入filters的creator_in字段
- 保留了对reseller_id和merchant_id的兼容处理逻辑
|
2025-12-18 23:26:09 +08:00 |
zhouyonggao
|
5608897284
|
fix(api): 修复用户列表接口查询和去重逻辑
- 移除无效的查询参数处理,简化SQL查询语句
- 修复对用户ID的重复数据去重逻辑,确保结果唯一
- 统一代码格式和缩进,提高代码可读性
- 保留按user_id升序排序及查询限制功能
- 保证接口在无匹配路由时返回404状态码
|
2025-12-18 23:06:32 +08:00 |
zhouyonggao
|
9c34250d3e
|
fix(schema): 修改订单外部交易号标签名称
- 将订单字段 "order.out_trade_no" 的标签由“支付流水号”改为“外部交易号”
|
2025-12-18 22:51:32 +08:00 |
zhouyonggao
|
aad56c6c36
|
refactor(web): 移除订单导出中立减金批次号输入框
- 删除了订单导出页面中关于立减金批次号的输入项
- 优化了导出表单的布局结构
- 清理了条件渲染相关的无用代码
- 减少了页面冗余元素,提升渲染效率
|
2025-12-18 22:48:04 +08:00 |
zhouyonggao
|
02af4a91f4
|
fix(metadata): 修正发券方式字段隐藏状态
- 将 voucher.receive_mode 字段的 Hidden 属性从 false 改为 true
- 确保发券方式字段在界面中默认隐藏
- 保持其他字段的隐藏状态不变
|
2025-12-18 22:39:07 +08:00 |
zhouyonggao
|
cf01466332
|
refactor(web): 移除表单中的“可见性”选择项
- 删除了可见性字段及其相关的选择组件
- 简化了表单布局,减少不必要的UI元素
- 保持了表单功能的其余部分不变
- 提升表单的简洁性和用户体验
|
2025-12-18 22:34:03 +08:00 |
zhouyonggao
|
723e61da9e
|
refactor(ui): 移除编辑表单中可见性选择项
- 删除了编辑表单中的可见性字段相关代码
- 简化了表单布局,减少不必要的表单项
- 保证表单在无用户ID时不显示可见性选择器
- 优化了代码的可读性和维护性
|
2025-12-18 22:33:18 +08:00 |
zhouyonggao
|
3f629d83fb
|
fix(web): 修复可见性选择框清除按钮问题
- 移除了可见性选择框中 clearable 属性,避免清除按钮显示错误
- 保持了选择框的禁用状态和其他原有属性不变
- 优化了用户交互体验,防止误操作导致数据丢失
|
2025-12-18 22:32:03 +08:00 |
zhouyonggao
|
d9a8f67c88
|
feat(api): 添加 hasOnlyUserId 判断并更新导出组件的禁用逻辑
- 在 api.js 中新增 hasOnlyUserId 方法,用于检测 URL 中是否仅包含 userId 参数
- 在 main.js 里通过计算属性引入 hasOnlyUserId 状态
- 修改 index.html 中导出订单数据创建者选择框的禁用条件,从 hasUserId 改为 hasOnlyUserId
- 优化了导出表单组件对用户 ID 参数的判断逻辑,提高交互准确性
|
2025-12-18 22:28:41 +08:00 |
zhouyonggao
|
f8c7140fb0
|
style(web): 为多个选择框组件添加清除按钮功能
- 在模板名称、数据源、导出场景选择框中新增clearable属性
- 为输出格式选择框添加clearable支持
- 增加创建者、分销商和计划选择框的清除按钮功能
- 保持原有功能和样式不变,仅改善用户体验的可清除选项
|
2025-12-18 22:21:54 +08:00 |
zhouyonggao
|
8868051767
|
fix(api): 修正userId字段JSON键名
- 修改JSON_CONTAINS中字段键名由'user_id'为'userId'
- 保证用户ID匹配逻辑正确执行
- 防止因键名错误导致的查询失败
|
2025-12-18 22:04:33 +08:00 |
zhouyonggao
|
962d1c0ae3
|
fix(api): 修复商户列表查询逻辑并增强用户过滤条件
- 修改查询条件,将 `delete_time` 为空作为有效数据筛选
- 优化用户过滤,支持 `user_id` 字段匹配及 JSON 字段中包含该用户
- 修正代码格式和缩进以提升可读性
- 增加对请求参数 `limit` 的范围校验
- 优化错误处理逻辑,确保查询异常时返回正确状态码
|
2025-12-18 22:02:04 +08:00 |
zhouyonggao
|
c45cabbfdc
|
fix(api): 修复分销商查询时销售员ID筛选条件错误
- 修改SQL查询,添加 salesmen_id 作为筛选条件
- 传递salesman_id对应的参数,确保查询参数正确
- 保持原有creator参数传递逻辑不变
- 解决遗漏salesman_id参数引起的查询异常问题
|
2025-12-18 21:56:42 +08:00 |
zhouyonggao
|
a8b7c77e03
|
feat(api): 支持按creator参数过滤经销商列表
- 新增creator参数解析,支持按多个creator过滤
- 根据传入creator构建SQL查询条件及参数绑定
- 当creator参数为空时,返回空列表避免无效查询
- 保持原有按q参数模糊搜索功能不变
- 限制默认返回记录数为2000,增强接口性能
|
2025-12-18 21:38:28 +08:00 |
zhouyonggao
|
11a93996e5
|
feat(api): 支持营销代理数据库并优化代理列表查询
- 新增配置项支持营销代理数据库连接
- 主服务启动时根据配置连接营销代理MySQL,若无配置则使用营销库回退
- ResellersAPI 使用独立的营销代理数据库替代原营销数据库查询
- 优化代理列表接口,改为从reseller表查询代理Id及名称
- 修改路由注册,使用营销代理数据库处理代理相关路由请求
- 调整相关代码实现,提升代理数据查询灵活性和健壮性
|
2025-12-18 21:37:13 +08:00 |
zhouyonggao
|
6dbc3eb1a1
|
fix(constants): 修正红包领取状态映射的键值
- 将红包领取状态映射的键从1开始调整为0开始
- 重新排列状态值对应,保持顺序一致
- 修正代码逻辑中状态码对应的实际含义
|
2025-12-18 21:29:54 +08:00 |
zhouyonggao
|
ae04be7ea0
|
fix(constants): 修改营销系统立减金状态描述
- 将状态码2的描述由“已实扣”更改为“已核销”
|
2025-12-18 21:25:52 +08:00 |
zhouyonggao
|
4b313adebb
|
fix(exports): 修复导出接口用户ID参数传递问题
- 取消从查询参数中获取 current_user_id 和 userId 的逻辑
- 调用 CountJobs 和 ListJobs 时传入空字符串替代用户ID
- 避免因传递错误用户ID导致的数据过滤错误
|
2025-12-18 21:11:18 +08:00 |
zhouyonggao
|
b09865fcbd
|
fix(api): 修正导出接口中用户ID参数获取逻辑
- 优先从请求参数中获取 current_user_id
- 若 current_user_id 为空则退回获取 userId
- 保证查询用户导出任务时使用正确的用户ID参数
- 提升接口的兼容性和灵活性
|
2025-12-18 21:09:12 +08:00 |
zhouyonggao
|
f10dff016f
|
fix(api): 修正用户ID从URLfix(api参数):中 修获取正用户逻ID辑参数
- 优先从current_user_id参数获取获取逻辑
用户-ID 优
先-从 保 URL 参数 current持_user对user_id 中获取用户 ID
- 保留原Id有、 useriduserid和user_id参数的、兼user容
- 优化了Id代码 和的注 user释_id格式 参数和的排兼版容细处理节
- 优化了函数注释格式,去除多余空格
- 确保获取到的用户
|
2025-12-18 21:04:48 +08:00 |