多租戶功能是基于租戶共享同一個(gè)數(shù)據(jù)庫(kù)、同一個(gè)表,但在表中通過(guò)tenant_id區(qū)分租戶的數(shù)據(jù)的模式,基于mybatis-plus的多租戶SQL解析器實(shí)現(xiàn)
專(zhuān)注于為中小企業(yè)提供網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)潮安免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。`tenant_id` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '所屬租戶',
二、租戶功能說(shuō)明#租戶表維護(hù)
base:
tenant:
column: tenant_id
tables:
- wx_app
- wx_menu
- wx_user
- wx_auto_reply
- wx_msg
- wx_mass_msg
三、租戶管理怎么做?說(shuō)明 | 內(nèi)容 |
---|---|
后臺(tái)租戶ID自動(dòng)維護(hù) | 通過(guò)TenantContextHolderFilter攔截器,獲取到token在redis中的租戶ID 放到theadlocal 中 |
前端api租戶ID自動(dòng)維護(hù) | 通過(guò)ThirdSessionInterceptor攔截器,獲取到thirdSession在redis中的租戶ID 放到theadlocal 中 |
獲取當(dāng)前租戶 | TenantContextHolder.getTenantId |
強(qiáng)制切換租戶 | TenantContextHolder.setTenantId 注:在增刪改過(guò)程中請(qǐng)勿對(duì) tenant_id字段手動(dòng)賦值,不然報(bào)錯(cuò) |
租戶表維護(hù) | 機(jī)構(gòu)表sys_organ中parent_id為0的機(jī)構(gòu)默認(rèn)為一個(gè)租戶 |
不需要租戶信息約束的方法,在mapper的方法上添加注解@InterceptorIgnore(tenantLine=“true”)
加上這個(gè)注解后mybatisPlus就不會(huì)在這個(gè)sql自動(dòng)維護(hù)租戶ID了
@InterceptorIgnore(tenantLine="true")
SysUser getByNoTenant(SysUser sysUser);
有些沒(méi)有token或thirdSession但又需要租戶的場(chǎng)景,比如訂單支付回調(diào)是不會(huì)有token和thirdSession的,所以系統(tǒng)不會(huì)自動(dòng)維護(hù);此時(shí)我們可以先通過(guò)回調(diào)傳過(guò)來(lái)的appId,去做無(wú)租戶約束的查詢(xún)獲取到租戶ID,再手動(dòng)維護(hù)進(jìn)去TenantContextHolder.setTenantId
(2)如何新增租戶?在后臺(tái)【平臺(tái)管理】-【租戶管理】中新建租戶,并配置租戶管理員賬號(hào)
新增租戶后,可以將租戶分配給指定的平臺(tái)用戶,平臺(tái)用戶就可以在后臺(tái)左上角通過(guò)切換租戶來(lái)管理所配的租戶了
【平臺(tái)管理】-【平臺(tái)系統(tǒng)權(quán)限】-【平臺(tái)用戶管理】編輯平臺(tái)用戶分配租戶
@InterceptorIgnore(tenantLine=“true”)
SysUser getByNoTenant(SysUser sysUser);
如果對(duì)mybatis-plus不了解,請(qǐng)先看官方文檔:https://mybatis.plus/guide/interceptor-tenant-line.html
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧