This commit is contained in:
aaron 2025-03-17 09:09:11 +08:00
parent e3f41a43bc
commit 6ad6ade159
5 changed files with 26 additions and 12 deletions

View File

@ -34,10 +34,10 @@ async def get_dashboard_info(
total_order_count = db.query(ShippingOrderDB).filter(ShippingOrderDB.status == OrderStatus.COMPLETED).count() total_order_count = db.query(ShippingOrderDB).filter(ShippingOrderDB.status == OrderStatus.COMPLETED).count()
# 昨日订单数 # 昨日订单数
yesterday_order_count = db.query(ShippingOrderDB).filter(ShippingOrderDB.create_time >= datetime.now().date() - timedelta(days=1), ShippingOrderDB.status == OrderStatus.COMPLETED).count() yesterday_order_count = db.query(ShippingOrderDB).filter(ShippingOrderDB.completed_time >= datetime.now().date() - timedelta(days=1), ShippingOrderDB.status == OrderStatus.COMPLETED).count()
# 今日配送订单数 # 今日配送订单数
today_order_count = db.query(ShippingOrderDB).filter(ShippingOrderDB.create_time >= datetime.now().date(), ShippingOrderDB.status == OrderStatus.COMPLETED).count() today_order_count = db.query(ShippingOrderDB).filter(ShippingOrderDB.completed_time >= datetime.now().date(), ShippingOrderDB.status == OrderStatus.COMPLETED).count()
# 小区数量 # 小区数量
total_community_count = db.query(CommunityDB).count() total_community_count = db.query(CommunityDB).count()

View File

@ -1567,13 +1567,13 @@ async def deliveryman_order_summary(
yesterday_total = db.query(ShippingOrderDB).filter( yesterday_total = db.query(ShippingOrderDB).filter(
ShippingOrderDB.deliveryman_user_id == deliveryman.userid, ShippingOrderDB.deliveryman_user_id == deliveryman.userid,
ShippingOrderDB.status == OrderStatus.COMPLETED, ShippingOrderDB.status == OrderStatus.COMPLETED,
ShippingOrderDB.create_time.between(yesterday_start, yesterday_end) ShippingOrderDB.completed_time.between(yesterday_start, yesterday_end)
).count() ).count()
today_total = db.query(ShippingOrderDB).filter( today_total = db.query(ShippingOrderDB).filter(
ShippingOrderDB.deliveryman_user_id == deliveryman.userid, ShippingOrderDB.deliveryman_user_id == deliveryman.userid,
ShippingOrderDB.status == OrderStatus.COMPLETED, ShippingOrderDB.status == OrderStatus.COMPLETED,
ShippingOrderDB.create_time.between(today_start, today_end) ShippingOrderDB.completed_time.between(today_start, today_end)
).count() ).count()

View File

@ -19,6 +19,7 @@ from app.models.user import UserRole
from app.core.response import error_response from app.core.response import error_response
router = APIRouter() router = APIRouter()
@router.get("/summary", response_model=ResponseModel) @router.get("/summary", response_model=ResponseModel)
async def partner_summary( async def partner_summary(
db: Session = Depends(get_db), db: Session = Depends(get_db),
@ -35,6 +36,13 @@ async def partner_summary(
# 将结果转换为简单列表 # 将结果转换为简单列表
community_ids = [community_id[0] for community_id in query_result] community_ids = [community_id[0] for community_id in query_result]
# 把admin_id也加入到community_ids中
admin_community_ids = db.query(CommunityDB.id).filter(CommunityDB.admin_id == current_user.userid).all()
community_ids.extend([community_id[0] for community_id in admin_community_ids])
# 去重
community_ids = list(set(community_ids))
set_names = list(set([community_id[1] for community_id in query_result])) set_names = list(set([community_id[1] for community_id in query_result]))
# 总订单数 # 总订单数
@ -121,6 +129,10 @@ async def partner_community_list(
# 将结果转换为简单列表 # 将结果转换为简单列表
community_ids = [community_id[0] for community_id in community_ids] community_ids = [community_id[0] for community_id in community_ids]
# 把admin_id也加入到community_ids中
admin_community_ids = db.query(CommunityDB.id).filter(CommunityDB.admin_id == current_user.userid).all()
community_ids.extend([community_id[0] for community_id in admin_community_ids])
community_ids = list(set(community_ids))
results = [] results = []
for community_id in community_ids: for community_id in community_ids:
@ -224,15 +236,15 @@ async def partner_community_detail(
today_order_count = db.query(ShippingOrderDB).filter( today_order_count = db.query(ShippingOrderDB).filter(
ShippingOrderDB.address_community_id == community_id, ShippingOrderDB.address_community_id == community_id,
ShippingOrderDB.create_time >= today_start, ShippingOrderDB.completed_time >= today_start,
ShippingOrderDB.create_time <= today_end, ShippingOrderDB.completed_time <= today_end,
ShippingOrderDB.status == OrderStatus.COMPLETED ShippingOrderDB.status == OrderStatus.COMPLETED
).count() ).count()
yesterday_order_count = db.query(ShippingOrderDB).filter( yesterday_order_count = db.query(ShippingOrderDB).filter(
ShippingOrderDB.address_community_id == community_id, ShippingOrderDB.address_community_id == community_id,
ShippingOrderDB.create_time >= yesterday_start, ShippingOrderDB.completed_time >= yesterday_start,
ShippingOrderDB.create_time <= yesterday_end, ShippingOrderDB.completed_time <= yesterday_end,
ShippingOrderDB.status == OrderStatus.COMPLETED ShippingOrderDB.status == OrderStatus.COMPLETED
).count() ).count()
@ -245,15 +257,15 @@ async def partner_community_detail(
# 小区今日、昨日收益 # 小区今日、昨日收益
today_income = db.query(func.sum(ShippingOrderDB.original_amount + ShippingOrderDB.additional_fee_amount)).filter( today_income = db.query(func.sum(ShippingOrderDB.original_amount + ShippingOrderDB.additional_fee_amount)).filter(
ShippingOrderDB.address_community_id == community_id, ShippingOrderDB.address_community_id == community_id,
ShippingOrderDB.create_time >= today_start, ShippingOrderDB.completed_time >= today_start,
ShippingOrderDB.create_time <= today_end, ShippingOrderDB.completed_time <= today_end,
ShippingOrderDB.status == OrderStatus.COMPLETED ShippingOrderDB.status == OrderStatus.COMPLETED
).scalar() ).scalar()
yesterday_income = db.query(func.sum(ShippingOrderDB.original_amount + ShippingOrderDB.additional_fee_amount)).filter( yesterday_income = db.query(func.sum(ShippingOrderDB.original_amount + ShippingOrderDB.additional_fee_amount)).filter(
ShippingOrderDB.address_community_id == community_id, ShippingOrderDB.address_community_id == community_id,
ShippingOrderDB.create_time >= yesterday_start, ShippingOrderDB.completed_time >= yesterday_start,
ShippingOrderDB.create_time <= yesterday_end, ShippingOrderDB.completed_time <= yesterday_end,
ShippingOrderDB.status == OrderStatus.COMPLETED ShippingOrderDB.status == OrderStatus.COMPLETED
).scalar() ).scalar()

View File

@ -91,6 +91,7 @@ async def approve_withdraw(
# 更新提现状态 # 更新提现状态
withdraw.status = WithdrawStatus.APPROVED withdraw.status = WithdrawStatus.APPROVED
withdraw.transaction_id = request.transaction_id # 保存交易流水号 withdraw.transaction_id = request.transaction_id # 保存交易流水号
withdraw.remark = f"交易流水号: {request.transaction_id}"
# 返还锁定余额 # 返还锁定余额
account = db.query(UserAccountDB).filter( account = db.query(UserAccountDB).filter(
@ -133,6 +134,7 @@ async def cancel_withdraw(
try: try:
# 更新提现状态 # 更新提现状态
withdraw.status = WithdrawStatus.CANCELLED withdraw.status = WithdrawStatus.CANCELLED
withdraw.remark = "用户取消提现"
# 返还锁定余额 # 返还锁定余额
account = db.query(UserAccountDB).filter( account = db.query(UserAccountDB).filter(

Binary file not shown.