浏览代码

crm单点登录优化

shenjingwei 4 月之前
父节点
当前提交
78f0909d95
共有 1 个文件被更改,包括 13 次插入6 次删除
  1. 13 6
      src/custom/common/crm/sso.java

+ 13 - 6
src/custom/common/crm/sso.java

@@ -259,23 +259,30 @@ public class sso extends Basic {
             roleidMapping.put("installer", 5206L);//安装师傅
 
             Rows crm_roles = new DBConnect("CRM").runSqlQuery("select t1.uid,t1.hrid,t2.role_id,t3.role,t3.description,t3.sys from sys_user_info t1\n" + "inner join sys_user_role t2 on t1.uid=t2.uid\n" + "inner join sys_role t3 on t2.role_id=t3.id\n" + "where hrid='" + accountno + "'");
-            ArrayList<Long> roleids = new ArrayList<>();
+            ArrayList<Long> roleids = new ArrayList<>();//crm授权的角色
             for (Row crm_role : crm_roles) {
                 String role = crm_role.getString("role");
                 if (roleidMapping.containsKey(role)) {
                     roleids.add(roleidMapping.get(role));
                 }
             }
+            if (roleids.contains(4097L)) {
+                roleids.remove(4098L);
+                roleids.remove(5210L);
+                roleids.remove(5211L);
+                roleids.remove(5206L);
+            }
+
             String siteid = "MD";
             SQLDump sqlDump = new SQLDump();
             sqlDump.add("update sys_users set name='" + name + "',phonenumber='" + phonenumber + "' where userid=" + userid);
             sqlDump.add("update sys_enterprise_hr set name='" + name + "',phonenumber='" + phonenumber + "' where userid=" + userid);
 
-            DeleteSQL sysUserrole = SQLFactory.createDeleteSQL(dbConnect, "sys_userrole");
-            sysUserrole.setWhere("userid", userid);
-            sysUserrole.setWhere("siteid", siteid);
-            sysUserrole.setWhere("roleid", roleidMapping.values().toArray(new Long[]{}));
-            sqlDump.add(sysUserrole);
+            DeleteSQL deleteUserRole = SQLFactory.createDeleteSQL(dbConnect, "sys_userrole");
+            deleteUserRole.setWhere("userid", userid);
+            deleteUserRole.setWhere("siteid", siteid);
+            sqlDump.add(deleteUserRole);
+
             if (!roleids.isEmpty()) {
                 for (long roleid : roleids) {
                     InsertSQL adduserrole = SQLFactory.createInsertSQL(dbConnect, "sys_userrole");