Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tour_business
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
魏强
tour_business
Commits
4ced67f9
Commit
4ced67f9
authored
Mar 19, 2021
by
Aeolus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计机柜各自租借量,用户性别分析接口优化
parent
93523e8d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
60 additions
and
13 deletions
+60
-13
Controller/ReportController.py
+60
-13
No files found.
Controller/ReportController.py
View file @
4ced67f9
...
...
@@ -3,9 +3,12 @@ import datetime
from
flask
import
Blueprint
,
jsonify
,
request
,
g
from
Libs.ErrorTips
import
BASE_RESPONSE
from
Libs.ErrorTips
import
BASE_RESPONSE
,
OPERATE_LEVEL_ERROR
from
Libs.Helper
import
Helper
from
Model.Base
import
db
from
Model.Customer.CustomerModel
import
Customer
from
Model.Machine.MachineModel
import
Machine
from
Model.Production.ProductionModel
import
Production
from
Service.ReportService
import
ReportService
route_report
=
Blueprint
(
'report'
,
__name__
)
...
...
@@ -51,18 +54,18 @@ def user_chart():
@route_report.route
(
'/gender'
)
def
user_gender
():
male
=
0
female
=
0
unknown
=
0
gender_info
=
Customer
.
query
.
with_entities
(
Customer
.
gender
)
.
all
()
for
i
nfo
in
gender_info
:
if
i
nfo
.
gender
==
1
:
male
+=
1
elif
i
nfo
.
gender
==
2
:
female
+=
1
el
se
:
unknown
+=
1
return
jsonify
({
'code'
:
200
,
'msg'
:
'success'
,
'data'
:
{
'male'
:
male
,
'female'
:
female
,
'unknown'
:
unknown
}
})
sql
=
"""select gender,count(1) as number from customers group by gender"""
gender_info
=
db
.
session
.
execute
(
sql
)
.
fetchall
()
print
(
gender_info
)
result_data
=
{
'male'
:
0
,
'female'
:
0
,
'unknown'
:
0
}
for
i
in
gender_info
:
if
i
.
gender
==
0
:
result_data
[
"unknown"
]
=
i
.
number
elif
i
.
gender
==
1
:
result_data
[
"male"
]
=
i
.
number
el
if
i
.
gender
==
2
:
result_data
[
"female"
]
=
i
.
number
return
jsonify
({
'code'
:
200
,
'msg'
:
'success'
,
'data'
:
result_data
})
@route_report.route
(
'/rent_number'
,
methods
=
[
'GET'
,
'POST'
])
...
...
@@ -120,3 +123,47 @@ def rent_over_record():
total
,
total_rent
,
data
=
ReportService
.
get_spot_rent_record
(
spot_id
,
int
(
data_type
),
date
,
page
,
limit
)
return
jsonify
(
{
'error_code'
:
200
,
'error_message'
:
'Success'
,
'total'
:
total
,
'total_rent'
:
total_rent
,
'data'
:
data
})
@route_report.route
(
'/machine_rent_number'
,
methods
=
[
'GET'
,
'POST'
])
def
get_machine_rent_number
():
print
(
g
.
user
)
if
g
.
user
.
status
!=
1
and
g
.
user
.
level
!=
1
:
return
jsonify
(
OPERATE_LEVEL_ERROR
)
json_data
=
request
.
get_json
()
spot_id
=
int
(
json_data
[
'spot_id'
])
if
'spot_id'
in
json_data
else
0
machine_info
=
Machine
.
query
.
filter
(
Machine
.
spot_id
==
spot_id
)
.
all
()
machines
=
{}
for
info
in
machine_info
:
machines
[
str
(
info
.
id
)]
=
[
str
(
info
.
mac_no
)[
-
3
:],
0
]
move_spot_ids
=
{
16
:
50
,
42
:
51
,
48
:
49
}
sql_spot_id
=
spot_id
while
True
:
sql
=
"""
SELECT
rent_machine_id as id,count(1) as number
FROM
production
WHERE
spot_id = '{}'
and DATE_FORMAT(created_at, '
%
Y-
%
m-
%
d')='{}'
and total>0
group by rent_machine_id
"""
.
format
(
sql_spot_id
,
datetime
.
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d"
))
result
=
db
.
session
.
execute
(
sql
)
.
fetchall
()
for
i
in
result
:
if
machines
.
get
(
str
(
i
.
id
),
None
):
machines
[
str
(
i
.
id
)][
1
]
+=
i
.
number
if
result
:
if
not
move_spot_ids
.
get
(
sql_spot_id
,
None
):
break
else
:
sql_spot_id
=
move_spot_ids
[
sql_spot_id
]
data
=
list
(
machines
.
values
())
print
(
data
)
return
jsonify
(
{
'error_code'
:
200
,
'error_message'
:
'Success'
,
'data'
:
data
})
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