同步器增加属性映射管理
This commit is contained in:
+2
-2
@@ -30,9 +30,9 @@ import javax.naming.directory.SearchResult;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.history.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.constants.OrganizationalUnit;
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ActiveDirectorySynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(ActiveDirectorySynchronizerService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(ActiveDirectorySynchronizerService.class);
|
||||
|
||||
Synchronizers synchronizer;
|
||||
|
||||
|
||||
+20
-19
@@ -30,9 +30,10 @@ import javax.naming.directory.SearchResult;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.crypto.DigestUtils;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.history.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.constants.ActiveDirectoryUser;
|
||||
@@ -140,17 +141,17 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService
|
||||
namePah = namePah + "/" + namePaths[i];
|
||||
}
|
||||
|
||||
//namePah = namePah.substring(0, namePah.length());
|
||||
namePah = namePah.substring(0, namePah.length());
|
||||
String deptNamePath= namePah.substring(0, namePah.lastIndexOf("/"));
|
||||
_logger.info("deptNamePath " + deptNamePath);
|
||||
//暂时注释
|
||||
/*Organizations deptOrg = orgsNamePathMap.get(deptNamePath);
|
||||
|
||||
Organizations deptOrg = orgsNamePathMap.get(deptNamePath);
|
||||
if(deptOrg == null ) {
|
||||
deptOrg = rootOrganization;
|
||||
}
|
||||
|
||||
userInfo.setDepartment(deptOrg.getOrgName());
|
||||
userInfo.setDepartmentId(deptOrg.getId());*/
|
||||
userInfo.setDepartmentId(deptOrg.getId());
|
||||
try {
|
||||
userInfo.setId(userInfo.generateId());
|
||||
userInfo.setFormattedName(LdapUtils.getAttributeStringValue(ActiveDirectoryUser.CN,attributeMap));//cn
|
||||
@@ -196,8 +197,8 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService
|
||||
userInfo.setTimeZone("Asia/Shanghai");
|
||||
userInfo.setStatus(ConstsStatus.ACTIVE);
|
||||
userInfo.setInstId(this.synchronizer.getInstId());
|
||||
//暂时注释
|
||||
/*HistorySynchronizer historySynchronizer =new HistorySynchronizer();
|
||||
|
||||
HistorySynchronizer historySynchronizer =new HistorySynchronizer();
|
||||
historySynchronizer.setId(historySynchronizer.generateId());
|
||||
historySynchronizer.setSyncId(this.synchronizer.getId());
|
||||
historySynchronizer.setSyncName(this.synchronizer.getName());
|
||||
@@ -206,7 +207,7 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService
|
||||
historySynchronizer.setObjectType(Organizations.class.getSimpleName());
|
||||
historySynchronizer.setInstId(synchronizer.getInstId());
|
||||
historySynchronizer.setResult("success");
|
||||
this.historySynchronizerService.insert(historySynchronizer);*/
|
||||
this.historySynchronizerService.insert(historySynchronizer);
|
||||
|
||||
} catch (NamingException e) {
|
||||
e.printStackTrace();
|
||||
@@ -229,28 +230,28 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService
|
||||
namePah = namePah + "/" + namePaths[i];
|
||||
}
|
||||
|
||||
//namePah = namePah.substring(0, namePah.length());
|
||||
namePah = namePah.substring(0, namePah.length());
|
||||
String deptNamePath= namePah.substring(0, namePah.lastIndexOf("/"));
|
||||
_logger.info("deptNamePath " + deptNamePath);
|
||||
//暂时注释
|
||||
/*Organizations deptOrg = orgsNamePathMap.get(deptNamePath);
|
||||
|
||||
Organizations deptOrg = orgsNamePathMap.get(deptNamePath);
|
||||
if(deptOrg == null ) {
|
||||
deptOrg = rootOrganization;
|
||||
}*/
|
||||
}
|
||||
Map<String, String> fieldMap = getFieldMap(Long.parseLong(synchronizer.getId()));
|
||||
for (Map.Entry<String, String> entry : fieldMap.entrySet()) {
|
||||
String userInfoProperty = entry.getKey();
|
||||
String sourceProperty = entry.getValue();
|
||||
try {
|
||||
//暂时注释
|
||||
/*if(sourceProperty.equals("orgName")){
|
||||
|
||||
if(sourceProperty.equals("orgName")){
|
||||
userInfo.setDepartment(deptOrg.getOrgName());
|
||||
continue;
|
||||
}
|
||||
if(sourceProperty.equals("id")){
|
||||
userInfo.setDepartmentId(deptOrg.getId());
|
||||
continue;
|
||||
}*/
|
||||
}
|
||||
if(sourceProperty.equals("mobile")){
|
||||
userInfo.setMobile(LdapUtils.getAttributeStringValue(sourceProperty, attributeMap).equals("")?
|
||||
userInfo.getId():LdapUtils.getAttributeStringValue(sourceProperty,attributeMap));
|
||||
@@ -277,8 +278,8 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService
|
||||
userInfo.setStatus(ConstsStatus.ACTIVE);
|
||||
userInfo.setInstId(this.synchronizer.getInstId());
|
||||
|
||||
//暂时注释
|
||||
/*HistorySynchronizer historySynchronizer =new HistorySynchronizer();
|
||||
|
||||
HistorySynchronizer historySynchronizer =new HistorySynchronizer();
|
||||
historySynchronizer.setId(historySynchronizer.generateId());
|
||||
historySynchronizer.setSyncId(this.synchronizer.getId());
|
||||
historySynchronizer.setSyncName(this.synchronizer.getName());
|
||||
@@ -287,7 +288,7 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService
|
||||
historySynchronizer.setObjectType(Organizations.class.getSimpleName());
|
||||
historySynchronizer.setInstId(synchronizer.getInstId());
|
||||
historySynchronizer.setResult("success");
|
||||
this.historySynchronizerService.insert(historySynchronizer);*/
|
||||
this.historySynchronizerService.insert(historySynchronizer);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ import com.dingtalk.api.response.OapiGettokenResponse;
|
||||
import com.taobao.api.ApiException;
|
||||
|
||||
public class DingtalkAccessTokenService {
|
||||
final static Logger _logger = LoggerFactory.getLogger(DingtalkAccessTokenService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(DingtalkAccessTokenService.class);
|
||||
|
||||
String appkey;
|
||||
|
||||
|
||||
+1
-1
@@ -25,8 +25,8 @@ import java.util.NoSuchElementException;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.entity.SyncJobConfigField;
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ import com.taobao.api.ApiException;
|
||||
|
||||
@Service
|
||||
public class DingtalkSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(DingtalkSynchronizerService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(DingtalkSynchronizerService.class);
|
||||
Synchronizers synchronizer;
|
||||
|
||||
@Autowired
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ import java.util.Map;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.entity.SyncJobConfigField;
|
||||
@@ -46,7 +46,7 @@ import static org.dromara.maxkey.synchronizer.utils.FieldUtil.*;
|
||||
|
||||
@Service
|
||||
public class DingtalkUsersService extends AbstractSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(DingtalkUsersService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(DingtalkUsersService.class);
|
||||
|
||||
String access_token;
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class FeishuAccessTokenService {
|
||||
final static Logger _logger = LoggerFactory.getLogger(FeishuAccessTokenService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(FeishuAccessTokenService.class);
|
||||
|
||||
String appId;
|
||||
|
||||
|
||||
+2
-2
@@ -25,8 +25,8 @@ import java.util.NoSuchElementException;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.entity.SyncJobConfigField;
|
||||
@@ -45,7 +45,7 @@ import static org.dromara.maxkey.synchronizer.utils.FieldUtil.*;
|
||||
|
||||
@Service
|
||||
public class FeishuOrganizationService extends AbstractSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(FeishuOrganizationService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(FeishuOrganizationService.class);
|
||||
|
||||
String access_token;
|
||||
private static final Integer ORG_TYPE = 2;
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class FeishuSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(FeishuSynchronizerService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(FeishuSynchronizerService.class);
|
||||
Synchronizers synchronizer;
|
||||
|
||||
@Autowired
|
||||
|
||||
+1
-4
@@ -24,7 +24,7 @@ import java.util.Map;
|
||||
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.entity.SyncJobConfigField;
|
||||
@@ -45,9 +45,6 @@ import static org.dromara.maxkey.synchronizer.utils.FieldUtil.*;
|
||||
@Service
|
||||
public class FeishuUsersService extends AbstractSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(FeishuUsersService.class);
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private SyncJobConfigFieldService syncJobConfigFieldService;
|
||||
String access_token;
|
||||
|
||||
+3
-3
@@ -21,8 +21,8 @@ import org.apache.commons.beanutils.PropertyUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.DbTableMetaData;
|
||||
import org.dromara.maxkey.entity.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.history.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.entity.SyncJobConfigField;
|
||||
@@ -47,7 +47,7 @@ import static org.dromara.maxkey.synchronizer.utils.FieldUtil.setFieldValue;
|
||||
|
||||
@Service
|
||||
public class JdbcOrganizationService extends AbstractSynchronizerService implements ISynchronizerService {
|
||||
final static Logger _logger = LoggerFactory.getLogger(JdbcOrganizationService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(JdbcOrganizationService.class);
|
||||
static ArrayList<ColumnFieldMapper> mapperList = new ArrayList<>();
|
||||
@Autowired
|
||||
private SyncJobConfigFieldService syncJobConfigFieldService;
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class JdbcSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(JdbcSynchronizerService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(JdbcSynchronizerService.class);
|
||||
|
||||
Synchronizers synchronizer;
|
||||
|
||||
|
||||
+5
-114
@@ -18,17 +18,17 @@
|
||||
package org.dromara.maxkey.synchronizer.jdbc;
|
||||
|
||||
import org.apache.commons.beanutils.PropertyUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.DbTableMetaData;
|
||||
import org.dromara.maxkey.entity.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.history.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.entity.SyncJobConfigField;
|
||||
import org.dromara.maxkey.synchronizer.service.SyncJobConfigFieldService;
|
||||
import org.dromara.maxkey.synchronizer.utils.MyResultSet;
|
||||
import org.dromara.maxkey.util.JdbcUtils;
|
||||
import org.dromara.maxkey.util.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -106,65 +106,7 @@ public class JdbcUsersService extends AbstractSynchronizerService implements ISy
|
||||
}
|
||||
}
|
||||
|
||||
public UserInfo buildUserInfoTemp(MyResultSet rs) throws SQLException {
|
||||
//DbTableMetaData meta = JdbcUtils.getMetaData(rs);
|
||||
UserInfo user = new UserInfo();
|
||||
//basic
|
||||
for (ColumnFieldMapper mapper : mapperList) {
|
||||
if (rs.getColumnNames().contains(mapper.getColumn())) {
|
||||
Object value = null;
|
||||
if (mapper.getType().equalsIgnoreCase("String")) {
|
||||
value = rs.getString(mapper.getColumn());
|
||||
} else {
|
||||
value = rs.getInt(mapper.getColumn());
|
||||
}
|
||||
if (value != null) {
|
||||
try {
|
||||
PropertyUtils.setSimpleProperty(user, mapper.getField(), value);
|
||||
} catch (Exception e) {
|
||||
_logger.error("setSimpleProperty {}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (rs.getColumnNames().contains("status")) {
|
||||
user.setStatus(rs.getInt("status"));
|
||||
} else {
|
||||
user.setStatus(ConstsStatus.ACTIVE);
|
||||
}
|
||||
user.setInstId(synchronizer.getInstId());
|
||||
|
||||
//password
|
||||
if (rs.getColumnNames().contains("password")) {
|
||||
user.setPassword(rs.getString("password"));
|
||||
} else {
|
||||
//后4位
|
||||
String last4Char = "6666";
|
||||
if (StringUtils.isNotBlank(user.getIdCardNo())) {
|
||||
last4Char = user.getIdCardNo().substring(user.getIdCardNo().length() - 4);
|
||||
} else if (StringUtils.isNotBlank(user.getMobile())) {
|
||||
last4Char = user.getMobile().substring(user.getMobile().length() - 4);
|
||||
} else if (StringUtils.isNotBlank(user.getEmployeeNumber())) {
|
||||
last4Char = user.getEmployeeNumber().substring(user.getEmployeeNumber().length() - 4);
|
||||
}
|
||||
user.setPassword(user.getUsername() + "@M" + last4Char);
|
||||
}
|
||||
|
||||
/*HistorySynchronizer historySynchronizer = new HistorySynchronizer();
|
||||
historySynchronizer.setId(historySynchronizer.generateId());
|
||||
historySynchronizer.setSyncId(synchronizer.getId());
|
||||
historySynchronizer.setSyncName(synchronizer.getName());
|
||||
historySynchronizer.setObjectId(user.getId());
|
||||
historySynchronizer.setObjectName(user.getUsername());
|
||||
historySynchronizer.setObjectType(UserInfo.class.getSimpleName());
|
||||
historySynchronizer.setInstId(synchronizer.getInstId());
|
||||
historySynchronizer.setResult("success");
|
||||
historySynchronizerService.insert(historySynchronizer);*/
|
||||
_logger.debug("User {} ", user);
|
||||
|
||||
return user;
|
||||
}
|
||||
|
||||
public UserInfo buildUserInfo(ResultSet rs) throws SQLException {
|
||||
DbTableMetaData meta = JdbcUtils.getMetaData(rs);
|
||||
UserInfo user = new UserInfo();
|
||||
@@ -226,58 +168,7 @@ public class JdbcUsersService extends AbstractSynchronizerService implements ISy
|
||||
}
|
||||
|
||||
|
||||
public UserInfo buildUserInfoByFieldMapTemp(MyResultSet rs) throws SQLException, InvocationTargetException, NoSuchMethodException, IllegalAccessException {
|
||||
//DbTableMetaData meta = JdbcUtils.getMetaData(rs);
|
||||
UserInfo user = new UserInfo();
|
||||
Map<String, String> fieldMap = getFieldMap(Long.parseLong(synchronizer.getId()));
|
||||
for(Map.Entry<String,String> entry: fieldMap.entrySet()){
|
||||
String column = entry.getValue();
|
||||
String field = entry.getKey();
|
||||
Object value = null;
|
||||
if(rs.getColumnNames().contains(column) && !field.equals("status") && !field.equals("password")){
|
||||
value = rs.getObject(column);
|
||||
if(value!=null){
|
||||
setFieldValue(user,field,value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//password的获取和user的其他属性相关,如果在遍历过程中进行属性映射,需要在password映射之前,先完成其他属性的映射
|
||||
if (rs.getColumnNames().contains("status")) {
|
||||
user.setStatus(rs.getInt("status"));
|
||||
} else {
|
||||
user.setStatus(ConstsStatus.ACTIVE);
|
||||
}
|
||||
user.setInstId(synchronizer.getInstId());
|
||||
// password
|
||||
if (rs.getColumnNames().contains("password")) {
|
||||
user.setPassword(rs.getString("password"));
|
||||
} else {
|
||||
String last4Char = "6666";
|
||||
if (StringUtils.isNotBlank(user.getIdCardNo())) {
|
||||
last4Char = user.getIdCardNo().substring(user.getIdCardNo().length() - 4);
|
||||
} else if (StringUtils.isNotBlank(user.getMobile())) {
|
||||
last4Char = user.getMobile().substring(user.getMobile().length() - 4);
|
||||
} else if (StringUtils.isNotBlank(user.getEmployeeNumber())) {
|
||||
last4Char = user.getEmployeeNumber().substring(user.getEmployeeNumber().length() - 4);
|
||||
}
|
||||
user.setPassword(user.getUsername() + "@M" + last4Char);
|
||||
}
|
||||
|
||||
/*HistorySynchronizer historySynchronizer = new HistorySynchronizer();
|
||||
historySynchronizer.setId(historySynchronizer.generateId());
|
||||
historySynchronizer.setSyncId(synchronizer.getId());
|
||||
historySynchronizer.setSyncName(synchronizer.getName());
|
||||
historySynchronizer.setObjectId(user.getId());
|
||||
historySynchronizer.setObjectName(user.getUsername());
|
||||
historySynchronizer.setObjectType(UserInfo.class.getSimpleName());
|
||||
historySynchronizer.setInstId(synchronizer.getInstId());
|
||||
historySynchronizer.setResult("success");
|
||||
historySynchronizerService.insert(historySynchronizer);
|
||||
_logger.debug("User {} ", user);*/
|
||||
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
public UserInfo buildUserInfoByFieldMap(ResultSet rs) throws SQLException, InvocationTargetException, NoSuchMethodException, IllegalAccessException {
|
||||
DbTableMetaData meta = JdbcUtils.getMetaData(rs);
|
||||
|
||||
+2
-2
@@ -31,9 +31,9 @@ import javax.naming.directory.SearchResult;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.history.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.constants.OrganizationalUnit;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class LdapSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(LdapSynchronizerService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(LdapSynchronizerService.class);
|
||||
|
||||
Synchronizers synchronizer;
|
||||
|
||||
|
||||
+18
-17
@@ -29,9 +29,10 @@ import javax.naming.directory.SearchResult;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.crypto.DigestUtils;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.history.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.constants.InetOrgPerson;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
@@ -132,13 +133,13 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
|
||||
namePah = namePah + "/" + namePaths[i];
|
||||
}
|
||||
|
||||
//namePah = namePah.substring(0, namePah.length());
|
||||
namePah = namePah.substring(0, namePah.length());
|
||||
String deptNamePath= namePah.substring(0, namePah.lastIndexOf("/"));
|
||||
_logger.info("deptNamePath " + deptNamePath);
|
||||
//和属性映射无关暂时注释
|
||||
/* Organizations deptOrg = orgsNamePathMap.get(deptNamePath);
|
||||
|
||||
Organizations deptOrg = orgsNamePathMap.get(deptNamePath);
|
||||
userInfo.setDepartment(deptOrg.getOrgName());
|
||||
userInfo.setDepartmentId(deptOrg.getId());*/
|
||||
userInfo.setDepartmentId(deptOrg.getId());
|
||||
|
||||
try {
|
||||
userInfo.setId(userInfo.generateId());
|
||||
@@ -201,8 +202,8 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
|
||||
userInfo.setTimeZone("Asia/Shanghai");
|
||||
userInfo.setStatus(1);
|
||||
userInfo.setInstId(this.synchronizer.getInstId());
|
||||
//和属性映射无关暂时注释
|
||||
/* HistorySynchronizer historySynchronizer =new HistorySynchronizer();
|
||||
|
||||
HistorySynchronizer historySynchronizer =new HistorySynchronizer();
|
||||
historySynchronizer.setId(historySynchronizer.generateId());
|
||||
historySynchronizer.setSyncId(this.synchronizer.getId());
|
||||
historySynchronizer.setSyncName(this.synchronizer.getName());
|
||||
@@ -211,7 +212,7 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
|
||||
historySynchronizer.setObjectType(Organizations.class.getSimpleName());
|
||||
historySynchronizer.setInstId(synchronizer.getInstId());
|
||||
historySynchronizer.setResult("success");
|
||||
this.historySynchronizerService.insert(historySynchronizer);*/
|
||||
this.historySynchronizerService.insert(historySynchronizer);
|
||||
|
||||
} catch (NamingException e) {
|
||||
e.printStackTrace();
|
||||
@@ -234,11 +235,11 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
|
||||
namePah = namePah + "/" + namePaths[i];
|
||||
}
|
||||
|
||||
//namePah = namePah.substring(0, namePah.length());
|
||||
namePah = namePah.substring(0, namePah.length());
|
||||
String deptNamePath= namePah.substring(0, namePah.lastIndexOf("/"));
|
||||
_logger.info("deptNamePath " + deptNamePath);
|
||||
//和属性映射无关暂时注释
|
||||
/*Organizations deptOrg = orgsNamePathMap.get(deptNamePath);*/
|
||||
|
||||
Organizations deptOrg = orgsNamePathMap.get(deptNamePath);
|
||||
|
||||
userInfo.setLdapDn(nameInNamespace);
|
||||
userInfo.setId(userInfo.generateId());
|
||||
@@ -253,14 +254,14 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
|
||||
String sourceAttr = entry.getValue();
|
||||
String value = null;
|
||||
try {
|
||||
//暂时注释
|
||||
/*if(!attributeMap.keySet().contains(sourceAttr.toLowerCase())){
|
||||
|
||||
if(!attributeMap.keySet().contains(sourceAttr.toLowerCase())){
|
||||
value = (String) getFieldValue(deptOrg, sourceAttr);
|
||||
if(value!=null){
|
||||
setFieldValue(userInfo,targetAttr,value);
|
||||
continue;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
value = LdapUtils.getAttributeStringValue(sourceAttr,attributeMap);
|
||||
if(targetAttr.equals("formattedName")){
|
||||
userInfo.setFormattedName(LdapUtils.getAttributeStringValue(InetOrgPerson.SN,attributeMap)+
|
||||
@@ -309,7 +310,7 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
|
||||
}
|
||||
|
||||
}
|
||||
/* HistorySynchronizer historySynchronizer =new HistorySynchronizer();
|
||||
HistorySynchronizer historySynchronizer =new HistorySynchronizer();
|
||||
historySynchronizer.setId(historySynchronizer.generateId());
|
||||
historySynchronizer.setSyncId(this.synchronizer.getId());
|
||||
historySynchronizer.setSyncName(this.synchronizer.getName());
|
||||
@@ -318,7 +319,7 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
|
||||
historySynchronizer.setObjectType(Organizations.class.getSimpleName());
|
||||
historySynchronizer.setInstId(synchronizer.getInstId());
|
||||
historySynchronizer.setResult("success");
|
||||
this.historySynchronizerService.insert(historySynchronizer);*/
|
||||
this.historySynchronizerService.insert(historySynchronizer);
|
||||
|
||||
return userInfo;
|
||||
}
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class WorkweixinAccessTokenService {
|
||||
final static Logger _logger = LoggerFactory.getLogger(WorkweixinAccessTokenService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(WorkweixinAccessTokenService.class);
|
||||
|
||||
String corpid;
|
||||
|
||||
|
||||
+2
-2
@@ -18,8 +18,8 @@
|
||||
package org.dromara.maxkey.synchronizer.workweixin;
|
||||
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.entity.SyncJobConfigField;
|
||||
@@ -42,7 +42,7 @@ import static org.dromara.maxkey.synchronizer.utils.FieldUtil.*;
|
||||
|
||||
@Service
|
||||
public class WorkweixinOrganizationService extends AbstractSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(WorkweixinOrganizationService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(WorkweixinOrganizationService.class);
|
||||
|
||||
String access_token;
|
||||
@Autowired
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class WorkweixinSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(WorkweixinSynchronizerService.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(WorkweixinSynchronizerService.class);
|
||||
Synchronizers synchronizer;
|
||||
|
||||
@Autowired
|
||||
|
||||
+1
-3
@@ -24,7 +24,7 @@ import java.util.Map;
|
||||
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.entity.SyncJobConfigField;
|
||||
@@ -44,8 +44,6 @@ import static org.dromara.maxkey.synchronizer.utils.FieldUtil.*;
|
||||
public class WorkweixinUsersService extends AbstractSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(WorkweixinUsersService.class);
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
public SyncJobConfigFieldService syncJobConfigFieldService;
|
||||
private static final Integer USER_TYPE = 1;
|
||||
|
||||
+7
-7
@@ -47,13 +47,13 @@ import org.springframework.scheduling.quartz.SchedulerFactoryBean;
|
||||
public class SynchronizerAutoConfiguration implements InitializingBean {
|
||||
private static final Logger _logger = LoggerFactory.getLogger(SynchronizerAutoConfiguration.class);
|
||||
public static final String SYNCHRONIZERS_SELECT_STATEMENT = "select * from mxk_synchronizers where status ='1'";
|
||||
|
||||
@Bean(name = "schedulerSynchronizerJobs")
|
||||
public String schedulerSynchronizerJobs(
|
||||
JdbcTemplate jdbcTemplate,
|
||||
SchedulerFactoryBean schedulerFactoryBean,
|
||||
@Value("${maxkey.job.cron.enable}") boolean jobCronEnable
|
||||
) throws SchedulerException {
|
||||
|
||||
@Bean(name = "schedulerSynchronizerJobs")
|
||||
String schedulerSynchronizerJobs(
|
||||
JdbcTemplate jdbcTemplate,
|
||||
SchedulerFactoryBean schedulerFactoryBean,
|
||||
@Value("${maxkey.job.cron.enable}") boolean jobCronEnable
|
||||
) throws SchedulerException {
|
||||
|
||||
Scheduler scheduler = schedulerFactoryBean.getScheduler();
|
||||
if(jobCronEnable) {
|
||||
|
||||
+1
-1
@@ -21,10 +21,10 @@ import java.sql.Types;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SocialsAssociate;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.Synchronizers;
|
||||
import org.dromara.maxkey.entity.idm.Organizations;
|
||||
import org.dromara.maxkey.persistence.service.HistorySynchronizerService;
|
||||
import org.dromara.maxkey.persistence.service.OrganizationsService;
|
||||
import org.dromara.maxkey.persistence.service.SocialsAssociatesService;
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
org.dromara.maxkey.autoconfigure.SynchronizerAutoConfiguration
|
||||
Reference in New Issue
Block a user