增加订单汇总数据。
This commit is contained in:
parent
a37dbb1aab
commit
e4b53b6f04
@ -30,7 +30,7 @@ from app.core.imageprocessor import process_image, ImageFormat
|
|||||||
from starlette.datastructures import Headers
|
from starlette.datastructures import Headers
|
||||||
from app.models.merchant_order import MerchantOrderVerify
|
from app.models.merchant_order import MerchantOrderVerify
|
||||||
from app.core.point_manager import PointManager, PointRecordType
|
from app.core.point_manager import PointManager, PointRecordType
|
||||||
|
from datetime import timedelta
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@router.post("", response_model=ResponseModel)
|
@router.post("", response_model=ResponseModel)
|
||||||
@ -435,3 +435,42 @@ async def get_order_qrcode(
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
return error_response(code=500, message=f"生成二维码失败: {str(e)}")
|
return error_response(code=500, message=f"生成二维码失败: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
|
# 获取商家订单数据汇总
|
||||||
|
@router.get("/merchant/summary", response_model=ResponseModel)
|
||||||
|
async def get_merchant_order_summary(
|
||||||
|
db: Session = Depends(get_db),
|
||||||
|
merchant_user: UserDB = Depends(get_merchant_user)
|
||||||
|
):
|
||||||
|
"""获取商家订单数据汇总"""
|
||||||
|
# 查询商家订单数量
|
||||||
|
total = db.query(MerchantOrderDB).filter(
|
||||||
|
MerchantOrderDB.user_id == merchant_user.userid
|
||||||
|
).count()
|
||||||
|
|
||||||
|
today = datetime.now().date()
|
||||||
|
yesterday = today - timedelta(days=1)
|
||||||
|
today_start = datetime.combine(today, datetime.min.time())
|
||||||
|
today_end = datetime.combine(today, datetime.max.time())
|
||||||
|
yesterday_start = datetime.combine(yesterday, datetime.min.time())
|
||||||
|
yesterday_end = datetime.combine(yesterday, datetime.max.time())
|
||||||
|
|
||||||
|
# 查询商家昨日、今日订单数量
|
||||||
|
yesterday_total = db.query(MerchantOrderDB).filter(
|
||||||
|
MerchantOrderDB.user_id == merchant_user.userid,
|
||||||
|
MerchantOrderDB.status == MerchantOrderStatus.VERIFIED,
|
||||||
|
MerchantOrderDB.create_time.between(yesterday_start, yesterday_end)
|
||||||
|
).count()
|
||||||
|
|
||||||
|
today_total = db.query(MerchantOrderDB).filter(
|
||||||
|
MerchantOrderDB.user_id == merchant_user.userid,
|
||||||
|
MerchantOrderDB.status == MerchantOrderStatus.VERIFIED,
|
||||||
|
MerchantOrderDB.create_time.between(today_start, today_end)
|
||||||
|
).count()
|
||||||
|
|
||||||
|
return success_response(data={
|
||||||
|
"total": total,
|
||||||
|
"yesterday_total": yesterday_total,
|
||||||
|
"today_total": today_total
|
||||||
|
})
|
||||||
|
|||||||
@ -32,6 +32,7 @@ from app.core.utils import CommonUtils
|
|||||||
import logging
|
import logging
|
||||||
from sqlalchemy import func
|
from sqlalchemy import func
|
||||||
from app.core.mpclient import mp_client
|
from app.core.mpclient import mp_client
|
||||||
|
from datetime import timedelta
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@ -1031,3 +1032,45 @@ async def get_admin_orders(
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.exception(f"获取订单列表失败: {str(e)}")
|
logging.exception(f"获取订单列表失败: {str(e)}")
|
||||||
return error_response(code=500, message=f"获取订单列表失败: {str(e)}")
|
return error_response(code=500, message=f"获取订单列表失败: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
|
# 获取配送员订单数量汇总
|
||||||
|
@router.get("/deliveryman/summary", response_model=ResponseModel)
|
||||||
|
async def get_deliveryman_order_summary(
|
||||||
|
db: Session = Depends(get_db),
|
||||||
|
deliveryman: UserDB = Depends(get_deliveryman_user)
|
||||||
|
):
|
||||||
|
"""获取配送员订单数量汇总"""
|
||||||
|
|
||||||
|
# 查询配送员总订单数量
|
||||||
|
total = db.query(ShippingOrderDB).filter(
|
||||||
|
ShippingOrderDB.deliveryman_user_id == deliveryman.userid,
|
||||||
|
ShippingOrderDB.status == OrderStatus.COMPLETED
|
||||||
|
).count()
|
||||||
|
|
||||||
|
today = datetime.now().date()
|
||||||
|
yesterday = today - timedelta(days=1)
|
||||||
|
today_start = datetime.combine(today, datetime.min.time())
|
||||||
|
today_end = datetime.combine(today, datetime.max.time())
|
||||||
|
yesterday_start = datetime.combine(yesterday, datetime.min.time())
|
||||||
|
yesterday_end = datetime.combine(yesterday, datetime.max.time())
|
||||||
|
|
||||||
|
# 查询配送员昨日、今日订单数量
|
||||||
|
yesterday_total = db.query(ShippingOrderDB).filter(
|
||||||
|
ShippingOrderDB.deliveryman_user_id == deliveryman.userid,
|
||||||
|
ShippingOrderDB.status == OrderStatus.COMPLETED,
|
||||||
|
ShippingOrderDB.create_time.between(yesterday_start, yesterday_end)
|
||||||
|
).count()
|
||||||
|
|
||||||
|
today_total = db.query(ShippingOrderDB).filter(
|
||||||
|
ShippingOrderDB.deliveryman_user_id == deliveryman.userid,
|
||||||
|
ShippingOrderDB.status == OrderStatus.COMPLETED,
|
||||||
|
ShippingOrderDB.create_time.between(today_start, today_end)
|
||||||
|
).count()
|
||||||
|
|
||||||
|
|
||||||
|
return success_response(data={
|
||||||
|
"total_count": total,
|
||||||
|
"yesterday_count": yesterday_total,
|
||||||
|
"today_count": today_total
|
||||||
|
})
|
||||||
Loading…
Reference in New Issue
Block a user