package logic import ( "context" "lone-services/pkg/modelbase" "lone-services/pkg/utils" "lone-services/services/express/internal/dao" "lone-services/services/express/internal/model" "strconv" "lone-services/rpc/express/pb" "lone-services/services/express/internal/svc" "github.com/zeromicro/go-zero/core/logx" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) type GetDeliveryByOrderIdLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewGetDeliveryByOrderIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDeliveryByOrderIdLogic { return &GetDeliveryByOrderIdLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } func (l *GetDeliveryByOrderIdLogic) GetDeliveryByOrderId(in *express.IdRequest) (*express.DeliveryInfoResponse, error) { modelObj := model.DeliveryOrderModel{}.Init() var info dao.DeliveryOrderPrintEdit w := modelbase.Params{Eq: map[string]string{ "type": strconv.Itoa(dao.DeliveryTypeOrder), "obj_id": strconv.FormatInt(in.Id, utils.NumberTen)}} err := modelObj.GetOne(w, &info) if err != nil { return nil, status.Error(codes.Internal, utils.Fail.Msg) } if info.Id < utils.NumberOne { return nil, status.Error(codes.Internal, utils.ErrorNotFund.Msg) } return &express.DeliveryInfoResponse{ TransitName: info.TransitName, TransitSn: info.TransitSn, EstimatedTime: info.EstimatedTime, TransitQuery: info.TransitQuery, Status: int32(info.Status), Id: int64(info.Id), }, nil }