mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-07 01:18:27 +08:00
Merge branch 'main' of https://gitee.com/dromara/MaxKey
This commit is contained in:
commit
9c262146a4
@ -17,16 +17,11 @@
|
||||
|
||||
package org.dromara.maxkey.synchronizer.jdbc;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
|
||||
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.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
@ -35,18 +30,25 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class JdbcOrganizationService extends AbstractSynchronizerService implements ISynchronizerService{
|
||||
final static Logger _logger = LoggerFactory.getLogger(JdbcOrganizationService.class);
|
||||
static ArrayList< ColumnFieldMapper> mapperList = new ArrayList< ColumnFieldMapper>();
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@Service
|
||||
public class JdbcOrganizationService extends AbstractSynchronizerService implements ISynchronizerService {
|
||||
final static Logger _logger = LoggerFactory.getLogger(JdbcOrganizationService.class);
|
||||
static ArrayList<ColumnFieldMapper> mapperList = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void sync() {
|
||||
Connection conn = null;
|
||||
Statement stmt = null;
|
||||
ResultSet rs = null;
|
||||
try {
|
||||
if(StringUtils.isNotBlank(synchronizer.getOrgFilters())){
|
||||
_logger.info("Sync Org Filters {}",synchronizer.getOrgFilters());
|
||||
if (StringUtils.isNotBlank(synchronizer.getOrgFilters())) {
|
||||
_logger.info("Sync Org Filters {}", synchronizer.getOrgFilters());
|
||||
conn = JdbcUtils.connect(
|
||||
synchronizer.getProviderUrl(),
|
||||
synchronizer.getPrincipal(),
|
||||
@ -55,19 +57,19 @@ public class JdbcOrganizationService extends AbstractSynchronizerService imple
|
||||
|
||||
stmt = conn.createStatement();
|
||||
rs = stmt.executeQuery(synchronizer.getOrgFilters());
|
||||
while(rs.next()) {
|
||||
while (rs.next()) {
|
||||
Organizations org = buildOrganization(rs);
|
||||
Organizations queryOrg = this.organizationsService.get(org.getId());
|
||||
if(queryOrg == null) {
|
||||
Organizations queryOrg = organizationsService.get(org.getId());
|
||||
if (queryOrg == null) {
|
||||
organizationsService.insert(org);
|
||||
}else{
|
||||
this.organizationsService.update(org);
|
||||
} else {
|
||||
organizationsService.update(org);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
_logger.error("Exception " , e);
|
||||
}finally {
|
||||
_logger.error("Exception ", e);
|
||||
} finally {
|
||||
JdbcUtils.release(conn, stmt, rs);
|
||||
}
|
||||
}
|
||||
@ -77,65 +79,77 @@ public class JdbcOrganizationService extends AbstractSynchronizerService imple
|
||||
DbTableMetaData meta = JdbcUtils.getMetaData(rs);
|
||||
Organizations org = new Organizations();
|
||||
|
||||
for (ColumnFieldMapper mapper :mapperList ) {
|
||||
if(meta.getColumnsMap().containsKey(mapper.getColumn())) {
|
||||
for (ColumnFieldMapper mapper : mapperList) {
|
||||
if (meta.getColumnsMap().containsKey(mapper.getColumn())) {
|
||||
Object value = null;
|
||||
if(mapper.getType().equalsIgnoreCase("String")) {
|
||||
if (mapper.getType().equalsIgnoreCase("String")) {
|
||||
value = rs.getString(mapper.getColumn());
|
||||
}else {
|
||||
} else {
|
||||
value = rs.getInt(mapper.getColumn());
|
||||
}
|
||||
if(value != null ) {
|
||||
if (value != null) {
|
||||
try {
|
||||
PropertyUtils.setSimpleProperty(org, mapper.getField(), value);
|
||||
} catch (Exception e) {
|
||||
_logger.error("setSimpleProperty {}" , e);
|
||||
_logger.error("setSimpleProperty {}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
org.setId(org.generateId());
|
||||
org.setInstId(this.synchronizer.getInstId());
|
||||
if(meta.getColumnsMap().containsKey("status")) {
|
||||
org.setInstId(synchronizer.getInstId());
|
||||
if (meta.getColumnsMap().containsKey("status")) {
|
||||
org.setStatus(rs.getInt("status"));
|
||||
}else {
|
||||
} else {
|
||||
org.setStatus(ConstsStatus.ACTIVE);
|
||||
}
|
||||
_logger.debug("Organization {}", org);
|
||||
|
||||
HistorySynchronizer historySynchronizer = new HistorySynchronizer();
|
||||
historySynchronizer.setId(historySynchronizer.generateId());
|
||||
historySynchronizer.setSyncId(synchronizer.getId());
|
||||
historySynchronizer.setSyncName(synchronizer.getName());
|
||||
historySynchronizer.setObjectId(org.getId());
|
||||
historySynchronizer.setObjectName(org.getOrgName());
|
||||
historySynchronizer.setObjectType(Organizations.class.getSimpleName());
|
||||
historySynchronizer.setInstId(synchronizer.getInstId());
|
||||
historySynchronizer.setResult("success");
|
||||
historySynchronizerService.insert(historySynchronizer);
|
||||
|
||||
_logger.debug("Organization {}" , org);
|
||||
return org;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
mapperList.add(new ColumnFieldMapper("id" , "id","String"));
|
||||
mapperList.add(new ColumnFieldMapper("orgcode" , "orgCode","String"));
|
||||
mapperList.add(new ColumnFieldMapper("orgname" , "orgName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("fullname" , "fullName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("parentid" , "parentId","String"));
|
||||
mapperList.add(new ColumnFieldMapper("parentcode" , "parentCode","String"));
|
||||
mapperList.add(new ColumnFieldMapper("parentname" , "parentName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("id", "id", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("orgcode", "orgCode", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("orgname", "orgName", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("fullname", "fullName", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("parentid", "parentId", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("parentcode", "parentCode", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("parentname", "parentName", "String"));
|
||||
|
||||
mapperList.add(new ColumnFieldMapper("type" , "type","String"));
|
||||
mapperList.add(new ColumnFieldMapper("codepath" , "codePath","String"));
|
||||
mapperList.add(new ColumnFieldMapper("namepath" , "namePath","String"));
|
||||
mapperList.add(new ColumnFieldMapper("level" , "level","Int"));
|
||||
mapperList.add(new ColumnFieldMapper("haschild" , "hasChild","String"));
|
||||
mapperList.add(new ColumnFieldMapper("division" , "division","String"));
|
||||
mapperList.add(new ColumnFieldMapper("country" , "country","String"));
|
||||
mapperList.add(new ColumnFieldMapper("region" , "region","String"));
|
||||
mapperList.add(new ColumnFieldMapper("locality" , "locality","String"));
|
||||
mapperList.add(new ColumnFieldMapper("street" , "street","String"));
|
||||
mapperList.add(new ColumnFieldMapper("address" , "address","String"));
|
||||
mapperList.add(new ColumnFieldMapper("contact" , "contact","String"));
|
||||
mapperList.add(new ColumnFieldMapper("postalcode" , "postalCode","String"));
|
||||
mapperList.add(new ColumnFieldMapper("phone" , "phone","String"));
|
||||
mapperList.add(new ColumnFieldMapper("fax" , "fax","String"));
|
||||
mapperList.add(new ColumnFieldMapper("email" , "email","String"));
|
||||
mapperList.add(new ColumnFieldMapper("sortindex" , "sortIndex","Int"));
|
||||
mapperList.add(new ColumnFieldMapper("ldapdn" , "ldapDn","String"));
|
||||
mapperList.add(new ColumnFieldMapper("description" , "description","String"));
|
||||
mapperList.add(new ColumnFieldMapper("status" , "status","int"));
|
||||
mapperList.add(new ColumnFieldMapper("type", "type", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("codepath", "codePath", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("namepath", "namePath", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("level", "level", "Int"));
|
||||
mapperList.add(new ColumnFieldMapper("haschild", "hasChild", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("division", "division", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("country", "country", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("region", "region", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("locality", "locality", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("street", "street", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("address", "address", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("contact", "contact", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("postalcode", "postalCode", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("phone", "phone", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("fax", "fax", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("email", "email", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("sortindex", "sortIndex", "Int"));
|
||||
mapperList.add(new ColumnFieldMapper("ldapdn", "ldapDn", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("description", "description", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("status", "status", "int"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,15 +17,10 @@
|
||||
|
||||
package org.dromara.maxkey.synchronizer.jdbc;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.apache.commons.beanutils.PropertyUtils;
|
||||
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.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
@ -35,12 +30,19 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@Service
|
||||
public class JdbcUsersService extends AbstractSynchronizerService implements ISynchronizerService{
|
||||
public class JdbcUsersService extends AbstractSynchronizerService implements ISynchronizerService {
|
||||
final static Logger _logger = LoggerFactory.getLogger(JdbcUsersService.class);
|
||||
|
||||
static ArrayList< ColumnFieldMapper> mapperList = new ArrayList< ColumnFieldMapper>();
|
||||
static ArrayList<ColumnFieldMapper> mapperList = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void sync() {
|
||||
_logger.info("Sync Jdbc Users...");
|
||||
Connection conn = null;
|
||||
@ -48,8 +50,8 @@ public class JdbcUsersService extends AbstractSynchronizerService implements
|
||||
ResultSet rs = null;
|
||||
|
||||
try {
|
||||
if(StringUtils.isNotBlank(synchronizer.getOrgFilters())){
|
||||
_logger.info("Sync User Filters {}",synchronizer.getOrgFilters());
|
||||
if (StringUtils.isNotBlank(synchronizer.getUserFilters())) {
|
||||
_logger.info("Sync User Filters {}", synchronizer.getUserFilters());
|
||||
conn = JdbcUtils.connect(
|
||||
synchronizer.getProviderUrl(),
|
||||
synchronizer.getPrincipal(),
|
||||
@ -61,32 +63,32 @@ public class JdbcUsersService extends AbstractSynchronizerService implements
|
||||
long insertCount = 0;
|
||||
long updateCount = 0;
|
||||
long readCount = 0;
|
||||
while(rs.next()) {
|
||||
while (rs.next()) {
|
||||
UserInfo user = buildUserInfo(rs);
|
||||
UserInfo queryUser = this.userInfoService.findByUsername(user.getUsername());
|
||||
readCount ++;
|
||||
if(queryUser == null) {
|
||||
if(user.getPassword().indexOf("{") > -1 && user.getPassword().indexOf("}") > -1) {
|
||||
userInfoService.insert(user,false);
|
||||
}else {
|
||||
UserInfo queryUser = userInfoService.findByUsername(user.getUsername());
|
||||
readCount++;
|
||||
if (queryUser == null) {
|
||||
if (user.getPassword().indexOf("{") > -1 && user.getPassword().indexOf("}") > -1) {
|
||||
userInfoService.insert(user, false);
|
||||
} else {
|
||||
//passwordEncoder
|
||||
userInfoService.insert(user,true);
|
||||
userInfoService.insert(user, true);
|
||||
}
|
||||
user.setBadPasswordCount(1);
|
||||
insertCount++;
|
||||
}else{
|
||||
} else {
|
||||
//no need update password , set null
|
||||
user.setPassword(null);
|
||||
userInfoService.update(user);
|
||||
updateCount++;
|
||||
}
|
||||
_logger.trace("read Count {} , insert Count {} , updateCount {} " , readCount,insertCount,updateCount);
|
||||
_logger.trace("read Count {} , insert Count {} , updateCount {} ", readCount, insertCount, updateCount);
|
||||
}
|
||||
_logger.info("read Count {} , insert Count {} , updateCount {} " , readCount,insertCount,updateCount);
|
||||
_logger.info("read Count {} , insert Count {} , updateCount {} ", readCount, insertCount, updateCount);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
_logger.error("Exception " , e);
|
||||
}finally {
|
||||
_logger.error("Exception ", e);
|
||||
} finally {
|
||||
JdbcUtils.release(conn, stmt, rs);
|
||||
}
|
||||
}
|
||||
@ -95,110 +97,121 @@ public class JdbcUsersService extends AbstractSynchronizerService implements
|
||||
DbTableMetaData meta = JdbcUtils.getMetaData(rs);
|
||||
UserInfo user = new UserInfo();
|
||||
//basic
|
||||
for (ColumnFieldMapper mapper :mapperList ) {
|
||||
if(meta.getColumnsMap().containsKey(mapper.getColumn())) {
|
||||
for (ColumnFieldMapper mapper : mapperList) {
|
||||
if (meta.getColumnsMap().containsKey(mapper.getColumn())) {
|
||||
Object value = null;
|
||||
if(mapper.getType().equalsIgnoreCase("String")) {
|
||||
if (mapper.getType().equalsIgnoreCase("String")) {
|
||||
value = rs.getString(mapper.getColumn());
|
||||
}else {
|
||||
} else {
|
||||
value = rs.getInt(mapper.getColumn());
|
||||
}
|
||||
if(value != null ) {
|
||||
if (value != null) {
|
||||
try {
|
||||
PropertyUtils.setSimpleProperty(user, mapper.getField(), value);
|
||||
} catch (Exception e) {
|
||||
_logger.error("setSimpleProperty {}" , e);
|
||||
_logger.error("setSimpleProperty {}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(meta.getColumnsMap().containsKey("status")) {
|
||||
if (meta.getColumnsMap().containsKey("status")) {
|
||||
user.setStatus(rs.getInt("status"));
|
||||
}else {
|
||||
} else {
|
||||
user.setStatus(ConstsStatus.ACTIVE);
|
||||
}
|
||||
user.setInstId(this.synchronizer.getInstId());
|
||||
user.setInstId(synchronizer.getInstId());
|
||||
|
||||
//password
|
||||
if(meta.getColumnsMap().containsKey("password")) {
|
||||
if (meta.getColumnsMap().containsKey("password")) {
|
||||
user.setPassword(rs.getString("password"));
|
||||
}else {
|
||||
} else {
|
||||
//后4位
|
||||
String last4Char = "6666";
|
||||
if(StringUtils.isNotBlank(user.getIdCardNo())) {
|
||||
if (StringUtils.isNotBlank(user.getIdCardNo())) {
|
||||
last4Char = user.getIdCardNo().substring(user.getIdCardNo().length() - 4);
|
||||
}else if(StringUtils.isNotBlank(user.getMobile())) {
|
||||
} else if (StringUtils.isNotBlank(user.getMobile())) {
|
||||
last4Char = user.getMobile().substring(user.getMobile().length() - 4);
|
||||
}else if(StringUtils.isNotBlank(user.getEmployeeNumber())) {
|
||||
} else if (StringUtils.isNotBlank(user.getEmployeeNumber())) {
|
||||
last4Char = user.getEmployeeNumber().substring(user.getEmployeeNumber().length() - 4);
|
||||
}
|
||||
user.setPassword(user.getUsername()+"@M"+last4Char);
|
||||
user.setPassword(user.getUsername() + "@M" + last4Char);
|
||||
}
|
||||
|
||||
_logger.debug("User {} " , user);
|
||||
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;
|
||||
}
|
||||
|
||||
static {
|
||||
mapperList.add(new ColumnFieldMapper("id" , "id","String"));
|
||||
mapperList.add(new ColumnFieldMapper("username" , "userName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("picture" , "picture","String"));
|
||||
mapperList.add(new ColumnFieldMapper("displayname" , "displayName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("nickname" , "nickName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("mobile" , "mobile","String"));
|
||||
mapperList.add(new ColumnFieldMapper("email" , "email","String"));
|
||||
mapperList.add(new ColumnFieldMapper("birthdate" , "birthDate","String"));
|
||||
mapperList.add(new ColumnFieldMapper("usertype" , "userType","String"));
|
||||
mapperList.add(new ColumnFieldMapper("userstate" , "userState","String"));
|
||||
mapperList.add(new ColumnFieldMapper("windowsaccount" , "windowsAccount","String"));
|
||||
mapperList.add(new ColumnFieldMapper("givenname" , "givenName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("middlename" , "middleName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("married" , "married","Int"));
|
||||
mapperList.add(new ColumnFieldMapper("gender" , "gender","Int"));
|
||||
mapperList.add(new ColumnFieldMapper("idtype" , "idType","Int"));
|
||||
mapperList.add(new ColumnFieldMapper("idcardno" , "idCardNo","String"));
|
||||
mapperList.add(new ColumnFieldMapper("website" , "webSite","String"));
|
||||
mapperList.add(new ColumnFieldMapper("startworkdate" , "startWorkDate","String"));
|
||||
mapperList.add(new ColumnFieldMapper("id", "id", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("username", "username", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("picture", "picture", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("displayname", "displayName", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("nickname", "nickName", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("mobile", "mobile", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("email", "email", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("birthdate", "birthDate", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("usertype", "userType", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("userstate", "userState", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("windowsaccount", "windowsAccount", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("givenname", "givenName", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("middlename", "middleName", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("married", "married", "Int"));
|
||||
mapperList.add(new ColumnFieldMapper("gender", "gender", "Int"));
|
||||
mapperList.add(new ColumnFieldMapper("idtype", "idType", "Int"));
|
||||
mapperList.add(new ColumnFieldMapper("idcardno", "idCardNo", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("website", "webSite", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("startworkdate", "startWorkDate", "String"));
|
||||
//work
|
||||
mapperList.add(new ColumnFieldMapper("workcountry" , "workCountry","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workregion" , "workRegion","String"));
|
||||
mapperList.add(new ColumnFieldMapper("worklocality" , "workLocality","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workstreetaddress" , "workStreetAddress","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workaddressformatted" , "workAddressFormatted","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workemail" , "workEmail","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workphonenumber" , "workPhoneNumber","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workpostalcode" , "workPostalCode","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workfax" , "workFax","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workofficename" , "workOfficeName","String"));
|
||||
mapperList.add(new ColumnFieldMapper("workcountry", "workCountry", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("workregion", "workRegion", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("worklocality", "workLocality", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("workstreetaddress", "workStreetAddress", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("workaddressformatted", "workAddressFormatted", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("workemail", "workEmail", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("workphonenumber", "workPhoneNumber", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("workpostalcode", "workPostalCode", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("workfax", "workFax", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("workofficename", "workOfficeName", "String"));
|
||||
//home
|
||||
mapperList.add(new ColumnFieldMapper("homecountry" , "homeCountry","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homeregion" , "homeRegion","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homelocality" , "homeLocality","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homestreetaddress" , "homeStreetAddress","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homeaddressformatted" , "homeAddressFormatted","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homeemail" , "homeEmail","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homephonenumber" , "homePhonenumber","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homepostalcode" , "homePostalCode","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homefax" , "homeFax","String"));
|
||||
mapperList.add(new ColumnFieldMapper("homecountry", "homeCountry", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("homeregion", "homeRegion", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("homelocality", "homeLocality", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("homestreetaddress", "homeStreetAddress", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("homeaddressformatted", "homeAddressFormatted", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("homeemail", "homeEmail", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("homephonenumber", "homePhonenumber", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("homepostalcode", "homePostalCode", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("homefax", "homeFax", "String"));
|
||||
//company
|
||||
mapperList.add(new ColumnFieldMapper("employeenumber" , "employeeNumber","String"));
|
||||
mapperList.add(new ColumnFieldMapper("costcenter" , "costCenter","String"));
|
||||
mapperList.add(new ColumnFieldMapper("organization" , "organization","String"));
|
||||
mapperList.add(new ColumnFieldMapper("division" , "division","String"));
|
||||
mapperList.add(new ColumnFieldMapper("departmentid" , "departmentId","String"));
|
||||
mapperList.add(new ColumnFieldMapper("department" , "department","String"));
|
||||
mapperList.add(new ColumnFieldMapper("jobtitle" , "jobTitle","String"));
|
||||
mapperList.add(new ColumnFieldMapper("joblevel" , "jobLevel","String"));
|
||||
mapperList.add(new ColumnFieldMapper("managerid" , "managerId","String"));
|
||||
mapperList.add(new ColumnFieldMapper("manager" , "manager","String"));
|
||||
mapperList.add(new ColumnFieldMapper("assistantid" , "assistantId","String"));
|
||||
mapperList.add(new ColumnFieldMapper("assistant" , "assistant","String"));
|
||||
mapperList.add(new ColumnFieldMapper("entrydate" , "entrydate","String"));
|
||||
mapperList.add(new ColumnFieldMapper("quitdate" , "quitdate","String"));
|
||||
mapperList.add(new ColumnFieldMapper("ldapdn" , "ldapDn","String"));
|
||||
mapperList.add(new ColumnFieldMapper("employeenumber", "employeeNumber", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("costcenter", "costCenter", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("organization", "organization", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("division", "division", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("departmentid", "departmentId", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("department", "department", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("jobtitle", "jobTitle", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("joblevel", "jobLevel", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("managerid", "managerId", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("manager", "manager", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("assistantid", "assistantId", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("assistant", "assistant", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("entrydate", "entrydate", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("quitdate", "quitdate", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("ldapdn", "ldapDn", "String"));
|
||||
|
||||
mapperList.add(new ColumnFieldMapper("description" , "description","String"));
|
||||
mapperList.add(new ColumnFieldMapper("status" , "status","String"));
|
||||
mapperList.add(new ColumnFieldMapper("description", "description", "String"));
|
||||
mapperList.add(new ColumnFieldMapper("status", "status", "String"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
<div>
|
||||
<form nz-form [formGroup]="formGroup" (ngSubmit)="onSubmit($event)" se-container="1">
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzMd]="6" nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-label [nzMd]="6" nzFor="name">{{ 'mxk.synchronizers.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="18" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="id" id="id" />
|
||||
<input [(ngModel)]="form.model.name" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="name" id="name" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
|
||||
@ -17,10 +17,9 @@
|
||||
|
||||
package org.dromara.maxkey.web.config.contorller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.dromara.maxkey.authn.annotation.CurrentUser;
|
||||
import org.dromara.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.dromara.maxkey.entity.Connectors;
|
||||
import org.dromara.maxkey.entity.Message;
|
||||
import org.dromara.maxkey.entity.Synchronizers;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
@ -28,47 +27,59 @@ import org.dromara.maxkey.persistence.service.SynchronizersService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.dromara.maxkey.util.StringUtils;
|
||||
import org.dromara.maxkey.web.WebContext;
|
||||
import org.dromara.mybatis.jpa.entity.JpaPageResults;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Controller
|
||||
@RequestMapping(value={"/config/synchronizers"})
|
||||
@RequestMapping(value = {"/config/synchronizers"})
|
||||
public class SynchronizersController {
|
||||
static final Logger logger = LoggerFactory.getLogger(SynchronizersController.class);
|
||||
|
||||
@Autowired
|
||||
SynchronizersService synchronizersService;
|
||||
|
||||
@RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
@RequestMapping(value = {"/fetch"}, produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
@ResponseBody
|
||||
public ResponseEntity<?> fetch(Synchronizers synchronizers,@CurrentUser UserInfo currentUser) {
|
||||
logger.debug("fetch {}" , synchronizers);
|
||||
public ResponseEntity<?> fetch(Synchronizers synchronizers, @CurrentUser UserInfo currentUser) {
|
||||
logger.debug("fetch {}", synchronizers);
|
||||
synchronizers.setInstId(currentUser.getInstId());
|
||||
return new Message<JpaPageResults<Synchronizers>>(
|
||||
return new Message<>(
|
||||
synchronizersService.fetchPageResults(synchronizers)).buildResponse();
|
||||
}
|
||||
|
||||
@RequestMapping(value = { "/get/{id}" }, produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
@RequestMapping(value = {"/get/{id}"}, produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
public ResponseEntity<?> get(@PathVariable("id") String id) {
|
||||
Synchronizers synchronizers=synchronizersService.get(id);
|
||||
Synchronizers synchronizers = synchronizersService.get(id);
|
||||
synchronizers.setCredentials(PasswordReciprocal.getInstance().decoder(synchronizers.getCredentials()));
|
||||
return new Message<Synchronizers>(synchronizers).buildResponse();
|
||||
return new Message<>(synchronizers).buildResponse();
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
public ResponseEntity<?> update(@RequestBody Synchronizers synchronizers,@CurrentUser UserInfo currentUser) {
|
||||
logger.debug("-update : {}" , synchronizers);
|
||||
@RequestMapping(value = {"/add"}, produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
public ResponseEntity<?> add(@RequestBody Synchronizers synchronizers, @CurrentUser UserInfo currentUser) {
|
||||
logger.debug("-add : {}", synchronizers);
|
||||
synchronizers.setInstId(currentUser.getInstId());
|
||||
if (StringUtils.isNotBlank(synchronizers.getCredentials())) {
|
||||
synchronizers.setCredentials(PasswordReciprocal.getInstance().encode(synchronizers.getCredentials()));
|
||||
}
|
||||
if (synchronizersService.insert(synchronizers)) {
|
||||
return new Message<Synchronizers>(Message.SUCCESS).buildResponse();
|
||||
} else {
|
||||
return new Message<Synchronizers>(Message.FAIL).buildResponse();
|
||||
}
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@RequestMapping(value = {"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
public ResponseEntity<?> update(@RequestBody Synchronizers synchronizers, @CurrentUser UserInfo currentUser) {
|
||||
logger.debug("-update : {}", synchronizers);
|
||||
synchronizers.setInstId(currentUser.getInstId());
|
||||
synchronizers.setCredentials(PasswordReciprocal.getInstance().encode(synchronizers.getCredentials()));
|
||||
if (synchronizersService.update(synchronizers)) {
|
||||
@ -79,26 +90,37 @@ public class SynchronizersController {
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@RequestMapping(value={"/synchr"})
|
||||
@RequestMapping(value = {"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
public ResponseEntity<?> delete(@RequestParam("ids") String ids) {
|
||||
logger.debug("-delete ids : {} ", ids);
|
||||
if (synchronizersService.deleteBatch(ids)) {
|
||||
return new Message<Connectors>(Message.SUCCESS).buildResponse();
|
||||
} else {
|
||||
return new Message<Connectors>(Message.FAIL).buildResponse();
|
||||
}
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@RequestMapping(value = {"/synchr"})
|
||||
public ResponseEntity<?> synchr(@RequestParam("id") String id) {
|
||||
logger.debug("-sync ids : {}" , id);
|
||||
logger.debug("-sync ids : {}", id);
|
||||
|
||||
List<String> ids = StringUtils.string2List(id, ",");
|
||||
try {
|
||||
for(String sysId : ids) {
|
||||
for (String sysId : ids) {
|
||||
Synchronizers synchronizer = synchronizersService.get(sysId);
|
||||
synchronizer.setCredentials(PasswordReciprocal.getInstance().decoder(synchronizer.getCredentials()));
|
||||
logger.debug("synchronizer {}" , synchronizer);
|
||||
ISynchronizerService synchronizerService = WebContext.getBean(synchronizer.getService(),ISynchronizerService.class);
|
||||
if(synchronizerService != null) {
|
||||
logger.debug("synchronizer {}", synchronizer);
|
||||
ISynchronizerService synchronizerService = WebContext.getBean(synchronizer.getService(), ISynchronizerService.class);
|
||||
if (synchronizerService != null) {
|
||||
synchronizerService.setSynchronizer(synchronizer);
|
||||
synchronizerService.sync();
|
||||
}else {
|
||||
logger.info("synchronizer {} not exist .",synchronizer.getService());
|
||||
} else {
|
||||
logger.info("synchronizer {} not exist .", synchronizer.getService());
|
||||
}
|
||||
}
|
||||
}catch(Exception e) {
|
||||
logger.error("synchronizer Exception " , e);
|
||||
} catch (Exception e) {
|
||||
logger.error("synchronizer Exception ", e);
|
||||
return new Message<Synchronizers>(Message.FAIL).buildResponse();
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user