Skip to content

收款成功通知的支付时间使用当前时间导致显示错误 #53

@jiamovo

Description

@jiamovo

src/model/service/task_service.gosendPaymentNotification 里,支付时间当前直接使用了 carbon.Now().ToDateTimeString()

这样通知里的支付时间显示的是程序发送通知时的当前时间,不是订单真实支付时间;当运行环境时区和业务时区不一致时,时间会直接显示错误。

相关代码位置:
src/model/service/task_service.go
sendPaymentNotification(order *mdb.Orders)

另外当前调用链里是先取订单,再执行 OrderProcessing(req) 更新数据库,最后再发送通知,所以就算改成直接读取传入 order.UpdatedAt 也可能还是旧值。

建议发送通知前按 trade_id 重查最新订单,支付时间使用订单的 updated_at

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions