添加状态返回数量

This commit is contained in:
aaron 2025-02-17 18:21:40 +08:00
parent 0a7d796684
commit 855b173764
2 changed files with 35 additions and 1 deletions

View File

@ -174,6 +174,8 @@ async def create_order(
address_customer_name=address.name, address_customer_name=address.name,
address_customer_phone=address.phone, address_customer_phone=address.phone,
address_customer_gender=address.gender, address_customer_gender=address.gender,
address_community_id=address.community_id,
address_community_building_id=address.community_building_id,
address_community_name=address.community_name, address_community_name=address.community_name,
address_community_building_name=address.community_building_name, address_community_building_name=address.community_building_name,
address_detail=address.address_detail, address_detail=address.address_detail,
@ -339,6 +341,32 @@ async def get_order_detail(
"packages": package_list "packages": package_list
}) })
# 提供一个接口传入community_id返回订单状态数量
@router.get("/status/count", response_model=ResponseModel)
async def get_order_status_count(
community_id: int,
db: Session = Depends(get_db),
current_user: UserDB = Depends(get_current_user)
):
"""获取社区订单状态数量"""
status_order_count = db.query(
ShippingOrderDB.status,
func.count(ShippingOrderDB.orderid)
).filter(
ShippingOrderDB.address_community_id == community_id
).group_by(
ShippingOrderDB.status
).all()
result = []
for status, count in status_order_count:
result.append({
"status": status,
"count": count
})
return success_response(data=result)
# 提供一个接口,传入 community_id 返回每栋楼栋的订单数量 # 提供一个接口,传入 community_id 返回每栋楼栋的订单数量
@router.get("/community_building/count", response_model=ResponseModel) @router.get("/community_building/count", response_model=ResponseModel)
async def get_community_building_order_count( async def get_community_building_order_count(
@ -451,7 +479,9 @@ async def get_user_orders(
"address": { "address": {
"name": order.address_customer_name, "name": order.address_customer_name,
"phone": order.address_customer_phone, "phone": order.address_customer_phone,
"community_id": order.address_community_id,
"community_name": order.address_community_name, "community_name": order.address_community_name,
"building_id": order.address_community_building_id,
"building_name": order.address_community_building_name, "building_name": order.address_community_building_name,
"address_detail": order.address_detail "address_detail": order.address_detail
} }
@ -559,7 +589,7 @@ async def get_deliveryman_orders(
# 格式化返回数据 # 格式化返回数据
orders = [] orders = []
for order, address, building, community in results: for order in results:
# 查询订单包裹信息 # 查询订单包裹信息
packages = db.query( packages = db.query(
ShippingOrderPackageDB, ShippingOrderPackageDB,

View File

@ -32,7 +32,9 @@ class ShippingOrderDB(Base):
address_customer_name = Column(String(50), nullable=False, default='') # 客户名称快照 address_customer_name = Column(String(50), nullable=False, default='') # 客户名称快照
address_customer_phone = Column(String(11), nullable=False, default='') # 客户电话快照 address_customer_phone = Column(String(11), nullable=False, default='') # 客户电话快照
address_customer_gender = Column(Enum(Gender), nullable=False, default=Gender.UNKNOWN) # 客户性别快照 address_customer_gender = Column(Enum(Gender), nullable=False, default=Gender.UNKNOWN) # 客户性别快照
address_community_id = Column(Integer, nullable=False)
address_community_name = Column(String(50), nullable=False, default='') # 小区名称快照 address_community_name = Column(String(50), nullable=False, default='') # 小区名称快照
address_community_building_id = Column(Integer, nullable=False)
address_community_building_name = Column(String(50), nullable=False, default='') # 楼栋名称快照 address_community_building_name = Column(String(50), nullable=False, default='') # 楼栋名称快照
address_detail = Column(String(100), nullable=False, default='') # 详细地址快照 address_detail = Column(String(100), nullable=False, default='') # 详细地址快照
@ -98,7 +100,9 @@ class OrderInfo(BaseModel):
address_customer_name: str address_customer_name: str
address_customer_phone: str address_customer_phone: str
address_community_id: int
address_community_name: str address_community_name: str
address_community_building_id: int
address_community_building_name: str address_community_building_name: str
address_detail: str address_detail: str
address_customer_gender: Gender address_customer_gender: Gender