Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
financial-system
Project
Project
Details
Activity
Releases
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
xianyang
financial-system
Commits
10c0bdd2
Commit
10c0bdd2
authored
Jul 10, 2023
by
xianyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
充值报表导出优化
parent
5a523d5f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
35 deletions
+35
-35
crud.py
app/api/statement/crud.py
+33
-30
views.py
app/api/statement/views.py
+2
-5
No files found.
app/api/statement/crud.py
View file @
10c0bdd2
...
@@ -113,7 +113,11 @@ class RechargeStatement(object):
...
@@ -113,7 +113,11 @@ class RechargeStatement(object):
for
bus
in
query_data
:
for
bus
in
query_data
:
bus
.
pop
(
'id'
)
bus
.
pop
(
'id'
)
if
bus
[
'reference_type'
]
==
'userRecharge'
:
if
bus
[
'reference_type'
]
==
'userRecharge'
:
ref_type
,
o_id
=
bus
[
'reference_number'
]
.
split
(
'_'
)
try
:
ref_type
,
o_id
=
bus
[
'reference_number'
]
.
split
(
'_'
)
except
:
Logger
()
.
logger
.
info
(
str
(
bus
))
continue
if
o_id
not
in
self
.
order_id
:
if
o_id
not
in
self
.
order_id
:
self
.
order_id
.
append
(
o_id
)
self
.
order_id
.
append
(
o_id
)
Logger
()
.
logger
.
info
(
"获取筛选条件"
)
Logger
()
.
logger
.
info
(
"获取筛选条件"
)
...
@@ -272,38 +276,37 @@ class RechargeStatement(object):
...
@@ -272,38 +276,37 @@ class RechargeStatement(object):
count
,
once_res
,
moeny_data
=
self
.
statistics_data
(
month_type
,
query
,
page
,
size
,
now_month
,
export_status
)
count
,
once_res
,
moeny_data
=
self
.
statistics_data
(
month_type
,
query
,
page
,
size
,
now_month
,
export_status
)
return
count
,
once_res
,
moeny_data
return
count
,
once_res
,
moeny_data
def
get_statements
(
self
,
d
b
,
d
ata
):
def
get_statements
(
self
,
data
):
"""导出"""
"""导出"""
query
=
[]
query
=
[]
if
data
.
order_number
:
if
data
.
order_number
:
query
.
append
(
f
"id={data.order_number} "
)
Logger
()
.
logger
.
info
(
f
"查询reference_number是:{data.order_number}!!!!!"
)
if
data
.
user_id
:
_
,
number
=
data
.
order_number
.
split
(
'_'
)
query
.
append
(
f
"uuid='{data.user_id}' "
)
query
.
append
(
f
"o.id={number}"
)
if
data
.
sid
:
if
data
.
uuid
:
query
.
append
(
f
"sid='{data.sid}' "
)
u_sql
=
f
"SELECT user_id FROM v2_user WHERE uuid='{data.uuid}'"
if
data
.
menu_id
:
user_info
=
LinkMysql
(
env
.
DB_3YV2
)
.
query_mysql
(
u_sql
)
querydata
=
db
.
query
(
Menuconfig
)
.
filter
(
Menuconfig
.
id
.
in_
(
tuple
(
data
.
menu_id
)))
if
user_info
:
reference_data
=
[
if
user_info
[
0
][
'user_id'
]:
QueryAllData
.
serialization
(
item
,
remove
=
{
'menu_name'
,
'remark'
,
'menu_type'
,
'create_time'
,
'id'
})
for
query
.
append
(
f
" o.userid={user_info[0]['user_id']}"
)
item
in
querydata
]
if
data
.
start_time
:
if
len
([
item
.
get
(
"menu_label"
)
for
item
in
reference_data
])
>
1
:
query
.
append
(
f
" o.lastupdate >= {time_str_to_timestamp(data.start_time + ' 00:00:00')} "
)
reference_type
=
tuple
([
item
.
get
(
"menu_label"
)
for
item
in
reference_data
])
if
data
.
end_time
:
else
:
query
.
append
(
f
" o.lastupdate <= {time_str_to_timestamp(data.end_time + ' 23:59:59')} "
)
reference_type
=
"('"
+
[
item
.
get
(
"menu_label"
)
for
item
in
reference_data
][
0
]
+
"')"
Logger
()
.
logger
.
info
(
"查询支付配置"
)
query
.
append
(
f
"reference_type in {reference_type}"
)
p_sql
=
"SELECT id,name FROM pay_config"
if
data
.
month_type
==
1
:
pay_data
=
LinkMysql
(
env
.
DB_3YV2
)
.
query_mysql
(
p_sql
)
if
data
.
start_time
:
pay_dict
=
{}
query
.
append
(
f
" create_time >= {time_str_to_timestamp(data.start_time + ' 00:00:00')} "
)
for
i
in
pay_data
:
if
data
.
end_time
:
pay_dict
[
i
[
'id'
]]
=
i
[
'name'
]
query
.
append
(
f
" create_time < {time_str_to_timestamp(data.end_time + ' 23:59:59')} "
)
Logger
()
.
logger
.
info
(
"查询orders表!!!!!"
)
query
=
' and '
.
join
(
query
)
or_sql
=
f
"SELECT o.userid,v.nick_name,o.money,o.status,o.paychannel,o.sid,o.lastupdate FROM orders as o LEFT JOIN v2_user as v on o.userid=v.user_id WHERE {' and '.join(query)}"
now_month
=
get_month_last_month
(
data
.
month_type
,
data
.
start_time
)
order_info
=
LinkMysql
(
env
.
DB_3YV2
)
.
query_mysql
(
or_sql
)
once_res
=
self
.
data_delcy
(
data
.
month_type
,
query
,
now_month
[
1
])
for
order
in
order_info
:
else
:
order
[
'paychannel'
]
=
pay_dict
.
get
(
order
[
'paychannel'
],
order
[
'paychannel'
])
query_data
=
self
.
query_add_time
(
query
,
data
.
start_time
,
data
.
end_time
)
order
[
'status'
]
=
'成功'
if
order
[
'status'
]
else
'失败'
now_month
=
get_month_last_month
(
data
.
month_type
)
order
[
'lastupdate'
]
=
timestamp_to_time_str
(
order
[
'lastupdate'
])
once_res
=
self
.
data_delcy
(
data
.
month_type
,
query_data
,
now_month
)
return
order_info
return
once_res
def
data_delcy
(
self
,
month_type
,
query
,
now_month
):
def
data_delcy
(
self
,
month_type
,
query
,
now_month
):
if
month_type
==
1
:
if
month_type
==
1
:
...
...
app/api/statement/views.py
View file @
10c0bdd2
...
@@ -36,11 +36,8 @@ def statement_recharge_list(request: Request,db: Session = Depends(get_db),page:
...
@@ -36,11 +36,8 @@ def statement_recharge_list(request: Request,db: Session = Depends(get_db),page:
def
statement_derive_excel
(
request
:
Request
,
data
:
schemas
.
StatementList
,
db
:
Session
=
Depends
(
get_db
),
token
=
Depends
(
login_required
)):
def
statement_derive_excel
(
request
:
Request
,
data
:
schemas
.
StatementList
,
db
:
Session
=
Depends
(
get_db
),
token
=
Depends
(
login_required
)):
"""充值报表导出"""
"""充值报表导出"""
header_list
=
request
.
get
(
"headers"
)
header_list
=
request
.
get
(
"headers"
)
export_status
=
1
statement_list
=
RechargeStatement
()
.
get_statements
(
data
)
total
,
statement_list
,
money
,
sun_m
=
RechargeStatement
()
.
query_data
(
db
,
data
.
page
,
99999999
,
data
.
order_number
,
data
.
uuid
,
field_list
=
[
"用户Id"
,
"昵称"
,
"充值金额(元)"
,
"充值状态"
,
"渠道"
,
"商户订单号"
,
"充值时间"
]
data
.
sid
,
data
.
start_time
,
data
.
end_time
,
data
.
types
,
data
.
menu_id
,
data
.
month_type
,
export_status
)
field_list
=
[
"uuid"
,
"充值金额(元)"
,
"支付时间"
,
"业务类型"
,
"订单号"
,
"昵称"
,
"充值状态"
,
"到账金额(元)"
,
"用户Id"
,
"渠道"
,
"商户订单号"
]
url
=
TableToFile
(
db
,
statement_list
,
"充值报表"
,
header_list
,
field_list
)
.
main_method
()
url
=
TableToFile
(
db
,
statement_list
,
"充值报表"
,
header_list
,
field_list
)
.
main_method
()
return
HttpResultResponse
(
data
=
url
)
return
HttpResultResponse
(
data
=
url
)
...
...
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