package logic import ( "context" "lone-services/pkg/modelbase" "lone-services/pkg/utils" "lone-services/services/order/internal/dao" "lone-services/services/order/internal/model" "lone-services/services/order/validator" "lone-services/rpc/order/pb" "lone-services/services/order/internal/svc" "github.com/zeromicro/go-zero/core/logx" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) type UpdateOrderDeliverStatusLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger BaseLogic } func NewUpdateOrderDeliverStatusLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateOrderDeliverStatusLogic { return &UpdateOrderDeliverStatusLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } func (l *UpdateOrderDeliverStatusLogic) UpdateOrderDeliverStatus(in *order.UpdateOrderDeliverStatusRequest) (*order.UpdateOrderDeliverStatusResponse, error) { var v validator.AdminOrderAuditingValidator if fail := l.checkParams(in, &v); fail != nil { return nil, status.Error(codes.InvalidArgument, fail.Msg) } data := dao.OrderDeliverGoodsStatus{ DeliverStatus: uint8(in.DeliverStatus), } if in.SignTime != utils.StringEmpty { sTime, err := utils.ParseCustomTime(in.SignTime) if err != nil { sTime = utils.Now() } data.SignTime = sTime } w := modelbase.Params{Eq: map[string]string{"id": in.Id}} row, err := model.OrderModel{}.Init().Edit(w, &data) if err != nil { return nil, status.Error(codes.Internal, err.Error()) } return &order.UpdateOrderDeliverStatusResponse{Num: int32(row)}, nil }