mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-14 21:36:48 +08:00
'pageadd'
This commit is contained in:
164
servers/org-user-sync/src/main/java/com/xboe/StartRunner.java
Normal file
164
servers/org-user-sync/src/main/java/com/xboe/StartRunner.java
Normal file
@@ -0,0 +1,164 @@
|
||||
package com.xboe;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.xboe.basic.entity.OldOrganization;
|
||||
import com.xboe.basic.service.IOldService;
|
||||
import com.xboe.primary.entity.MainOrganization;
|
||||
import com.xboe.primary.service.IMainDbSyncService;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 启动执行一次
|
||||
* @author seastar
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class StartRunner implements ApplicationRunner {
|
||||
|
||||
@Autowired
|
||||
IOldService oldService;
|
||||
|
||||
@Autowired
|
||||
IMainDbSyncService mainService;
|
||||
|
||||
|
||||
@Override
|
||||
public void run(ApplicationArguments args) throws Exception {
|
||||
//用于存放 kid=newId
|
||||
|
||||
Map<String,String> mainOrgMap=new HashMap<String,String>();
|
||||
try {
|
||||
//同步机构
|
||||
List<OldOrganization> allList =oldService.listAll();
|
||||
Set<String> oldIds=new HashSet<String>();
|
||||
for(OldOrganization org :allList){
|
||||
oldIds.add(org.getKid());
|
||||
MainOrganization mainOrg = mainService.findByKid(org.getKid());
|
||||
if(mainOrg==null) {
|
||||
//添加
|
||||
mainOrg=organizationToEntity(org);
|
||||
mainService.save(mainOrg);
|
||||
}else {
|
||||
//更新
|
||||
copyOrganizationToEntity(mainOrg,org);
|
||||
mainService.update(mainOrg);
|
||||
}
|
||||
mainOrgMap.put(org.getKid(),mainOrg.getId());//
|
||||
}
|
||||
//本地的检查 ,如果老库中没有,新库中有,也要设置为删除
|
||||
List<MainOrganization> localList=mainService.getAllSysIdAndId();
|
||||
for(MainOrganization mainOrg : localList) {
|
||||
if(!oldIds.contains(mainOrg.getSysId())) {
|
||||
//把本地的设置为已删除
|
||||
if(StringUtils.isNotBlank(mainOrg.getId())) {
|
||||
mainService.deletedOrg(mainOrg.getId());
|
||||
}else {
|
||||
log.error("id错误【"+mainOrg.getSysId()+"】");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//同步用户信息,2022/11/04同步用户学习时长
|
||||
//查询出本地用户
|
||||
// List<MainUser> allUsers=mainService.findAll();
|
||||
// for(MainUser mainUser : allUsers) {
|
||||
//
|
||||
// OldUser oldUser = oldService.getByUserKid(mainUser.getSysId());
|
||||
// if(oldUser!=null) {
|
||||
// String newId=mainOrgMap.get(oldUser.getOrgnizationId());
|
||||
//
|
||||
// if(StringUtils.isBlank(newId)) {
|
||||
// log.error("本地未找到【"+oldUser.getKid()+"】对应的机构id,不更新用户");
|
||||
// }else {
|
||||
// mainUser.setSysDepartId(oldUser.getOrgnizationId());
|
||||
// mainUser.setCompanyId(oldUser.getCompanyId());
|
||||
// mainUser.setDepartId(newId);
|
||||
//
|
||||
// mainUser.setLearningDuration(oldUser.getLearningDuration());
|
||||
// mainUser.setStatus(oldUser.getStatus());
|
||||
// if(oldUser.getIsDeleted()!=null) {
|
||||
// mainUser.setDeleted(oldUser.getIsDeleted()==0? false:true);
|
||||
// }
|
||||
// if(mainUser.getDeleted()) {
|
||||
// if(StringUtils.isNotBlank(oldUser.getEmployeeStatus())){
|
||||
// mainUser.setDeleted(oldUser.getEmployeeStatus().equals("3")? true:false);
|
||||
// }
|
||||
// }
|
||||
// mainService.updateUser(mainUser);
|
||||
// }
|
||||
// }else {
|
||||
// //本地应该删除
|
||||
// log.error("原系统中无【"+mainUser.getSysId()+"】对应的用户id,本地标识删除此用户");
|
||||
// mainService.deleteAccount(mainUser.getId());
|
||||
//
|
||||
// }
|
||||
// }
|
||||
|
||||
System.exit(0);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("执行失败",e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void copyOrganizationToEntity(MainOrganization ov ,OldOrganization org) {
|
||||
ov.setCode(org.getOrgnizationCode());
|
||||
ov.setName(org.getOrgnizationName());
|
||||
ov.setSysId(org.getKid());
|
||||
ov.setSysParentId(org.getParentOrgnizationId());
|
||||
ov.setDescription(org.getDescription());
|
||||
ov.setCompanyId(org.getCompanyId());
|
||||
ov.setDomainId(org.getDomainId());
|
||||
ov.setNamePath(org.getNamePath());
|
||||
ov.setOrgnizationManagerId(org.getOrgnizationManagerId());
|
||||
ov.setOrganizationLevel(org.getOrganizationLevel());
|
||||
if(StringUtils.isNotBlank(org.getIsMakeOrg())){
|
||||
ov.setIsMakeOrg("1".equals(org.getIsMakeOrg()));//0:否,1:是
|
||||
}
|
||||
if(StringUtils.isNotBlank(org.getIsServiceSite())) {
|
||||
ov.setIsServiceSite("1".equals(org.getIsServiceSite()));//0:否,1:是
|
||||
}
|
||||
if(StringUtils.isNotBlank(org.getIsDefaultOrganization())) {
|
||||
ov.setIsDefaultOrganization("1".equals(org.getIsDefaultOrganization()));//0:否,1:是
|
||||
}
|
||||
if(StringUtils.isNotBlank(org.getStatus())) {
|
||||
ov.setStatus(Integer.parseInt(org.getStatus()));
|
||||
}else{
|
||||
ov.setStatus(1);
|
||||
}
|
||||
|
||||
if(org.getIsDeleted()!=null) {
|
||||
ov.setDeleted(org.getIsDeleted()==0? false:true); //0:正常,1:已删除
|
||||
}else {
|
||||
ov.setDeleted(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 转化对象
|
||||
* @param org
|
||||
* @return
|
||||
*/
|
||||
private MainOrganization organizationToEntity(OldOrganization org) {
|
||||
MainOrganization ov = new MainOrganization();
|
||||
copyOrganizationToEntity(ov,org);
|
||||
return ov;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user