| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package model
- import "time"
- type OrderStatus string
- const (
- StatusPending OrderStatus = "pending"
- StatusAccepted OrderStatus = "accepted"
- StatusCanceled OrderStatus = "canceled"
- )
- type Order struct {
- ID string `json:"id"`
- Status OrderStatus `json:"status"`
- ServiceTime time.Time `json:"service_time"`
- Duration int `json:"duration"`
- Address string `json:"address"`
- ProviderID *string `json:"provider_id"`
- CreatedAt time.Time `json:"created_at"`
- UpdatedAt time.Time `json:"updated_at"`
- }
- type CreateOrderRequest struct {
- ServiceTime time.Time `json:"service_time" binding:"required"`
- Duration int `json:"duration" binding:"required,gt=0"`
- Address string `json:"address" binding:"required"`
- }
- type AcceptOrderRequest struct {
- ProviderID string `json:"provider_id" binding:"required"`
- }
- type CancelOrderRequest struct{}
- type AppError struct {
- Code string `json:"error"`
- Message string `json:"message"`
- HTTPStatus int `json:"-"`
- }
- func NewAppError(code, message string, httpStatus int) *AppError {
- return &AppError{Code: code, Message: message, HTTPStatus: httpStatus}
- }
- func (e *AppError) Error() string {
- return e.Message
- }
- // 预定义错误
- var (
- ErrNotFound = NewAppError("not_found", "订单不存在", 404)
- ErrConflict = NewAppError("conflict", "订单已被其他服务者接单", 409)
- ErrInvalidState = func(op string) *AppError {
- return NewAppError("invalid_state", "订单已取消,无法" + op, 400)
- }
- ErrStatusConflict = NewAppError("conflict", "订单状态已变更,请重试", 409)
- )
|