增加新人订单标识
This commit is contained in:
parent
73d39b7d25
commit
b53f424461
@ -177,6 +177,11 @@ async def create_order(
|
||||
AddressDB.id == order.addressid
|
||||
).first()
|
||||
|
||||
# 是否为新人订单
|
||||
is_first_order = db.query(ShippingOrderDB).filter(
|
||||
ShippingOrderDB.userid == current_user.userid
|
||||
).count() == 0
|
||||
|
||||
# 创建订单
|
||||
db_order = ShippingOrderDB(
|
||||
orderid=orderid,
|
||||
@ -196,7 +201,8 @@ async def create_order(
|
||||
coupon_id=coupon_id,
|
||||
final_amount=price_info.final_amount,
|
||||
status=OrderStatus.CREATED,
|
||||
delivery_method=order.delivery_method
|
||||
delivery_method=order.delivery_method,
|
||||
is_first_order=is_first_order
|
||||
)
|
||||
if order.price_request.pickup_images:
|
||||
db_order.pickup_images = order.price_request.pickup_images
|
||||
@ -358,6 +364,7 @@ async def get_order_detail(
|
||||
"status": order.status,
|
||||
"complete_images": order.optimized_complete_images,
|
||||
"packages": package_list,
|
||||
"is_first_order": order.is_first_order,
|
||||
|
||||
"create_time": order.create_time,
|
||||
"complete_time": order.completed_time,
|
||||
@ -554,6 +561,7 @@ async def get_user_orders(
|
||||
"coupon_discount_amount": order.coupon_discount_amount,
|
||||
"point_discount_amount": order.point_discount_amount,
|
||||
"final_amount": order.final_amount,
|
||||
"is_first_order": order.is_first_order,
|
||||
"packages": package_list,
|
||||
"sub_orders": [PointProductOrderInfo.model_validate(sub_order) for sub_order in sub_orders],
|
||||
"address": {
|
||||
@ -743,6 +751,7 @@ async def get_deliveryman_orders(
|
||||
"coupon_discount_amount": order.coupon_discount_amount,
|
||||
"point_discount_amount": order.point_discount_amount,
|
||||
"final_amount": order.final_amount,
|
||||
"is_first_order": order.is_first_order,
|
||||
"packages": package_list,
|
||||
"sub_orders": [PointProductOrderInfo.model_validate(sub_order) for sub_order in sub_orders],
|
||||
"address": {
|
||||
|
||||
@ -68,6 +68,7 @@ class ShippingOrderDB(Base):
|
||||
completed_time = Column(DateTime(timezone=True), nullable=True) # 完成时间
|
||||
complete_images = Column(String(1000), nullable=True) # 完成订单的图片URL,多个URL用逗号分隔
|
||||
create_time = Column(DateTime(timezone=True), server_default=func.now())
|
||||
is_first_order = Column(Boolean, default=False) # 新人订单
|
||||
|
||||
# 配送员信息
|
||||
deliveryman_user_id = Column(Integer, ForeignKey("users.userid"), nullable=True)
|
||||
@ -154,12 +155,13 @@ class OrderInfo(BaseModel):
|
||||
received_time: Optional[datetime] = None
|
||||
pickup_time: Optional[datetime] = None
|
||||
completed_time: Optional[datetime] = None
|
||||
is_first_order: bool
|
||||
|
||||
def __init__(self, **data):
|
||||
super().__init__(**data)
|
||||
# 将逗号分隔的图片URL字符串转换为列表
|
||||
if self.complete_images and isinstance(self.complete_images, str):
|
||||
self.complete_images = self.complete_images.split(",")
|
||||
# def __init__(self, **data):
|
||||
# super().__init__(**data)
|
||||
# # 将逗号分隔的图片URL字符串转换为列表
|
||||
# if self.complete_images and isinstance(self.complete_images, str):
|
||||
# self.complete_images = self.complete_images.split(",")
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Loading…
Reference in New Issue
Block a user