danial
d3b480a974
refactor(docker): simplify file copying in Dockerfile
...
- Remove redundant RUN commands for checking directory existence
- Use direct COPY commands for conf and data directories
- Improve build stage efficiency by reducing layers
refactor(go): adjust HTTP client timeout and retry settings
- Increase timeout from 5s to 20s for better reliability
- Reduce retry count from 3 to 2 attempts
- Decrease retry wait time from 5s to 3s between retries
- Maintain proxy setup logic in request interceptor
2025-11-14 22:30:36 +08:00
danial
f0655d8235
fix(supplier): improve error handling and tracing in card sender
...
- Replace generic error with specific error message in eggplant sender
- Add payUrl attribute to tracing span for better debugging
- Delegate error handling to eggplant sender when origin fails
2025-11-14 22:08:58 +08:00
danial
ebecf1bea9
feat(supplier): 添加对新支付URL的支持
...
- 新增对 pay50.baolong18080.com 支付链接的处理逻辑- 使用 SendCardTaskTypeNuclear 类型处理相关任务
- 在现有支付URL检查逻辑中插入新的条件分支
2025-11-12 21:36:10 +08:00
danial
9579b9f636
fix(card_sender):优化渠道处理逻辑并调整超时重试配置
...
- 为 SendCardTaskTypeCareless 增加对 sgdemo.wotingwen.com 的支持- 在不支持的渠道返回明确错误信息
- 调整 SendCardTaskTypeLianIns 的超时时间为10秒,重试次数为2次
- 减少 origin 渠道的重试次数从2到1
- 在 origin 中增加对 mingxuankemao.com 渠道的支持
- 更新测试用例中的 ProductId以匹配新配置
2025-11-10 14:40:40 +08:00
danial
68c2da912d
fix(docker): 调整Dockerfile中的用户和目录配置
...
- 移除创建非root用户的步骤
- 确保应用用户主目录存在并设置正确权限- 保留证书安装和工作目录设置
2025-11-09 20:26:46 +08:00
danial
8afadfc369
chore(docker):优化Dockerfile配置和指令
...
- 切换到root用户以执行系统操作
- 使用test命令替代[ -d ]语法检查目录存在性
- 保持配置和数据复制逻辑的一致性
2025-11-09 20:23:34 +08:00
danial
a6ce336170
build(docker): 更新基础镜像为自定义alpine镜像
...
- 将运行时阶段的基础镜像从 alpine:latest 更改为 git.oceanpay.cc/danial/alpine-base:latest
- 保持环境变量和其他配置不变
2025-11-09 16:28:42 +08:00
danial
37b5a3f247
feat(docker):优化Dockerfile构建流程并增强运行时环境
...
- 引入多阶段构建以减小镜像体积
- 使用预构建基础镜像加速依赖缓存
- 添加Alpine Linux作为运行时基础镜像
- 配置中国镜像源以加快apk包下载
- 安装tzdata、curl和ca-certificates等运行时依赖
- 更新CA证书并添加自定义证书支持- 创建非root用户appuser以提高安全性
- 设置时区为Asia/Shanghai
-优化构建命令并移除不必要的源码拷贝- 改进配置文件和数据目录的处理逻辑
2025-11-09 16:16:51 +08:00
danial
b8e0c585ee
feat(docker):优化Dockerfile构建流程
...
- 使用预构建的基础镜像加快构建速度
- 移除不必要的环境变量重复设置- 简化CA证书安装步骤-保留应用源码复制与编译指令
- 维持端口暴露和服务启动命令不变
2025-11-09 15:51:54 +08:00
danial
c7f9c848ba
feat(card_sender):优化卡发送任务的超时和重试配置
...
- 调整 careless.go 中的 HTTP 客户端超时时间为10 秒,重试次数为 2 次- 修改 careless.go 中的重试等待时间从 10 秒缩短至 3 秒
- 在 origin.go 和 careless.go 中增加 OpenTelemetry 追踪上下文
- 添加订单和卡片信息到追踪属性中以便调试
- 移除冗余的时间变量赋值,直接使用 time.Now() 初始化 CreateTime 字段
2025-11-09 13:25:09 +08:00
danial
f0de86058e
fix(supplier): 调整第三方卡发送服务的网络配置
...
- 将重试次数从1增加到2- 将重试等待时间从5秒减少到3秒- 将超时时间从5秒增加到10秒
- 保持用户代理和Origin头部设置不变
2025-11-08 23:50:15 +08:00
danial
86887f6b51
fix(supplier):修复订单创建时间获取逻辑
...
- 将订单创建时间从变量赋值改为直接调用 time.Now()
- 确保每次创建订单时使用最新时间戳---fix(client): 增强 OCR 验证码识别错误日志
- 在识别失败时记录更多上下文信息
- 添加 category 和 length 字段到错误日志中
2025-11-08 23:33:02 +08:00
danial
b42ecf9a4f
fix(nuclear): 调整核销接口超时时间并优化测试逻辑
...
- 将核销接口的超时时间从5秒调整为30秒
- 移除重复的重试次数设置
- 在测试中增加循环请求以验证接口稳定性
-保留原有的签名生成和参数处理逻辑
2025-11-08 23:01:28 +08:00
danial
5d30692d09
feat(supplier): 记录请求参数到日志中
...
- 在日志中增加记录请求参数,便于调试和追踪问题
-保留原有的响应结果日志记录逻辑
- 确保上下文信息完整传递至日志系统
2025-11-08 22:58:07 +08:00
danial
4fc51c0ff6
fix(supplier):修正第三方供应商消息字段映射- 将 nuclear.go 中的 Message 字段标签从 "Message" 更改为 "Msg"- 统一 card_sender/nuclear.go 中的消息字段标签为 "Msg"
...
- 确保响应数据结构与接口文档一致
2025-11-08 22:56:03 +08:00
danial
daccd2bffc
refactor(client): 统一卡号字段名称为 CardNumber
...
- 将 HeePayClient 中的 CardNo 字段重命名为 CardNumber
- 更新所有调用方代码以使用新的字段名
- 修改测试文件中的字段引用保持一致性- 确保跟踪日志中的属性名称同步更新
2025-11-08 22:43:02 +08:00
danial
da811b49a8
fix(heepay): 修改订单号字段为OrderId并增加超时时间
...
- 将QueryCardInput中的OrderNo字段重命名为OrderId
- 更新所有调用HeePayClient的文件中的字段引用
- 增加查询接口的超时时间从20秒到30秒
- 修改错误日志记录方式,使用otelTrace.Logger记录请求失败信息
- 调整测试文件中的注释字段引用
2025-11-08 22:30:23 +08:00
danial
5c876cc727
fix(heepay): 更新汇付查询接口路径并增强错误追踪
...
- 将汇付查询接口路径从 /spider/heepay/query 更新为 /api/heepay/query
- 在HTTP请求失败时添加OpenTelemetry错误追踪标记
-保留原有的重试机制逻辑
2025-11-08 20:37:52 +08:00
danial
6899f0b775
feat(supplier): 新增支付通道处理逻辑
...
-为订单支付URL新增特定IP端口的通道判断
- 实现channelThree方法处理新支付通道请求- 扩展通道选择逻辑以支持更多支付网关
2025-11-08 20:24:04 +08:00
danial
062661fef6
fix(supplier): 统一错误消息字段名称并修复逻辑判断
...
- 将多个结构体中的 Msg 字段统一为 Message
- 修复卡密状态判断逻辑,使用 JPoints 和 AvailableJPoints 比较- 更新 heepay 查询接口 URL 路径- 添加 channelThree 方法处理新的发送卡密通道- 修改未实现通道的返回错误信息
- 调整验证码识别接口路径和响应码判断逻辑- 修复 OCR 接口返回数据结构标签- 统一 zap 日志中错误消息字段名称为 Message
2025-11-08 16:13:01 +08:00
danial
ca36cf8084
fix(supplier): 调整第三方卡发送超时时间
...
- 将 eggplant.go 中的 HTTP 客户端超时时间从 5 秒增加到 30 秒
- 移除了默认的重试机制配置,避免不必要的重复请求- 确保在高延迟场景下有更稳定的连接表现
2025-11-06 20:02:19 +08:00
danial
de7e6bb502
fix(supplier):优化卡券发送重试逻辑
...
- 增加随机延时避免频繁提交
- 扩展重试条件包含"核销频繁"提示
- 统一处理多种提交失败场景
2025-11-05 21:23:04 +08:00
danial
0b42096ac0
feat(supplier):为核卡发送任务添加代理支持
...
- 在请求前钩子中集成代理获取逻辑
- 根据任务类型动态生成代理标识
- 自动设置客户端代理配置- 优化请求头信息结构
2025-11-05 01:11:43 +08:00
danial
f335e0dc50
fix(nuclear): 调整渠道二请求参数与签名配置
...
- 修改请求头,添加 origin 和 x-requested-with 字段
- 将请求体结构体改为 map[string]string 类型
- 使用 SetFormData 发送表单数据- 更新测试用例中的 AppId、ChannelCode 和签名密钥
2025-11-05 01:11:12 +08:00
danial
3421672c4b
feat(supplier):为核弹渠道添加代理支持
...
- 在channelTwo方法中集成代理获取逻辑- 使用utils.GetProxy动态设置请求代理-通过OnBeforeRequest回调应用代理配置- 保持原有超时和头部设置不变
- 维持现有的OpenTelemetry追踪集成
2025-11-05 00:44:26 +08:00
danial
1813ac0146
feat(supplier): 新增核销卡发送任务渠道支持
...
- 将原有的 HandleSendCardTask 方法重命名为 channelOne
- 新增 channelTwo 方法以支持新的支付渠道
- 在 HandleSendCardTask 中根据 PayURL 判断并路由到不同渠道- 更新测试文件中的 ChannelCode 和 Amount 参数值
2025-11-05 00:37:58 +08:00
danial
afb570c857
feat(supplier):为联信通道添加代理支持- 在请求前钩子中集成代理设置逻辑
...
- 使用上下文获取代理地址并应用到客户端
- 保留原有的超时和重试配置- 维持对 OpenTelemetry 追踪的支持
2025-11-04 16:59:29 +08:00
danial
9cb66571f5
feat(supplier): 添加聚盒卡查询功能并更新测试用例
...
- 新增 jvnkaQuery 查询方法用于支持聚盒卡余额查询
- 更新测试用例中的卡号和密码以匹配新的查询接口
- 修改 HeePayClient 的 QueryCard 方法路径以适配新服务地址
- 调整 OpenTelemetry 追踪 span 名称为完整方法名格式
2025-11-04 16:51:31 +08:00
danial
cbc10326fb
fix(supplier):优化联登支付失败处理逻辑- 新增cardReturnData变量存储卡片查询返回信息
...
- 调整支付失败原因传参逻辑,优先使用卡片查询返回信息
- 完善空值判断避免无效数据传递
2025-11-04 16:34:44 +08:00
danial
075d0817b9
fix(supplier):修复联信通道商户号和交易号参数错误- 调整 MerNo 参数获取方式,从 orderId 改为从 roadInfo.Params 中获取
...
- 调整 TradeNo 参数赋值,从生成新ID改为使用 orderId
-保持 NotifyUrl 和 ReturnUrl 参数不变- 保持 ApiKey 参数从 roadInfo.Params 中获取的方式不变
2025-11-04 16:20:27 +08:00
danial
ea089b7be8
docs(wiki): 更新API参考文档格式与内容
...
- 优化API参考文档的段落排版和表格对齐
- 补充签名机制和支付接口的详细说明- 完善错误码与解决方案的描述
- 统一文档中的代码引用和示例格式
docs(beego):优化Beego框架集成文档结构
- 改进Beego框架文档的换行和段落布局
- 完善控制器继承和中间件集成的说明
- 优化ORM模型注册和路由机制的描述- 统一文档中的技术术语表达方式
docs(docker): 改进Docker部署指南文档格式
- 优化Dockerfile多阶段构建的描述
- 完善docker-compose配置文件说明
- 改进本地部署步骤和故障排除指南- 统一文档中的命令行示例格式feat(supplier): 新增LianIns卡发送任务类型- 在枚举中添加SendCardTaskTypeEnumLianIns类型
- 更新GetAllSendCardTaskType函数返回值
- 实现LianIns任务类型的工厂方法
chore(deps): 更新项目依赖版本
- 升级github.com/bytedance/sonic至v1.14.2
- 升级github.com/duke-git/lancet/v2至v2.3.8
- 升级github.com/bytedance/sonic/loader至v0.4.0
- 移除natefinch/lumberjack和yaml.v2依赖- 清理间接依赖中的toml库引用
2025-11-04 16:04:08 +08:00
danial
f9a2f8a12b
feat(order): 添加平台费用字段并优化利润计算逻辑
...
- 在 MerchantDeployInfo 结构体中新增 PlatformFee 字段- 重命名 GetShowMMValue 方法为 GetProfitMarginByFactLabel
- 新增 GetProfitMarginByShowLabel 方法用于通过展示面值获取利润信息
- 更新 CreateOrderProfitInfo 函数以支持平台费用扣除- 调整 settle_service.go 中的常量配置和事务处理逻辑- 在 otelTrace 中增加链路追踪属性以便更好地监控上下文关系
2025-11-02 20:50:05 +08:00
danial
71a86108da
refactor(logging): 移除日志中的冗余前缀- 删除所有"祥云"相关日志前缀- 统一错误和信息日志格式
...
- 简化日志输出内容,去除重复标识- 保持关键参数和响应数据的日志记录- 提高日志可读性和一致性
2025-10-31 14:54:58 +08:00
danial
55a519ae35
feat(supplier): 新增极速卡查询功能并优化代理配置
...
- 在 cardTypeQuery 中新增对 "jisu" 类型卡片的支持- 实现 jisuCard 查询方法,包括请求头设置、表单数据提交及响应解析
- 添加针对 jisuCard 的单元测试用例- 更新 batch_six.go 和 yuhv.go 注释中的字段名称 password 为 cardKey
- 优化 aylrPreCard 方法代码结构以提高可读性
- 在 channel_session_test.go 中修正断言注释内容
- 为 SendCardTaskTypeFatSix_channelOne 增加代理获取逻辑
- 在 JinkeImpl.sendCard 方法中增加金额校验和错误返回控制逻辑
2025-10-31 00:30:27 +08:00
danial
b620806611
refactor(card_sender): 替换发送卡任务处理方法
...
- 将 HandleSendCardTask 方法替换为 channelOne 方法
- 优化代码逻辑以提高可读性和维护性
2025-10-30 23:29:45 +08:00
danial
3f6c0dcc14
fix(supplier): 添加对新支付渠道的支持并完善错误处理
...
- 新增对 apiss.fkpay.online 渠道的支持
- 修改默认返回逻辑,明确返回错误信息而非空值
-优化渠道处理流程,确保所有未匹配渠道均有明确反馈
2025-10-30 23:18:47 +08:00
danial
d2c9d3c36a
feat(supplier): 新增金科渠道一的卡密发送功能
...
- 引入 useragent 和 regexp 包用于构建请求和解析响应- 支持从配置中读取 createdUrl 作为支付接口地址
- 实现 channelOne 方法处理卡密提交逻辑
- 使用正则表达式提取 productCode 和 customerId 参数
- 构造表单数据并提交至指定接口完成卡密发送
- 更新测试用例中的商户 ID 与产品 ID 并验证新流程
2025-10-30 23:00:14 +08:00
danial
1a3c19dee3
fix(utils):修复代理池锁释放问题并增加测试通道
...
- 修正 defer 中的 mutex 锁调用错误,从 Lock 改为 Unlock
- 在测试文件中引入 time 包以支持延迟操作
- 扩展测试用例中的通道列表,新增 channel_six
- 添加 time.Sleep 调用以模拟实际使用场景中的延时
2025-10-29 13:53:39 +08:00
danial
a48dc9d351
fix(utils):修复代理池锁释放问题并增加测试通道
...
- 修正 defer 中的 mutex 锁调用错误,从 Lock 改为 Unlock
- 在测试文件中引入 time 包以支持延迟操作
- 扩展测试用例中的通道列表,新增 channel_six
- 添加 time.Sleep 调用以模拟实际使用场景中的延时
2025-10-28 23:47:30 +08:00
danial
7c2b8a5b0c
fix(utils):修复代理池中的空指针异常
...
- 在遍历代理时跳过空代理对象
- 修正删除无效代理时的并发访问问题-优化代理过滤逻辑避免潜在崩溃
2025-10-28 23:25:58 +08:00
danial
00a53d8ab2
fix(proxy):修复代理池清理不可用代理时的并发问题
...
- 使用匿名函数和 defer 确保锁正确释放
- 避免在清理代理时出现并发访问冲突-保持代理池数据一致性
2025-10-28 23:10:08 +08:00
danial
e7e1e4e9d7
test(flyfish): 更新飞鱼支付测试逻辑并增强健壮性- 重构 CreateOrder 测试函数以支持完整的表单数据签名流程
...
- 引入 otelresty 和 resty 客户端用于模拟 HTTP 请求
- 添加时间戳、订单号生成及配置读取逻辑
- 增强空指针判断防止 updateTime 和 payTime panic
- 启用测试中的请求上下文传递和响应日志记录
- 注释掉未使用的 submitPool 变量提高代码可维护性
2025-10-28 23:02:11 +08:00
danial
18d2850d6e
fix(utils):修复代理池删除空指针问题- 在删除代理信息时增加对空指针的判断
...
- 避免因空指针导致的程序异常- 提高代理池的健壮性
2025-10-28 13:50:46 +08:00
danial
2b11eb4818
feat(tracing): 增强订单处理链路追踪能力
...
- 在 MyselfCardImpl.PayNotify 方法中添加 OpenTelemetry 追踪- 统一 NinjaCardImpl.Scan 中的属性键名为小驼峰格式
-为 OrderController.OrderSchedule 接口增加链路追踪上下文
- 将订单调度逻辑放入 goroutine 异步执行以提升响应速度-优化 SolvePayFail 日志记录,移除冗余 bankOrderId 字段- 完善 proxy_pool 中代理信息删除时的空指针检查
- 提前生成订单记录并调整上游渠道获取逻辑顺序
-修正 SDPAY 卡密发送地址判断条件
- 使用 convertor.ToString 替代 fmt.Sprintf 序列化任务对象
- 简化 settle_service 中结算流程的日志输出逻辑
2025-10-28 13:42:54 +08:00
danial
e8c0ac2250
feat(sdpay): 支持多域名支付提交地址
...
- 新增对 zmapi.kqlvd.com 域名的支持
- 修改 handleSendCardOne 方法签名以接受提交地址
- 根据 PayURL 动态选择对应的提交域名
-优化支付提交逻辑以适应不同环境配置
2025-10-27 17:15:28 +08:00
danial
2c7aa204a4
Merge branch 'develop' into production
2025-10-26 23:34:52 +08:00
danial
9030cc5a62
chore(logging): 移除调试日志输出
...
- 删除了多余的调试日志语句
- 清理了无用的 zap 日志调用-优化了日志输出结构
2025-10-26 23:34:33 +08:00
danial
c4d1497a31
refactor(merchant):优化偷卡逻辑与代码结构- 重命名锁变量 GetOrderLock为 orderLock 提高可读性
...
- 重命名 UpdateStealRecordLock为 updateStealRecordLock 统一风格- 调整函数参数换行格式提升代码整洁度
- 提取偷卡策略判断逻辑并支持随机策略选择- 在支付成功和失败流程中增加对偷卡订单的识别与处理
- 移除重复的日志打印逻辑避免信息冗余- 增加测试用例验证偷卡类型随机选取功能
2025-10-26 23:28:00 +08:00
danial
d54315cf37
fix(road): 修改通道开启判断逻辑中的数据类型声明- 将 IsRoadOpen 函数中 roadInfo 的指针类型改为值类型
...
- 避免 ORM 查询时因类型不匹配导致的潜在错误
---
chore(utils): 移除签名验证模块中的冗余日志记录
- 删除 GetMD5Sign 和 VerifySign 函数中多余的 otelTrace 日志输出
- 清理 import 包中未使用的 otelTrace 和 zap 引用
- 简化代码逻辑,提高签名处理效率
2025-10-26 19:31:02 +08:00
danial
edf6a4da56
feat(road): 添加通道开启状态判断功能
...
- 在 RoadInfo 模型中新增 IsRoadOpen 方法用于判断通道是否开启
- 在 OrderPoolServiceImpl 中实现 isRoadOpen 封装方法- 在通道处理逻辑中增加对通道开启状态的检查
- 若通道未开启,则跳过该通道的后续处理逻辑
-优化通道面值获取逻辑以支持新的状态判断机制
2025-10-26 18:39:15 +08:00