company.api 2.4 KB
syntax = "v1"

info(
	title: "天联鹰蜓"
	desc: "天联鹰蜓"
	author: "email"
	email: "email"
	version: "v1"
)

// 小程序接口
@server(
	prefix: v1
	group: company
	middleware: LogRequest
)
service Core {
	@doc "公司搜索(公开的)"
	@handler miniCompanySearch
	post /mini/company/search(CompanySearchRequest) returns (CompanySearchResponse)
}

// 小程序接口
@server(
	prefix: v1
	group: company
	middleware: LogRequest
	jwt : MiniAuth
)
service Core {
	@doc "搜索已加入的公司"
	@handler miniCompanySearchJoined
	post /mini/company/search-joined(CompanySearchRequest) returns (CompanySearchResponse)
}

// 后台接口
@server(
	prefix: v1
	group: company
	middleware: LoginStatusCheck,LogRequest
	jwt : SystemAuth
)
service Core {
	@doc "公司可见开关"
	@handler systemCompanyVisibleSwitch
	post /system/company/visible_switch(CompanyVisibleSwitchRequest) returns (CompanyVisibleSwitchResponse)

	@doc "公司搜索"
	@handler systemCompanySearch
	post /system/company/search(CompanySearchRequest) returns (CompanySearchResponse)

	@doc "公司职位搜索"
	@handler systemCompanyPositionsSearch
	post /system/company/positions/search(CompanyPositionsSearchRequest) returns (CompanyPositionsSearchResponse)
}

type (
	CompanySearchRequest {
		Page   int    `json:"page,optional"`
		Size   int    `json:"size,optional"`
		Flag   int    `json:"flag,optional"`   // 1:用户已加入的 2:用户未加入的公司
		UserId int64  `json:"userId,optional"` // 按用户搜索(用户所加入的企业)
		Code   string `json:"code,optional"`   // 按编码搜索
		Content string `json:"content,optional"` // 按公司名/编码搜索
	}
	CompanySearchResponse {
		List  []Company `json:"list"`
		Total int64     `json:"total"`
	}
	Company {
		Id   int64  `json:"id,string,omitempty"`   // 唯一标识
		Name string `json:"name,omitempty"` // 名称
		Code string `json:"code,omitempty"` // 编码(搜索使用,4位字母数字)
		Logo string `json:"logo,omitempty"` // 公司LOGO
		JoinedFlag int `json:"joinedFlag"`  // 已加入标识(1:已加入 其他:未加入)
	}

	CompanyVisibleSwitchRequest{
		Visible bool `json:"visible"` // 可见性 true:可被搜索 false:不可被搜索
	}
	CompanyVisibleSwitchResponse{

	}
)

// 公司职位搜索
type(
	CompanyPositionsSearchRequest{

	}
	CompanyPositionsSearchResponse {
		List  []Position `json:"list"`
		Total int64     `json:"total"`
	}
	Position{
		Name string `json:"name"`
	}
)