56 lines
1.5 KiB
Go
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 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
|
|
}
|