update
This commit is contained in:
parent
ecdc84822f
commit
eeca3fd8ad
@ -120,7 +120,7 @@ async def pre_order(
|
|||||||
# 检查是否有未支付的订单
|
# 检查是否有未支付的订单
|
||||||
unpay_order = db.query(ShippingOrderDB).filter(
|
unpay_order = db.query(ShippingOrderDB).filter(
|
||||||
ShippingOrderDB.userid == current_user.userid,
|
ShippingOrderDB.userid == current_user.userid,
|
||||||
ShippingOrderDB.status.not_in([OrderStatus.CANCELLED, OrderStatus.COMPLETED])
|
ShippingOrderDB.status == OrderStatus.UNPAID
|
||||||
).first()
|
).first()
|
||||||
|
|
||||||
if unpay_order:
|
if unpay_order:
|
||||||
@ -382,17 +382,32 @@ async def get_order_status_count(
|
|||||||
current_user: UserDB = Depends(get_current_user)
|
current_user: UserDB = Depends(get_current_user)
|
||||||
):
|
):
|
||||||
"""获取社区订单状态数量"""
|
"""获取社区订单状态数量"""
|
||||||
status_order_count = db.query(
|
|
||||||
|
created_count = db.query(
|
||||||
|
ShippingOrderDB.status
|
||||||
|
).filter(
|
||||||
|
ShippingOrderDB.address_community_id == community_id,
|
||||||
|
ShippingOrderDB.status == OrderStatus.CREATED
|
||||||
|
).count()
|
||||||
|
|
||||||
|
|
||||||
|
others_status_count = db.query(
|
||||||
ShippingOrderDB.status,
|
ShippingOrderDB.status,
|
||||||
func.count(ShippingOrderDB.orderid)
|
func.count(ShippingOrderDB.orderid)
|
||||||
).filter(
|
).filter(
|
||||||
ShippingOrderDB.address_community_id == community_id
|
ShippingOrderDB.address_community_id == community_id,
|
||||||
|
ShippingOrderDB.status != OrderStatus.CREATED,
|
||||||
|
ShippingOrderDB.deliveryman_user_id == current_user.userid
|
||||||
).group_by(
|
).group_by(
|
||||||
ShippingOrderDB.status
|
ShippingOrderDB.status
|
||||||
).all()
|
).all()
|
||||||
|
|
||||||
result = []
|
result = [{
|
||||||
for status, count in status_order_count:
|
"status": OrderStatus.CREATED,
|
||||||
|
"count": created_count
|
||||||
|
}]
|
||||||
|
|
||||||
|
for status, count in others_status_count:
|
||||||
result.append({
|
result.append({
|
||||||
"status": status,
|
"status": status,
|
||||||
"count": count
|
"count": count
|
||||||
@ -421,7 +436,7 @@ async def get_community_building_order_count(
|
|||||||
|
|
||||||
|
|
||||||
# 查询每个楼栋的订单数量
|
# 查询每个楼栋的订单数量
|
||||||
building_order_count = db.query(
|
query = db.query(
|
||||||
ShippingOrderDB.address_community_building_id,
|
ShippingOrderDB.address_community_building_id,
|
||||||
func.count(ShippingOrderDB.orderid)
|
func.count(ShippingOrderDB.orderid)
|
||||||
).filter(
|
).filter(
|
||||||
@ -430,11 +445,18 @@ async def get_community_building_order_count(
|
|||||||
)
|
)
|
||||||
).filter(
|
).filter(
|
||||||
ShippingOrderDB.status.in_(status.split(","))
|
ShippingOrderDB.status.in_(status.split(","))
|
||||||
).group_by(
|
)
|
||||||
|
|
||||||
|
# 如果订单状态不是待接单,则需要过滤快递员
|
||||||
|
if OrderStatus.CREATED not in status:
|
||||||
|
query = query.filter(
|
||||||
|
ShippingOrderDB.deliveryman_user_id == current_user.userid
|
||||||
|
)
|
||||||
|
|
||||||
|
building_order_count = query.group_by(
|
||||||
ShippingOrderDB.address_community_building_id
|
ShippingOrderDB.address_community_building_id
|
||||||
).all()
|
).all()
|
||||||
|
|
||||||
|
|
||||||
# 没有订单的楼栋,订单数量为0
|
# 没有订单的楼栋,订单数量为0
|
||||||
result = []
|
result = []
|
||||||
building_order_count_dict = dict(building_order_count)
|
building_order_count_dict = dict(building_order_count)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user