You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							97 lines
						
					
					
						
							3.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							97 lines
						
					
					
						
							3.5 KiB
						
					
					
				
								from typing import Union, Optional, List
							 | 
						|
								from pydantic import BaseModel, ConfigDict, Field
							 | 
						|
								from module_admin.annotation.pydantic_annotation import as_query
							 | 
						|
								from datetime import datetime
							 | 
						|
								from pydantic_validation_decorator import NotBlank, Size
							 | 
						|
								from pydantic.alias_generators import to_camel
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class MetataskModel(BaseModel):
							 | 
						|
								    """
							 | 
						|
								    参数配置表对应pydantic模型
							 | 
						|
								    """
							 | 
						|
								    model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
							 | 
						|
								    metatask_id: Optional[int] = Field(default=None, description='任务主键')
							 | 
						|
								    metatask_name: Optional[str] = Field(default=None, description='任务名称')
							 | 
						|
								    metatask_type: Optional[str] = Field(default=None, description='任务类型(0 采集 1加工')
							 | 
						|
								    ds_time: Optional[datetime] = Field(default=None, description='调度时间')
							 | 
						|
								    create_by: Optional[str] = Field(default=None, description='创建人')
							 | 
						|
								    create_time: Optional[datetime] = Field(default=None, description='创建时间')
							 | 
						|
								    update_by: Optional[str] = Field(default=None, description='更新人')
							 | 
						|
								    update_time: Optional[datetime] = Field(default=None, description='更新时间')
							 | 
						|
								    remark: Optional[str] = Field(default=None, description='备注')
							 | 
						|
								    status: Optional[str] = Field(default=None, description='状态')
							 | 
						|
								    dbRName: Optional[str] = Field(default=None, description='数据源')
							 | 
						|
								    dbRCode: Optional[int] = Field(default=None, description='数据源code')
							 | 
						|
								    dbName: Optional[str] = Field(default=None, description='数据库')
							 | 
						|
								    dbCode: Optional[str] = Field(default=None, description='数据库code')
							 | 
						|
								    dbSName: Optional[str] = Field(default=None, description='模式')
							 | 
						|
								    dbSCode: Optional[str] = Field(default=None, description='模式code')
							 | 
						|
								    acquisitionType: Optional[str] = Field(default=None, description='采集方式')
							 | 
						|
								    ac_target: Optional[str] = Field(default=None, description='采集目标')
							 | 
						|
								    ds_ids: Optional[str] = Field(default=None, description='ds采集ids')
							 | 
						|
								    ds_types: Optional[str] = Field(default=None, description='ds采集类型')
							 | 
						|
								    schId: Optional[str] = Field(default=None, description='调度id')
							 | 
						|
								    
							 | 
						|
								
							 | 
						|
								    class Metatask:
							 | 
						|
								        orm_mode = True
							 | 
						|
								    @NotBlank(field_name='metatask_name', message='任务名称不能为空')
							 | 
						|
								    @Size(field_name='metatask_name', min_length=0, max_length=100, message='任务名称长度不能超过50个字符')
							 | 
						|
								    def get_metatask_name(self):
							 | 
						|
								        return self.metatask_name
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								    def validate_fields(self):
							 | 
						|
								        self.get_metatask_name()
							 | 
						|
								   
							 | 
						|
								
							 | 
						|
								class MetataskQueryModel(MetataskModel):
							 | 
						|
								    """
							 | 
						|
								    元数据任务不分页查询模型
							 | 
						|
								    """
							 | 
						|
								    begin_time: Optional[str]= Field(default=None, description='开始时间')
							 | 
						|
								    end_time: Optional[str]= Field(default=None, description='结束时间')
							 | 
						|
								
							 | 
						|
								@as_query
							 | 
						|
								class MetataskPageObject(MetataskQueryModel):
							 | 
						|
								    """
							 | 
						|
								    元数据任务分页查询模型
							 | 
						|
								    """
							 | 
						|
								    page_num: int = Field(default=1, description='当前页码')
							 | 
						|
								    page_size: int = Field(default=10, description='每页记录数')
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class MetataskPageObjectResponse(BaseModel):
							 | 
						|
								    """
							 | 
						|
								    元数据任务列表分页查询返回模型
							 | 
						|
								    """
							 | 
						|
								    rows: List[Union[MetataskModel, None]] = []
							 | 
						|
								    page_num: int
							 | 
						|
								    page_size: int
							 | 
						|
								    total: int
							 | 
						|
								    has_next: bool
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class DeleteMetataskModel(BaseModel):
							 | 
						|
								    """
							 | 
						|
								    删除参数配置模型
							 | 
						|
								    """
							 | 
						|
								    metatask_ids: str
							 | 
						|
								    ds_ids: str
							 | 
						|
								
							 | 
						|
								class OperaMetataskModel(BaseModel):
							 | 
						|
								    """
							 | 
						|
								    上下线模型
							 | 
						|
								    """
							 | 
						|
								    id: str
							 | 
						|
								    type:str
							 | 
						|
								
							 | 
						|
								class CrudMetataskResponse(BaseModel):
							 | 
						|
								    """
							 | 
						|
								    操作参数配置响应模型
							 | 
						|
								    """
							 | 
						|
								    is_success: bool
							 | 
						|
								    message: str
							 | 
						|
								
							 | 
						|
								    
							 | 
						|
								
							 |