ARAI/Backend_correct/app.py
2024-03-09 21:58:31 +01:00

107 lines
3.5 KiB
Python

from flask import Flask, request, jsonify
from flask_cors import CORS, cross_origin
import pathlib
import sys
import pandas as pd
import os
app = Flask(__name__)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
@cross_origin()
@app.route("/", methods=['POST'])
def recommended_mediators():
data = request.get_json()
input = data.get('request_data', {})
liczba_miesiecy, koszt = calc_stats("2", 25000, True)
top_5 = {
"response_type": "recommended_mediators",
"response_data": {"first": {
"cost_of_trial": koszt,
"time_of_trial": liczba_miesiecy
}, "second": [{
"name": "Mateusz Szpyruk",
"specialization": "Prawo podatkowe",
"location": input.get("location"),
"ai_rating": 99,
"user_rating": 99,
"number_of_opinions": 5
}, {
"name": "Jan Kowalski",
"specialization": "Prawo pracy",
"location": input.get("location"),
"ai_rating": 90,
"user_rating": 99,
"number_of_opinions": 5
}, {
"name": "Jan Kowalski",
"specialization": "Prawo pracy",
"location": input.get("location"),
"ai_rating": 90,
"user_rating": 99,
"number_of_opinions": 5
}]}
}
return jsonify(top_5)
def calc_stats(typ,kwota,biegly):
mapka = {'1':'cywilnej','2':'górniczej','3':'gospodarczej','4':'prawa pracy & ubezpieczeń'}
koszt_bieglego= 1789.42
koszt = 0
danePath = 'dane.xlsx'
if kwota < 100000 and typ != '4':
df = pd.read_excel(danePath,sheet_name='rejon')
mask = df['RODZAJ'] == int(typ)
liczba_miesiecy = df[mask]['mean']
procent = (1 - df[mask]['procent do 12 miesięcy']) * 100
koszt_sadu = 0
koszt_adwokata = 0
if kwota <= 500:
koszt_sadu = 30
koszt_adwokata = 90
elif kwota > 500 and kwota <= 1500:
koszt_sadu = 100
koszt_adwokata = 270
elif kwota > 1500 and kwota <= 4000:
koszt_sadu = 200
elif kwota > 4000 and kwota <= 7500:
koszt_sadu = 400
elif kwota > 7500 and kwota <= 10000:
koszt_sadu = 500
elif kwota > 10000 and kwota <= 15000:
koszt_sadu = 750
elif kwota > 15000 and kwota <= 20000:
koszt_sadu = 1000
elif kwota > 20000:
koszt_sadu = kwota * 0.05
if koszt_sadu > 20000:
koszt_sadu = 20000
if kwota > 1500 and kwota <= 5000:
koszt_adwokata = 900
elif kwota > 5000 and kwota <= 10000:
koszt_adwokata = 1800
elif kwota > 10000 and kwota <= 50000:
koszt_adwokata = 3600
elif kwota > 50000 and kwota <= 100000:
koszt_adwokata = 5400
if biegly == 'True':
koszt = koszt_sadu + koszt_adwokata + koszt_bieglego
else:
koszt = koszt_sadu + koszt_adwokata
print(f"Średni czas trwania rozprawy typu {mapka[typ]} wynosi {round(liczba_miesiecy,0).to_string(index=False)} miesięcy, a {procent.to_string(index=False)}% spraw trwa dłuzej niz rok, jej minimalny koszt wyniesie {koszt}")
returnMiesiace = round(liczba_miesiecy,0).to_string(index=False)
print(returnMiesiace, koszt)
return returnMiesiace, koszt
if __name__ == '__main__':
app.run(debug=True)