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