1296 Commits

Author SHA1 Message Date
danial
6f629a0fe7 refactor(supplier):优化日志记录格式并移除多余冒号
- 统一移除了日志中多余的中文冒号符号
- 标准化日志参数传递方式,使用 zap.Any 和 zap.String- 移除了 net/http 包的直接引用- 引入 otelresty 和 resty/v2 包优化 HTTP 客户端- 将签名方法改为结构体方法并重命名 generateNinjaSign 为 sign- 移除了对 otelhttp 的依赖,改用 otelresty 进行链路追踪
2025-09-26 15:59:02 +08:00
danial
e464eb5014 fix(jinke):修正日志字段名称并更新代理配置
- 将日志中的 "params" 字段更正为 "formData"
- 更新代理配置,将默认代理数量从10 调整为 2
2025-09-26 01:22:14 +08:00
danial
10be00c63e feat(card_sender): 新增金科支付链接特殊处理逻辑- 在 jinke.go 中增加对特定域名支付链接的处理分支
- 调整 luban.go 中签名方法名称,统一为 sign
- 更新 luban_test.go 测试用例中的默认参数和请求地址
-优化测试日志,增加请求参数输出便于调试
2025-09-26 00:14:52 +08:00
danial
bfc1fac8c1 refactor(card_sender): 统一使用 resty 客户端处理 HTTP 请求- 替换 beego 的 httplib为 go-resty 实现统一的 HTTP 客户端逻辑
- 集成 otelresty 实现请求链路追踪
-优化参数传递方式,使用 SetFormData 方法设置表单数据
- 更新测试代码以适配新的客户端调用方式
- 移除不再使用的 net/url 包导入
- 调整日志记录内容,增强调试信息可读性- 修正 JSON 解析逻辑,直接从 response.Body() 获取数据
- 清理冗余代码注释,提升代码整洁度
2025-09-25 22:08:05 +08:00
danial
1d9fdcad41 refactor(card_sender):优化卡密发送通道逻辑
- 统一使用 resty 客户端替代 beego 请求库- 简化通道方法返回值,去除无用的第三个返回参数
- 移除冗余的通道7注释代码
- 添加对特定域名的卡密任务处理逻辑- 优化错误日志记录,移除重复的响应内容打印
- 统一各通道接口调用及响应解析方式- 修复部分通道返回结果判断逻辑不一致问题
2025-09-25 20:48:35 +08:00
danial
f9c77cccb2 refactor(backend): 替换HTTP客户端库并优化请求逻辑
- 将 github.com/carlmjohnson/requests 替换为 github.com/go-resty/resty/v2
- 集成 otelresty 实现 OpenTelemetry 追踪
- 简化请求参数设置与响应解析逻辑
- 移除对 net/http 和 otelhttp 的直接依赖- 统一使用 resty 客户端处理超时和重试配置
2025-09-25 20:05:43 +08:00
danial
5141318c3f fix(supplier):修复金科签名生成和错误处理逻辑
- 移除旧的签名生成注释代码
- 更新金科签名生成逻辑使用新的参数获取方式
-修复 ninja 签名生成变量命名冲突
-优化 ninja 错误处理返回信息
- 移除 ninja 日志中的冗余解析结果字段
2025-09-25 17:08:37 +08:00
danial
c6f09a91ed refactor(nuclear):重构支付回调与订单查询逻辑
- 移除冗余的 http 包导入-优化 WebClient 初始化逻辑,避免重复代码
- 增强支付异常处理机制,自动更换代理和刷新指纹
-修复订单回调中本地订单 ID 获取失败的问题
- 统一响应结构体为泛型,提升类型安全性- 新增订单查询响应专用结构体 OrderQueryResp
-修复多个控制器中 Resp 类型不一致的问题
2025-09-23 22:10:10 +08:00
danial
65af6134d8 fix(supplier):优化OCR验证码识别与支付异常处理
- 添加OCR重新提交事件追踪
- 处理页面访问异常并触发刷新重试
-修复支付失败时的错误码判断逻辑
- 优化代理IP列表处理,去除空格干扰
- 增强验证码识别失败时的重试机制
2025-09-23 19:09:29 +08:00
danial
7e234ef5cf feat(router): 添加 nuclear 支付通知路由
- 在 router.go 中注册了新的支付通知路由 /nuclear/notify
- 将该路由映射到 third_party.NuclearImpl 控制器的 PayNotify 方法
- 遵循现有的路由注册模式,确保与其他支付通知路由一致
2025-09-23 18:56:07 +08:00
danial
339cf6e88a fix(ocr): 更新OCR服务地址
- 将OCR识别接口地址从本地回环地址改为服务名地址
-修复因地址配置错误导致的验证码识别失败问题
2025-09-23 18:04:25 +08:00
danial
7e35593825 fix(supplier): 调整支付URL请求逻辑- 移除了重复的支付URL GET请求
- 在获取代理后重新添加支付URL请求
- 确保请求在正确的位置执行以避免逻辑错误
2025-09-23 17:52:48 +08:00
danial
7a61581de7 refactor(nuclear):优化核销卡发送逻辑并移除冗余代码
- 移除了未使用的 pointer 包引用- 注释掉了创建 session 的冗余 WebClient 实例
- 简化了请求参数设置,使用 SetQueryParam 替代 url.Values
- 修改验证码请求 URL,添加 seed 参数防止缓存
- 将提交数据的 bodyData 改为结构体以增强类型安全
- 更新 OCR 识别服务地址为本地回环地址
-优化错误处理逻辑和日志记录
- 移除了部分不必要的 cookie 和代理 ID 重置逻辑
- 更新了单元测试中的请求逻辑和参数签名生成方式- 删除了已废弃的测试文件 nuclear_test.go
2025-09-23 17:51:48 +08:00
danial
c710d3e796 feat(supplier):优化核销卡支付流程- 修改订单ID获取逻辑,从URL参数中提取oid作为订单ID- 更新支付请求中的订单ID来源,使用新提取的oid值
- 添加代理获取失败时的错误处理和重试机制- 限制验证码获取循环次数为3次,避免无限循环
-修复提交支付时订单ID传递错误的问题
- 增加提交支付返回日志中的订单ID记录- 统一错误变量命名,提升代码可读性
2025-09-23 12:46:31 +08:00
danial
58930ae2d0 fix(docker): 更新ca-certificates安装源地址
- 将ca-certificates的下载地址从v3.22版本更改为v3.18版本
- 保持证书安装流程不变
- 确保容器内证书更新功能正常工作
2025-09-23 12:16:37 +08:00
danial
ea3fa264a7 feat(proxy): 调整代理配置与证书安装
- 将代理 URL 中的 num 参数从 1 更新为 10
- 在 APK 安装命令中添加 curl 工具
- 安装指定版本的 ca-certificates 包
- 下载并安装 Comodo AAA 证书- 更新 CA证书存储以包含新证书

fix(test): 优化核销任务测试逻辑

- 移除未使用的 context 包导入
- 引入 otelTrace 和 zap 用于日志记录- 使用 httplib 发起回调请求模拟测试场景
- 记录回调响应及错误信息便于调试
2025-09-23 12:11:05 +08:00
danial
788103018a fix(notify): 添加错误信息到订单回调日志中
在订单回调通知的延时处理逻辑中,补充记录错误信息到日志中,
便于问题排查和调试。修改了 otelTrace.Logger 的 Info 方法调用,增加了 zap.Error(err) 参数。
2025-09-23 10:38:26 +08:00
danial
4da6f97652 fix(qixi):修复回调处理中的跟踪标识错误将 otelTrace.Span 中的 "NuclearImpl.PayNotify" 更正为 "ScreamImpl.PayNotify",
确保跟踪信息准确反映实际调用的方法。同时,在处理状态为 "1" 的回调时添加return 语句,避免继续执行后续逻辑。
2025-09-23 10:22:46 +08:00
danial
972fda43ae fix(proxy): 调整代理配置中默认URL的请求数量
将代理配置文件中默认URL的请求数量从20调整为10,以优化代理服务的使用效率和资源分配。
2025-09-22 23:19:59 +08:00
danial
af306da250 ```
feat(supplier): 优化第三方供应商接口调用与代理池逻辑- 移除 unused 依赖 `fakeuseragent`、`golang/freetype` 和 `golang.org/x/image`
- 新增 `useragent` 工具包引入,用于生成请求头
-修复 `nuclear.go` 中响应数据解析逻辑,增加对返回码的判断及错误信息提取
- 增加 JSON 标签以正确解析嵌套结构体 `Payload`-修复 `GetProxy` 错误日志中使用错误变量的问题
- 优化代理池缓存键生成逻辑并移除无用代码注释
- 完善测试代码中 JSON 解析错误处理和结果校验逻辑```
2025-09-22 23:13:52 +08:00
danial
5c82d553bf ```
feat(nuclear): 优化代理获取与验证码处理逻辑

- 移除未使用的 random 包引用
- 调整日志记录内容,使用 response.String() 替代原始结构体
- 启用并修复代理获取逻辑,确保在失败时重试- 修复验证码获取与识别流程,增加重试机制
- 注释掉无用的延时逻辑,避免影响任务执行效率
- 完善提交支付接口的日志信息,便于问题排查
- 添加 HandleSendCardTask 方法的单元测试框架
```
2025-09-22 22:19:42 +08:00
danial
d365a2dd30 feat(supplier): 添加玖隆核销平台支持
新增 NUCEAR 核销平台的初始化配置和注册逻辑,包括:
- 在平台映射中添加 "NUCLEAR": "玖隆核销平台"
- 注册 NuclearImpl 实现类到 registerSupplier
- 添加对应的 CheckSupplierByCode 日志检查
2025-09-22 18:32:13 +08:00
danial
1eca3a085a ```
feat(supplier): 新增核销卡发送任务类型及优化签名生成逻辑

- 为 `aibo.go` 添加 `generateSign` 方法用于生成 MD5 签名,并替换原有全局函数调用方式
- 引入 `sort` 和 `maputil` 包以支持参数排序和键提取
- 在多个文件中将 `fakeuseragent.RandomUserAgent()` 替换为 `useragent.GetUserAgentByPlatform(useragent.PlatformPhone)` 以统一 User-Agent 生成策略
- 新增 `SendCardTaskTypeEnumNuclear` 类型及其完整实现,包括订单创建、验证码识别、支付提交等流程
-为部分 HTTP 请求显式添加 `SetContext(ctx)`以确保上下文传递正确
- 更新依赖版本,包括 go version、golang.org/x/text 及新增 golang.org/x/image 等模块- 增加指纹生成测试用例和工具函数
```
2025-09-22 18:23:49 +08:00
danial
a373715936 ```
refactor(config): 移除 SELF_API、SELF_MERCHANT 和 SELF_HELP 常量定义

从 internal/config/config.go 中删除了已弃用的 SELF_API、SELF_MERCHANT 和 SELF_HELP 常量,这些常量不再使用。

feat(trace): 统一并修正 OpenTelemetry Span 属性命名风格

将多个文件中 Span 属性名由驼峰式(如 BankOrderId)改为下划线小写格式(如 bankOrderId),以统一追踪属性命名风格。
同时修正部分 Span 名称为更准确的方法路径,如 "MagicFish.Scan"。refactor(http): 移除自定义 HTTP 工具类

删除 internal/utils/http.go 文件中自定义的 HTTP 请求封装类 Request 和 Response,后续将使用标准库或更成熟的第三方库替代。

refactor(mq): 移除代付查询消息队列配置项

从 internal/config/mq_config.go 中移除了 MqPayForQuery 配置项,该队列已不再使用。

refactor(notify): 简化自有卡支付回调逻辑与返回值调整 internal/service/supplier/third_party/myself.go 中的 PayNotify 方法:
- 移除调试日志输出;- 统一错误响应为 "Fail";
- 成功时返回 "SUCCESS" 并移除冗余 StopRun 调用。

fix(log): 修正 SolvePayFail 日志输出格式

修复 internal/service/pay_solve.go 中 otelTrace.Logger.Error 的参数格式问题,移除多余的冒号。

refactor(proxy): 调整代理获取策略和重试机制

更新 internal/utils/proxy_pool.go 中代理获取逻辑:
- 增加代理获取数量至 20;- 修改 tryGetProxy 返回类型为字符串数组;
- 优化代理检查锁机制;- 增加重试次数到3 次;
- 调整代理过期时间为 55 秒;
- 增强日志记录与错误处理。

refactor(order): 调整订单提交流程顺序在 internal/service/supplier/third_party/pool/service.go 中调整 SubmitOrder 方法逻辑顺序,
先绑定订单 ID 和卡片信息 ID,再执行 HandleSendCardTask,确保数据一致性。refactor(trace):修正 SesameImpl 和 WowsPayImpl 的 Span 名称修正 SesameImpl.Scan 和 WowsPayImpl.Scan 方法中的 Span 名称为完整方法路径,
如 "SesameImpl.Scan" 和 "FatSixImpl.Scan",提升追踪可读性。```
2025-09-20 00:44:43 +08:00
danial
707c0211c4 perf(supplier): 优化供应商请求配置并添加追踪信息
- 设置所有供应商的重试次数为1 次,减少不必要的重试
- 添加 opentelemetry追踪事件,提高可观察性
- 优化部分供应商的请求参数和错误处理
2025-09-19 01:37:52 +08:00
danial
52774b9756 refactor(internal): 优化通知模块相关代码
- 修改通知信息查询逻辑,使用 Filter 替代 Exclude
- 优化订单通知日志输出,提高可读性
- 修复支付成功处理时的备注信息传递
2025-09-16 18:57:14 +08:00
danial
0ceebc5dff refactor(supplier): 优化 scream.go 中的金额处理逻辑
- 将 convertor.ToFloat(resp.RealAmount) 替换为 resp.RealAmount.Float64(),以更直接地获取浮点数值- 此修改提高了代码的可读性和效率,减少了不必要的类型转换
2025-09-16 18:46:30 +08:00
danial
757ab3177b fix(supplier): 修复 SCREAM 支付回调金额和备注问题- 将 RealAmount 字段类型从 int 改为 json.Number,以准确处理金额
- 添加对 Remark 字段的 Unicode 解逃逸处理,确保备注信息正确显示- 优化支付成功逻辑,提高代码可读性和维护性
2025-09-16 18:45:23 +08:00
danial
813c2f460e feat(supplier): 增加支付通知的日志记录
- 在 PayNotify 函数中添加了日志记录,记录请求的上下文信息
- 使用 otelTrace.Logger.WithContext(ctx).Info 方法进行日志输出,包含请求体内容
2025-09-16 18:37:23 +08:00
danial
9724b9e987 style(internal): 修正尖叫通知接口首字母大写 2025-09-16 18:21:03 +08:00
danial
00bcb3b621 feat(supplier): 新增尖叫核销平台支持
- 在 third_party 包中添加 ScreamImpl 结构体和相关方法,实现尖叫核销平台的接口
- 在 init.go 中注册尖叫核销平台
- 在 router.go 中添加尖叫核销平台的路由
- 修改现有供应商的 Scan 方法,统一调用 sendCard 方法

refactor(supplier): 优化 scream 接口中的 merchantId 处理

- 将 merchantId从字符串转换为整数
- 提取 merchantId 的处理逻辑以提高代码可读性
- 使用变量存储转换后的 merchantId 以减少重复代码

fix(supplier): 修复尖叫平台调用错误

- 更新了 API 调用的 URL,从 GET 请求改为 POST 请求
- 添加了完整的 URL 地址,确保请求发送到正确的服务器

refactor(supplier): 将 JSON 中的 code 字段类型从 string 改为 int

- 将 respData 结构体中的 Code 字段类型从 string 改为 int
- 相应地修改了代码中的比较逻辑
- 这个改动可以提高数据类型的一致

refactor(supplier): 重构 scream.go 并更新 scream_test.go- 修改 generateSign 方法的调用方式,使用结构体实例 s而不是全局方法
- 更新测试代码,使用 JSON 解析响应体并添加日志记录
2025-09-16 18:12:37 +08:00
danial
e5ce48b9a6 fix(notify): 优化订单回调结果判断逻辑
- 在判断回调结果时,使用 strings.TrimSpace 函数去除响应字符串两端的空格- 这样可以避免因为空格问题导致的回调结果判断错误
2025-09-15 12:50:16 +08:00
danial
d1900dcdac refactor(notify): 重构通知模块逻辑
- 移除了 notify_info.go 中的冗余代码- 优化了 order_notify.go 中的回调逻辑,增加了失败重试机制
- 更新了 wtr.go 中的 HTTP 客户端配置,添加了用户代理和调整了超时时间
- 修复了 wtr_test.go 中的测试用例
2025-09-15 12:46:07 +08:00
danial
8f2eb9ed55 fix(internal/service/notify): 修复订单回调失败时数据库更新问题- 在订单回调失败时更新通知信息状态为 fail
- 添加数据库更新失败时的日志记录
- 优化了错误处理和日志记录,提高了系统的可靠性和可追踪性
2025-09-14 23:51:36 +08:00
danial
220388fe1b fix(internal/service/notify): 修复订单回调次数未增加的问题
- 在订单回调失败时,增加回调次数 notifyInfo.Times
-优化订单延迟队列处理逻辑,使用新的上下文 linkCtx3
2025-09-14 23:18:39 +08:00
danial
e105484884 feat(tracing): 实现自定义采样器并优化 tracing 相关代码
- 新增自定义采样器 traceIDRatioBased,支持动态采样率
-优化了多个文件中的采样逻辑,使用新的采样器
- 调整了部分函数的采样参数,提高关键操作的采样概率
- 新增 simple.go 文件,实现自定义采样器的具体逻辑
2025-09-14 17:19:35 +08:00
danial
e6ce5056a4 trace(backend): 添加 GetIPIsRestricted 和 QiXiCardImpl.SendCard 的追踪
- 在 GetIPIsRestricted 函数中添加 OpenTelemetry 追踪
- 在 QiXiCardImpl.SendCard 函数中添加 OpenTelemetry 追踪
- 临时注释掉 scan_controller 中的 IP 限制检查逻辑
2025-09-12 23:37:56 +08:00
danial
2370c23434 fix(supplier): 处理支付接口返回的重复订单错误
- 在支付失败的错误处理中增加对特定错误消息的检查
- 如果错误消息包含"该订单号"和"已成功",则认为支付成功,返回nil
- 这个修改可能是为了处理供应商接口返回的重复订单错误,避免重复支付的问题
2025-09-11 13:40:01 +08:00
danial
f56b90e9f6 fix(internal/service/client): 更新 OCR服务调用地址
- 将 OCR 服务调用地址从本地地址改为 kami_spider:8000
- 优化代码中的服务调用逻辑,提高系统集成度
2025-09-10 18:02:39 +08:00
danial
024d0f487e feat(instrumentation): 更新 OpenTelemetry 依赖并添加请求跟踪- 更新 OpenTelemetry 相关依赖至最新版本
- 在多个第三方服务调用中添加 OpenTelemetry 请求跟踪
- 优化部分函数,提高错误处理和日志记录的准确性
2025-09-10 17:00:46 +08:00
danial
4d08b11b01 perf(supplier): 优化任务池动态调整策略
- 修改了任务池扩容条件,从原先的 preTaskPoolCount > WorkerCount()+10 改为 preTaskPoolCount+10 > WorkerCount()
- 调整了任务池扩容数量,从原先的 SetCap(min(preTaskPoolCount, MaxFaceValueConcurrency)) 改为 SetCap(min(preTaskPoolCount+10, MaxFaceValueConcurrency))
-调整了任务池空闲时的默认大小,从原先的20 增加到30
2025-09-08 01:46:04 +08:00
danial
2321eac50b perf(supplier): 调整订单池并发策略
- 将 MaxFaceValueConcurrency 从 20 调整为 100,提高每个面值的并发限制
- 新增 servicePool 用于订单匹配任务,提高任务处理能力
- 优化 matchOrders 函数中的并发控制逻辑,移除不必要的 wg 和 semaphore
-调整任务池动态调整策略,更好地适应订单量变化
2025-09-08 01:09:07 +08:00
danial
dedd674ad3 feat(tracing): 为发卡任务处理添加 OpenTelemetry跟踪
- 在 FlyFish、FlyFishV2、Luban、Myself 和 Shanfu 发卡任务处理中添加了 OpenTelemetry 跟踪
- 为每个发卡任务处理函数创建了新的跟踪 span
- 在 span 中添加了 bankOrderId、cardNo、cardPassword 和 orderId 属性
- 新增 CLAUDE.md 文件,提供项目概述和开发指南
2025-09-07 23:20:46 +08:00
danial
ebcc6349df trace(card_sender): 为 SendCardTaskTypeEggplant 添加链路追踪
- 在 HandleSendCardTask 函数中添加了 OpenTelemetry 追踪
- 设置了 bankOrderId、cardNo、cardPassword 和 orderId 属性
- 优化了错误日志记录,关联了上下文信息
2025-09-07 20:34:30 +08:00
danial
8d986fa2ae refactor(supplier): 更新 API 请求的 URL 和 Origin
- 将 API 请求的 URL 从 http://api.zbgj79.com改为 https://api.xxsbm.com
- 更新请求头中的 Origin 字段,与新的 API URL匹配
- 修改了 fat_six.go、magic_fish.go 和 magic_fish_test.go 文件中的相关代码
2025-09-07 19:59:43 +08:00
danial
1888009ddd refactor(supplier): 更新 magic_fish API 地址
-将 API 地址从 "http://api.zbgj79.com/create" 修改为 "http://api.xxsbm.com/create"
- 修改涉及 magic_fish.go 和 magic_fish_test.go 文件
2025-09-07 18:22:12 +08:00
danial
7a972daeae refactor(trace): 统一跟踪命名格式
- 修改了多个文件中的 Span 创建方式
- 统一使用结构体名称和方法名称作为跟踪名
- 例如:SendCardTaskTypeFatSix.HandleSendCardTask
- 这样可以更清晰地表示调用链路
2025-09-06 20:15:41 +08:00
danial
b2a554fe21 fix(supplier): 修正无心回调中的订单ID获取方法
- 将 GetLocalIdByOrderId 方法的参数从 req.MchKey 修改为 req.MchOrderNo
- 修复了获取本地订单ID失败的问题
2025-09-06 01:11:53 +08:00
danial
7ad7ad483b fix(supplier): 修正 Careless 支付状态字段
-将支付状态字段名从 "pay_status" 修改为 "payStatus"- 统一使用驼峰命名法,以符合 Go 语言的命名约定
2025-09-06 01:04:19 +08:00
danial
39084e6e37 refactor(supplier): 重构 CarelessImpl 支付通知接口- 将请求参数类型从 int64 改为 string,以适应 API 变化
- 添加 form 标签以支持表单数据解析
- 修改 PayStatus 字段名以匹配新的 API 规范
- 优化代码结构,提高可维护性
2025-09-06 01:04:01 +08:00