controller.py 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. # from typing import Annotated
  2. from fastapi import APIRouter, Depends, Path, Query
  3. # from fastapi.responses import JSONResponse
  4. # from app.api.v1.module_system.auth.schema import AuthSchema
  5. # from app.common.response import ResponseSchema, SuccessResponse
  6. # from app.core.dependencies import AuthPermission
  7. # from app.core.logger import log
  8. from app.core.router_class import OperationLogRoute
  9. # from .schema import (
  10. # ExpenseQuotaCreateSchema,
  11. # ExpenseQuotaDeleteSchema,
  12. # ExpenseQuotaModifySchema,
  13. # ExpenseQuotaQueryOutSchema,
  14. # ExpenseQuotaQuerySchema,
  15. # QuotaCreateSchema,
  16. # QuotaListOutSchema,
  17. # QuotaOperationOutSchema,
  18. # QuotaOutSchema,
  19. # QuotaUpdateSchema,
  20. # )
  21. # from .service import QuotaService
  22. QuotaRouter = APIRouter(
  23. route_class=OperationLogRoute,
  24. prefix="/quota",
  25. tags=["额度管理"],
  26. )
  27. # @QuotaRouter.post(
  28. # "/expense/create",
  29. # summary="创建余额/点券",
  30. # description="创建余额或点券 (alipay.ebpp.invoice.expensecontrol.quota.create)",
  31. # response_model=ResponseSchema[QuotaOperationOutSchema],
  32. # )
  33. # async def create_expense_quota_controller(
  34. # data: ExpenseQuotaCreateSchema,
  35. # auth: Annotated[AuthSchema, Depends(AuthPermission(["module_payment:expense:quota:expense:create"]))],
  36. # ) -> JSONResponse:
  37. # result = await QuotaService.create_expense_quota_service(auth=auth, data=data)
  38. # log.info(f"创建余额/点券成功: out_biz_no={result.out_biz_no}")
  39. # return SuccessResponse(data=result, msg="创建余额/点券成功")
  40. # @QuotaRouter.post(
  41. # "/expense/query",
  42. # summary="查询余额/点券",
  43. # description="查询余额或点券 (alipay.ebpp.invoice.expensecontrol.quota.query)",
  44. # response_model=ResponseSchema[ExpenseQuotaQueryOutSchema],
  45. # )
  46. # async def query_expense_quota_controller(
  47. # data: ExpenseQuotaQuerySchema,
  48. # auth: Annotated[AuthSchema, Depends(AuthPermission(["module_payment:expense:quota:expense:query"]))],
  49. # ) -> JSONResponse:
  50. # result = await QuotaService.query_expense_quota_service(auth=auth, data=data)
  51. # log.info(f"查询余额/点券成功")
  52. # return SuccessResponse(data=result, msg="查询余额/点券成功")
  53. # @QuotaRouter.put(
  54. # "/expense/{out_biz_no}",
  55. # summary="修改余额/点券",
  56. # description="修改余额或点券 (alipay.ebpp.invoice.expensecontrol.quota.modify)",
  57. # response_model=ResponseSchema[QuotaOperationOutSchema],
  58. # )
  59. # async def modify_expense_quota_controller(
  60. # out_biz_no: Annotated[str, Path(description="外部业务编号")],
  61. # data: ExpenseQuotaModifySchema,
  62. # auth: Annotated[AuthSchema, Depends(AuthPermission(["module_payment:expense:quota:expense:modify"]))],
  63. # ) -> JSONResponse:
  64. # result = await QuotaService.modify_expense_quota_service(auth=auth, out_biz_no=out_biz_no, data=data)
  65. # log.info(f"修改余额/点券成功: {out_biz_no}")
  66. # return SuccessResponse(data=result, msg="修改余额/点券成功")
  67. # @QuotaRouter.delete(
  68. # "/expense/{out_biz_no}",
  69. # summary="删除额度",
  70. # description="删除额度 (alipay.ebpp.invoice.expensecontrol.quota.delete)",
  71. # response_model=ResponseSchema[QuotaOperationOutSchema],
  72. # )
  73. # async def delete_expense_quota_controller(
  74. # out_biz_no: Annotated[str, Path(description="外部业务编号")],
  75. # data: ExpenseQuotaDeleteSchema,
  76. # auth: Annotated[AuthSchema, Depends(AuthPermission(["module_payment:expense:quota:expense:delete"]))],
  77. # ) -> JSONResponse:
  78. # result = await QuotaService.delete_expense_quota_service(auth=auth, out_biz_no=out_biz_no, data=data)
  79. # log.info(f"删除额度成功: {out_biz_no}")
  80. # return SuccessResponse(data=result, msg="删除额度成功")
  81. # @QuotaRouter.post(
  82. # "",
  83. # summary="创建额度",
  84. # description="创建/发放额度",
  85. # response_model=ResponseSchema[QuotaOperationOutSchema],
  86. # )
  87. # async def create_quota_controller(
  88. # data: QuotaCreateSchema,
  89. # auth: Annotated[AuthSchema, Depends(AuthPermission(["module_payment:expense:quota:create"]))],
  90. # ) -> JSONResponse:
  91. # result = await QuotaService.create_quota_service(auth=auth, data=data)
  92. # log.info(f"创建额度成功: out_biz_no={result.out_biz_no}")
  93. # return SuccessResponse(data=result, msg="创建额度成功")
  94. # @QuotaRouter.get(
  95. # "",
  96. # summary="查询额度列表",
  97. # description="分页查询额度列表",
  98. # response_model=ResponseSchema[QuotaListOutSchema],
  99. # )
  100. # async def list_quota_controller(
  101. # auth: Annotated[AuthSchema, Depends(AuthPermission(["module_payment:expense:quota:list"]))],
  102. # page_no: Annotated[int, Query(description="页码")] = 1,
  103. # page_size: Annotated[int, Query(description="每页数量")] = 20,
  104. # employee_id: Annotated[str | None, Query(description="员工ID")] = None,
  105. # institution_id: Annotated[str | None, Query(description="制度ID")] = None,
  106. # ) -> JSONResponse:
  107. # search = {}
  108. # if employee_id:
  109. # search["employee_id"] = employee_id
  110. # if institution_id:
  111. # search["institution_id"] = institution_id
  112. # result = await QuotaService.list_service(
  113. # auth=auth, page_no=page_no, page_size=page_size, search=search
  114. # )
  115. # return SuccessResponse(data=result, msg="查询额度列表成功")
  116. # @QuotaRouter.get(
  117. # "/{out_biz_no}",
  118. # summary="查询额度详情",
  119. # response_model=ResponseSchema[QuotaOutSchema],
  120. # )
  121. # async def get_detail_controller(
  122. # out_biz_no: Annotated[str, Path(description="外部业务编号")],
  123. # auth: Annotated[AuthSchema, Depends(AuthPermission(["module_payment:expense:quota:detail"]))],
  124. # ) -> JSONResponse:
  125. # result = await QuotaService.detail_service(auth=auth, out_biz_no=out_biz_no)
  126. # return SuccessResponse(data=result, msg="查询额度详情成功")
  127. # @QuotaRouter.put(
  128. # "/{out_biz_no}",
  129. # summary="更新额度",
  130. # response_model=ResponseSchema[QuotaOperationOutSchema],
  131. # )
  132. # async def update_controller(
  133. # out_biz_no: Annotated[str, Path(description="外部业务编号")],
  134. # data: QuotaUpdateSchema,
  135. # auth: Annotated[AuthSchema, Depends(AuthPermission(["module_payment:expense:quota:update"]))],
  136. # ) -> JSONResponse:
  137. # result = await QuotaService.update_service(auth=auth, out_biz_no=out_biz_no, data=data)
  138. # log.info(f"更新额度成功: {out_biz_no}")
  139. # return SuccessResponse(data=result, msg="更新额度成功")