Commit 8d49f001 authored by xianyang's avatar xianyang

财务修复列表

parent 77b6b2ff
...@@ -8,4 +8,5 @@ ...@@ -8,4 +8,5 @@
*-workspace *-workspace
*.db *.db
fs-env/ fs-env/
.idea/ .idea/
\ No newline at end of file static/
\ No newline at end of file
...@@ -7,7 +7,9 @@ from core.config.env import env ...@@ -7,7 +7,9 @@ from core.config.env import env
from libs.db_link import LinkMysql from libs.db_link import LinkMysql
from starlette.responses import StreamingResponse from starlette.responses import StreamingResponse
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from models.recharge import Recharge, UserWC, GuildWC
from libs.functions import wrapper_out
from models.recharge import Recharge, UserWC, GuildWC, FinanceFixLog
locka = threading.Lock() locka = threading.Lock()
...@@ -208,3 +210,14 @@ class WithdrawStatement(object): ...@@ -208,3 +210,14 @@ 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 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
class FinanceFix(object):
@staticmethod
@wrapper_out()
def get_finance_fix_data(db: Session, data):
"""财务修复"""
total = db.query(func.count(FinanceFixLog.id)).scalar()
output = db.query(FinanceFixLog).limit(data.page * data.size).offset((data.page - 1) * data.size).all()
return [i.to_dict() for i in output], total
from app.api.statement import crud, schemas from app.api.statement import crud, schemas
from app.api.account import schemas as acc_schemas
from app import get_db from app import get_db
from fastapi import Depends, APIRouter from fastapi import Depends, APIRouter
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
...@@ -49,3 +50,10 @@ def guild_update_list(data: schemas.GuildUpdate, db: Session = Depends(get_db)): ...@@ -49,3 +50,10 @@ def guild_update_list(data: schemas.GuildUpdate, db: Session = Depends(get_db)):
"""公会结算""" """公会结算"""
GuildSet().update_guild_info(db, data) GuildSet().update_guild_info(db, data)
return HttpResultResponse() return HttpResultResponse()
@router.post("/finance/fix")
def finance_fix(data: acc_schemas.PublicModel, db: Session = Depends(get_db)):
"""账户修复报表"""
res, num = crud.FinanceFix.get_finance_fix_data(db, data)
return HttpResultResponse(total=num, data=res)
\ No newline at end of file
...@@ -82,3 +82,19 @@ class Settlement(Base, SerializerMixin): ...@@ -82,3 +82,19 @@ class Settlement(Base, SerializerMixin):
create_time = Column(DateTime, comment="申请结算时间") create_time = Column(DateTime, comment="申请结算时间")
__table_args__ = {'comment': '公会结算表'} __table_args__ = {'comment': '公会结算表'}
class FinanceFixLog(Base, SerializerMixin):
"""财务修复日志"""
__tablename__ = "finance_fix_log"
id = Column(Integer, primary_key=True, index=True)
type = Column(Integer, comment="0系统账户1私有账户")
money = Column(Float, comment="修复金额")
unique_tag = Column(String(128), comment="唯一标识")
amount_type = Column(String(128), comment="账户类型")
remark = Column(String(255), comment="备注")
operator = Column(String(255), comment="操作员(每笔转账都要记录一下)")
operator_id = Column(Integer, comment="操作员id(可能设计到改了名字,记id比较好)")
create_time = Column(DateTime, comment="创建时间")
__table_args__ = {'comment': '财务修复日志'}
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