Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
5
51business
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
方斌
51business
Commits
1a02346c
Commit
1a02346c
authored
May 08, 2019
by
方斌
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://t-git.51gjj.com/fangbin/51business
parents
2420c25e
3ee78c5c
Pipeline
#7182
passed with stage
in 6 seconds
Changes
10
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
120 additions
and
32 deletions
+120
-32
Export20190425.js
app/controller/house/Export20190425.js
+16
-8
rental_house.js
app/controller/house/rental_house.js
+6
-3
tool.js
app/controller/house/tool.js
+61
-0
new_house.js
app/model/realestate/new_house.js
+4
-0
house.js
app/router/house.js
+1
-0
collection.js
app/service/house/collection.js
+1
-1
new_house.js
app/service/house/new_house.js
+7
-7
option.js
app/service/house/option.js
+19
-8
order.js
app/service/house/order.js
+1
-1
rental_house.js
app/service/house/rental_house.js
+4
-4
No files found.
app/controller/house/Export20190425.js
View file @
1a02346c
...
...
@@ -73,6 +73,8 @@ class Export20190425 extends Controller {
};
let
mysqlData
=
await
ctx
.
realestateModel
.
NewHouse
.
findAll
(
filter
);
let
ret
=
[];
let
reterr
=
[];
let
errorId
=
[];
if
(
mysqlData
.
length
>
0
)
{
for
(
let
i
in
mysqlData
)
{
let
data
=
{
...
...
@@ -91,7 +93,7 @@ class Export20190425 extends Controller {
decorationType
:
mysqlData
[
i
].
decoration_type
||
0
,
description
:
mysqlData
[
i
].
description
||
''
,
openDate
:
mysqlData
[
i
].
open_date
,
dueDate
:
mysqlData
[
i
].
due_date
,
dueDate
:
(
mysqlData
[
i
].
due_date
===
undefined
||
mysqlData
[
i
].
due_date
===
'Invalid date'
)
?
null
:
mysqlData
[
i
].
due_date
,
landArea
:
mysqlData
[
i
].
land_area
,
houseArea
:
mysqlData
[
i
].
house_area
,
areaRatio
:
mysqlData
[
i
].
area_ratio
,
...
...
@@ -100,18 +102,24 @@ class Export20190425 extends Controller {
planParks
:
mysqlData
[
i
].
plan_parks
,
planNearBy
:
mysqlData
[
i
].
plan_near_by
,
preSalePermit
:
mysqlData
[
i
].
pre_sale_permit
,
preSalePermitDate
:
mysqlData
[
i
].
pre_sale_permit_date
===
'暂无信息'
?
'1970-01-01'
:
mysqlData
[
i
].
pre_sale_permit_date
,
preSalePermitDate
:
(
mysqlData
[
i
].
pre_sale_permit_date
===
'暂无信息'
||
mysqlData
[
i
].
pre_sale_permit_date
===
'-'
)
?
null
:
mysqlData
[
i
].
pre_sale_permit_date
,
buildingNumbers
:
mysqlData
[
i
].
building_numbers
,
cornerMarker
:
mysqlData
[
i
].
corner
,
orderNum
:
mysqlData
[
i
].
order_num
,
state
:
mysqlData
[
i
].
state
,
remark
:
mysqlData
[
i
].
remark
||
''
,
}
ctx
.
logger
.
info
(
JSON
.
stringify
(
data
));
let
temp
=
await
ctx
.
helper
.
send_request
(
this
.
config
.
HOUSE_SERVICE_API
+
'/v1/newhouse/'
,
data
,
{
method
:
'POST'
});
ret
.
push
(
temp
);
// ctx.logger.info(JSON.stringify(data));
let
temp
=
await
ctx
.
helper
.
send_request
(
this
.
config
.
HOUSE_SERVICE_API
+
'/v1/newhouse/'
,
data
,
{
method
:
'POST'
});
if
(
temp
.
status
===
201
)
{
ret
.
push
(
temp
);
}
else
{
errorId
.
push
(
mysqlData
[
i
].
id
);
reterr
.
push
(
temp
);
}
}
}
ctx
.
success
(
ret
.
length
);
ctx
.
success
(
{
retL
:
ret
.
length
,
fl
:
mysqlData
.
length
,
errorId
:
errorId
,
error
:
reterr
}
);
}
...
...
@@ -141,11 +149,11 @@ class Export20190425 extends Controller {
remark
:
mysqlData
[
i
].
remark
||
''
,
}
ctx
.
logger
.
info
(
JSON
.
stringify
(
data
));
let
temp
=
await
await
ctx
.
helper
.
send_request
(
this
.
config
.
HOUSE_SERVICE_API
+
'/v1/newhousetype/'
,
data
,
{
method
:
'POST'
});
let
temp
=
await
await
ctx
.
helper
.
send_request
(
this
.
config
.
HOUSE_SERVICE_API
+
'/v1/newhousetype/'
,
data
,
{
method
:
'POST'
});
ret
.
push
(
temp
);
}
}
ctx
.
success
(
ret
.
length
);
ctx
.
success
(
ret
.
length
);
}
}
...
...
app/controller/house/rental_house.js
View file @
1a02346c
...
...
@@ -8,6 +8,9 @@ class RentalHouseController extends Controller {
async
home
()
{
const
{
ctx
}
=
this
;
const
input_params
=
ctx
.
query
;
const
city_code
=
input_params
.
city_code
?
input_params
.
city_code
:
330100
;
//banners
const
app_user_id
=
ctx
.
appUserId
;
const
user_id
=
ctx
.
userId
;
...
...
@@ -24,12 +27,12 @@ class RentalHouseController extends Controller {
cookie
:
ctx
.
request
.
headers
.
cookie
}
// house_h5_rental_home_banners
const
banners_result
=
await
ctx
.
helper
.
send_request
(
this
.
config
.
NODE_BASE_URL
+
'/51app/api/block/all'
,
{
alias
:
'51fangc_rental_home_banners'
},
{
method
:
'GET'
,
dataType
:
'json'
,
headers
:
headers
});
const
banners_result
=
await
ctx
.
helper
.
send_request
(
this
.
config
.
NODE_BASE_URL
+
'/51app/api/block/all'
,
{
alias
:
'51fangc_rental_home_banners'
},
{
method
:
'GET'
,
dataType
:
'json'
,
headers
:
headers
});
let
banners
=
[];
if
(
banners_result
.
status
===
200
)
{
banners
=
banners_result
.
data
.
results
;
}
const
developers
=
await
ctx
.
service
.
house
.
option
.
getDevelopers
();
//品牌信息
const
developers
=
await
ctx
.
service
.
house
.
option
.
getDevelopers
(
city_code
);
//品牌信息
ctx
.
success
({
banners
,
developers
});
}
...
...
@@ -49,7 +52,7 @@ class RentalHouseController extends Controller {
};
ctx
.
validate
(
rule
,
input_params
);
const
ret
=
await
ctx
.
service
.
house
.
rentalHouse
.
getRentalHousesByFilter
(
input_params
);
ctx
.
success
({
input_params
,
results
:
ret
.
results
,
count
:
ret
.
count
});
ctx
.
success
({
input_params
,
results
:
ret
.
results
,
count
:
ret
.
count
});
}
//租房详情
...
...
app/controller/house/tool.js
View file @
1a02346c
...
...
@@ -59,6 +59,67 @@ const USER_AGENT = [
];
class
ToolController
extends
Controller
{
async
getMapHouses
()
{
const
{
ctx
}
=
this
;
const
input_parmas
=
ctx
.
query
;
const
rule
=
{
house_style
:
{
type
:
'string'
,
required
:
true
},
keyword
:
{
type
:
'string'
,
required
:
true
},
// page: { type: 'string', required: false },
}
ctx
.
validate
(
rule
,
input_parmas
);
const
house_style
=
input_parmas
.
house_style
;
const
keyword
=
input_parmas
.
keyword
;
const
page
=
input_parmas
.
page
;
const
where
=
{
where
:
{
name
:
{
$like
:
`%
${
keyword
}
%`
}
}
};
let
results
=
[];
let
map_houses_results
;
if
(
house_style
===
'used_house'
)
{
map_houses_results
=
await
ctx
.
blockModel
.
HousePriceMap3
.
all
(
where
);
const
map_houses
=
map_houses_results
;
for
(
let
i
in
map_houses
)
{
const
item
=
map_houses
[
i
];
if
((
'price'
in
item
)
&&
!
item
.
price
)
{
continue
;
}
results
.
push
({
id
:
item
.
id
,
name
:
item
.
name
,
longitude
:
item
.
longitude
,
latitude
:
item
.
latitude
,
price
:
item
.
price
,
unit
:
item
.
unit
||
'元/平'
,
level
:
3
,
});
}
}
else
if
(
house_style
===
'new_house'
)
{
map_houses_results
=
await
ctx
.
blockModel
.
HouseNewHousePriceMap2
.
all
(
where
);
const
map_houses
=
map_houses_results
;
for
(
let
i
in
map_houses
)
{
const
item
=
map_houses
[
i
];
if
((
'price'
in
item
)
&&
!
item
.
price
)
{
continue
;
}
if
((
'count'
in
item
)
&&
!
item
.
count
)
{
continue
;
}
results
.
push
({
id
:
item
.
id
,
name
:
item
.
name
,
longitude
:
item
.
longitude
,
latitude
:
item
.
latitude
,
price
:
item
.
price
,
count
:
item
.
count
,
unit
:
item
.
unit
||
'个楼盘'
,
level
:
2
,
});
}
}
ctx
.
success
({
results
});
}
//获取地图上的点位
async
getMapPoint
()
{
const
{
ctx
}
=
this
;
...
...
app/model/realestate/new_house.js
View file @
1a02346c
...
...
@@ -52,6 +52,10 @@ module.exports = app => {
type
:
STRING
,
allowNull
:
true
},
corner
:
{
type
:
STRING
,
allowNull
:
true
},
discount
:
{
type
:
DECIMAL
,
allowNull
:
true
...
...
app/router/house.js
View file @
1a02346c
...
...
@@ -9,6 +9,7 @@ module.exports = app => {
router
.
get
(
'/tool/:type/:area_code'
,
'house.tool.getHousePriceFeature'
);
//房价指数 房价涨跌 购房资格、贷款额度问答
router
.
post
(
'/tool/calculate_price'
,
'house.tool.calculateHousePrice'
);
//房产估价
router
.
get
(
'/tool/qfang_area_list'
,
'house.tool.getQFangAreaList'
);
//房产估价模糊匹配到的小区列表
router
.
get
(
'/tool/map_houses'
,
'house.tool.getMapHouses'
);
//房产估价模糊匹配到的小区列表
//租房
router
.
get
(
'/rental_house/home'
,
'house.rentalHouse.home'
);
//租房首页信息
...
...
app/service/house/collection.js
View file @
1a02346c
...
...
@@ -198,7 +198,7 @@ class CollectionService extends Service {
tags
:
retList
[
j
].
tags
?
eval
(
retList
[
j
].
tags
)
:
[],
image
:
retList
[
j
].
image
,
area
:
type
===
1
?
retList
[
j
].
houseArea
:
''
,
price
:
type
===
1
?
retList
[
j
].
referenceAvgPrice
:
retList
[
j
].
price
,
price
:
type
===
1
?
(
retList
[
j
].
referenceAvgPrice
===
''
||
retList
[
j
].
referenceAvgPrice
===
0
?
'--'
:
retList
[
j
].
referenceAvgPrice
)
:
retList
[
j
].
price
,
type
:
type
===
1
?
'new_house'
:
'rental_house'
,
corner
:
type
===
1
?
retList
[
j
].
cornerMarker
:
''
,
};
...
...
app/service/house/new_house.js
View file @
1a02346c
...
...
@@ -167,14 +167,14 @@ class NewHouseService extends Service {
description
:
data
.
description
,
//描述
tags
:
data
.
tags
?
eval
(
data
.
tags
)
:
[],
//项目特色
favourable_info
:
data
.
favourableInfo
,
//优惠
reference_avg_price
:
data
.
referenceAvgPrice
,
//均价
reference_total_price
:
data
.
referenceTotalPrice
,
//总价
reference_avg_price
:
data
.
referenceAvgPrice
===
0
?
'--'
:
data
.
referenceAvgPrice
,
//均价
reference_total_price
:
data
.
referenceTotalPrice
===
0
?
'--'
:
data
.
referenceTotalPrice
,
//总价
property_type
:
houseType
[
data
.
houseType
]
||
''
,
//物业类型
}
ret
.
info
=
{
open_date
:
data
.
openDate
,
//开盘时间
due_date
:
data
.
dueDate
,
//交房时间
due_date
:
(
data
.
dueDate
===
'0000-00-00 00:00:00'
||
data
.
dueDate
===
''
)
?
'--'
:
data
.
dueDate
,
//交房时间
house_area
:
area
,
//建筑面积
decoration
:
decorationType
[
data
.
decorationType
]
||
''
,
//装修情况,1 毛坯,2简装,3精装
green_ratio
:
data
.
greenRatio
,
//绿化
...
...
@@ -185,7 +185,7 @@ class NewHouseService extends Service {
}
ret
.
detail
=
{
basic
:
{
reference_avg_price
:
data
.
referenceAvgPrice
,
//均价
reference_avg_price
:
data
.
referenceAvgPrice
===
0
?
'--'
:
data
.
referenceAvgPrice
,
//均价
tags
:
data
.
tags
?
eval
(
data
.
tags
)
:
[],
//项目特色
property_type
:
houseType
[
data
.
houseType
]
||
''
,
//物业类型
property_right_years
:
data
.
residential
.
propertyRightYears
,
//产权年限
...
...
@@ -198,7 +198,7 @@ class NewHouseService extends Service {
sale_address
:
data
.
saleAddress
,
//售楼地址
developer
:
developer
,
//开发商
open_date
:
data
.
openDate
,
//开盘时间
due_date
:
data
.
dueDate
,
//交房时间
due_date
:
(
data
.
dueDate
===
'0000-00-00 00:00:00'
||
data
.
dueDate
===
''
)
?
'--'
:
data
.
dueDate
,
//交房时间
},
residential
:
{
land_area
:
data
.
residential
.
landArea
,
//占地面积
...
...
@@ -297,7 +297,7 @@ class NewHouseService extends Service {
area
:
data
.
area
,
//面积
orientation
:
data
.
orientation
,
//朝向
num
:
data
.
num
,
//房源数量
price
:
data
.
price
,
//价格
price
:
data
.
price
===
0
?
'--'
:
data
.
price
,
//价格
discount
:
data
.
discount
,
//折扣
tag
:
data
.
tags
?
eval
(
data
.
tags
)
:
[],
//特点
}
...
...
@@ -468,7 +468,7 @@ class NewHouseService extends Service {
address
:
newHouseList
.
results
[
i
].
address
,
tags
:
newHouseList
.
results
[
i
].
tags
?
eval
(
newHouseList
.
results
[
i
].
tags
)
:
[],
image
:
newHouseList
.
results
[
i
].
image
,
price
:
newHouseList
.
results
[
i
].
referenceAvgPrice
,
price
:
newHouseList
.
results
[
i
].
referenceAvgPrice
===
0
?
'--'
:
newHouseList
.
results
[
i
].
referenceAvgPrice
,
corner
:
newHouseList
.
results
[
i
].
cornerMarker
,
};
list
.
push
(
tmp
);
...
...
app/service/house/option.js
View file @
1a02346c
...
...
@@ -68,7 +68,7 @@ class OptionService extends Service {
//获取筛选项
async
getOptions
(
city_code
)
{
const
brands
=
await
this
.
getDevelopers
();
const
brands
=
await
this
.
getDevelopers
(
city_code
);
const
house_types
=
HOUSE_TYPE
;
const
prices
=
PRICE_RANGE
;
const
areas
=
await
this
.
getAreaOptions
(
city_code
);
...
...
@@ -107,20 +107,31 @@ class OptionService extends Service {
}
//获取开发商列表
async
getDevelopers
()
{
async
getDevelopers
(
city_code
)
{
const
{
ctx
}
=
this
;
const
developers_results
=
await
ctx
.
service
.
houseCommon
.
developer
.
all
({});
const
developers
=
developers_results
.
results
;
const
ret
=
[];
city_code
=
city_code
?
parseInt
(
city_code
)
:
330100
;
for
(
let
i
in
developers
)
{
const
developer
=
developers
[
i
];
ret
.
push
({
id
:
developer
.
id
,
name
:
developer
.
name
,
image
:
developer
.
logo
,
value
:
developer
.
id
,
});
if
(
city_code
===
330100
&&
developer
.
id
===
2
)
{
ret
.
push
({
id
:
developer
.
id
,
name
:
developer
.
name
,
image
:
developer
.
logo
,
value
:
developer
.
id
,
});
}
if
(
city_code
===
500000
&&
developer
.
id
===
1
)
{
ret
.
push
({
id
:
developer
.
id
,
name
:
developer
.
name
,
image
:
developer
.
logo
,
value
:
developer
.
id
,
});
}
}
return
ret
;
...
...
app/service/house/order.js
View file @
1a02346c
...
...
@@ -125,7 +125,7 @@ class OrderService extends Service {
tags
:
retList
[
j
].
tags
?
eval
(
retList
[
j
].
tags
)
:
[],
image
:
retList
[
j
].
image
,
area
:
type
===
1
?
retList
[
j
].
houseArea
:
''
,
price
:
type
===
1
?
retList
[
j
].
referenceAvgPrice
:
retList
[
j
].
price
,
price
:
type
===
1
?
(
retList
[
j
].
referenceAvgPrice
===
''
||
retList
[
j
].
referenceAvgPrice
===
0
?
'--'
:
retList
[
j
].
referenceAvgPrice
)
:
retList
[
j
].
price
,
time
:
moment
().
format
(
'YYYY-MM-DD'
)
===
moment
(
orderList
.
results
[
j
].
orderAt
).
format
(
'YYYY-MM-DD'
)
?
'今天'
:
moment
(
orderList
.
results
[
j
].
orderAt
).
format
(
'YYYY-MM-DD'
),
type
:
type
===
1
?
'new_house'
:
'rental_house'
,
corner
:
type
===
1
?
retList
[
j
].
cornerMarker
:
''
,
...
...
app/service/house/rental_house.js
View file @
1a02346c
...
...
@@ -139,9 +139,9 @@ class RentalHouseService extends Service {
const
city
=
await
ctx
.
blockModel
.
City
.
one
({
where
:
{
code
:
house_basic_result
.
residential
.
city
}
});
const
county
=
await
ctx
.
blockModel
.
HouseDistrict
.
one
({
where
:
{
id
:
house_basic_result
.
residential
.
county
}
});
const
region
=
await
ctx
.
blockModel
.
HouseBizcircle
.
one
({
where
:
{
id
:
house_basic_result
.
residential
.
region
}
});
const
city_name
=
city
.
name
?
city
.
name
:
''
;
const
county_name
=
county
.
name
?
county
.
name
:
''
;
const
region_name
=
region
.
name
?
region
.
name
:
''
;
const
city_name
=
(
city
&&
city
.
name
)
?
city
.
name
:
''
;
const
county_name
=
(
county
&&
county
.
name
)
?
county
.
name
:
''
;
const
region_name
=
(
region
&&
region
.
name
)
?
region
.
name
:
''
;
let
address
=
city_name
+
county_name
+
region_name
+
house_basic
.
address
;
let
gps_result
=
await
ctx
.
helper
.
getGPS
(
address
,
city_name
);
if
(
!
gps_result
.
lat
||
!
gps_result
.
lng
)
{
...
...
@@ -221,7 +221,7 @@ class RentalHouseService extends Service {
operator
:
'equal'
,
}
],
};
const
house_type_images_results
=
await
ctx
.
service
.
houseCommon
.
houseImage
.
all
(
house_type_image_filter
);
console
.
info
(
'1111111111111111111111111111111111111111111'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment