增加pickup_images_count
This commit is contained in:
parent
509224a687
commit
a1dddbdf7b
@ -52,21 +52,27 @@ def calculate_price(price_request: OrderPriceCalculateRequest,user: UserDB,db: S
|
|||||||
OrderPriceResult: 包含价格信息和使用的优惠券/积分信息
|
OrderPriceResult: 包含价格信息和使用的优惠券/积分信息
|
||||||
"""
|
"""
|
||||||
# 计算所有包裹中的取件码总数
|
# 计算所有包裹中的取件码总数
|
||||||
|
pickup_code_count = 0
|
||||||
|
pickup_images_count = 0
|
||||||
package_count = 0
|
package_count = 0
|
||||||
if price_request.pickup_images:
|
if price_request.pickup_images:
|
||||||
package_count += price_request.package_count
|
pickup_images_count = price_request.pickup_images_count
|
||||||
|
|
||||||
if price_request.packages:
|
if price_request.packages:
|
||||||
package_count += sum(
|
pickup_code_count = sum(
|
||||||
# 如果package.pickup_codes是空字符串,则取0
|
# 如果package.pickup_codes是空字符串,则取0
|
||||||
0 if len(package.pickup_codes.split(',')) == 0 else len(package.pickup_codes.split(','))
|
0 if len(package.pickup_codes.split(',')) == 0 else len(package.pickup_codes.split(','))
|
||||||
for package in price_request.packages
|
for package in price_request.packages
|
||||||
if package.pickup_codes
|
if package.pickup_codes
|
||||||
)
|
)
|
||||||
|
|
||||||
|
package_count = pickup_code_count + pickup_images_count
|
||||||
|
|
||||||
result = OrderPriceResult(
|
result = OrderPriceResult(
|
||||||
price_info=OrderPriceInfo(
|
price_info=OrderPriceInfo(
|
||||||
package_count=package_count,
|
package_count=package_count,
|
||||||
|
pickup_images_count=pickup_images_count,
|
||||||
|
pickup_code_count=pickup_code_count,
|
||||||
coupon_discount_amount=0,
|
coupon_discount_amount=0,
|
||||||
points_discount_amount=0,
|
points_discount_amount=0,
|
||||||
original_amount=0,
|
original_amount=0,
|
||||||
@ -83,6 +89,8 @@ def calculate_price(price_request: OrderPriceCalculateRequest,user: UserDB,db: S
|
|||||||
original_amount += extra_count * settings.ORDER_EXTRA_PACKAGE_PRICE
|
original_amount += extra_count * settings.ORDER_EXTRA_PACKAGE_PRICE
|
||||||
|
|
||||||
result.price_info.package_count = package_count
|
result.price_info.package_count = package_count
|
||||||
|
result.price_info.pickup_images_count = pickup_images_count
|
||||||
|
result.price_info.pickup_code_count = pickup_code_count
|
||||||
result.price_info.original_amount = original_amount
|
result.price_info.original_amount = original_amount
|
||||||
result.price_info.final_amount = original_amount
|
result.price_info.final_amount = original_amount
|
||||||
|
|
||||||
@ -197,6 +205,8 @@ async def create_order(
|
|||||||
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,
|
||||||
package_count=price_info.package_count,
|
package_count=price_info.package_count,
|
||||||
|
pickup_images_count=price_info.pickup_images_count,
|
||||||
|
pickup_code_count=price_info.pickup_code_count,
|
||||||
original_amount=original_amount,
|
original_amount=original_amount,
|
||||||
coupon_discount_amount=coupon_discount,
|
coupon_discount_amount=coupon_discount,
|
||||||
point_discount_amount=price_info.points_discount_amount,
|
point_discount_amount=price_info.points_discount_amount,
|
||||||
@ -358,6 +368,8 @@ async def get_order_detail(
|
|||||||
"userid": order.userid,
|
"userid": order.userid,
|
||||||
"pickup_images": order.optimized_pickup_images,
|
"pickup_images": order.optimized_pickup_images,
|
||||||
"package_count": order.package_count,
|
"package_count": order.package_count,
|
||||||
|
"pickup_code_count": order.pickup_code_count,
|
||||||
|
"pickup_images_count": order.pickup_images_count,
|
||||||
"original_amount": order.original_amount,
|
"original_amount": order.original_amount,
|
||||||
"coupon_discount_amount": order.coupon_discount_amount,
|
"coupon_discount_amount": order.coupon_discount_amount,
|
||||||
"coupon_id": order.coupon_id,
|
"coupon_id": order.coupon_id,
|
||||||
@ -557,6 +569,8 @@ async def get_user_orders(
|
|||||||
"status": order.status,
|
"status": order.status,
|
||||||
"pickup_images": order.optimized_pickup_images,
|
"pickup_images": order.optimized_pickup_images,
|
||||||
"package_count": order.package_count,
|
"package_count": order.package_count,
|
||||||
|
"pickup_code_count": order.pickup_code_count,
|
||||||
|
"pickup_images_count": order.pickup_images_count,
|
||||||
"create_time": order.create_time,
|
"create_time": order.create_time,
|
||||||
"delivery_method": order.delivery_method,
|
"delivery_method": order.delivery_method,
|
||||||
"original_amount": order.original_amount,
|
"original_amount": order.original_amount,
|
||||||
@ -756,6 +770,8 @@ async def get_deliveryman_orders(
|
|||||||
"status": order.status,
|
"status": order.status,
|
||||||
"pickup_images": order.optimized_pickup_images,
|
"pickup_images": order.optimized_pickup_images,
|
||||||
"package_count": order.package_count,
|
"package_count": order.package_count,
|
||||||
|
"pickup_code_count": order.pickup_code_count,
|
||||||
|
"pickup_images_count": order.pickup_images_count,
|
||||||
"create_time": order.create_time,
|
"create_time": order.create_time,
|
||||||
"delivery_method": order.delivery_method,
|
"delivery_method": order.delivery_method,
|
||||||
"original_amount": order.original_amount,
|
"original_amount": order.original_amount,
|
||||||
@ -1143,6 +1159,8 @@ async def get_admin_orders(
|
|||||||
"status": order.status,
|
"status": order.status,
|
||||||
"pickup_images": order.optimized_pickup_images,
|
"pickup_images": order.optimized_pickup_images,
|
||||||
"package_count": order.package_count,
|
"package_count": order.package_count,
|
||||||
|
"pickup_code_count": order.pickup_code_count,
|
||||||
|
"pickup_images_count": order.pickup_images_count,
|
||||||
"create_time": order.create_time,
|
"create_time": order.create_time,
|
||||||
"delivery_method": order.delivery_method,
|
"delivery_method": order.delivery_method,
|
||||||
"original_amount": order.original_amount,
|
"original_amount": order.original_amount,
|
||||||
|
|||||||
@ -53,6 +53,9 @@ class ShippingOrderDB(Base):
|
|||||||
|
|
||||||
# 取件图片
|
# 取件图片
|
||||||
pickup_images = Column(String(1000), nullable=True) # 取件图片URL,多个URL用逗号分隔
|
pickup_images = Column(String(1000), nullable=True) # 取件图片URL,多个URL用逗号分隔
|
||||||
|
pickup_images_count = Column(Integer, nullable=False, default=0) # 取件图片数量
|
||||||
|
|
||||||
|
pickup_code_count = Column(Integer, nullable=False, default=0) # 取件码数量
|
||||||
|
|
||||||
delivery_method = Column(Enum(DeliveryMethod), nullable=False)
|
delivery_method = Column(Enum(DeliveryMethod), nullable=False)
|
||||||
package_count = Column(Integer, nullable=False)
|
package_count = Column(Integer, nullable=False)
|
||||||
@ -108,8 +111,8 @@ class OrderPackage(BaseModel):
|
|||||||
|
|
||||||
# 先定义 OrderPriceCalculateRequest
|
# 先定义 OrderPriceCalculateRequest
|
||||||
class OrderPriceCalculateRequest(BaseModel):
|
class OrderPriceCalculateRequest(BaseModel):
|
||||||
package_count: int = 0
|
|
||||||
pickup_images: Optional[str] = None
|
pickup_images: Optional[str] = None
|
||||||
|
pickup_images_count: int = 0
|
||||||
packages: Optional[List[OrderPackage]] = None
|
packages: Optional[List[OrderPackage]] = None
|
||||||
|
|
||||||
# 然后再定义 OrderCreate
|
# 然后再定义 OrderCreate
|
||||||
@ -135,7 +138,9 @@ class OrderInfo(BaseModel):
|
|||||||
address_customer_gender: Gender
|
address_customer_gender: Gender
|
||||||
|
|
||||||
pickup_images: Optional[str] = None
|
pickup_images: Optional[str] = None
|
||||||
|
pickup_images_count: int
|
||||||
package_count: int
|
package_count: int
|
||||||
|
pickup_code_count: int
|
||||||
original_amount: float
|
original_amount: float
|
||||||
coupon_discount_amount: float
|
coupon_discount_amount: float
|
||||||
point_discount_amount: float = 0
|
point_discount_amount: float = 0
|
||||||
@ -179,6 +184,8 @@ class OrderPackageInfo(BaseModel):
|
|||||||
|
|
||||||
class OrderPriceInfo(BaseModel):
|
class OrderPriceInfo(BaseModel):
|
||||||
package_count: int = 0
|
package_count: int = 0
|
||||||
|
pickup_images_count: int = 0
|
||||||
|
pickup_code_count: int = 0
|
||||||
original_amount: float = 0
|
original_amount: float = 0
|
||||||
coupon_discount_amount: float = 0
|
coupon_discount_amount: float = 0
|
||||||
points_discount_amount: float = 0
|
points_discount_amount: float = 0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user