Documentation
¶
Index ¶
- Constants
- Variables
- func NewCommercialUrl(cityId int, commType CommercialHouseType, page, size int) (string, error)
- func RandomUA() string
- type CityInfo
- type CityMap
- type CommercialHouseType
- type CommercialInfo
- type CommercialRaw
- type ErShouFangInfo
- type ErShouFangRaw
- type ErshoufangHouseDesc
- type ErshoufangHouseDescDetail
- type HoueseType
- type KafkaManager
- type KafkaReader
- type KafkaSender
- type LianjiaRepo
- type LianjiaUsecase
- func (uc *LianjiaUsecase) FetchCityList(ctx context.Context)
- func (uc *LianjiaUsecase) FetchCommercial(ctx context.Context)
- func (uc *LianjiaUsecase) FetchErShouFang(ctx context.Context)
- func (uc *LianjiaUsecase) FetchLoupan(ctx context.Context)
- func (uc *LianjiaUsecase) FetchZufang(ctx context.Context)
- func (uc *LianjiaUsecase) HandleCommercialMessage(ctx context.Context) error
- func (uc *LianjiaUsecase) HandleErshoufangMessage(ctx context.Context) error
- func (uc *LianjiaUsecase) HandleLoupanMessage(ctx context.Context) error
- func (uc *LianjiaUsecase) HandleZufangMessage(ctx context.Context, msg []kafka.Message) error
- func (uc *LianjiaUsecase) InitLianjiaChan(ctx context.Context)
- func (uc *LianjiaUsecase) IsCommercialTaskFinish(ctx context.Context) bool
- func (uc *LianjiaUsecase) IsErshouFangTaskFinish(ctx context.Context) bool
- func (uc *LianjiaUsecase) IsLoupanTaskFinish(ctx context.Context) bool
- func (uc *LianjiaUsecase) ListCityCommercial(ctx context.Context, city *CityInfo) error
- func (uc *LianjiaUsecase) ListCityErshouFang(ctx context.Context, city *CityInfo) error
- func (uc *LianjiaUsecase) ListCityLoupan(ctx context.Context, city *CityInfo) error
- func (uc *LianjiaUsecase) ListCityZufang(ctx context.Context, city *CityInfo) error
- func (uc *LianjiaUsecase) Receive(ctx context.Context) error
- func (uc *LianjiaUsecase) Send(ctx context.Context, msg []Message, houseType HoueseType) error
- func (uc *LianjiaUsecase) SetNXKey(ctx context.Context, key string, value interface{}, duration time.Duration) error
- type ListCommercialParams
- type LoupanInfo
- type LoupanJson
- type Message
- type RecoDesc
- type RecoDescDetail
- type Topic
- type Transaction
- type UserAgent
- type ZufangInfo
Constants ¶
View Source
const ( CommercialHouseTypeBuyXzl = "buy_xzl" CommercialHouseTypeRentXzl = "rent_xzl" CommercialHouseTypeBuySp = "buy_sp" CommercialHouseTypeRentSp = "rent_sp" CommercialBaseUrl = "https://shang.lianjia.com/api/ke/" )
View Source
const ( HouseTypeErshoufang HoueseType = "ershoufang" HouseTypeLoupan HoueseType = "loupan" HouseTypeZufang HoueseType = "zufang" HouseTypeCommercial HoueseType = "commercial" LianjiaErshoufangRunningCrawlTaskKey = "lianjia_ershoufang_running_task" LianjiaLoupanRunningCrawlTaskKey = "lianjia_loupan_running_task" LianjiaCommercialRunningCrawlTaskKey = "lianjia_commercial_running_task" LianjiaErshoufangIdempotentKey = "ershoufang_" LianjiaLoupanIdempotentKey = "loupan_" LianjiaCommercialIdempotentKey = "commercial_" )
View Source
const ( QueueModeKafka = "kafka" QueueModeGoChannel = "channel" ChanQueueSize = 100 )
Variables ¶
View Source
var ( ErshoufangProcessChan chan []Message LoupanProcessChan chan []Message CommercialProcessChan chan []Message ZufangProcessChan chan []Message )
View Source
var CommercialHouseTypes = []CommercialHouseType{ CommercialHouseTypeBuyXzl, CommercialHouseTypeRentXzl, CommercialHouseTypeBuySp, CommercialHouseTypeRentSp, }
View Source
var LianjiaTaskKeys = []string{ LianjiaErshoufangRunningCrawlTaskKey, LianjiaLoupanRunningCrawlTaskKey, LianjiaCommercialRunningCrawlTaskKey, }
View Source
var ProviderSet = wire.NewSet(NewLianjiaUsecase)
ProviderSet is biz providers.
Functions ¶
func NewCommercialUrl ¶
func NewCommercialUrl(cityId int, commType CommercialHouseType, page, size int) (string, error)
Types ¶
type CityInfo ¶
type CityInfo struct { Id int `json:"id"` CityCode int `json:"city_code"` Name string `json:"name"` Host string `json:"host"` MobileHost string `json:"mobile_host"` Short string `json:"short"` Province string `json:"province"` ProvinceShort string `json:"province_short"` Pinyin string `json:"pinyin"` Longitude string `json:"longitude"` Latitude string `json:"latitude"` Url string `json:"url"` }
type CommercialHouseType ¶
type CommercialHouseType string
type CommercialInfo ¶
type CommercialInfo struct { HouseCode int `json:"house_code"` BuildingID int `json:"building_id"` HousedelCode int64 `json:"housedel_code"` Title string `json:"title"` CityID int `json:"city_id"` CityName string `json:"city_name"` DistrictName string `json:"district_name"` BizcircleName string `json:"bizcircle_name"` StreetName string `json:"street_name"` ResblockName string `json:"resblock_name"` UnitRentPrice float64 `json:"unit_rent_price"` UnitMonthRentPrice float64 `json:"unit_month_rent_price"` RentPrice int `json:"rent_price"` UnitSellPrice int `json:"unit_sell_price"` SellPrice int `json:"sell_price"` Area float64 `json:"area"` Score float64 `json:"score"` CmarkName string `json:"cmark_name"` Image string `json:"image"` Fitment int `json:"fitment"` FitmentName string `json:"fitment_name"` HasFurniture int `json:"has_furniture"` HasFurnitureName string `json:"has_furniture_name"` HasMeetingRoom int `json:"has_meeting_room"` HasMeetingRoomName string `json:"has_meeting_room_name"` ParkingType int `json:"parking_type"` IsNearSubway int `json:"is_near_subway"` IsNearSubwayName string `json:"is_near_subway_name"` IsRegisteredCompany int `json:"is_registered_company"` IsRegisteredCompanyName string `json:"is_registered_company_name"` FloorPosition int `json:"floor_position"` FloorPositionName string `json:"floor_position_name"` ShowingTime int `json:"showing_time"` ShowingTimeName string `json:"showing_time_name"` SubwayDistance int `json:"subway_distance"` SubwayDistanceName string `json:"subway_distance_name"` Tags string `json:"tags"` IsReal int `json:"is_real"` HasVr int `json:"has_vr"` Ctime time.Time `json:"ctime"` }
type CommercialRaw ¶
type CommercialRaw struct { HouseCode int `json:"house_code"` BuildingID int `json:"building_id"` HousedelCode int64 `json:"housedel_code"` Title string `json:"title"` CityID int `json:"city_id"` CityName string `json:"city_name"` DistrictName string `json:"district_name"` BizcircleName string `json:"bizcircle_name"` StreetName string `json:"street_name"` ResblockName string `json:"resblock_name"` UnitRentPrice float64 `json:"unit_rent_price"` UnitMonthRentPrice float64 `json:"unit_month_rent_price"` RentPrice int `json:"rent_price"` UnitSellPrice int `json:"unit_sell_price"` SellPrice int `json:"sell_price"` Area float64 `json:"area"` Score float64 `json:"score"` CmarkName interface{} `json:"cmark_name"` Image string `json:"image"` Fitment int `json:"fitment"` FitmentName string `json:"fitment_name"` HasFurniture bool `json:"has_furniture"` HasFurnitureName string `json:"has_furniture_name"` HasMeetingRoom bool `json:"has_meeting_room"` HasMeetingRoomName string `json:"has_meeting_room_name"` ParkingType int `json:"parking_type"` IsNearSubway bool `json:"is_near_subway"` IsNearSubwayName string `json:"is_near_subway_name"` IsRegisteredCompany bool `json:"is_registered_company"` IsRegisteredCompanyName string `json:"is_registered_company_name"` FloorPosition int `json:"floor_position"` FloorPositionName string `json:"floor_position_name"` ShowingTime int `json:"showing_time"` ShowingTimeName string `json:"showing_time_name"` SubwayDistance int `json:"subway_distance"` SubwayDistanceName string `json:"subway_distance_name"` Tags []string `json:"tags"` IsReal bool `json:"is_real"` HasVr bool `json:"has_vr"` Ctime string `json:"ctime"` }
func (*CommercialRaw) ConvertToCommercial ¶
func (c *CommercialRaw) ConvertToCommercial() CommercialInfo
type ErShouFangInfo ¶
type ErShouFangInfo struct { CityID int64 `json:"city_id"` HouseCode string `json:"house_code"` ResblockID int64 `json:"resblock_id"` Title string `json:"title"` Desc string `json:"desc"` BangdanTitle string `json:"bangdan_title"` RecoDesc string `json:"reco_desc"` TotalPrice string `json:"total_price"` UnitPrice string `json:"unit_price"` JumpURL string `json:"jump_url"` ListPictureURL string `json:"list_picture_url"` HouseStatus int `json:"house_status"` CtypeHouseStatus int `json:"is_ctype_house"` FbExpoID string `json:"fb_expo_id"` YeZhuTuijianStatus int `json:"ye_zhu_tuijian_status"` HaofangStatus int `json:"haofang_status"` YezhuPayStatus int `json:"yezhu_pay_status"` VrStatus int `json:"vr_status"` KeyStatus int `json:"key_status"` NewStatus int `json:"new_status"` BrandTitle string `json:"brand_title"` HotTopDspAgentUcID string `json:"hot_top_dsp_agent_uc_id"` HotTopDigV string `json:"hot_top_dig_v"` HotTop int `json:"hot_top"` SellPriceStatus int `json:"sell_price_status"` PriceListingGovCn int `json:"price_listing_gov_cn"` UnitPriceGov int `json:"unit_price_gov"` TotalPricePrefix string `json:"total_price_prefix"` TotalPriceTitle float64 `json:"total_price_title"` TotalPriceSuffix string `json:"total_price_suffix"` UnitPricePrefix string `json:"unit_price_prefix"` UnitPriceTitle float64 `json:"unit_price_title"` UnitPriceSuffix string `json:"unit_price_suffix"` PriceInfoListTotalPricePrefix string `json:"price_info_list_total_price_prefix"` PriceInfoListTotalPriceStr string `json:"price_info_list_total_price_str"` PriceInfoListTotalPriceSuffix string `json:"price_info_list_total_price_suffix"` PriceInfoListUnitPricePrefix string `json:"price_info_list_unit_price_prefix"` PriceInfoListUnitPriceStr string `json:"price_info_list_unit_price_str"` PriceInfoListUnitPriceSuffix string `json:"price_info_list_unit_price_suffix"` Tags string `json:"tags"` Layout string `json:"layout"` Area float64 `json:"area"` Direction string `json:"direction"` Community string `json:"community"` District string `json:"district"` Street string `json:"street"` Floor string `json:"floor"` TotalFloor int32 `json:"total_floor"` }
type ErShouFangRaw ¶
type ErShouFangRaw struct { CityID string `json:"cityId"` HouseCode string `json:"houseCode"` ResblockID int64 `json:"resblockId"` Title string `json:"title"` Desc string `json:"desc"` BangdanTitle string `json:"bangdanTitle"` RecoDesc string `json:"recoDesc"` TotalPrice string `json:"totalPrice"` UnitPrice string `json:"unitPrice"` JumpURL string `json:"jumpUrl"` ListPictureURL string `json:"listPictureUrl"` RecommendReason interface{} `json:"recommendReason"` HouseStatus int `json:"houseStatus"` IsCtypeHouse bool `json:"isCtypeHouse"` FbExpoID string `json:"fbExpoId"` StatusSwitch struct { IsYeZhuTuijian bool `json:"isYeZhuTuijian"` IsHaofang bool `json:"isHaofang"` IsYezhuPay bool `json:"isYezhuPay"` IsVr bool `json:"isVr"` IsKey bool `json:"isKey"` IsNew bool `json:"isNew"` } `json:"statusSwitch"` BrandTags struct { Title string `json:"title"` PicURL string `json:"picUrl"` } `json:"brandTags"` HotTop struct { DspAgentUcID string `json:"dspAgentUcId"` HotTopDigV string `json:"hotTopDigV"` HotTop int `json:"hotTop"` } `json:"hotTop"` IsSellPrice int `json:"isSellPrice"` PriceListingGovCn int `json:"priceListingGovCn"` UnitPriceGov int `json:"unitPriceGov"` TotalPriceInfo struct { Prefix string `json:"prefix"` Title string `json:"title"` Suffix string `json:"suffix"` } `json:"totalPriceInfo"` UnitPriceInfo struct { Prefix string `json:"prefix"` Title string `json:"title"` Suffix string `json:"suffix"` } `json:"unitPriceInfo"` PriceInfoList struct { TotalPricePrefix string `json:"totalPricePrefix"` TotalPriceStr string `json:"totalPriceStr"` TotalPriceSuffix string `json:"totalPriceSuffix"` TotalPriceNoDataDesc string `json:"totalPriceNoDataDesc"` UnitPricePrefix string `json:"unitPricePrefix"` UnitPriceStr string `json:"unitPriceStr"` UnitPriceSuffix string `json:"unitPriceSuffix"` UnitPriceNoDataDesc string `json:"unitPriceNoDataDesc"` StaticTotalPriceNoDataDesc string `json:"staticTotalPriceNoDataDesc"` StaticUnitPriceNoDataDesc string `json:"staticUnitPriceNoDataDesc"` } `json:"priceInfoList"` ColorTags []struct { Key string `json:"key"` Title string `json:"title"` Color string `json:"color"` TextColor string `json:"textColor"` BgColor string `json:"bgColor"` } `json:"colorTags"` //MarketBooth []string `json:"marketBooth"` PoiDistance string `json:"poiDistance"` PoiIcon string `json:"poiIcon"` }
func (*ErShouFangRaw) ConvertErShouFangRawToInfo ¶
func (raw *ErShouFangRaw) ConvertErShouFangRawToInfo() *ErShouFangInfo
type ErshoufangHouseDesc ¶
type ErshoufangHouseDesc string
func (ErshoufangHouseDesc) Detail ¶
func (e ErshoufangHouseDesc) Detail() ErshoufangHouseDescDetail
type HoueseType ¶
type HoueseType string
func (HoueseType) Topic ¶
func (h HoueseType) Topic() string
type KafkaManager ¶
type KafkaManager struct { Brokers map[string][]string Senders map[string]*KafkaSender Readers map[string]*KafkaReader SendersMu sync.Mutex Logger log.Logger }
func (*KafkaManager) Close ¶
func (km *KafkaManager) Close() error
type KafkaReader ¶
type KafkaReader struct {
Reader *kafka.Reader
}
type KafkaSender ¶
type KafkaSender struct {
Writer *kafka.Writer
}
type LianjiaRepo ¶
type LianjiaRepo interface { UpsertCity(ctx context.Context, cities []*CityInfo) error GetAllCity(ctx context.Context) (cities []*CityInfo, err error) InsertErshoufangInfo(ctx context.Context, info []*ErShouFangInfo) error InsertLoupanInfo(ctx context.Context, lists []*LoupanInfo) error GetKafkaManager(ctx context.Context) (km *KafkaManager, err error) SetNXKey(ctx context.Context, key string, value interface{}, duration time.Duration) error IncrKey(ctx context.Context, key string, increment int) (int64, error) DelKey(ctx context.Context, key string) error GetKey(ctx context.Context, key string) (string, error) Send(ctx context.Context, msg []Message, houseType HoueseType) error Receive(ctx context.Context) error ListErshoufang(ctx context.Context, p pagination.Pagination, query string) ([]*ErShouFangInfo, int64, error) InsertCommercialInfo(ctx context.Context, infos []*CommercialInfo) error CheckErShouFangExists(ctx context.Context, cityID int64, houseCode string) (bool, error) CheckLoupanExists(ctx context.Context, cityID, loupanId int64) (bool, error) CheckCommercialExists(ctx context.Context, cityID, houseCode int64) (bool, error) }
type LianjiaUsecase ¶
type LianjiaUsecase struct {
// contains filtered or unexported fields
}
func NewLianjiaUsecase ¶
func NewLianjiaUsecase(repo LianjiaRepo, logger log.Logger) *LianjiaUsecase
func (*LianjiaUsecase) FetchCityList ¶
func (uc *LianjiaUsecase) FetchCityList(ctx context.Context)
func (*LianjiaUsecase) FetchCommercial ¶
func (uc *LianjiaUsecase) FetchCommercial(ctx context.Context)
func (*LianjiaUsecase) FetchErShouFang ¶
func (uc *LianjiaUsecase) FetchErShouFang(ctx context.Context)
func (*LianjiaUsecase) FetchLoupan ¶
func (uc *LianjiaUsecase) FetchLoupan(ctx context.Context)
func (*LianjiaUsecase) FetchZufang ¶
func (uc *LianjiaUsecase) FetchZufang(ctx context.Context)
func (*LianjiaUsecase) HandleCommercialMessage ¶
func (uc *LianjiaUsecase) HandleCommercialMessage(ctx context.Context) error
func (*LianjiaUsecase) HandleErshoufangMessage ¶
func (uc *LianjiaUsecase) HandleErshoufangMessage(ctx context.Context) error
func (*LianjiaUsecase) HandleLoupanMessage ¶
func (uc *LianjiaUsecase) HandleLoupanMessage(ctx context.Context) error
func (*LianjiaUsecase) HandleZufangMessage ¶
func (uc *LianjiaUsecase) HandleZufangMessage(ctx context.Context, msg []kafka.Message) error
func (*LianjiaUsecase) InitLianjiaChan ¶
func (uc *LianjiaUsecase) InitLianjiaChan(ctx context.Context)
func (*LianjiaUsecase) IsCommercialTaskFinish ¶
func (uc *LianjiaUsecase) IsCommercialTaskFinish(ctx context.Context) bool
func (*LianjiaUsecase) IsErshouFangTaskFinish ¶
func (uc *LianjiaUsecase) IsErshouFangTaskFinish(ctx context.Context) bool
func (*LianjiaUsecase) IsLoupanTaskFinish ¶
func (uc *LianjiaUsecase) IsLoupanTaskFinish(ctx context.Context) bool
func (*LianjiaUsecase) ListCityCommercial ¶
func (uc *LianjiaUsecase) ListCityCommercial(ctx context.Context, city *CityInfo) error
func (*LianjiaUsecase) ListCityErshouFang ¶
func (uc *LianjiaUsecase) ListCityErshouFang(ctx context.Context, city *CityInfo) error
func (*LianjiaUsecase) ListCityLoupan ¶
func (uc *LianjiaUsecase) ListCityLoupan(ctx context.Context, city *CityInfo) error
func (*LianjiaUsecase) ListCityZufang ¶
func (uc *LianjiaUsecase) ListCityZufang(ctx context.Context, city *CityInfo) error
func (*LianjiaUsecase) Send ¶
func (uc *LianjiaUsecase) Send(ctx context.Context, msg []Message, houseType HoueseType) error
type ListCommercialParams ¶
type ListCommercialParams struct { CityID int `url:"city_id"` PageType string `url:"pageType"` OriginType string `url:"originType"` BusinessType int `url:"business_type"` Platform int `url:"platform"` Device int `url:"device"` Page int `url:"page"` Size int `url:"size"` FromPage string `url:"from_page"` }
type LoupanInfo ¶
type LoupanInfo struct { Pid int32 `json:"pid"` ID int64 `json:"id"` CityID int `json:"city_id"` CityName string `json:"city_name"` CoverPic string `json:"cover_pic"` MinFrameArea int32 `json:"min_frame_area"` MaxFrameArea int32 `json:"max_frame_area"` DistrictName string `json:"district_name"` District string `json:"district"` DistrictID int32 `json:"district_id"` BizcircleID int32 `json:"bizcircle_id"` BizcircleName string `json:"bizcircle_name"` BuildID int64 `json:"build_id"` PermitAllReady int `json:"permit_all_ready"` ProcessStatus int `json:"process_status"` ResblockFrameArea string `json:"resblock_frame_area"` ResblockFrameAreaRange string `json:"resblock_frame_area_range"` ResblockFrameAreaDesc string `json:"resblock_frame_area_desc"` Decoration string `json:"decoration"` Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"` FrameRoomsDesc string `json:"frame_rooms_desc"` Title string `json:"title"` ResblockName string `json:"resblock_name"` ResblockAlias string `json:"resblock_alias"` Address string `json:"address"` StoreAddr string `json:"store_addr"` AvgUnitPrice float64 `json:"avg_unit_price"` AveragePrice float64 `json:"average_price"` AddressRemark string `json:"address_remark"` ProjectName string `json:"project_name"` SpecialTags string `json:"special_tags"` LianjiaSpecial string `json:"lianjia_special"` LianjiaSpecialComm string `json:"lianjia_special_comm"` DeveloperSpecial string `json:"developer_special"` DeveloperSpecialType string `json:"developer_special_type"` DeveloperSpecialComm string `json:"developer_special_comm"` FrameRooms string `json:"frame_rooms"` ConvergedRooms string `json:"converged_rooms"` Tags string `json:"tags"` ProjectTags string `json:"project_tags"` HouseType string `json:"house_type"` HouseTypeValue string `json:"house_type_value"` SaleStatus string `json:"sale_status"` HasEvaluate int `json:"has_evaluate"` HasVrHouse int `json:"has_vr_house"` HasShortVideo int `json:"has_short_video"` OpenDate time.Time `json:"open_date"` HasVirtualView int `json:"has_virtual_view"` LowestTotalPrice int32 `json:"lowest_total_price"` PriceShowConfig int32 `json:"price_show_config"` ShowPrice int `json:"show_price"` ShowPriceUnit string `json:"show_price_unit"` ShowPriceDesc string `json:"show_price_desc"` ShowPriceConfirmTime int64 `json:"show_price_confirm_time"` PriceConfirmTime time.Time `json:"price_confirm_time"` Status int `json:"status"` SubwayDistance string `json:"subway_distance"` IsCooperation int `json:"is_cooperation"` EvaluateStatus int `json:"evaluate_status"` ShowPriceInfo string `json:"show_price_info"` BrandID string `json:"brand_id"` PreloadDetailImage string `json:"preload_detail_image"` ReferenceAvgPrice float64 `json:"reference_avg_price"` ReferenceAvgPriceUnit string `json:"reference_avg_price_unit"` ReferenceAvgPriceDesc string `json:"reference_avg_price_desc"` ReferenceTotalPrice string `json:"reference_total_price"` ReferenceTotalPriceUnit string `json:"reference_total_price_unit"` ReferenceTotalPriceDesc string `json:"reference_total_price_desc"` NewSaleTags string `json:"new_sale_tags"` IsFollowed int `json:"is_followed"` IsSupportOnlineSale int `json:"is_support_online_sale"` IsUndertake int `json:"is_undertake"` Properright int `json:"properright"` DeveloperCompany string `json:"developer_company"` PropertyCompany string `json:"property_company"` LiveTag int `json:"live_tag"` Prod int `json:"prod"` ReferenceTotalPriceRange string `json:"reference_total_price_range"` HouseNode int `json:"house_node"` TotalPriceStart int `json:"total_price_start"` TotalPriceStartUnit string `json:"total_price_start_unit"` AvgPriceStart int `json:"avg_price_start"` AvgPriceStartUnit string `json:"avg_price_start_unit"` OnTime time.Time `json:"on_time"` ProjectDesc string `json:"project_desc"` HasCarActivity int `json:"has_car_activity"` IsNewSale int `json:"is_new_sale"` FirstTags string `json:"first_tags"` MFirstTags string `json:"m_first_tags"` FbExpoID string `json:"fb_expo_id"` StrategyInfo string `json:"strategy_info"` RecommendLogInfo string `json:"recommend_log_info"` RecommendReason string `json:"recommend_reason"` ReferenceTotalPriceTips string `json:"reference_total_price_tips"` AppDetailURL string `json:"app_detail_url"` FilterDesc string `json:"filter_desc"` URL string `json:"url"` DownloadInfo string `json:"download_info"` }
type LoupanJson ¶
type LoupanJson struct { Pid string `json:"pid"` ID string `json:"id"` CityID string `json:"city_id"` CityName string `json:"city_name"` CoverPic string `json:"cover_pic"` MinFrameArea string `json:"min_frame_area"` MaxFrameArea string `json:"max_frame_area"` DistrictName string `json:"district_name"` District string `json:"district"` DistrictID string `json:"district_id"` BizcircleID string `json:"bizcircle_id"` BizcircleName string `json:"bizcircle_name"` BuildID string `json:"build_id"` PermitAllReady string `json:"permit_all_ready"` ProcessStatus string `json:"process_status"` ResblockFrameArea string `json:"resblock_frame_area"` ResblockFrameAreaRange string `json:"resblock_frame_area_range"` ResblockFrameAreaDesc string `json:"resblock_frame_area_desc"` Decoration string `json:"decoration"` Longitude string `json:"longitude"` Latitude string `json:"latitude"` FrameRoomsDesc string `json:"frame_rooms_desc"` Title string `json:"title"` ResblockName string `json:"resblock_name"` ResblockAlias string `json:"resblock_alias"` Address string `json:"address"` StoreAddr string `json:"store_addr"` AvgUnitPrice string `json:"avg_unit_price"` AveragePrice string `json:"average_price"` AddressRemark string `json:"address_remark"` ProjectName string `json:"project_name"` SpecialTags []interface{} `json:"special_tags"` Special struct { LianjiaSpecial []interface{} `json:"lianjia_special"` LianjiaSpecialComm string `json:"lianjia_special_comm"` DeveloperSpecial []interface{} `json:"developer_special"` DeveloperSpecialType string `json:"developer_special_type"` DeveloperSpecialComm string `json:"developer_special_comm"` } `json:"special"` FrameRooms []interface{} `json:"frame_rooms"` ConvergedRooms []struct { BedroomCount string `json:"bedroom_count"` AreaRange string `json:"area_range"` } `json:"converged_rooms"` Tags []string `json:"tags"` ProjectTags []struct { ID string `json:"id"` Desc string `json:"desc"` Color string `json:"color"` } `json:"project_tags"` HouseType string `json:"house_type"` HouseTypeValue string `json:"house_type_value"` SaleStatus string `json:"sale_status"` HasEvaluate string `json:"has_evaluate"` HasVrHouse string `json:"has_vr_house"` HasShortVideo string `json:"has_short_video"` OpenDate string `json:"open_date"` HasVirtualView string `json:"has_virtual_view"` LowestTotalPrice string `json:"lowest_total_price"` PriceShowConfig string `json:"price_show_config"` ShowPrice string `json:"show_price"` ShowPriceUnit string `json:"show_price_unit"` ShowPriceDesc string `json:"show_price_desc"` ShowPriceConfirmTime string `json:"show_price_confirm_time"` PriceConfirmTime string `json:"price_confirm_time"` Status string `json:"status"` SubwayDistance string `json:"subway_distance"` IsCooperation string `json:"is_cooperation"` EvaluateStatus string `json:"evaluate_status"` ShowPriceInfo string `json:"show_price_info"` BrandID string `json:"brand_id"` PreloadDetailImage []struct { ID string `json:"id"` ImageID string `json:"image_id"` TypeID string `json:"type_id"` TypeName string `json:"type_name"` ImageURL string `json:"image_url"` Title string `json:"title"` Desc string `json:"desc"` Extend interface{} `json:"extend"` VrInfo interface{} `json:"vr_info"` VideoInfo interface{} `json:"video_info"` ImageListBlurryURL string `json:"image_list_blurry_url"` ImageSizeURL string `json:"image_size_url"` ImageListSizeURL string `json:"image_list_size_url"` } `json:"preload_detail_image"` ReferenceAvgPrice string `json:"reference_avg_price"` ReferenceAvgPriceUnit string `json:"reference_avg_price_unit"` ReferenceAvgPriceDesc string `json:"reference_avg_price_desc"` ReferenceTotalPrice string `json:"reference_total_price"` ReferenceTotalPriceUnit string `json:"reference_total_price_unit"` ReferenceTotalPriceDesc string `json:"reference_total_price_desc"` NewSaleTags []interface{} `json:"new_sale_tags"` IsSupportOnlineSale string `json:"is_support_online_sale"` IsUndertake string `json:"is_undertake"` Properright string `json:"properright"` DeveloperCompany []string `json:"developer_company"` PropertyCompany []string `json:"property_company"` LiveTag string `json:"live_tag"` Prod string `json:"prod"` ReferenceTotalPriceRange struct { Price string `json:"price"` PriceUnit string `json:"price_unit"` PriceDesc string `json:"price_desc"` } `json:"reference_total_price_range"` SaleStatusColor string `json:"sale_status_color"` HouseTypeColor string `json:"house_type_color"` HouseNode string `json:"house_node"` TotalPriceStart string `json:"total_price_start"` TotalPriceStartUnit string `json:"total_price_start_unit"` AvgPriceStart string `json:"avg_price_start"` AvgPriceStartUnit string `json:"avg_price_start_unit"` OnTime string `json:"on_time"` ProjectDesc string `json:"project_desc"` HasCarActivity string `json:"has_car_activity"` IsNewSale string `json:"is_new_sale"` FirstTags []interface{} `json:"first_tags"` MFirstTags []interface{} `json:"m_first_tags"` FbExpoID string `json:"fb_expo_id"` StrategyInfo string `json:"strategy_info"` RecommendLogInfo string `json:"recommend_log_info"` RecommendReason interface{} `json:"recommend_reason"` ReferenceTotalPriceTips string `json:"reference_total_price_tips"` UserInfo struct { IsFollow string `json:"is_follow"` } `json:"user_info"` AppDetailURL string `json:"app_detail_url"` FilterDesc string `json:"filter_desc"` URL string `json:"url"` DownloadInfo struct { Type string `json:"type"` DownloadURL string `json:"downloadUrl"` Schema string `json:"schema"` UniversalLink string `json:"universalLink"` } `json:"download_info"` }
func (*LoupanJson) ConvertToLoupanInfo ¶
func (loupanJson *LoupanJson) ConvertToLoupanInfo() (*LoupanInfo, error)
type RecoDesc ¶
type RecoDesc string
func (RecoDesc) Detail ¶
func (r RecoDesc) Detail() RecoDescDetail
type RecoDescDetail ¶
type Transaction ¶
type ZufangInfo ¶
type ZufangInfo struct { }
Click to show internal directories.
Click to hide internal directories.