column_service.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. # -*- coding: utf-8 -*-
  2. # @Author : YY
  3. # @FileName: column_service.py
  4. from typing import List, Tuple
  5. from ruoyi_generator.domain.entity import GenTableColumn
  6. from ruoyi_generator.mapper import gen_table_column_mapper
  7. class GenTableColumnService:
  8. """代码生成表列服务类"""
  9. def select_gen_table_column_list_by_table_id(self, table_id: int) -> Tuple[List[GenTableColumn], int]:
  10. """
  11. 根据表ID查询代码生成表列列表
  12. Args:
  13. table_id (int): 表ID
  14. Returns:
  15. Tuple[List[GenTableColumn], int]: 代码生成表列列表和总数
  16. """
  17. columns = gen_table_column_mapper.select_list_by_table_id(table_id)
  18. # 实现分页逻辑
  19. page_num = 1
  20. page_size = 10
  21. # 从flask的g对象或request中获取分页参数
  22. try:
  23. from flask import g, request
  24. if hasattr(g, 'criterian_meta') and g.criterian_meta.page:
  25. page_num = g.criterian_meta.page.page_num
  26. page_size = g.criterian_meta.page.page_size
  27. elif request and request.args.get('pageNum') and request.args.get('pageSize'):
  28. page_num = int(request.args.get('pageNum', 1))
  29. page_size = int(request.args.get('pageSize', 10))
  30. except Exception:
  31. pass
  32. start = (page_num - 1) * page_size
  33. end = start + page_size
  34. paginated_columns = columns[start:end]
  35. return paginated_columns, len(columns)
  36. def insert_gen_table_column(self, gen_table_column: GenTableColumn) -> bool:
  37. """
  38. 插入代码生成表列
  39. Args:
  40. gen_table_column (GenTableColumn): 代码生成表列对象
  41. Returns:
  42. bool: 是否成功
  43. """
  44. try:
  45. gen_table_column.create_by = "admin"
  46. result = gen_table_column_mapper.insert(gen_table_column)
  47. return result > 0
  48. except Exception as e:
  49. print(f"插入代码生成表列失败: {e}")
  50. return False
  51. def update_gen_table_column(self, gen_table_column: GenTableColumn) -> bool:
  52. """
  53. 更新代码生成表列
  54. Args:
  55. gen_table_column (GenTableColumn): 代码生成表列对象
  56. Returns:
  57. bool: 是否成功
  58. """
  59. try:
  60. gen_table_column.update_by = "admin"
  61. gen_table_column_mapper.update(gen_table_column)
  62. return True
  63. except Exception as e:
  64. print(f"更新代码生成表列失败: {e}")
  65. return False
  66. def delete_gen_table_column_by_id(self, column_id: int) -> bool:
  67. """
  68. 根据ID删除代码生成表列
  69. Args:
  70. column_id (int): 列ID
  71. Returns:
  72. bool: 是否成功
  73. """
  74. try:
  75. gen_table_column_mapper.delete_by_id(column_id)
  76. return True
  77. except Exception as e:
  78. print(f"删除代码生成表列失败: {e}")
  79. return False