package biz import ( "context" "fmt" "github.com/go-kratos/kratos/v2/log" "voucher/internal/biz/bo" ) func (v *VoucherBiz) Query(ctx context.Context, order *bo.OrderBo) error { status, err := v.WechatCpnRepo.Query(ctx, order) if err != nil { return err } if order.Status == status { log.Warnf("券状态未改变:%s,忽略不处理,orderNo:%s", order.Status.GetText(), order.OrderNo) return nil } if err = v.UpdateOrderStatus(ctx, order.ID, status); err != nil { return err } order.Status = status return nil } func (v *VoucherBiz) QueryOrder(ctx context.Context, orderNo string) (string, error) { order, err3 := v.OrderRepo.GetByOrderNo(ctx, orderNo) if err3 != nil { return "", err3 } status, err := v.WechatCpnRepo.Query(ctx, order) if err != nil { return "", err } return fmt.Sprintf("orderNo:%s,订单状态:%s,微信查询返回状态:%s", orderNo, order.Status.GetText(), status.GetText()), nil }