[微信ISV]接入多租户的表设计

1,025 阅读1分钟

微信的第三方接口文档比较简陋,很多东西没写出来,逻辑也很难弄懂,这里把最后项目里用到的表结构理一下

使用多租户架构的时候,我们可以将微信的ISV模式和多租户模式结合起来,即每个客户企业微信对应一个租户,为了尽量实现程序的自动化,同时增加可拓展性,项目中涉及到的表主要有下面三个(以下将租户id统一称为corpInfoId,微信id为wxCorpId):

1、saas_corp_info 主要做租户id和微信id的关联,每个租户对应一条数据,同时也可以持久化一些租户相关的数据


wf_push_agent_id是工作流推送的应用id,每个客户企业微信不同,在客户安装审批套件的时候可以根据接口获取到

2、saas_suite_info 每个套件对应一条记录,持久化套件相关的信息,特别的,suite_ticket、suite_token、pre_auth_code这三个都是有一定的有效期的


is_contact_suite代表是否为通讯录套件,在创建套件的时候可以根据接口去获取。
is_workflow_suite代表是否为审批套件,在创建套件的时候可以根据接口去获取。

3、saas_suite_corp 记录客户企业微信和套件的对应情况,客户每安装一个套件对应一条记录,同时记录token和永久码。