routes.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # @description:
  2. # @author: licanglong
  3. # @date: 2025/11/20 14:22
  4. from flask import request
  5. from app.routes.invoice import invoice_router
  6. from app.db.dbsession import SessionLocal
  7. from app.models.Result import SysResult
  8. from app.models.params import ListInvoiceParams, ListInvoiceByTaxId
  9. from app.repositories.invoice_repo import InvoiceRepository
  10. @invoice_router.post('/list/by_tax_id')
  11. async def list_by_taxid(params: ListInvoiceByTaxId):
  12. data = request.json or {}
  13. session = SessionLocal()
  14. if not params or not params.tax_id:
  15. return SysResult.fail(msg="参数错误")
  16. try:
  17. repo = InvoiceRepository(session)
  18. invoices = await repo.list_by_taxid(params.tax_id)
  19. return SysResult.success(data=invoices.invoice_purchase_details)
  20. finally:
  21. session.close()
  22. @invoice_router.post('/list/by_params')
  23. async def list_by_params(params: ListInvoiceParams, pageNumber: int = 1, pageSize: int = 10):
  24. if not pageNumber or pageNumber == 0:
  25. pageNumber = 1
  26. if not pageSize or pageSize == 0:
  27. pageSize = 10
  28. session = SessionLocal()
  29. try:
  30. repo = InvoiceRepository(session)
  31. invoices = await repo.list_by_params(params.tax_id, params.hwmc, int(pageNumber),
  32. int(pageSize))
  33. return SysResult.success(data=invoices.invoice_purchase_details)
  34. finally:
  35. session.close()