在软件开发中,数据库接口是应用程序与数据库进行交互的重要环节。"DB接口说明[定义].pdf" 文件详细阐述了这种接口的实现方式以及相关的数据库表结构,主要用于移动企业行业网关MAS服务器与外部系统(如OA、ERP、SCM等)的数据交互。以下是这个接口的主要知识点:
1. **数据库组网方式**:
- **MAS服务器数据库方式**:有两种组网方式。第一种,集团客户提供一个交互用的数据库服务器,数据库结构需满足规范定义。MAS服务器通过标准数据库访问方式(如JDBC、ODBC)与之交互。第二种,MAS服务器自身提供一个符合规范的数据库,供集团客户应用进行业务数据交互。
2. **数据库表结构**:
- **短信数据库表结构**:包括两个主要表格——**SMS_OUTBOX**(短信待发送表)和**SMS_INBOX**(上行短信表)。
- **SMS_OUTBOX** 表:
- 主键:SISMSID,由应用侧生成的UUID/GUID,应用仅能插入,无法读取或修改。
- 其他字段包括:MASSMSID(MAS生成的ID)、EXTCODE(扩展代码)、DESTADDR(目标手机号码)、REQUESTTIME(入库时间)、MSGFMT(消息类型)、SENDMETHOD(发送方式)、APPLICATIONID(EC/SI应用ID)等。
- SMS_SENT表:用于存储已处理的短信,由数据库适配插件读取SMS_OUTBOX中的数据后创建,包含状态报告等相关信息。
- **SMS_INBOX** 表:
- 主键:MASSMSID,由MAS生成。
- 包含EXTCODE(扩展号码,可为空)、SOURCEADDR(源手机号码)、RECEIVETIME(接收时间)、MESSAGECONTENT(消息内容)、MSGFMT(消息类型)、REQUESTTIME(发送入库时间)、APPLICATIONID等字段。
- EC/SI应用对SMS_INBOX表具有SELECT和DELETE权限,但不能INSERT和UPDATE。
3. **通信能力**:
- 支持短信数据交互,包括短信的发送和接收,不同消息格式(ASCII、Binary、usc2、gb2312、gb18030)以及状态报告的需求。
4. **操作权限**:
- EC/SI应用对于不同的表有不同的权限控制,例如对SMS_OUTBOX只有插入权限,对SMS_INBOX则可以读取和删除,但不能插入和更新。
5. **清理策略**:
- EC应用/SI应用插件需要定期清理SMS_INBOX表,要求5天内完成,而数据库方式适配插件则需在7天内清理此表,以保持数据库的高效运行。
6. **适配插件**:
- 数据库适配插件在数据交互中起到关键作用,它负责读取SMS_OUTBOX中的待发送短信,将它们处理并转移到SMS_SENT表中,同时处理状态报告。
这些知识对于开发与MAS服务器通信的应用程序至关重要,确保了数据的正确传输和管理。理解并遵循这些接口定义,开发者能够有效地构建与MAS服务器的集成,实现可靠的数据交互。