update
This commit is contained in:
parent
7312aedaaf
commit
5e8ba2203b
@ -103,12 +103,7 @@ def calculate_price(price_request: OrderPriceCalculateRequest,user: UserDB,db: S
|
||||
extra_package_price = float(community.extra_package_price)
|
||||
extra_package_threshold = int(community.extra_package_threshold)
|
||||
|
||||
original_amount = base_price
|
||||
|
||||
# 超过阈值的包裹额外收费
|
||||
if package_count > extra_package_threshold:
|
||||
extra_count = package_count - extra_package_threshold
|
||||
original_amount += extra_count * extra_package_price
|
||||
original_amount = round(base_price + extra_package_price * (package_count - extra_package_threshold), 2)
|
||||
|
||||
result.price_info.package_count = package_count
|
||||
result.price_info.pickup_images_count = pickup_images_count
|
||||
@ -145,7 +140,7 @@ def calculate_price(price_request: OrderPriceCalculateRequest,user: UserDB,db: S
|
||||
remaining_amount -= points_discount_amount
|
||||
|
||||
# 计算最终金额
|
||||
result.price_info.final_amount = remaining_amount
|
||||
result.price_info.final_amount = round(remaining_amount, 2)
|
||||
|
||||
# 计算价格详情
|
||||
result.price_detail_text = f"基础配送费{round(base_price, 1)}元 (含{extra_package_threshold}件包裹),超出部分{round(extra_package_price, 1)}元/件"
|
||||
|
||||
@ -176,10 +176,11 @@ async def accept_additional_fee(
|
||||
# 更新加价请求
|
||||
@router.put("/{request_id}", response_model=ResponseModel)
|
||||
async def update_additional_fee(
|
||||
background_tasks: BackgroundTasks,
|
||||
request_id: int,
|
||||
new_fee_request: OrderAdditionalFeeUpdate,
|
||||
db: Session = Depends(get_db),
|
||||
current_user: UserDB = Depends(get_deliveryman_user)
|
||||
deliveryman: UserDB = Depends(get_deliveryman_user)
|
||||
):
|
||||
"""更新加价请求"""
|
||||
# 获取加价请求
|
||||
@ -187,12 +188,19 @@ async def update_additional_fee(
|
||||
OrderAdditionalFeeDB.id == request_id,
|
||||
OrderAdditionalFeeDB.result == AdditionalFeeResult.PENDING
|
||||
).first()
|
||||
|
||||
order = db.query(ShippingOrderDB).filter(
|
||||
ShippingOrderDB.orderid == old_fee_request.orderid
|
||||
).first()
|
||||
|
||||
if not order:
|
||||
return error_response(code=404, message="订单不存在")
|
||||
|
||||
if not old_fee_request:
|
||||
return error_response(code=404, message="加价请求不存在")
|
||||
|
||||
# 检查是否是订单用户
|
||||
if old_fee_request.deliveryman_id != current_user.userid:
|
||||
if old_fee_request.deliveryman_id != deliveryman.userid:
|
||||
return error_response(code=403, message="您无权处理该加价请求")
|
||||
|
||||
# 更新加价请求
|
||||
@ -203,6 +211,27 @@ async def update_additional_fee(
|
||||
try:
|
||||
db.commit()
|
||||
db.refresh(old_fee_request)
|
||||
|
||||
# 发送通知给用户
|
||||
user = db.query(UserDB).filter(UserDB.userid == order.userid).first()
|
||||
if user:
|
||||
await qcloud_manager.send_sms_code_additional_fee(user.phone)
|
||||
|
||||
if user.mp_openid:
|
||||
#发送模板消息
|
||||
data={
|
||||
"character_string1": old_fee_request.orderid,
|
||||
"thing2": deliveryman.nickname,
|
||||
"time3": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
}
|
||||
background_tasks.add_task(
|
||||
sent_order_status_change_message,
|
||||
openid=user.mp_openid,
|
||||
template_id=settings.ADDITIONAL_FEE_REQUEST_TEMPLATE_ID,
|
||||
data=data,
|
||||
orderid=old_fee_request.orderid
|
||||
)
|
||||
|
||||
return success_response(data=OrderAdditionalFeeInfo.model_validate(old_fee_request))
|
||||
except Exception as e:
|
||||
db.rollback()
|
||||
|
||||
@ -44,6 +44,7 @@ class RequestLoggerMiddleware(BaseHTTPMiddleware):
|
||||
if body_bytes:
|
||||
body = json.loads(body_bytes)
|
||||
body = self.filter_sensitive_data(body, path)
|
||||
print(f"请求体: {body}")
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user