diff --git a/internal/biz/wechat_notify.go b/internal/biz/wechat_notify.go index b64d7fe..89d33e8 100644 --- a/internal/biz/wechat_notify.go +++ b/internal/biz/wechat_notify.go @@ -2,9 +2,7 @@ package biz import ( "context" - "errors" "fmt" - "gorm.io/gorm" errPb "voucher/api/err" "voucher/internal/biz/bo" "voucher/internal/biz/vo" @@ -19,10 +17,6 @@ func (this *VoucherBiz) WechatNotifyConsumer(ctx context.Context, ip string, req order, err := this.getOrder(ctx, req) if err != nil { - // 系统订单不存在 - if errors.Is(err, gorm.ErrRecordNotFound) { - return nil - } return err } @@ -57,7 +51,6 @@ func (this *VoucherBiz) getOrder(ctx context.Context, req *bo.WechatVoucherNotif } order, err := this.OrderRepo.GetByCouponId(ctx, req.PlainText.StockCreatorMchid, req.PlainText.StockID, req.PlainText.CouponID) - if err != nil { return nil, fmt.Errorf("订单查询错误 error: %w", err) } diff --git a/internal/service/notify.go b/internal/service/notify.go index 02dd75d..b338ded 100644 --- a/internal/service/notify.go +++ b/internal/service/notify.go @@ -2,9 +2,11 @@ package service import ( "encoding/json" + "errors" "fmt" "github.com/go-kratos/kratos/v2/log" "github.com/go-kratos/kratos/v2/transport/http" + "gorm.io/gorm" "io" http2 "net/http" "voucher/internal/biz" @@ -73,6 +75,11 @@ func (srv *NotifyService) Notify(ctx http.Context) error { headerJson, _ := json.Marshal(headers) log.Errorf("微信回调通知[%s],consumer处理失败:%s\nheaders:%s\nbody:%s\n解析数据:%+v", mchId, err.Error(), headerJson, string(bodyBytes), response) + // 系统订单不存在 + if errors.Is(err, gorm.ErrRecordNotFound) { + return ctx.JSON(http2.StatusOK, nil) + } + return ctx.JSON(http2.StatusBadRequest, map[string]string{ "code": "FAIL", "message": err.Error(),