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。

如有错误,请及时指出。一起学习,一起进步!

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