syntax = "v1" info ( title: "Enterprise API" desc: "API for managing enterprise reviews and authentication" author: "Your Name" date: "2024-09-25" ) type ( LoginReq { Username string `json:"username"` Password string `json:"password"` } LoginResp {} ) type ( GetPendingEnterpriseReq { Page int64 `form:"page"` PageSize int64 `form:"pageSize"` } GetPendingEnterpriseResp { Total int64 `json:"total"` List []EnterpriseItem `json:"list"` } ReviewEnterpriseReq { EnterpriseID int64 `json:"enterpriseId"` Status string `json:"status"` Remarks string `json:"remarks"` } ReviewEnterpriseResp {} ) type EnterpriseItem { Id int64 `json:"id"` // 企业ID EnterpriseName string `json:"enterpriseName"` // 企业名称 CreditCode string `json:"creditCode"` // 企业信用代码 LegalPerson string `json:"legalPerson"` // 法人 EnterpriseContact string `json:"enterpriseContact"` // 企业联系方式 AuthStatus string `json:"authStatus"` // 认证状态 BusinessLicense string `json:"businessLicense"` CreatedAt string `json:"createdAt"` // 创建时间 UpdatedAt string `json:"updatedAt"` // 更新时间 } type ( UserInfoResp { username string `json:"username"` } ) @server ( group: auth prefix: /api/admin/auth ) service admin-api { @handler login post /login (LoginReq) returns (LoginResp) } @server ( group: user prefix: /api/admin/user middleware: AuthInterceptor ) service admin-api { @handler getUserInfo get /info returns (UserInfoResp) } @server ( group: review prefix: /api/admin/enterprise middleware: AuthInterceptor ) service admin-api { @handler reviewEnterprise post /review (ReviewEnterpriseReq) returns (ReviewEnterpriseResp) @handler getPendingEnterprise get /pending (GetPendingEnterpriseReq) returns (GetPendingEnterpriseResp) } type ( CreateProductReq { ProductName string `json:"productName"` ProductCode string `json:"productCode"` ProductDescription string `json:"productDescription"` ProductContent string `json:"productContent"` ProductGroup string `json:"productGroup"` ProductPrice float64 `json:"productPrice"` } UpdateProductReq { ProductId int64 `json:"productId"` ProductName string `json:"productName"` ProductCode string `json:"productCode"` ProductDescription string `json:"productDescription"` ProductContent string `json:"productContent"` ProductGroup string `json:"productGroup"` ProductPrice float64 `json:"productPrice"` } DeleteProductReq { ProductId int64 `json:"productId"` } GetProductByIdReq { ProductId int64 `path:"productId"` } GetProductByIdResp { ProductItem } GetProductListReq { Page int64 `form:"page"` PageSize int64 `form:"pageSize"` } GetProductListResp { Total int64 `json:"total"` List []ProductItem `json:"list"` } ProductItem { ProductId int64 `json:"productId"` ProductName string `json:"productName"` ProductCode string `json:"productCode"` ProductDescription string `json:"productDescription"` ProductContent string `json:"productContent"` ProductGroup string `json:"productGroup"` ProductPrice float64 `json:"productPrice"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` } ) @server ( group: product prefix: /api/admin/product middleware: AuthInterceptor ) service admin-api { @handler createProduct post /create (CreateProductReq) @handler updateProduct post /update (UpdateProductReq) @handler deleteProduct post /delete (DeleteProductReq) @handler getProductById get /:productId (GetProductByIdReq) returns (GetProductByIdResp) @handler getProductList get /list (GetProductListReq) returns (GetProductListResp) } type ( UserListRequest { Page int64 `form:"page"` // 分页页码 PageSize int64 `form:"pageSize"` // 每页大小 } UserListResponse { List []UserItem `json:"list"` Total int64 `json:"total"` } UserItem { Id int64 `json:"id"` // 主键ID Username string `json:"username"` // 用户名 Phone string `json:"phone"` // 电话 Disable int64 `json:"disable"` // 是否禁用状态,1为禁用,0为启用 QuotaExceeded int64 `json:"quotaExceeded"` // 是否超出配额,1为超出,0为未超出 Balance float64 `json:"balance"` // 余额 CreatedAt string `json:"createdAt"` // 创建时间 UpdatedAt string `json:"updatedAt"` // 更新时间 } rechargeRequest { UserId int64 `json:"userId"` Amount int64 `json:"amount"` } ) @server ( group: user prefix: /api/admin/user middleware: AuthInterceptor ) service admin-api { @handler getUserList get /user/list (UserListRequest) returns (UserListResponse) @handler recharge post /user/recharge (rechargeRequest) }