1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# -*- coding: UTF-8 -*-
"""
@author:Zongxi.Li
@file:statement.py
@time:2021/02/02
"""
import json
from datetime import datetime, date
from decimal import Decimal
from flask_restful import Resource, reqparse
from app.service.statement_service import Statement
from app.utils.auth import login_require
from flask import g
class DateEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, (datetime, date)):
return obj.__str__()
if isinstance(obj, Decimal):
return obj.__float__()
return json.JSONEncoder.default(self, obj)
class StatementController(Resource):
def __init__(self):
"""."""
self.parser = reqparse.RequestParser()
@login_require
def get(self):
""""""
# self.parser.add_argument('user_id', type=str, required=True, help='用户id不能为空')
self.parser.add_argument('statement_time', required=False, help='对账单时间戳')
args = self.parser.parse_args()
print(args.get('statement_time'))
# user_id = args.get('user_id')
user_id = g.ifa_id
print(user_id)
if args.get('statement_time') != '':
year = datetime.fromtimestamp(int(args.get('statement_time')) / 1000).year
month = datetime.fromtimestamp(int(args.get('statement_time')) / 1000).month
else:
year = datetime.now().year
month = datetime.now().month - 1
data = Statement(user_id=user_id, year=year, month=month).summary()
resp = {
"statusCode": "0000",
"message": "成功",
"attributes": data
}
return json.loads(json.dumps(resp, cls=DateEncoder, ensure_ascii=False))