// Package house_listing 定义房源/挂牌管理接口,路由前缀 /house。 package house_listing import "github.com/gogf/gf/v2/frame/g" // ListingItem 房源列表中的一行。 type ListingItem struct { Id uint64 `json:"id"` CommunityId uint64 `json:"communityId"` CommunityName string `json:"communityName"` BuildingId uint64 `json:"buildingId"` HouseNo string `json:"houseNo"` Layout string `json:"layout"` Area float64 `json:"area"` UsableArea float64 `json:"usableArea"` Orientation string `json:"orientation"` Floor int `json:"floor"` TotalFloors int `json:"totalFloors"` Decoration string `json:"decoration"` TotalPrice float64 `json:"totalPrice"` UnitPrice float64 `json:"unitPrice"` ListPrice float64 `json:"listPrice"` Source string `json:"source"` SourceHouseId string `json:"sourceHouseId"` SourceUrl string `json:"sourceUrl"` MatchGroupId uint64 `json:"matchGroupId"` OnMarketDays int `json:"onMarketDays"` PriceChangeCount int `json:"priceChangeCount"` Status int `json:"status"` Confidence int `json:"confidence"` IsBargain int `json:"isBargain"` ListingTime string `json:"listingTime"` CreatedAt string `json:"createdAt"` } // ListingListReq 分页查询房源(统一筛选入参,供管理列表与看板共用)。 type ListingListReq struct { g.Meta `path:"/house/listing/list" method:"post" tags:"Admin/House/Listing" summary:"房源列表"` Page int `json:"page" d:"1" v:"min:1"` Size int `json:"size" d:"10" v:"min:1|max:100"` CommunityId uint64 `json:"communityId"` Keyword string `json:"keyword"` // 匹配房号/户型 Layout string `json:"layout"` Region string `json:"region"` Source string `json:"source"` PriceMin float64 `json:"priceMin"` PriceMax float64 `json:"priceMax"` AreaMin float64 `json:"areaMin"` AreaMax float64 `json:"areaMax"` Status int `json:"status"` IsBargain int `json:"isBargain"` // 0 全部,1 仅笋盘 Confidence int `json:"confidence"` // 0 全部,1 仅低可信 } // ListingListRes 是 ListingListReq 的响应。 type ListingListRes struct { List []*ListingItem `json:"list"` Total int `json:"total"` } // ListingCreateReq 新增房源(采集器/手动录入)。 type ListingCreateReq struct { g.Meta `path:"/house/listing/create" method:"post" tags:"Admin/House/Listing" summary:"新增房源"` CommunityId uint64 `json:"communityId" v:"required"` BuildingId uint64 `json:"buildingId"` HouseNo string `json:"houseNo"` Layout string `json:"layout"` Area float64 `json:"area"` UsableArea float64 `json:"usableArea"` Orientation string `json:"orientation"` Floor int `json:"floor"` TotalFloors int `json:"totalFloors"` Decoration string `json:"decoration"` TotalPrice float64 `json:"totalPrice"` UnitPrice float64 `json:"unitPrice"` ListPrice float64 `json:"listPrice"` Source string `json:"source"` SourceHouseId string `json:"sourceHouseId"` SourceUrl string `json:"sourceUrl"` MatchGroupId uint64 `json:"matchGroupId"` OnMarketDays int `json:"onMarketDays"` PriceChangeCount int `json:"priceChangeCount"` Status int `json:"status" d:"1"` Confidence int `json:"confidence"` IsBargain int `json:"isBargain"` } // ListingCreateRes 是 ListingCreateReq 的响应。 type ListingCreateRes struct { Id uint64 `json:"id"` } // ListingUpdateReq 更新房源。 type ListingUpdateReq struct { g.Meta `path:"/house/listing/update/{id}" method:"post" tags:"Admin/House/Listing" summary:"更新房源"` Id uint64 `json:"id" in:"path" v:"required"` CommunityId uint64 `json:"communityId"` BuildingId uint64 `json:"buildingId"` HouseNo string `json:"houseNo"` Layout string `json:"layout"` Area float64 `json:"area"` UsableArea float64 `json:"usableArea"` Orientation string `json:"orientation"` Floor int `json:"floor"` TotalFloors int `json:"totalFloors"` Decoration string `json:"decoration"` TotalPrice float64 `json:"totalPrice"` UnitPrice float64 `json:"unitPrice"` ListPrice float64 `json:"listPrice"` MatchGroupId uint64 `json:"matchGroupId"` Status int `json:"status"` Confidence int `json:"confidence"` IsBargain int `json:"isBargain"` } // ListingUpdateRes 是 ListingUpdateReq 的响应。 type ListingUpdateRes struct{} // ListingDeleteReq 删除房源(软删除)。 type ListingDeleteReq struct { g.Meta `path:"/house/listing/delete/{id}" method:"post" tags:"Admin/House/Listing" summary:"删除房源"` Id uint64 `json:"id" in:"path" v:"required"` } // ListingDeleteRes 是 ListingDeleteReq 的响应。 type ListingDeleteRes struct{} // ListingBatchMarkReq 批量标记房源(置信度/笋盘/状态)。 type ListingBatchMarkReq struct { g.Meta `path:"/house/listing/batch-mark" method:"post" tags:"Admin/House/Listing" summary:"批量标记房源"` Ids []uint64 `json:"ids" v:"required"` Field string `json:"field" v:"required"` // confidence/isBargain/status Value int `json:"value"` } // ListingBatchMarkRes 是 ListingBatchMarkReq 的响应。 type ListingBatchMarkRes struct { Affected int64 `json:"affected"` }