import json import uuid from typing import Optional, List from sqlalchemy.ext.asyncio import AsyncSession from module_admin.entity.vo.common_vo import CrudResponseModel from module_admin.entity.vo.user_vo import CurrentUserModel from module_admin.entity.vo.dataint_vo import TsmcbPageObject, SaveTsmcbModel from module_admin.entity.do.dataint_do import SysTsmcb from module_admin.dao.tsmcb_dao import TsmcbDao from exceptions.exception import ServiceException, ServiceWarning from datetime import datetime from utils.common_util import CamelCaseUtil class TsmcbService: """ 智能问答服务层 """ @classmethod async def get_tsmcb_list_services(cls, result_db: AsyncSession, tsmcb_query: TsmcbPageObject, current_user: CurrentUserModel): result = await TsmcbDao.get_tsmcb_list(result_db, tsmcb_query) return CamelCaseUtil.transform_result(result) @classmethod async def save_tsmcb(cls, result_db: AsyncSession, saveTsmcbModel: SaveTsmcbModel, current_user: CurrentUserModel): if saveTsmcbModel.onum is None: # add saveTsmcbModel.onum = uuid.uuid4() addObj = SysTsmcb(**saveTsmcbModel.model_dump()) addObj.create_by = current_user.user.user_name addObj.create_time = datetime.now() addObj.update_by = current_user.user.user_name addObj.update_time = datetime.now() await TsmcbDao.insert_tsmcb(result_db, addObj) else: # update oldObj = await TsmcbDao.get_tsmcb_by_id(result_db, saveTsmcbModel.onum) if oldObj is None: raise ServiceException(message='所改对象不存在') saveObj = saveTsmcbModel.model_dump(exclude_unset=True) saveObj['update_by'] = current_user.user.user_name saveObj['update_time'] = datetime.now() await TsmcbDao.update_tsmcb(result_db, saveObj) await result_db.commit() return CrudResponseModel(is_success=True, message='操作成功') @classmethod async def delete_tsmcb(cls, db: AsyncSession, array: List[str]): await TsmcbDao.delete_tsmcb(db, array) await db.commit() return CrudResponseModel(is_success=True, message='操作成功')