Commit e5fbe536 authored by xianyang's avatar xianyang

转账接口

parent 1f465932
...@@ -42,18 +42,19 @@ def data_to_file(db, data, name, header): ...@@ -42,18 +42,19 @@ def data_to_file(db, data, name, header):
class RechargeStatement(object): class RechargeStatement(object):
"""充值报表""" """充值报表"""
def __init__(self): def __init__(self):
self.linkmysql=LinkMysql(env.MysqlDB) self.linkmysql = LinkMysql(env.DB_3YV2)
self.derive_list = [] self.derive_list = []
def query_data(self,page,size): def query_data(self, page, size):
count_sql=f'SELECT count(*) FROM `orders` as d inner join v2_user as u on d.userid=u.user_id where status=1' count_sql = f'SELECT count(*) FROM `orders` as d inner join v2_user as u on d.userid=u.user_id where status=1'
count=self.linkmysql.query_mysql(count_sql)[0].get("count(*)") count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)")
sql =f'SELECT d.id as order_number,d.userid as user_id,u.user_number,u.nick_name,d.money,d.paychannel as pay_channel,d.sid,d.current,FROM_UNIXTIME(d.payment_time,"%Y-%c-%d %h:%i:%s") as payment_time,FROM_UNIXTIME(d.lastupdate,"%Y-%c-%d %h:%i:%s") as last_update FROM `orders` as d inner join v2_user as u on d.userid=u.user_id where status=1 ORDER BY id desc limit {page},{(size)}' sql = f'SELECT d.id as order_number,d.userid as user_id,u.user_number,u.nick_name,d.money,d.paychannel as pay_channel,d.sid,d.current,FROM_UNIXTIME(d.payment_time,"%Y-%c-%d %h:%i:%s") as payment_time,FROM_UNIXTIME(d.lastupdate,"%Y-%c-%d %h:%i:%s") as last_update FROM `orders` as d inner join v2_user as u on d.userid=u.user_id where status=1 ORDER BY id desc limit {page},{(size)}'
once_res=self.linkmysql.query_mysql(sql) once_res = self.linkmysql.query_mysql(sql)
money_sql=f'SELECT sum(d.balanceadd) FROM `orders` as d inner join v2_user as u on d.userid=u.user_id where status=1' money_sql = f'SELECT sum(d.balanceadd) FROM `orders` as d inner join v2_user as u on d.userid=u.user_id where status=1'
moeny_data=self.linkmysql.query_mysql(money_sql)[0].get("sum(d.balanceadd)") moeny_data = self.linkmysql.query_mysql(money_sql)[0].get("sum(d.balanceadd)")
return count,once_res,moeny_data return count, once_res, moeny_data
# def query_all_data(self, db): # def query_all_data(self, db):
# #
...@@ -113,6 +114,7 @@ class RechargeStatement(object): ...@@ -113,6 +114,7 @@ class RechargeStatement(object):
class WithdrawStatement(object): class WithdrawStatement(object):
"""提现报表""" """提现报表"""
def __init__(self): def __init__(self):
self.linkmysql = LinkMysql(env.DB_3YV2) self.linkmysql = LinkMysql(env.DB_3YV2)
self.derive_user_list = [] self.derive_user_list = []
...@@ -172,18 +174,18 @@ class WithdrawStatement(object): ...@@ -172,18 +174,18 @@ class WithdrawStatement(object):
# final_count = df['final_money'].apply(lambda x: float(x)).sum() # final_count = df['final_money'].apply(lambda x: float(x)).sum()
# return user_info[(int(param.page) - 1) * param.size:param.size * param.page], total, count, final_count # return user_info[(int(param.page) - 1) * param.size:param.size * param.page], total, count, final_count
# return [], 0, 0, 0 # return [], 0, 0, 0
def get_user_withdraw_cash(self,page,size): def get_user_withdraw_cash(self, page, size):
choice=1 choice = 1
status=3 status = 3
count_sql = f'SELECT count(*) FROM `tixian_order` where choice=1 and `status`=3' count_sql = f'SELECT count(*) FROM `tixian_order` where choice=1 and `status`=3'
count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)") #总条数 count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)") # 总条数
sql = f'SELECT t.usernumber as user_number,t.status,t.id as bank_code,t.nickname as nick_name,t.truename as true_name ,t.money,t.current,t.final_money,t.idcard as id_card,t.account,t.platformServiceFee as platform_service_fee,t.thirdServiceFee as third_service_fee FROM `tixian_order` as t where choice={choice} and status={status} ORDER BY id desc limit {page},{(size)}' sql = f'SELECT t.usernumber as user_number,t.status,t.id as bank_code,t.nickname as nick_name,t.truename as true_name ,t.money,t.current,t.final_money,t.idcard as id_card,t.account,t.platformServiceFee as platform_service_fee,t.thirdServiceFee as third_service_fee FROM `tixian_order` as t where choice={choice} and status={status} ORDER BY id desc limit {page},{(size)}'
statement_list = self.linkmysql.query_mysql(sql) #提现总数 statement_list = self.linkmysql.query_mysql(sql) # 提现总数
money_sql = f'SELECT sum(money) FROM `tixian_order` where choice=1 and `status`=3' money_sql = f'SELECT sum(money) FROM `tixian_order` where choice=1 and `status`=3'
moeny_data = self.linkmysql.query_mysql(money_sql)[0].get("sum(money)") #提现金额 moeny_data = self.linkmysql.query_mysql(money_sql)[0].get("sum(money)") # 提现金额
final_data=f'SELECT sum(final_money) FROM `tixian_order` where choice=1 and `status`=3' final_data = f'SELECT sum(final_money) FROM `tixian_order` where choice=1 and `status`=3'
final_money=self.linkmysql.query_mysql(final_data)[0].get("sum(final_money)") # 实得金额 final_money = self.linkmysql.query_mysql(final_data)[0].get("sum(final_money)") # 实得金额
return statement_list, count, moeny_data,final_money return statement_list, count, moeny_data, final_money
# def dispose_guild_to_data(self, db, num): # def dispose_guild_to_data(self, db, num):
# user_list = [] # user_list = []
...@@ -240,7 +242,7 @@ class WithdrawStatement(object): ...@@ -240,7 +242,7 @@ class WithdrawStatement(object):
# return guild_info[(int(cond.page) - 1) * cond.size:cond.size * cond.page], total, count, final_count # return guild_info[(int(cond.page) - 1) * cond.size:cond.size * cond.page], total, count, final_count
# return [], 0, 0, 0 # return [], 0, 0, 0
def get_guild_withdraw_cash(self,page,size): def get_guild_withdraw_cash(self, page, size):
status = 2 status = 2
count_sql = f'SELECT count(*) FROM `guild_ti_xian` where `status`=2' count_sql = f'SELECT count(*) FROM `guild_ti_xian` where `status`=2'
count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)") # 总条数 count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)") # 总条数
......
This diff is collapsed.
...@@ -109,14 +109,12 @@ class UserNumber(BaseModel): ...@@ -109,14 +109,12 @@ class UserNumber(BaseModel):
class CreateBill(BaseModel): class CreateBill(BaseModel):
dst_id: Optional[str] = "" dst_id: Optional[str] = ""
dst_name: str = "" dst_name: Optional[str] = ""
amount: float amount: Optional[float] = 0.0
transfer_id: Optional[str] = "" transfer_id: Optional[str] = ""
transfer_name: str = ""
remark: Optional[str] = "" remark: Optional[str] = ""
type: int
nick_name: Optional[str] = ""
transfer_type: Optional[str] = "" transfer_type: Optional[str] = ""
type: Optional[int] = None
# @validator('transfer_id') # @validator('transfer_id')
# def transfer_id_must_contain_space(cls, v): # def transfer_id_must_contain_space(cls, v):
......
...@@ -21,7 +21,7 @@ router = APIRouter() ...@@ -21,7 +21,7 @@ router = APIRouter()
@router.get("/recharge/list") @router.get("/recharge/list")
def statement_recharge_list(page: Optional[int] = 1, size: Optional[int] = 10,token=Depends(login_required)): def statement_recharge_list(page: Optional[int] = 1, size: Optional[int] = 10, token=Depends(login_required)):
"""充值报表列表""" """充值报表列表"""
# page: Optional[int] = None # page: Optional[int] = None
# size: Optional[int] = None # size: Optional[int] = None
...@@ -31,8 +31,8 @@ def statement_recharge_list(page: Optional[int] = 1, size: Optional[int] = 10,to ...@@ -31,8 +31,8 @@ def statement_recharge_list(page: Optional[int] = 1, size: Optional[int] = 10,to
# user_id: Optional[str] = "" # user_id: Optional[str] = ""
# sid: Optional[str] = "" # sid: Optional[str] = ""
# pay_channel: Optional[str] = "" # pay_channel: Optional[str] = ""
total,statement_list,money= RechargeStatement().query_data(page,size) total, statement_list, money = RechargeStatement().query_data(page, size)
return HttpResultResponse(total=total,count=float(money),data=statement_list) return HttpResultResponse(total=total, count=float(money), data=statement_list)
@router.post("/derive/excel") @router.post("/derive/excel")
...@@ -44,36 +44,36 @@ def statement_derive_excel(data: schemas.StatementList, request: Request, db: Se ...@@ -44,36 +44,36 @@ def statement_derive_excel(data: schemas.StatementList, request: Request, db: Se
@router.get("/userWithdrawal/list") @router.get("/userWithdrawal/list")
def user_withdrawal_list(page: Optional[int] = 0, size: Optional[int] = 10,token=Depends(login_required)): def user_withdrawal_list(page: Optional[int] = 0, size: Optional[int] = 10, token=Depends(login_required)):
"""用户提现列表""" """用户提现列表"""
statement_list, total, money, final_money = WithdrawStatement().get_user_withdraw_cash(page,size) statement_list, total, money, final_money = WithdrawStatement().get_user_withdraw_cash(page, size)
return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=statement_list) return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=statement_list)
#http://fiance-rys.3yakj.com/Guild/settlement # http://fiance-rys.3yakj.com/Guild/settlement
@router.get("/guildWithdrawal/list") @router.get("/guildWithdrawal/list")
def guild_withdrawal_list(page: Optional[int] = 1, size: Optional[int] = 10, token=Depends(login_required)): def guild_withdrawal_list(page: Optional[int] = 1, size: Optional[int] = 10, token=Depends(login_required)):
"""公会提现列表""" """公会提现列表"""
guild_list, total, money, final_money = WithdrawStatement().get_guild_withdraw_cash(page,size) guild_list, total, money, final_money = WithdrawStatement().get_guild_withdraw_cash(page, size)
return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=guild_list) return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=guild_list)
@router.get("/guild/settlement") @router.get("/guild/settlement")
def guild_settlement_list(page: Optional[int] = 1, size: Optional[int] = 10,token=Depends(login_required)): def guild_settlement_list(page: Optional[int] = 1, size: Optional[int] = 10, token=Depends(login_required)):
"""公会结算""" """公会结算"""
guild_list, total = GuildSet().get_guild_data(page, size) guild_list, total = GuildSet().get_guild_data(page, size)
return HttpResultResponse(total=total, data=guild_list) return HttpResultResponse(total=total, data=guild_list)
@router.get("/guild/payment") @router.get("/guild/payment")
def guild_payment_list(page: Optional[int] = 1, size: Optional[int] = 10,token=Depends(login_required)): def guild_payment_list(page: Optional[int] = 1, size: Optional[int] = 10, token=Depends(login_required)):
"""打款记录""" """打款记录"""
payment_list, total = paymentset_guild_data(page,size) payment_list, total = paymentset_guild_data(page, size)
return HttpResultResponse(total=total, data=payment_list) return HttpResultResponse(total=total, data=payment_list)
@router.post('/upload') @router.post('/upload')
async def uploadFile(a_file: bytes = File(...),token=Depends(login_required),): async def uploadFile(a_file: bytes = File(...), token=Depends(login_required), ):
a_content = a_file a_content = a_file
image_name = random_number() image_name = random_number()
cos_path = new_upload_file(a_content, image_name) cos_path = new_upload_file(a_content, image_name)
...@@ -83,37 +83,46 @@ async def uploadFile(a_file: bytes = File(...),token=Depends(login_required),): ...@@ -83,37 +83,46 @@ async def uploadFile(a_file: bytes = File(...),token=Depends(login_required),):
@router.post("/payment/add") @router.post("/payment/add")
def guild_payment_list(data:PaymentAdd,db: Session = Depends(get_db)): def guild_payment_list(data: PaymentAdd, db: Session = Depends(get_db)):
"""提交打款""" """提交打款"""
transfer_query(data) transfer_query(data)
return HttpResultResponse(data='') return HttpResultResponse(data='')
@router.get("/onaccount") @router.get("/onaccount")
def outon_account(db: Session = Depends(get_db),token=Depends(login_required)): def outon_account(db: Session = Depends(get_db), token=Depends(login_required)):
"""转出和转入账户人员列表""" """转出和转入账户人员列表"""
account_list, total = outon_account_data(db, Account, {}) account_list, total = outon_account_data(db, Account, {})
return HttpResultResponse(total=total, data=account_list) return HttpResultResponse(total=total, data=account_list)
@router.post("/transferlist") @router.get("/transferlist")
def outon_account(data: PaymentAccountlList,token=Depends(login_required),db: Session = Depends(get_db)): def out_on_account(page: int,
size: int,
start_time: Optional[str] = "",
end_time: Optional[str] = "",
transfer_name: Optional[str] = "",
dst_name: Optional[str] = "",
token=Depends(login_required)):
"""转账列表""" """转账列表"""
account_list, total = accout_list_data(db, Fitransferlog, data.dict(exclude_none=True)) account_list, total = accout_list_data(page=page, size=size, start_time=start_time, end_time=end_time,
transfer_name=transfer_name, dst_name=dst_name)
return HttpResultResponse(total=total, data=account_list) return HttpResultResponse(total=total, data=account_list)
@router.post("/query/consumable") @router.get("/query/consumable")
def query_account_money(data: UserNumber,token=Depends(login_required),db: Session = Depends(get_db)): def query_account_money(uuid: str, token=Depends(login_required)):
"""查询账户余额""" """查询账户余额"""
consumable = account_money(db, data) if not uuid:
return HttpResultResponse(data=int(consumable)) return HttpResultResponse(code=500, msg='请输入uuid')
consumable = account_money(uuid)
return HttpResultResponse(data=consumable)
@router.post("/query/uuid") @router.post("/query/uuid")
def query_uuid_account(data: UserNumber, token=Depends(login_required), db: Session = Depends(get_db)): def query_uuid_account(data: UserNumber, token=Depends(login_required)):
"""uuid user_number查询""" """uuid user_number查询"""
user_info = query_uuid_or_user_number(db, data) user_info = query_uuid_or_user_number(data)
return HttpResultResponse(data=user_info) return HttpResultResponse(data=user_info)
...@@ -131,7 +140,7 @@ def account_transfer_money(data: CreateBill, request: Request, ...@@ -131,7 +140,7 @@ def account_transfer_money(data: CreateBill, request: Request,
@router.post("/guild/update") @router.post("/guild/update")
def guild_update_list(data: schemas.GuildUpdate,token=Depends(login_required)): def guild_update_list(data: schemas.GuildUpdate, token=Depends(login_required)):
"""公会结算""" """公会结算"""
GuildSet().update_guild_info(data) GuildSet().update_guild_info(data)
return HttpResultResponse() return HttpResultResponse()
...@@ -167,7 +176,8 @@ def recovery_fix(page: int, ...@@ -167,7 +176,8 @@ def recovery_fix(page: int,
end_time: Optional[str] = "", end_time: Optional[str] = "",
token=Depends(login_required)): token=Depends(login_required)):
"""异常数据修复列表""" """异常数据修复列表"""
recovery_list, total = guild.recovery_fix_data(page=page, size=size, uuid=uuid, start_time=start_time, end_time=end_time) recovery_list, total = guild.recovery_fix_data(page=page, size=size, uuid=uuid, start_time=start_time,
end_time=end_time)
return HttpResultResponse(total=total, data=recovery_list) return HttpResultResponse(total=total, data=recovery_list)
......
...@@ -12,23 +12,22 @@ from qcloud_cos import CosS3Client ...@@ -12,23 +12,22 @@ from qcloud_cos import CosS3Client
SITE_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SITE_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
FILE_PATH = os.path.join(SITE_ROOT, "runtime", "images") FILE_PATH = os.path.join(SITE_ROOT, "runtime", "images")
region = 'ap-guangzhou'
region ='ap-guangzhou'
token = None token = None
scheme ='https' scheme = 'https'
# Bucket ="3yakj-center-1256890024" #正式桶 # Bucket ="3yakj-center-1256890024" #正式桶
Bucket="fj-dc-test-1256890024" #测试桶 Bucket = "fj-dc-test-1256890024" # 测试桶
# Bucket="3yakj" #测试桶 # Bucket="3yakj" #测试桶
# secret_id='LTAI5t6JyitXaGoGdU7mga7o' # secret_id='LTAI5t6JyitXaGoGdU7mga7o'
# secret_key='Qg69gRB0vTThX5Ur6tlqgbmvqRaUjE' # secret_key='Qg69gRB0vTThX5Ur6tlqgbmvqRaUjE'
secret_id='AKIDra5Ur292g4FCzYrwmMhAOQFsHSP9wb3S' secret_id = 'AKIDra5Ur292g4FCzYrwmMhAOQFsHSP9wb3S'
secret_key='JRKyzpSr1wc5OXXUFsGPKtKfsvqcEcqw' secret_key = 'JRKyzpSr1wc5OXXUFsGPKtKfsvqcEcqw'
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme) config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config) client = CosS3Client(config)
COS_PATH ='https://fj-dc-test-1256890024.cos.ap-guangzhou.myqcloud.com' #测试 COS_PATH = 'https://fj-dc-test-1256890024.cos.ap-guangzhou.myqcloud.com' # 测试
COS_RERURN_PATH='/images/' COS_RERURN_PATH = '/images/'
class Env(BaseSettings): class Env(BaseSettings):
...@@ -62,8 +61,8 @@ class Env(BaseSettings): ...@@ -62,8 +61,8 @@ class Env(BaseSettings):
PASSWORD: str = "fj123456" PASSWORD: str = "fj123456"
# DB_HISTORY = "3yakj_v2" # DB_HISTORY = "3yakj_v2"
# guild_url="" # guild_url=""
oss_url='http://oss.3yakj.com/application_static_data' oss_url = 'http://oss.3yakj.com/application_static_data'
clear_url="http://192.168.4.124:8002" clear_url = "http://192.168.4.124:8002"
CLEARING_CENTER_URL: str = 'http://106.55.103.148:6464/' CLEARING_CENTER_URL: str = 'http://106.55.103.148:6464/'
...@@ -84,6 +83,7 @@ env = Env() # 开发环境 ...@@ -84,6 +83,7 @@ env = Env() # 开发环境
# env = ProdEnv() # 生产环境 # env = ProdEnv() # 生产环境
redis_data = env.Redis redis_data = env.Redis
pool = redis.ConnectionPool(host=redis_data.get("host"), port=redis_data.get("port"), password=redis_data.get("password"), pool = redis.ConnectionPool(host=redis_data.get("host"), port=redis_data.get("port"),
password=redis_data.get("password"),
db=redis_data.get("redis_db"), decode_responses=True) db=redis_data.get("redis_db"), decode_responses=True)
red = redis.StrictRedis(connection_pool=pool) red = redis.StrictRedis(connection_pool=pool)
...@@ -88,7 +88,7 @@ def search(params, method): ...@@ -88,7 +88,7 @@ def search(params, method):
:param params: 传入参数 :param params: 传入参数
:param method: 传入方法 :param method: 传入方法
""" """
url = env.clear_url url = env.CLEARING_CENTER_URL
header = { header = {
"RPC-METHOD": method, "RPC-METHOD": method,
"RPC-ID": '159', "RPC-ID": '159',
...@@ -97,9 +97,9 @@ def search(params, method): ...@@ -97,9 +97,9 @@ def search(params, method):
} }
response = requests.post(url=url, headers=header, json=params) response = requests.post(url=url, headers=header, json=params)
if response.status_code != 200: if response.status_code != 200:
return {"status": 0} return {}
text = json.loads(response.text) text = json.loads(response.text)
return {"status": 1, 'data': text.get('result')} return text
def get_ip(): def get_ip():
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment