feat: implement order cancellation for assemblies and handle error responses

This commit is contained in:
2025-09-01 07:07:28 +03:00
parent 489d470c7b
commit ba7000f3d9
2 changed files with 15 additions and 0 deletions

View File

@@ -149,6 +149,14 @@ def cancel_assembly():
'message': 'У вас нет активных сборок' 'message': 'У вас нет активных сборок'
} }
return jsonify(response) return jsonify(response)
order_id = assembly.order_id
sipro_response = sipro.api.orders.cancel_order_assembly(order_id)
if not sipro_response.get('ok'):
response = {
'ok': False,
'message': f'Ошибка: {sipro_response.get("message")}'
}
return jsonify(response)
database.db.session.delete(assembly) database.db.session.delete(assembly)
database.db.session.commit() database.db.session.commit()
response = { response = {

View File

@@ -58,4 +58,11 @@ def attach_crpt(order_product_id, crpt):
def need_crpt_by_order_id(order_id): def need_crpt_by_order_id(order_id):
method = f'{router}/needCrptByOrder?orderId={order_id}' method = f'{router}/needCrptByOrder?orderId={order_id}'
response = client.method('GET', method) response = client.method('GET', method)
return response
def cancel_order_assembly(order_id):
method = f'{router}/cancelOrderAssembly'
data = {'orderId': order_id}
response = client.method('POST', method, data=data)
return response return response