改造接口

This commit is contained in:
ziming 2026-03-27 17:54:10 +08:00
parent 9f768f037c
commit ee9203f7d6
4 changed files with 20 additions and 20 deletions

View File

@ -21,6 +21,7 @@ type MultiNotifyLogBo struct {
TransactionID string
RequestURL string
RequestStatus int32
OriginReq string
Request string
Response string
OrderCreateTime *time.Time

View File

@ -141,12 +141,12 @@ func (biz *MultiBiz) RetryRunByMultiNotifyDataId(ctx context.Context, multiNotif
func (biz *MultiBiz) run(ctx context.Context, req *bo.WechatVoucherNotifyBo, mnd *bo.MultiNotifyDataBo, order *bo.OrderBo) error {
nl, err := biz.nlCreate(ctx, req, mnd, order)
nl, request, err := biz.nlCreate(ctx, req, mnd, order)
if err != nil {
return fmt.Errorf("创建通知日志错误 error: %v", err)
}
if err = biz.Request(ctx, mnd, nl, order); err != nil {
if err = biz.Request(ctx, mnd, nl, request); err != nil {
return fmt.Errorf("请求错误 error: %v", err)
}
@ -195,10 +195,10 @@ func (biz *MultiBiz) mndCreate(ctx context.Context, ip, source string, req *bo.W
})
}
func (biz *MultiBiz) nlCreate(ctx context.Context, req *bo.WechatVoucherNotifyBo, mnd *bo.MultiNotifyDataBo, order *bo.OrderBo) (*bo.MultiNotifyLogBo, error) {
func (biz *MultiBiz) nlCreate(ctx context.Context, req *bo.WechatVoucherNotifyBo, mnd *bo.MultiNotifyDataBo, order *bo.OrderBo) (*bo.MultiNotifyLogBo, *v1.CmbRequest, error) {
if biz.bc.Cmb.MultiNotifyUrl == "" {
return nil, fmt.Errorf("CMB多笔立减金通知地址为空")
return nil, nil, fmt.Errorf("CMB多笔立减金通知地址为空")
}
nl := &bo.MultiNotifyLogBo{
@ -220,22 +220,23 @@ func (biz *MultiBiz) nlCreate(ctx context.Context, req *bo.WechatVoucherNotifyBo
CouponCreateTime: &req.PlainText.CreateTime,
}
request, err := biz.GetRequest(ctx, nl, order)
request, cmbRequestBo, err := biz.GetRequest(ctx, nl, order)
if err != nil {
return nil, err
return nil, nil, err
}
b, _ := json.Marshal(request)
nl.OriginReq = cmbRequestBo.BizContent
nl.Request = string(b)
res, err := biz.MultiNotifyLogRepo.Create(ctx, nl)
if err != nil {
return nil, fmt.Errorf("创建通知日志错误 error: %v", err)
return nil, nil, fmt.Errorf("创建通知日志错误 error: %v", err)
}
// 创建出来的核销时间精度有差距,重新赋值返回出去
res.ConsumeTime = mnd.ConsumeTime
return res, nil
return res, request, nil
}
func (biz *MultiBiz) bizContent(nl *bo.MultiNotifyLogBo, order *bo.OrderBo) (string, error) {
@ -268,25 +269,26 @@ func (biz *MultiBiz) bizContent(nl *bo.MultiNotifyLogBo, order *bo.OrderBo) (str
return string(bizJsonBytes), nil
}
func (biz *MultiBiz) GetRequest(ctx context.Context, nl *bo.MultiNotifyLogBo, order *bo.OrderBo) (*v1.CmbRequest, error) {
func (biz *MultiBiz) GetRequest(ctx context.Context, nl *bo.MultiNotifyLogBo, order *bo.OrderBo) (*v1.CmbRequest, *bo.CmbRequestBo, error) {
bizContent, err := biz.bizContent(nl, order)
if err != nil {
return nil, err
return nil, nil, err
}
request, err := biz.CmbMixRepo.GetRequest(ctx, &bo.CmbRequestBo{
r := &bo.CmbRequestBo{
FuncName: vo.CmbNotifyFuncNameUpdateCodeStatusForMulti,
BizContent: bizContent,
})
}
request, err := biz.CmbMixRepo.GetRequest(ctx, r)
if err != nil {
return nil, err
return nil, nil, err
}
return request, nil
return request, r, nil
}
func (biz *MultiBiz) Request(ctx context.Context, mmd *bo.MultiNotifyDataBo, nl *bo.MultiNotifyLogBo, order *bo.OrderBo) error {
func (biz *MultiBiz) Request(ctx context.Context, mmd *bo.MultiNotifyDataBo, nl *bo.MultiNotifyLogBo, request *v1.CmbRequest) error {
if nl.RequestURL == "" {
if err := biz.notifyFail(ctx, nl, "回调通知招行地址为空,不做通知"); err != nil {
@ -296,11 +298,6 @@ func (biz *MultiBiz) Request(ctx context.Context, mmd *bo.MultiNotifyDataBo, nl
return nil
}
request, err := biz.GetRequest(ctx, nl, order)
if err != nil {
return err
}
reply, err := biz.CmbMixRepo.Request(ctx, request, nl.RequestURL)
if err != nil {
if err3 := biz.notifyFail(ctx, nl, err.Error()); err3 != nil {

View File

@ -26,6 +26,7 @@ type MultiNotifyLog struct {
TransactionID string `gorm:"column:transaction_id;not null;comment:微信支付系统生成的订单号" json:"transaction_id"` // 微信支付系统生成的订单号
RequestURL string `gorm:"column:request_url;not null;comment:请求地址" json:"request_url"` // 请求地址
RequestStatus int32 `gorm:"column:request_status;not null;comment:请求状态" json:"request_status"` // 请求状态
OriginReq string `gorm:"column:origin_req;not null;comment:请求数据" json:"origin_req"` // 请求数据
Request string `gorm:"column:request;not null;comment:请求数据" json:"request"` // 请求数据
Response string `gorm:"column:response;not null;comment:响应结果" json:"response"` // 响应结果
OrderCreateTime *time.Time `gorm:"column:order_create_time;not null;comment:券收单时间-蓝色兄弟" json:"order_create_time"` // 券收单时间-蓝色兄弟

View File

@ -45,6 +45,7 @@ func (p *MultiNotifyLogRepoImpl) Create(ctx context.Context, req *bo.MultiNotify
ConsumeAmount: req.ConsumeAmount,
ConsumeTime: req.ConsumeTime,
TransactionID: req.TransactionID,
OriginReq: req.OriginReq,
Request: req.Request,
RequestURL: req.RequestURL,
RequestStatus: vo.MultiNotifyLogStatusWait.GetValue(),