From acea9131318ee6823d008b386e52fee573882b2e Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 18 十二月 2023 15:14:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java | 237 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 126 insertions(+), 111 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java b/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
index 86e4f07..453f87a 100644
--- a/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
+++ b/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
@@ -23,6 +23,7 @@
import com.ycl.service.user.UmsRoleService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.ApplicationListener;
@@ -33,10 +34,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
@Slf4j
@@ -52,11 +50,11 @@
@Override
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
- if (contextRefreshedEvent.getApplicationContext().getParent() == null) {
- Thread thread = new Thread(this::run);
- thread.setUncaughtExceptionHandler(handler);
- thread.start();
- }
+// if (contextRefreshedEvent.getApplicationContext().getParent() == null) {
+// Thread thread = new Thread(this::run);
+// thread.setUncaughtExceptionHandler(handler);
+// thread.start();
+// }
}
@Autowired
@@ -72,121 +70,138 @@
@Autowired
private UmsAdminRoleRelationService umsAdminRoleRelationService;
- // @Scheduled(cron = "0 0 00 * * ?")
+ @Value("${spring.profiles.active}")
+ private String env;
+
+ @Scheduled(cron = "0 00 00 * * ?") // 姣忓ぉ闆剁偣鎵ц
@Transactional(rollbackFor = Exception.class)
public void run() {
- //鑾峰彇鍏ㄩ儴閮ㄩ棬code
- JSONObject topObj = dingCommon.getBookAuthority();
- //椤剁骇閮ㄩ棬id
- JSONArray deptTopArr = topObj.getJSONArray("deptVisibleScopes");
- List<UmsDepart> dingOrgList = dingCommon.getOrgInfo(deptTopArr);
- //鏌ヨ鏁版嵁搴撲腑鐨勯儴闂�
- List<UmsDepart> dataOrgList = umsDepartService.list();
- Iterator<UmsDepart> removeIterOrg = dingOrgList.iterator();
- while (removeIterOrg.hasNext()) {
- UmsDepart dingOrg = removeIterOrg.next();
- if (dingOrg.getCode().equals(deptTopArr.getString(0))) {
- dingOrg.setParentId(0L);
- }
- //鍒ゆ柇
- for (UmsDepart org : dataOrgList) {
- if (ObjectUtil.equals(org.getId(), dingOrg.getId()) && ObjectUtil.equals(org.getDepartName(), dingOrg.getDepartName()) && ObjectUtil.equals(org.getParentId(), dingOrg.getParentId())) {
- removeIterOrg.remove();
- }
- }
- }
- //姝ゆ椂 dingOrgList 涓墿涓嬬殑灏辨槸鏂扮殑缁勭粐鏈烘瀯浜嗐��
- dingOrgList.forEach(dingOrg -> {
- if (dingOrg.getCode().equals(deptTopArr.getString(0))) {
- dingOrg.setParentId(0L);
- }
- //umsDepartService.fillPids(dingOrg);
- dingOrg.setStatus((short) 1);
- umsDepartService.saveOrUpdate(dingOrg);
- });
+ if ("online".equals(env)) {
+ log.info("寮�濮嬪悓姝ヤ换鍔�");
+ //鑾峰彇鍏ㄩ儴閮ㄩ棬code
+ JSONObject topObj = dingCommon.getBookAuthority();
+ //椤剁骇閮ㄩ棬id
+ log.info("閮ㄩ棬code------------>{}", topObj.toJSONString());
+ JSONArray deptTopArr = topObj.getJSONArray("deptVisibleScopes");
+ List<UmsDepart> dingOrgList = dingCommon.getOrgInfo(deptTopArr);
- log.info(TAG + "update organization size " + dingOrgList.size());
- TimeInterval timer = DateUtil.timer();
- /**
- // * 鏍规嵁缁勭粐code 鏌ヨ 閫氳褰曚汉鍛樹俊鎭�
- // */
- Set<DingUserInfo> dingList = dingCommon.getPersonInfoByOrgCode();
- //鏌ヨ鎵�鏈夌敤鎴�
- List<UmsAdmin> userList = umsAdminService.list();
- //鏌ヨ鐢ㄦ埛缁勭粐鍏宠仈琛�
- List<UmsDepartManage> empOrgList = departManageService.list();
- Iterator<DingUserInfo> iterator = dingList.iterator();
- while (iterator.hasNext()) {
- DingUserInfo dingUserInfo = iterator.next();
- //鍒ゆ柇鐢ㄦ埛鏄惁瀛樺湪锛岃緭鍑烘柊鐢ㄦ埛
- for (UmsAdmin user : userList) {
- //鍒ゆ柇濮撳悕
- if (ObjectUtil.equals(user.getId(), dingUserInfo.getUserId()) ) {
- iterator.remove();
- //鍒ゆ柇缁勭粐
+ //鏌ヨ鏁版嵁搴撲腑鐨勯儴闂�
+ List<UmsDepart> dataOrgList = umsDepartService.list();
+ if (CollectionUtils.isNotEmpty(dingOrgList)) {
+ Iterator<UmsDepart> removeIterOrg = dingOrgList.iterator();
+ while (removeIterOrg.hasNext()) {
+ UmsDepart dingOrg = removeIterOrg.next();
+ if (dingOrg.getCode().equals(deptTopArr.getString(0))) {
+ dingOrg.setParentId(0L);
+ }
+ //鍒ゆ柇
+ for (UmsDepart org : dataOrgList) {
+ if (ObjectUtil.equals(org.getId(), dingOrg.getId()) && ObjectUtil.equals(org.getDepartName(), dingOrg.getDepartName()) && ObjectUtil.equals(org.getParentId(), dingOrg.getParentId())) {
+ removeIterOrg.remove();
+ }
+ }
+ }
+ //姝ゆ椂 dingOrgList 涓墿涓嬬殑灏辨槸鏂扮殑缁勭粐鏈烘瀯浜嗐��
+ dingOrgList.forEach(dingOrg -> {
+ if (dingOrg.getCode().equals(deptTopArr.getString(0))) {
+ dingOrg.setParentId(0L);
+ }
+ //umsDepartService.fillPids(dingOrg);
+ dingOrg.setStatus((short) 1);
+ umsDepartService.saveOrUpdate(dingOrg);
+ });
+ }
+// log.info(TAG + "update organization size " + dingOrgList.size());
+ TimeInterval timer = DateUtil.timer();
+ /**
+ // * 鏍规嵁缁勭粐code 鏌ヨ 閫氳褰曚汉鍛樹俊鎭�
+ // */
+ //鏌ヨ鎵�鏈夌敤鎴�
+ Set<DingUserInfo> dingList = dingCommon.getPersonInfoByOrgCode();
+ Set<DingUserInfo> dingUsers = new HashSet<>(dingList);
+
+ log.info("鏌ヨ鎵�鏈夌敤鎴�------->{}", dingUsers);
+ List<UmsAdmin> userList = umsAdminService.list();
+ //鏌ヨ鐢ㄦ埛缁勭粐鍏宠仈琛�
+ List<UmsDepartManage> empOrgList = departManageService.list();
+ Iterator<DingUserInfo> iterator = dingUsers.iterator();
+ while (iterator.hasNext()) {
+ DingUserInfo dingUserInfo = iterator.next();
+ //鍒ゆ柇鐢ㄦ埛鏄惁瀛樺湪锛岃緭鍑烘柊鐢ㄦ埛
+ for (UmsAdmin user : userList) {
+ //鍒ゆ柇濮撳悕
+ if (ObjectUtil.equals(user.getId(), dingUserInfo.getUserId())) {
+ iterator.remove();
+ //鍒ゆ柇缁勭粐
// for (UmsDepartManage emp : empOrgList) {
// if (ObjectUtil.equals(user.getId(), emp.getUserId()) && ObjectUtil.equals(dingUserInfo.getOrgId(), emp.getDepartId())) {
// iterator.remove();
// break;
// }
// }
+ }
}
}
- }
- ArrayList<UmsAdminRoleRelation> relations = new ArrayList<>();
- log.info(TAG + " elapsed time:" + timer.interval());
- for (DingUserInfo dingUserInfo : dingList) {
- //1.娣诲姞鐢ㄦ埛
- UmsAdmin user = new UmsAdmin();
- //璐﹀彿
- user.setUsername(dingUserInfo.getEmployeeName());
- //鏄电О
- if (StringUtils.isNotBlank(dingUserInfo.getNickNameCn())) {
- user.setNickName(dingUserInfo.getNickNameCn());
- } else {
- user.setNickName(dingUserInfo.getEmployeeName());
+
+
+ ArrayList<UmsAdminRoleRelation> relations = new ArrayList<>();
+// log.info(TAG + " elapsed time:" + timer.interval());
+ for (DingUserInfo dingUserInfo : dingUsers) {
+ //1.娣诲姞鐢ㄦ埛
+ UmsAdmin user = new UmsAdmin();
+ //璐﹀彿
+ user.setUsername(dingUserInfo.getEmployeeName());
+ //鏄电О
+ if (StringUtils.isNotBlank(dingUserInfo.getNickNameCn())) {
+ user.setNickName(dingUserInfo.getNickNameCn());
+ } else {
+ user.setNickName(dingUserInfo.getEmployeeName());
+ }
+ //code
+ //accountId
+ user.setAccountId(dingUserInfo.getAccountId());
+ //澶村儚
+ user.setIcon(dingUserInfo.getGovEmpAvatar());
+ //濮撳悕
+ //鎬у埆
+ user.setSex(dingUserInfo.getEmpGender().byteValue());
+ //瀵嗙爜 鑾峰彇鍒濆瀵嗙爜
+ //灏嗗瘑鐮佽繘琛屽姞瀵嗘搷浣�
+ String encodePassword = passwordEncoder.encode("123456");
+ user.setPassword(encodePassword);
+ user.setIsDy(Byte.parseByte("0"));
+ user.setMobile("");
+ user.setOpenid(dingUserInfo.getOpenid());
+ //id
+ user.setId(dingUserInfo.getUserId());
+ //鐘舵�佷负鍋滅敤锛堜笉鍙敤鐘舵�侊級鐐瑰嚮鐧诲綍鍚庢墠鑳戒娇鐢�
+ user.setStatus(1);
+ umsAdminService.save(user);
+ //鍛樺伐淇℃伅锛屽叧鑱旂粍缁�
+ UmsDepartManage departManage = new UmsDepartManage();
+ departManage.setDepartId(dingUserInfo.getOrgId());
+ departManage.setIsLeader(0);
+ departManage.setUserId(dingUserInfo.getUserId());
+ departManageService.saveOrUpdate(departManage);
+ //瑙掕壊淇℃伅
+ List<String> roleCode = dingUserInfo.getRoleCodeList();
+ if (CollectionUtils.isNotEmpty(roleCode)) {
+ List<UmsRole> roleList = roleService.getRoleListByCodes(roleCode);
+ roleList.forEach(item -> {
+ UmsAdminRoleRelation relation = new UmsAdminRoleRelation();
+ relation.setAdminId(dingUserInfo.getUserId());
+ relation.setRoleId(item.getId());
+ relations.add(relation);
+ });
+ }
}
- //code
- //澶村儚
- user.setIcon(dingUserInfo.getGovEmpAvatar());
- //濮撳悕
- //鎬у埆
- user.setSex(dingUserInfo.getEmpGender().byteValue());
- //瀵嗙爜 鑾峰彇鍒濆瀵嗙爜
- //灏嗗瘑鐮佽繘琛屽姞瀵嗘搷浣�
- String encodePassword = passwordEncoder.encode("123456");
- user.setPassword(encodePassword);
- user.setIsDy(Byte.parseByte("0"));
- user.setMobile("");
- user.setOpenid(dingUserInfo.getOpenid());
- //id
- user.setId(dingUserInfo.getUserId());
- //鐘舵�佷负鍋滅敤锛堜笉鍙敤鐘舵�侊級鐐瑰嚮鐧诲綍鍚庢墠鑳戒娇鐢�
- user.setStatus(1);
- umsAdminService.save(user);
- //鍛樺伐淇℃伅锛屽叧鑱旂粍缁�
- UmsDepartManage departManage = new UmsDepartManage();
- departManage.setDepartId(dingUserInfo.getOrgId());
- departManage.setIsLeader(0);
- departManage.setUserId(dingUserInfo.getUserId());
- departManageService.saveOrUpdate(departManage);
- //瑙掕壊淇℃伅
- List<String> roleCode = dingUserInfo.getRoleCodeList();
- if (CollectionUtils.isNotEmpty(roleCode)) {
- List<UmsRole> roleList = roleService.getRoleListByCodes(roleCode);
- roleList.forEach(item -> {
- UmsAdminRoleRelation relation = new UmsAdminRoleRelation();
- relation.setAdminId(dingUserInfo.getUserId());
- relation.setRoleId(item.getId());
- relations.add(relation);
- });
+ if (CollUtil.isNotEmpty(relations)) {
+ umsAdminRoleRelationService.saveBatch(relations, IService.DEFAULT_BATCH_SIZE);
}
+ log.info("鍚屾浠诲姟缁撴潫");
+ log.info(TAG + "update user size " + dingList.size());
+ getEmployeeAvatar();
}
- if (CollUtil.isNotEmpty(relations)) {
- umsAdminRoleRelationService.saveBatch(relations, IService.DEFAULT_BATCH_SIZE);
- }
- log.info(TAG + "update user size " + dingList.size());
-// getEmployeeAvatar();
}
/**
@@ -204,6 +219,6 @@
@Override
public void run(ApplicationArguments args) throws Exception {
- run();
+// run();
}
}
--
Gitblit v1.8.0