diff --git a/maxkey-identitys/maxkey-synchronizers-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java b/maxkey-identitys/maxkey-synchronizers-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java index 8712bf542bab0e26558c4394e2194d25f707d57a..18390956b4c55febd350a6690b47041910d17107 100644 --- a/maxkey-identitys/maxkey-synchronizers-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java +++ b/maxkey-identitys/maxkey-synchronizers-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java @@ -67,9 +67,9 @@ public class ActiveDirectoryOrganizationService extends AbstractSynchronizerSer attributeMap.put(objAttrs.getID().toLowerCase(), objAttrs); } - Organizations org = buildOrganization(attributeMap,si.getName(),si.getNameInNamespace()); - - _logger.info("Organizations " + org); + Organizations organization = buildOrganization(attributeMap,si.getName(),si.getNameInNamespace()); + organizationsService.saveOrUpdate(organization); + _logger.info("Organizations " + organization); } } diff --git a/maxkey-identitys/maxkey-synchronizers-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java b/maxkey-identitys/maxkey-synchronizers-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java index bb70613141ddc5a274bbb1a36cc145f8ce82247a..8783b2e12946ae30f0fc48130e4405605874f8f1 100644 --- a/maxkey-identitys/maxkey-synchronizers-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java +++ b/maxkey-identitys/maxkey-synchronizers-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java @@ -70,7 +70,8 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService UserInfo userInfo =buildUserInfo(attributeMap,si.getName(),si.getNameInNamespace()); - + userInfo.setPassword(userInfo.getUsername() + "Maxkey@888"); + userInfoService.saveOrUpdate(userInfo); _logger.info("userInfo " + userInfo); } } diff --git a/maxkey-identitys/maxkey-synchronizers-dingtalk/src/main/java/org/maxkey/synchronizer/dingtalk/DingtalkOrganizationService.java b/maxkey-identitys/maxkey-synchronizers-dingtalk/src/main/java/org/maxkey/synchronizer/dingtalk/DingtalkOrganizationService.java index b4a9ffce614f49b9716761df271fd739db697fca..6d68b9f026a3f16e4cfd39d1def854f4c5201aa0 100644 --- a/maxkey-identitys/maxkey-synchronizers-dingtalk/src/main/java/org/maxkey/synchronizer/dingtalk/DingtalkOrganizationService.java +++ b/maxkey-identitys/maxkey-synchronizers-dingtalk/src/main/java/org/maxkey/synchronizer/dingtalk/DingtalkOrganizationService.java @@ -17,7 +17,6 @@ package org.maxkey.synchronizer.dingtalk; -import java.sql.Types; import java.util.HashMap; import java.util.NoSuchElementException; import java.util.concurrent.LinkedBlockingQueue; @@ -56,13 +55,7 @@ public class DingtalkOrganizationService extends AbstractSynchronizerService im deptsQueue.add(dept.getDeptId()); deptMap.put(dept.getDeptId(), dept); Organizations organization = buildOrganization(dept,deptMap.get(dept.getParentId())); - if(organizationsService.findOne("id = ? and instid = ?", - new Object[] { organization.getId().toString(), organization.getInstId() }, - new int[] { Types.VARCHAR, Types.VARCHAR }) == null) { - organizationsService.insert(organization); - }else { - organizationsService.update(organization); - } + organizationsService.saveOrUpdate(organization); _logger.info("Organizations : " + organization); } } diff --git a/maxkey-identitys/maxkey-synchronizers-dingtalk/src/main/java/org/maxkey/synchronizer/dingtalk/DingtalkUsersService.java b/maxkey-identitys/maxkey-synchronizers-dingtalk/src/main/java/org/maxkey/synchronizer/dingtalk/DingtalkUsersService.java index ade400cb9bcee15dad78204afd2f04832b52ad1b..14aa0319f79efe8f151b895ac306b1647bbc4b6e 100644 --- a/maxkey-identitys/maxkey-synchronizers-dingtalk/src/main/java/org/maxkey/synchronizer/dingtalk/DingtalkUsersService.java +++ b/maxkey-identitys/maxkey-synchronizers-dingtalk/src/main/java/org/maxkey/synchronizer/dingtalk/DingtalkUsersService.java @@ -68,14 +68,8 @@ public class DingtalkUsersService extends AbstractSynchronizerService implement _logger.info("name : " + user.getName()+" , "+user.getLoginId()+" , "+user.getUserid()); UserInfo userInfo = buildUserInfo(user); _logger.info("userInfo " + userInfo); - if(userInfoService.findOne("username = ? and instid = ?", - new Object[] { userInfo.getUsername(),this.getSynchronizer().getInstId() }, - new int[] { Types.VARCHAR,Types.VARCHAR}) == null) { - userInfo.setPassword(userInfo.getUsername() + "Maxkey@888"); - this.userInfoService.insert(userInfo); - }else { - userInfoService.update(userInfo); - } + userInfo.setPassword(userInfo.getUsername() + "Maxkey@888"); + userInfoService.saveOrUpdate(userInfo); } } diff --git a/maxkey-identitys/maxkey-synchronizers-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java b/maxkey-identitys/maxkey-synchronizers-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java index cba4e1b1b0d6a11f17b54461072c789f67c91207..f0fe32746c1be6a25dcc82b8683cd735e95bd724 100644 --- a/maxkey-identitys/maxkey-synchronizers-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java +++ b/maxkey-identitys/maxkey-synchronizers-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java @@ -67,9 +67,9 @@ public class LdapOrganizationService extends AbstractSynchronizerService implem attributeMap.put(objAttrs.getID().toLowerCase(), objAttrs); } - Organizations org = buildOrganization(attributeMap,si.getName(),si.getNameInNamespace()); - - _logger.info("Organizations " + org); + Organizations organization = buildOrganization(attributeMap,si.getName(),si.getNameInNamespace()); + organizationsService.saveOrUpdate(organization); + _logger.info("Organizations " + organization); } } diff --git a/maxkey-identitys/maxkey-synchronizers-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java b/maxkey-identitys/maxkey-synchronizers-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java index 806737158f8e70d09877bb23a2149813fc273f1f..853eddb3ed414cc4337f389e5f0d8069961a2499 100644 --- a/maxkey-identitys/maxkey-synchronizers-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java +++ b/maxkey-identitys/maxkey-synchronizers-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java @@ -65,6 +65,8 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS } UserInfo userInfo = buildUserInfo(attributeMap,si.getName(),si.getNameInNamespace()); + userInfo.setPassword(userInfo.getUsername() + "Maxkey@888"); + userInfoService.saveOrUpdate(userInfo); _logger.info("userInfo " + userInfo); } } diff --git a/maxkey-identitys/maxkey-synchronizers-workweixin/src/main/java/org/maxkey/synchronizer/workweixin/WorkweixinOrganizationService.java b/maxkey-identitys/maxkey-synchronizers-workweixin/src/main/java/org/maxkey/synchronizer/workweixin/WorkweixinOrganizationService.java index 036d056e5cd1209714c1b78e65fb306a4493c749..a42efeb114426c77f90cbf17b0e6910a4f87da34 100644 --- a/maxkey-identitys/maxkey-synchronizers-workweixin/src/main/java/org/maxkey/synchronizer/workweixin/WorkweixinOrganizationService.java +++ b/maxkey-identitys/maxkey-synchronizers-workweixin/src/main/java/org/maxkey/synchronizer/workweixin/WorkweixinOrganizationService.java @@ -17,8 +17,6 @@ package org.maxkey.synchronizer.workweixin; -import java.sql.Types; - import org.maxkey.constants.ConstsStatus; import org.maxkey.entity.Organizations; import org.maxkey.synchronizer.AbstractSynchronizerService; @@ -48,13 +46,7 @@ public class WorkweixinOrganizationService extends AbstractSynchronizerService i for(WorkWeixinDepts dept : rsp.getDepartment()) { _logger.info("dept : " + dept.getId()+" "+ dept.getName()+" "+ dept.getParentid()); Organizations organization = buildOrganization(dept); - if(organizationsService.findOne("id = ? and instid = ?", - new Object[] { organization.getId(), organization.getInstId() }, - new int[] { Types.VARCHAR, Types.VARCHAR }) == null) { - organizationsService.insert(organization); - }else { - organizationsService.update(organization); - } + organizationsService.saveOrUpdate(organization); } } catch (Exception e) { diff --git a/maxkey-identitys/maxkey-synchronizers-workweixin/src/main/java/org/maxkey/synchronizer/workweixin/WorkweixinUsersService.java b/maxkey-identitys/maxkey-synchronizers-workweixin/src/main/java/org/maxkey/synchronizer/workweixin/WorkweixinUsersService.java index 2f840afc2a84a0ddd035b04f5fe626341389c1c4..f7c797130d5fb687251bac85dec557272573232e 100644 --- a/maxkey-identitys/maxkey-synchronizers-workweixin/src/main/java/org/maxkey/synchronizer/workweixin/WorkweixinUsersService.java +++ b/maxkey-identitys/maxkey-synchronizers-workweixin/src/main/java/org/maxkey/synchronizer/workweixin/WorkweixinUsersService.java @@ -56,14 +56,8 @@ public class WorkweixinUsersService extends AbstractSynchronizerService implemen for(WorkWeixinUsers user : usersResponse.getUserlist()) { UserInfo userInfo = buildUserInfo(user); _logger.info("userInfo : " + userInfo); - if(userInfoService.findOne("username = ? and instid = ?", - new Object[] { userInfo.getUsername(),this.getSynchronizer().getInstId() }, - new int[] { Types.VARCHAR,Types.VARCHAR}) == null) { - userInfo.setPassword(userInfo.getUsername() + "Maxkey@888"); - this.userInfoService.insert(userInfo); - }else { - userInfoService.update(userInfo); - } + userInfo.setPassword(userInfo.getUsername() + "Maxkey@888"); + userInfoService.saveOrUpdate(userInfo); } } diff --git a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/OrganizationsService.java b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/OrganizationsService.java index a26a87dc3cf81d535f6134afd83a9bba982f7912..73e58b114e58002b8dada20daa7860ff489a42ab 100644 --- a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/OrganizationsService.java +++ b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/OrganizationsService.java @@ -17,6 +17,7 @@ package org.maxkey.persistence.service; +import java.sql.Types; import java.util.List; import org.apache.mybatis.jpa.persistence.JpaBaseService; import org.apache.poi.ss.usermodel.Cell; @@ -66,6 +67,15 @@ public class OrganizationsService extends JpaBaseService{ return false; } + public void saveOrUpdate(Organizations organization) { + if(findOne(" id = ? and instid = ?", + new Object[] { organization.getId().toString(), organization.getInstId() }, + new int[] { Types.VARCHAR, Types.VARCHAR }) == null) { + insert(organization); + }else { + update(organization); + } + } public List queryOrgs(Organizations organization){ return getMapper().queryOrgs(organization); } diff --git a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java index e2df2b6e0201c6d381ba6329c972d1e876f35c27..692ed545abc8e93da80fe17104ef46f32a268a1a 100644 --- a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java +++ b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java @@ -18,6 +18,8 @@ package org.maxkey.persistence.service; +import java.sql.Types; + import org.apache.mybatis.jpa.persistence.JpaBaseService; import org.maxkey.constants.ConstsStatus; import org.maxkey.crypto.password.PasswordReciprocal; @@ -163,6 +165,17 @@ public class UserInfoService extends JpaBaseService { } + public void saveOrUpdate(UserInfo userInfo) { + if(findOne(" username = ? and instid = ?", + new Object[] { userInfo.getUsername(),userInfo.getInstId() }, + new int[] { Types.VARCHAR,Types.VARCHAR}) == null) { + insert(userInfo); + }else { + userInfo.setPassword(null); + update(userInfo); + } + } + public boolean updateProtectedApps(UserInfo userinfo) { try { if(WebContext.getUserInfo() != null) {