# @description: # @author: licanglong # @date: 2025/11/20 14:22 from flask import request from app.routes.invoice import invoice_router from app.db.dbsession import SessionLocal from app.models.Result import SysResult from app.models.params import ListInvoiceParams, ListInvoiceByTaxId from app.repositories.invoice_repo import InvoiceRepository @invoice_router.post('/list/by_tax_id') async def list_by_taxid(params: ListInvoiceByTaxId): data = request.json or {} session = SessionLocal() if not params or not params.tax_id: return SysResult.fail(msg="参数错误") try: repo = InvoiceRepository(session) invoices = await repo.list_by_taxid(params.tax_id) return SysResult.success(data=invoices.invoice_purchase_details) finally: session.close() @invoice_router.post('/list/by_params') async def list_by_params(params: ListInvoiceParams, pageNumber: int = 1, pageSize: int = 10): if not pageNumber or pageNumber == 0: pageNumber = 1 if not pageSize or pageSize == 0: pageSize = 10 session = SessionLocal() try: repo = InvoiceRepository(session) invoices = await repo.list_by_params(params.tax_id, params.hwmc, int(pageNumber), int(pageSize)) return SysResult.success(data=invoices.invoice_purchase_details) finally: session.close()