diff --git a/website/db/enterprise_busi_model/__init__.py b/website/db/enterprise_busi_model/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/website/db/enterprise_busi_model.py b/website/db/enterprise_busi_model/enterprise_busi_model.py
similarity index 55%
rename from website/db/enterprise_busi_model.py
rename to website/db/enterprise_busi_model/enterprise_busi_model.py
index 9c92868..c47a3cb 100644
--- a/website/db/enterprise_busi_model.py
+++ b/website/db/enterprise_busi_model/enterprise_busi_model.py
@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
 import json
 import copy
+import logging
 from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy import Column, Integer, String, DateTime, func
 from typing import Any, Dict, List, Optional, Tuple, Union
@@ -48,22 +49,22 @@ CREATE TABLE `enterprise_busi_model_node` (
 class EnterpriseBusiModel(Base):
     __tablename__ = 'enterprise_busi_model'
 
-    id = Column(Integer, primary_key=True)
-    suid = Column(String(10), nullable=False, default='')
-    entity_id = Column(Integer, nullable=False)
-    entity_suid = Column(String(10), nullable=False)
+    id = Column(Integer, primary_key=True, autoincrement=True)
+    suid = Column(String(10), nullable=False, default='', comment='short uuid')
+    entity_id = Column(Integer, nullable=False, comment='企业id')
+    entity_suid = Column(String(10), nullable=False, comment='企业uuid')
     name = Column(String(255), nullable=False)
-    comment = Column(String(255))
-    basemodel_ids = Column(String(255), nullable=False)
-    business_logic = Column(String(32))
-    business_conf_file = Column(String(32))
-    business_conf_param = Column(String(255))
+    comment = Column(String(255), nullable=True, default='')
+    base_models = Column(String(255), nullable=False, comment='关联的基础模型,json list, [{"id":123,"suid":"xxx"},...]')
+    business_logic = Column(String(32), nullable=True, comment='业务代码压缩包的md5')
+    business_conf_file = Column(String(32), nullable=True, comment='业务配置参数压缩包的文件md5')
+    business_conf_param = Column(String(255), nullable=True, comment='业务配置的参数,json字符串,eg: ''{"a":1, "b":2}''')
     delete = Column(Integer, default=0)
-    create_time = Column(DateTime, default=func.current_timestamp())
-    update_time = Column(DateTime, default=func.current_timestamp(), onupdate=func.current_timestamp())
+    create_time = Column(DateTime, nullable=False, default=func.now(), onupdate=func.now())
+    update_time = Column(DateTime, nullable=False, default=func.now(), onupdate=func.now())
 
     def __repr__(self):
-        return f'<EnterpriseBusiModel(id={self.id}, suid={self.suid})>'
+        return f"EnterpriseBusiModel(id={self.id}, suid='{self.suid}', name='{self.name}')"
 
 class EnterpriseBusiModelNode(Base):
     __tablename__ = 'enterprise_busi_model_node'
@@ -83,7 +84,10 @@ class EnterpriseBusiModelNode(Base):
 class EnterpriseBusiModelRepository(object):
 
     def get_by_id(self, id: int) -> Optional[EnterpriseBusiModel]:
-        return self.db.query(EnterpriseBusiModel).filter(EnterpriseBusiModel.id == id).first()
+        with get_session() as session:            
+            model = session.query(EnterpriseBusiModel).filter(EnterpriseBusiModel.id == id).first()
+            return model
+        
     
     def insert_busi_model(self, data: Dict):
         entity_suid = EnterpriseEntityRepository().get_entity_suid(data['entity_id'])
@@ -99,7 +103,7 @@ class EnterpriseBusiModelRepository(object):
                 'id': base_model_id,
                 'suid': base_model_suid
                 })
-        data['basemodel_ids'] = json.dumps(base_model)
+        data['base_models'] = json.dumps(base_model)
         new_data = copy.copy(data)
 
         with get_session() as session:
@@ -109,6 +113,27 @@ class EnterpriseBusiModelRepository(object):
 
             return model.id, model.suid
         
+    def edit_busi_model(self, data: Dict):
+        base_model_ids = [int(model_id) for model_id in data['basemodel_ids'].split(',')]
+        base_model_db = DB_alg_model.ModelRepositry()
+        base_model = []
+        for base_model_id in base_model_ids:
+            base_model_suid = base_model_db.get_suid(base_model_id)
+            base_model.append({
+                'id': base_model_id,
+                'suid': base_model_suid
+                })
+            
+        data['base_models'] = json.dumps(base_model)
+        with get_session() as session:
+            try:
+                session.query(EnterpriseBusiModel).filter(EnterpriseBusiModel.id == data['id']).update(data)
+            except Exception as e:
+                logging.error("Failed to edit device")
+            session.commit()
+
+        return
+
 
     def get_busi_model_by_id(self, id: int) -> Optional[EnterpriseBusiModel]:
         with get_session() as session:
@@ -116,6 +141,45 @@ class EnterpriseBusiModelRepository(object):
         return model
         
     
+    def list_enterprise_busi_model(self, entity_id: int, page_no: int, page_size: int) -> Dict[Any, Any]:
+        """
+        获取企业部署的业务模型列表
+        
+        Args:
+            session (Session): SQLAlchemy 数据库会话
+            entity_id (int): 企业 ID
+            page_no (int): 页码
+            page_size (int): 每页数量
+        
+        Returns:
+            dict: 包含总数和数据列表的字典
+        """
+        with get_session() as session:            
+            total_count = session.query(func.count(EnterpriseBusiModel.id)).filter(EnterpriseBusiModel.entity_id == entity_id).scalar()
+            
+            models = (
+                session.query(
+                    EnterpriseBusiModel.id.label("model_id"),
+                    EnterpriseBusiModel.name.label("model_name"),
+                    EnterpriseBusiModel.create_time
+                )
+                .filter(EnterpriseBusiModel.entity_id == entity_id)
+                .offset((page_no - 1) * page_size)
+                .limit(page_size)
+                .all()
+            )
+        
+        return {
+            "count": total_count,
+            "data": [
+                {
+                    "model_id": model.model_id,
+                    "model_name": model.model_name,
+                    "create_time": model.create_time.strftime("%Y-%m-%d %H:%M:%S"),
+                }
+                for model in models
+            ]
+        }
 
 class EnterpriseBusiModelNodeRepository(object):
     # def get_by_id(self, id: int) -> Optional[EnterpriseBusiModelNode]:
@@ -142,3 +206,13 @@ class EnterpriseBusiModelNodeRepository(object):
             return 
         
 
+    def get_nodes_by_busi_model(self, busi_model_id: int) -> List[EnterpriseBusiModelNode]:
+        with get_session() as session:
+            nodes = session.query(EnterpriseBusiModelNode).filter(EnterpriseBusiModelNode.busi_model_id == busi_model_id).all()
+        return nodes
+    
+
+    def delete_by_busi_model_id(self, busi_model_id: int) -> None:
+        with get_session() as session:
+            session.query(EnterpriseBusiModelNode).filter(EnterpriseBusiModelNode.busi_model_id == busi_model_id).delete()
+            session.commit()
\ No newline at end of file
diff --git a/website/db/file/__init__.py b/website/db/file/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/website/db/file/file.py b/website/db/file/file.py
new file mode 100644
index 0000000..b6afb53
--- /dev/null
+++ b/website/db/file/file.py
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+
+from typing import List, Dict, Any
+
+from sqlalchemy import Column, Integer, String, DateTime, func, text
+from sqlalchemy.ext.declarative import declarative_base
+from website.db_mysql import get_session, to_json_list, to_json
+
+
+"""
+CREATE TABLE `files` (
+  `id` int NOT NULL AUTO_INCREMENT,
+  `filename` varchar(255) NOT NULL DEFAULT '',
+  `filepath` varchar(255) NOT NULL DEFAULT '',
+  `md5_str` varchar(32) NOT NULL DEFAULT '',
+  `filesize` int DEFAULT NULL,
+  `filetype` varchar(50) DEFAULT '',
+  `user` int DEFAULT '0',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='文件表';
+"""
+
+
+
+Base = declarative_base()
+
+class File(Base):
+    __tablename__ = 'files'
+
+    id = Column(Integer, primary_key=True, autoincrement=True)
+    filename = Column(String(255), nullable=False, default='')
+    filepath = Column(String(255), nullable=False, default='')
+    md5_str = Column(String(32), nullable=False, default='')
+    filesize = Column(Integer, nullable=True)
+    filetype = Column(String(50), nullable=True, default='')
+    user = Column(Integer, nullable=True, default=0)
+    create_time = Column(DateTime, nullable=False, default=func.now())
+
+    def __repr__(self):
+        return f"File(id={self.id}, filename='{self.filename}', filepath='{self.filepath}')"
+    
+
+class FileRepository(object):
+
+    def get_file_by_md5(self, md5_list: List[str]) -> List(File):
+        with get_session() as session:
+            # return (
+            #     session.query(File).filter(File.md5_str == md5_str).first()
+            # )
+            
+            return session.query(File).filter(File.md5_str.in_(md5_list)).all()
+                
+        
\ No newline at end of file
diff --git a/website/handlers/enterprise_busi_model/handler.py b/website/handlers/enterprise_busi_model/handler.py
index 21adc21..0427096 100644
--- a/website/handlers/enterprise_busi_model/handler.py
+++ b/website/handlers/enterprise_busi_model/handler.py
@@ -1,22 +1,49 @@
 # -*- coding: utf-8 -*-
-
+import json
 import logging
 from sqlalchemy import text
 
 from website import db_mysql, errors
 from website.handler import APIHandler, authenticated
 from website.util import shortuuid
-from website.db import enterprise_busi_model as DB_BusiModel
+from website.db.enterprise_busi_model import enterprise_busi_model as DB_BusiModel
+from website.db.file import file as DB_File
 
 
 class ListHandler(APIHandler):
     """
-    
+    - 描述:企业部署的业务模型列表
+    - 请求方式:post
+    - 请求参数:
+    > - pageNo
+    > - pageSize
+    > - entity_id, int, 企业id
+    - 返回值:
+    ```
+        {
+            "count": 123,
+            "data": [
+                {
+                    "model_id": 123,  # 模型id
+                    "model_name": "xxx", # 模型名称
+                    "create_time": "xxxx", # 创建时间
+                },
+                ...
+            ]
+        }
+    ```
     """
     @authenticated
     def post(self):
+        pageNo = self.get_argument("pageNo", 1)
+        pageSize = self.get_argument("pageSize", 10)
+        entity_id = self.get_argument("entity_id")
+        if not entity_id:
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误")
 
-        self.finish()
+        db_busimodel = DB_BusiModel.EnterpriseBusiModelRepository()
+        result = db_busimodel.list_enterprise_busi_model(entity_id, pageNo, pageSize)
+        self.finish({"count": result["count"], "data": result["data"]})
 
 
 class AddHandler(APIHandler):
@@ -114,36 +141,111 @@ class InfoHandler(APIHandler):
 
         if not busi_model_data:
             raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "业务模型不存在")
-    
-        
 
-        model_data = {
-            "name": busi_model_data.name, 
-            "comment": busi_model_data.comment,
-            "basemodel_ids": ",".join([str(x) for x in busi_model_data.basemodel_list]),
-            "business_logic": busi_model_data.business_logic,
-            "business_conf_file": busi_model_data.business_conf_file,
-            "business_conf_param": busi_model_data.business_conf
-        }
+        db_file = DB_File.FileRepository()
+        files = db_file.get_file_by_md5([busi_model_data.business_conf_file, busi_model_data.business_logic])
+        business_conf_name = files[0].filename
+        business_logic_name = files[1].filename
 
+        # business_conf_name = db_file.get_file_by_md5(busi_model_data.business_conf_file)
+        # business_logic_name = db_file.get_file_by_md5(busi_model_data.business_logic)
+        basemodel_list = json.loads(busi_model_data.basemodel)
+
+        db_model_node = DB_BusiModel.EnterpriseBusiModelNodeRepository()
+        link_nodes = db_model_node.get_nodes_by_busi_model(busimodel_id)
+        link_node_list = []
+        for node in link_nodes:
+            link_node_list.append(node.node_id)
 
         self.finish({
-            "name": model_data["name"], 
-            "comment": model_data["comment"],
-            "basemodel_list": model_data["basemodel_ids"],
-            "business_logic": model_data["business_logic"],
-            "business_conf_file": model_data["business_conf_file"],
-            "business_conf_param": model_data["business_conf_param"],
-            "link_node_list": model_data["link_node_ids"]
+            "name": busi_model_data.name, 
+            "comment": busi_model_data.comment,
+            "basemodel_list":basemodel_list,   # 关联模型
+            "business_logic_name": business_logic_name,    # 业务代码压缩包文件名
+            "business_logic_md5": busi_model_data.business_logic,     # 业务代码压缩包md5
+            "business_conf_name": business_conf_name,     # 业务参数配置文件名
+            "business_conf_md5": busi_model_data.business_conf_file,    # 业务参数配置md5
+            "business_conf_param": busi_model_data.business_conf_param,    # 业务参数配置的字段
+            "link_node_list": ",".join(link_node_list)    # 关联节点的id,多个id逗号分割
         })
 
 
-
 class EditHandler(APIHandler):
     """
-    
+    - 描述:企业部署的业务模型编辑
+    - 请求方式:post
+    - 请求参数:
+    > - id, int, 业务模型的id
+    > - name, string, 业务模型名称
+    > - comment, string, 简介
+    > - basemodel_ids, string, 基础模型id, 多个使用逗号分割
+    > - business_logic, string, 业务代码压缩包的md5
+    > - business_conf_file, string, 业务配置压缩包的文件md5
+    > - business_conf_param, string, 业务配置的参数,json字符串,eg: '{"a":1, "b":2}'
+    > - link_node_ids, string, 关联节点id, 多个节点逗号分割
+    - 返回值:无
     """
     @authenticated
     def post(self):
+        busimodel_id = self.get_argument("id")
+    
+        if not busimodel_id:
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误")
+    
+        db_busimodel = DB_BusiModel.EnterpriseBusiModelRepository()
+        busi_model_data = db_busimodel.get_busi_model_by_id(busimodel_id)
+        if not busi_model_data:
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "业务模型不存在")
+    
+        name = self.get_escaped_argument("name", "")
+        comment = self.get_escaped_argument("comment", "")
+        basemodel_ids = self.get_escaped_argument("basemodel_ids", "")
+        business_logic = self.get_escaped_argument("business_logic", "")
+        business_conf_file = self.get_escaped_argument("business_conf_file", "")
+        business_conf_param = self.get_escaped_argument("business_conf_param", "")
+        link_node_ids = self.get_escaped_argument("link_node_ids", "")
+    
+        if not name or not basemodel_ids:
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误")
+    
+        if not business_logic:
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "业务代码参数错误")
+        
+        if not business_conf_file and not business_conf_param:
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "业务配置参数错误")
+        
+        if not link_node_ids:
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "关联节点参数错误")
+
+        # 更新业务模型
+        model_data = {
+            "id": busimodel_id,
+            "name": name,
+            "comment": comment,
+            "basemodel_ids": basemodel_ids,
+            "business_logic": business_logic,
+            "business_conf_file": business_conf_file,
+            "business_conf_param": business_conf_param,
+            "link_node_ids": link_node_ids,
+        }
+
+        db_busimodel.edit_busi_model(model_data)
+
+        # 获取业务模型的数据
+        busi_model = db_busimodel.get_busi_model_by_id(busimodel_id)
+
+        db_model_node = DB_BusiModel.EnterpriseBusiModelNodeRepository()
+
+        # 删除关联节点
+        db_model_node.delete_by_busi_model_id(busimodel_id)
+
+        # 插入关联节点
+        model_node_data = {
+            "entity_id": busi_model.entity_id,
+            "busimodel_id": busimodel_id,
+            "busimodel_suid": busi_model.suid,
+            "node_ids": link_node_ids
+        }
+        db_model_node.insert_busi_model_nodes(model_node_data)
 
         self.finish()
\ No newline at end of file
diff --git a/website/handlers/enterprise_busi_model/url.py b/website/handlers/enterprise_busi_model/url.py
index 94f4521..ae6c97e 100644
--- a/website/handlers/enterprise_busi_model/url.py
+++ b/website/handlers/enterprise_busi_model/url.py
@@ -11,5 +11,5 @@ handlers = [
 
 ]
 page_handlers = [
-
+    
 ]
\ No newline at end of file