package model type ShopListRequest struct { Page int `json:"page" query:"page" validate:"omitempty,min=1"` PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100"` ShopName string `json:"shop_name" query:"shop_name" validate:"omitempty,max=100"` ShopCode string `json:"shop_code" query:"shop_code" validate:"omitempty,max=50"` ParentID *uint `json:"parent_id" query:"parent_id" validate:"omitempty,min=1"` Level *int `json:"level" query:"level" validate:"omitempty,min=1,max=7"` Status *int `json:"status" query:"status" validate:"omitempty,oneof=0 1"` } type CreateShopRequest struct { ShopName string `json:"shop_name" validate:"required,min=1,max=100"` ShopCode string `json:"shop_code" validate:"required,min=1,max=50"` ParentID *uint `json:"parent_id" validate:"omitempty,min=1"` ContactName string `json:"contact_name" validate:"omitempty,max=50"` ContactPhone string `json:"contact_phone" validate:"omitempty,len=11"` Province string `json:"province" validate:"omitempty,max=50"` City string `json:"city" validate:"omitempty,max=50"` District string `json:"district" validate:"omitempty,max=50"` Address string `json:"address" validate:"omitempty,max=255"` InitPassword string `json:"init_password" validate:"required,min=8,max=32"` InitUsername string `json:"init_username" validate:"required,min=3,max=50"` InitPhone string `json:"init_phone" validate:"required,len=11"` } type UpdateShopRequest struct { ShopName string `json:"shop_name" validate:"required,min=1,max=100"` ContactName string `json:"contact_name" validate:"omitempty,max=50"` ContactPhone string `json:"contact_phone" validate:"omitempty,len=11"` Province string `json:"province" validate:"omitempty,max=50"` City string `json:"city" validate:"omitempty,max=50"` District string `json:"district" validate:"omitempty,max=50"` Address string `json:"address" validate:"omitempty,max=255"` Status int `json:"status" validate:"required,oneof=0 1"` } // ShopResponse 店铺响应 type ShopResponse struct { ID uint `json:"id"` ShopName string `json:"shop_name"` ShopCode string `json:"shop_code"` ParentID *uint `json:"parent_id,omitempty"` Level int `json:"level"` ContactName string `json:"contact_name"` ContactPhone string `json:"contact_phone"` Province string `json:"province"` City string `json:"city"` District string `json:"district"` Address string `json:"address"` Status int `json:"status"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` }