Commit inicial
This commit is contained in:
commit
5385af660d
10 changed files with 173 additions and 0 deletions
7
app/v1/api.py
Normal file
7
app/v1/api.py
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
from fastapi import APIRouter
|
||||
|
||||
from app.v1.modules.veiculo.router import veiculo_router
|
||||
|
||||
api_router = APIRouter()
|
||||
|
||||
api_router.include_router(veiculo_router)
|
||||
0
app/v1/modules/escrituracao/router.py
Normal file
0
app/v1/modules/escrituracao/router.py
Normal file
5
app/v1/modules/veiculo/model.py
Normal file
5
app/v1/modules/veiculo/model.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class CancelamentoPropostaInput(BaseModel):
|
||||
id: str
|
||||
30
app/v1/modules/veiculo/router.py
Normal file
30
app/v1/modules/veiculo/router.py
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
from fastapi import APIRouter, HTTPException, status
|
||||
|
||||
from app.core.database import Conexao
|
||||
from app.v1.modules.veiculo.model import CancelamentoPropostaInput
|
||||
from app.v1.modules.veiculo.services import CancelamentoProposta
|
||||
|
||||
veiculo_router = APIRouter(
|
||||
prefix='/veiculos'
|
||||
)
|
||||
|
||||
# Rota de cancelamento (logica pra informar que o processo foi cancelado, esses vendedores que ficam crinando proposta pra dps cancelar é foda)
|
||||
@veiculo_router.post(
|
||||
path='/cancelar_proposta'
|
||||
)
|
||||
def cancelar_proposta(
|
||||
dados_proposta_holmes: CancelamentoPropostaInput,
|
||||
conexao: Conexao,
|
||||
):
|
||||
repo = CancelamentoProposta(conexao)
|
||||
|
||||
cancelou = repo.cancelar_no_banco(dados_proposta_holmes.id)
|
||||
|
||||
if not cancelou:
|
||||
raise HTTPException(
|
||||
status_code= status.HTTP_404_NOT_FOUND,
|
||||
detail= "Proposta não encontrada no banco de dados"
|
||||
)
|
||||
return {
|
||||
'mensagem': 'Proposta cancelada'
|
||||
}
|
||||
17
app/v1/modules/veiculo/services.py
Normal file
17
app/v1/modules/veiculo/services.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
from sqlalchemy.pool import PoolProxiedConnection
|
||||
|
||||
|
||||
class CancelamentoProposta:
|
||||
def __init__(self, conexao: PoolProxiedConnection) -> None:
|
||||
self.conexao = conexao
|
||||
|
||||
def cancelar_no_banco(self, id_processo: str) -> bool:
|
||||
cursor = self.conexao.cursor()
|
||||
cursor.execute("""
|
||||
UPDATE HOLMES_FAT_ESTOQUE
|
||||
SET STATUS = 'CANCELADO', DTA_ALTERACAO_STATUS = GETDATE()
|
||||
WHERE ID_PROCESSO = ?
|
||||
""", id_processo)
|
||||
|
||||
self.conexao.commit()
|
||||
return cursor.rowcount > 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue