package deliverylogic import ( "context" "bsm/full/module/ec/delivery/external/pb/delivery" "bsm/full/module/ec/delivery/internal/models" "bsm/full/module/ec/delivery/internal/svc" "git.apinb.com/bsm-sdk/core/errcode" "git.apinb.com/bsm-sdk/core/service" "log/slog" "bsm/full/shared/logging" ) type CarSetLogic struct { ctx context.Context svcCtx *svc.ServiceContext *slog.Logger } func NewCarSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarSetLogic { return &CarSetLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logging.Context(ctx), } } // 修改配送车辆信息 func (l *CarSetLogic) CarSet(in *delivery.CarItem) (*delivery.StatusReply, error) { _, err := service.ParseMetaCtx(l.ctx, nil) if err != nil { return nil, err } if err = carSetChick(in); err != nil { return nil, err } data := models.DeliveryCar{ Brand: in.Brand, Version: in.Version, TeamIdentity: in.TeamIdentity, LicenseNumber: in.LicenseNumber, Contacts: in.Contacts, Phone: in.Phone, Picture: in.Picture, } err = models.DBService.Where("identity = ?", in.Identity).Updates(&data).Error if err != nil { l.Logger.Error(err.Error()) return nil, errcode.ErrDB } return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil } func carSetChick(in *delivery.CarItem) error { if in.GetIdentity() == "" { return errcode.ErrInvalidArgument } if in.GetBrand() == "" { return errcode.ErrInvalidArgument } if in.GetPhone() == "" { return errcode.ErrInvalidArgument } // if in.GetTeamIdentity() == "" { // return errcode.ErrInvalidArgument // } if in.GetContacts() == "" { return errcode.ErrInvalidArgument } if in.GetVersion() == "" { return errcode.ErrInvalidArgument } if in.GetPicture() == "" { return errcode.ErrInvalidArgument } if in.GetLicenseNumber() == "" { return errcode.ErrInvalidArgument } return nil }