package logic import ( "context" "lone-services/pkg/utils" "lone-services/services/express/internal/dao" "lone-services/services/express/internal/model" "lone-services/rpc/express/pb" "lone-services/services/express/internal/svc" jsoniter "github.com/json-iterator/go" "github.com/samber/lo" "github.com/zeromicro/go-zero/core/logx" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) type DeliveryOrderCreateLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewDeliveryOrderCreateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeliveryOrderCreateLogic { return &DeliveryOrderCreateLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } func (l *DeliveryOrderCreateLogic) DeliveryOrderCreate(in *express.DeliveryOrderCreateRequest) (*express.IdResponse, error) { data := dao.DeliveryOrderCreate{ Address: in.Address, Addressee: in.Addressee, City: in.City, County: in.County, GroupId: in.GroupId, Mobile: in.Mobile, ObjId: in.ObjId, ObjSn: in.ObjSn, ProductInfo: string(lo.Must(jsoniter.Marshal(in.ProductInfo))), Province: in.Province, Status: uint8(in.Status), Type: uint8(in.Type)} err := model.DeliveryOrderModel{}.Init().Create(&data) if err != nil { return nil, status.Error(codes.Internal, utils.Fail.Msg) } return &express.IdResponse{Id: data.Id}, nil }