Apex開發 -- 找出系統中被佔用的License

學習目標
1,使用代碼,找出被佔用的License
2,frezz 和 deActive的區別

License

Salesforce時雲租賃的方式去購買消費的,那麼每個License都是錢啊。所以,有時候系統會出現很多佔着茅坑不拉屎的用戶,這個時候,就需要我們碼農出手,找出這些人。

frezz 和 deActive的區別

共同點:兩者置爲false後,用戶都不能登錄

不同點:deActive後的用戶不佔用License,而只frezzen的用戶,還佔用License

最佳實踐:

deActive:離職了或者該用戶不再使用或者長期不使用Salesforce,那麼可以deActive

frezzen:當用戶在審批流或者workflow裏面,總之參與到系統的邏輯裏,而這個時候去調邏輯的地方有點多,這個時候可以把用戶frezzen,讓邏輯先不流到該用戶,可以自動轉給指定的用戶去。

找出被佔用的License

Set<Id> freezenUserIdSet = new Set<Id>();
for (UserLogin login : [SELECT Id, UserId FROM UserLogin WHERE IsFrozen = true]) {
	freezenUserIdSet.add(login.UserId);
}
//這裏可以使用時間,比如多長沒有登錄的用戶,這樣查出的更準確
List<User> frezzenUserList = [SELECT Id  FROM User WHERE IsActive = true];

System.debug(JSON.serialize(frezzenUserList));

找出數據後,該deactive的就deactive。

如有錯誤,請及時指出。一起學習,一起進步!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章