增加项目的各个功能

This commit is contained in:
qiaoxinjiu
2026-05-07 19:21:19 +08:00
parent aba1618f89
commit ee6cd4ae66
121 changed files with 9346 additions and 43 deletions

View File

@@ -0,0 +1,80 @@
# encoding: UTF-8
from .baseCrudController import BaseCrudController
from ..model.dataBuilderModel import DataBuilder, DataTask
from ..service.dataBuilderService import DataBuilderService
class DataBuilderController(BaseCrudController):
"""造数器与造数任务相关接口控制器。"""
def builder_list(self):
"""分页查询造数器列表,可按项目过滤。"""
filters = []
project_id = self._get(self.req_data, 'projectId')
if project_id:
filters.append(DataBuilder.project_id == int(project_id))
items, total = DataBuilderService.list_by_filters(self.session, DataBuilder, filters,
self._get(self.req_data, 'pageNo', default=1),
self._get(self.req_data, 'pageSize', default=20),
DataBuilder.created_time)
return {'list': self.serialize_list(items, ['is_delete']), 'total': total}
def builder_detail(self):
"""查询造数器详情。"""
builder_id = self._get(self.req_data, 'builderId', 'id')
if not builder_id:
return {}, 'builderId 为必传参数'
item = DataBuilderService.get_by_id(self.session, DataBuilder, builder_id)
if not item:
return {}, '未查询到对应造数器!'
return self.serialize(item, ['is_delete']), ''
def builder_create(self):
"""创建造数器definition 保存流程编排或模板定义。"""
project_id = self._get(self.req_data, 'projectId')
name = self._get(self.req_data, 'name')
definition = self._get(self.req_data, 'definition')
if not project_id or not name or definition is None:
return 0, 'projectId、name、definition 为必传参数'
add_info = {'project_id': project_id, 'name': name, 'description': self._get(self.req_data, 'description'),
'builder_type': int(self._get(self.req_data, 'builderType', default=1)), 'definition': definition,
'input_schema': self._get(self.req_data, 'inputSchema'),
'output_example': self._get(self.req_data, 'outputExample'),
'created_by': self._get(self.req_data, 'createdBy'), 'is_delete': 0}
return DataBuilderService.create(self.session, DataBuilder, add_info)
def builder_update(self):
builder_id = self._get(self.req_data, 'builderId', 'id')
if not builder_id:
return 0, 'builderId 为必传参数'
update_info = {}
for req_key, column_key in [('name', 'name'), ('description', 'description'), ('builderType', 'builder_type'),
('definition', 'definition'), ('inputSchema', 'input_schema'),
('outputExample', 'output_example')]:
value = self._get(self.req_data, req_key)
if value is not None:
update_info[column_key] = value
return DataBuilderService.update_by_id(self.session, DataBuilder, builder_id, update_info)
def builder_delete(self):
builder_id = self._get(self.req_data, 'builderId', 'id')
if not builder_id:
return 0, 'builderId 为必传参数'
return DataBuilderService.delete_by_id(self.session, DataBuilder, builder_id)
def builder_execute(self):
builder_id = self._get(self.req_data, 'builderId')
if not builder_id:
return {}, 'builderId 为必传参数'
return DataBuilderService.execute_builder(self.session, builder_id,
self._get(self.req_data, 'params', default={}),
self._get(self.req_data, 'createdBy'))
def task_status(self):
task_id = self._get(self.req_data, 'taskId')
if not task_id:
return {}, 'taskId 为必传参数'
item = DataBuilderService.get_by_id(self.session, DataTask, task_id, soft_delete=False)
if not item:
return {}, '未查询到对应任务!'
return self.serialize(item), ''