Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mp_estate_server
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
mp_estate_backstage
mp_estate_server
Commits
c118f56f
Commit
c118f56f
authored
Oct 15, 2020
by
成旭东
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
哇房1.1
parent
05424049
Pipeline
#28690
passed with stage
in 8 minutes 21 seconds
Changes
4
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
84 additions
and
1 deletion
+84
-1
list.ts
app/controller/mpEstate/list.ts
+40
-0
video.ts
app/controller/mpEstate/video.ts
+4
-1
list.ts
app/service/mpEstate/list.ts
+10
-0
video.ts
app/service/mpEstate/video.ts
+30
-0
No files found.
app/controller/mpEstate/list.ts
View file @
c118f56f
...
...
@@ -28,6 +28,8 @@ export default class EstateListController extends Controller {
list_price
:
{
type
:
'string'
,
required
:
false
},
sale_status
:
{
type
:
'string'
,
required
:
false
},
status
:
{
type
:
'string'
,
required
:
false
},
is_hot
:
{
type
:
'number'
,
required
:
false
},
is_partner
:
{
type
:
'number'
,
required
:
false
},
};
this
.
updateRule
=
{
...
...
@@ -40,6 +42,28 @@ export default class EstateListController extends Controller {
show_trade
:
{
type
:
'number'
,
required
:
false
},
tags
:
{
type
:
'string'
,
required
:
false
},
status
:
{
type
:
'string'
,
required
:
false
},
type
:
{
type
:
'string'
,
required
:
false
},
region_name
:
{
type
:
'string'
,
required
:
false
},
house_amount
:
{
type
:
'number'
,
required
:
false
},
list_price
:
{
type
:
'number'
,
required
:
false
},
parking_amount
:
{
type
:
'number'
,
required
:
false
},
obtain_date
:
{
type
:
'string'
,
required
:
false
},
ladder_household_proportion
:
{
type
:
'string'
,
required
:
false
},
developer
:
{
type
:
'string'
,
required
:
false
},
circle_name
:
{
type
:
'string'
,
required
:
false
},
house_area_range_min
:
{
type
:
'number'
,
required
:
false
},
house_area_range_max
:
{
type
:
'number'
,
required
:
false
},
property_company
:
{
type
:
'string'
,
required
:
false
},
building_area
:
{
type
:
'number'
,
required
:
false
},
b_x
:
{
type
:
'number'
,
required
:
false
},
b_y
:
{
type
:
'number'
,
required
:
false
},
sale_address
:
{
type
:
'string'
,
required
:
false
},
cub_percent
:
{
type
:
'number'
,
required
:
false
},
pro_management_fee
:
{
type
:
'number'
,
required
:
false
},
address
:
{
type
:
'string'
,
required
:
false
},
vir_percent
:
{
type
:
'number'
,
required
:
false
},
rights_years
:
{
type
:
'number'
,
required
:
false
},
description
:
{
type
:
'string'
,
required
:
false
},
};
this
.
projectTagUpdateRule
=
{
...
...
@@ -222,6 +246,8 @@ export default class EstateListController extends Controller {
const
{
ctx
,
service
,
listRule
,
serviceGroupName
,
serviceName
}
=
this
;
const
whereInfo
=
ctx
.
helper
.
switchQueryToWhere
(
ctx
.
query
,
{
id
:
(
item
:
any
)
=>
Number
(
item
),
is_hot
:
(
item
:
any
)
=>
Number
(
item
),
is_partner
:
(
item
:
any
)
=>
Number
(
item
),
},
Object
.
keys
(
listRule
));
const
rule
=
this
.
validateRuleParams
(
listRule
,
[]);
ctx
.
validate
(
rule
,
whereInfo
);
...
...
@@ -282,6 +308,18 @@ export default class EstateListController extends Controller {
is_partner
:
(
item
:
any
)
=>
Number
(
item
),
is_hot
:
(
item
:
any
)
=>
Number
(
item
),
show_trade
:
(
item
:
any
)
=>
Number
(
item
),
house_amount
:
(
item
:
any
)
=>
Number
(
item
),
list_price
:
(
item
:
any
)
=>
Number
(
item
),
parking_amount
:
(
item
:
any
)
=>
Number
(
item
),
house_area_range_min
:
(
item
:
any
)
=>
Number
(
item
),
house_area_range_max
:
(
item
:
any
)
=>
Number
(
item
),
building_area
:
(
item
:
any
)
=>
Number
(
item
),
b_x
:
(
item
:
any
)
=>
Number
(
item
),
b_y
:
(
item
:
any
)
=>
Number
(
item
),
cub_percent
:
(
item
:
any
)
=>
Number
(
item
),
pro_management_fee
:
(
item
:
any
)
=>
Number
(
item
),
vir_percent
:
(
item
:
any
)
=>
Number
(
item
),
rights_years
:
(
item
:
any
)
=>
Number
(
item
),
},
Object
.
keys
(
updateRule
));
ctx
.
validate
(
rule
,
updateItem
);
await
service
[
serviceGroupName
][
serviceName
].
update
(
id
,
{
...
...
@@ -549,6 +587,8 @@ export default class EstateListController extends Controller {
const
{
ctx
,
service
,
listRule
,
serviceGroupName
,
serviceName
}
=
this
;
const
whereInfo
=
ctx
.
helper
.
switchQueryToWhere
(
ctx
.
query
,
{
id
:
(
item
:
any
)
=>
Number
(
item
),
is_hot
:
(
item
:
any
)
=>
Number
(
item
),
is_partner
:
(
item
:
any
)
=>
Number
(
item
),
},
Object
.
keys
(
listRule
));
ctx
.
validate
(
listRule
,
whereInfo
);
const
where
=
whereInfo
;
...
...
app/controller/mpEstate/video.ts
View file @
c118f56f
...
...
@@ -24,6 +24,7 @@ export default class EstateVideoController extends Controller {
virtual_read_num
:
{
type
:
'number'
,
required
:
false
},
is_recommend
:
{
type
:
'number'
,
required
:
false
},
is_top
:
{
type
:
'number'
,
required
:
false
},
order
:
{
type
:
'number'
,
required
:
false
},
cover_image
:
{
type
:
'string'
,
required
:
false
},
url
:
{
type
:
'string'
,
required
:
false
},
status
:
{
type
:
'string'
,
required
:
false
},
...
...
@@ -67,6 +68,7 @@ export default class EstateVideoController extends Controller {
virtual_read_num
:
(
item
:
any
)
=>
Number
(
item
),
is_recommend
:
(
item
:
any
)
=>
Number
(
item
),
is_top
:
(
item
:
any
)
=>
Number
(
item
),
order
:
(
item
:
any
)
=>
Number
(
item
),
},
Object
.
keys
(
updateRule
));
ctx
.
validate
(
rule
,
updateItem
);
await
service
[
serviceGroupName
][
serviceName
].
update
(
id
,
{
...
...
@@ -78,7 +80,7 @@ export default class EstateVideoController extends Controller {
async
create
()
{
const
{
ctx
,
service
,
updateRule
,
serviceGroupName
,
serviceName
}
=
this
;
const
rule
=
this
.
validateRuleParams
(
updateRule
,
[
'project_id'
,
'title'
,
'virtual_collection_num'
,
'virtual_share_num'
,
'virtual_read_num'
,
'is_recommend'
,
'is_top'
,
'cover_image'
,
'url'
]);
const
rule
=
this
.
validateRuleParams
(
updateRule
,
[
'project_id'
,
'title'
,
'virtual_collection_num'
,
'virtual_share_num'
,
'virtual_read_num'
,
'is_recommend'
,
'is_top'
,
'
order'
,
'
cover_image'
,
'url'
]);
const
newItem
=
ctx
.
helper
.
switchQueryToWhere
(
ctx
.
request
.
body
,
{
project_id
:
(
item
:
any
)
=>
Number
(
item
),
virtual_collection_num
:
(
item
:
any
)
=>
Number
(
item
),
...
...
@@ -86,6 +88,7 @@ export default class EstateVideoController extends Controller {
virtual_read_num
:
(
item
:
any
)
=>
Number
(
item
),
is_recommend
:
(
item
:
any
)
=>
Number
(
item
),
is_top
:
(
item
:
any
)
=>
Number
(
item
),
order
:
(
item
:
any
)
=>
Number
(
item
),
},
Object
.
keys
(
updateRule
));
ctx
.
validate
(
rule
,
newItem
);
const
item
=
await
service
[
serviceGroupName
][
serviceName
].
create
({
...
newItem
});
...
...
app/service/mpEstate/list.ts
View file @
c118f56f
...
...
@@ -277,6 +277,16 @@ export default class EstateListService extends Service {
}
}
const
typeToPriceMap
=
{
house
:
'house_list_price'
,
business
:
'business_list_price'
,
office
:
'office_list_price'
,
};
if
(
params
.
list_price
&&
params
.
type
&&
typeToPriceMap
[
params
.
type
])
{
params
[
typeToPriceMap
[
params
.
type
]]
=
params
.
list_price
;
}
if
(
!
record
)
{
this
.
ctx
.
throw
(
400
,
'记录不存在'
);
}
...
...
app/service/mpEstate/video.ts
View file @
c118f56f
...
...
@@ -81,6 +81,21 @@ export default class EstateVideoService extends Service {
id
,
},
});
const
orderArr
=
[
1
,
2
,
3
];
if
(
params
.
order
&&
orderArr
.
includes
(
Number
(
params
.
order
)))
{
const
videoRecord
=
await
ctx
[
modelGroupName
][
modelName
].
findOne
({
where
:
{
order
:
params
.
order
,
},
});
if
(
videoRecord
&&
Number
(
videoRecord
.
id
)
!==
Number
(
id
))
{
this
.
ctx
.
throw
(
400
,
`存在当前推荐排序,楼盘ID为
${
videoRecord
.
project_id
}
`
);
}
}
if
(
!
record
)
{
this
.
ctx
.
throw
(
400
,
'记录不存在'
);
}
...
...
@@ -93,6 +108,21 @@ export default class EstateVideoService extends Service {
async
create
(
params
:
any
)
{
const
{
ctx
,
modelGroupName
,
modelName
}
=
this
;
const
orderArr
=
[
1
,
2
,
3
];
if
(
params
.
order
&&
orderArr
.
includes
(
Number
(
params
.
order
)))
{
const
videoRecord
=
await
ctx
[
modelGroupName
][
modelName
].
findOne
({
where
:
{
order
:
params
.
order
,
},
});
if
(
videoRecord
)
{
this
.
ctx
.
throw
(
400
,
`存在当前推荐排序,楼盘ID为
${
videoRecord
.
project_id
}
`
);
}
}
const
record
=
await
ctx
[
modelGroupName
][
modelName
].
create
({
...
params
,
created_at
:
new
Date
(),
...
...
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