Files
lone-services/services/express/internal/logic/getDeliveryBySupplyIdLogic.go
T
2026-09-21 15:03:52 +08:00

56 lines
1.5 KiB
Go

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 GetDeliveryBySupplyIdLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetDeliveryBySupplyIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDeliveryBySupplyIdLogic {
return &GetDeliveryBySupplyIdLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetDeliveryBySupplyIdLogic) GetDeliveryBySupplyId(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.DeliveryTypeSupply),
"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
}