mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2025-12-30 16:45:32 +08:00
【I57I6O】 修复路由添加时Path无法添加问题
【I59M95】自定义JeecgCloudException异常供微服务,及starter模块使用,解决注解添加之后无法实现重复提交的拦截提示 【I58FJ5】修改quartz默认配置参数,延迟启动解决服务重启多次执行问题 【#3755】优化rabbitmq代码删除setQueueNames方法避免发送延迟 升级springcloud到2021.0.3,解决Spring Cloud Gateway SpEL表达式注入问题 升级积木报表到最新版 【issues/3666】同步钉钉用户到本地,违反数据库唯一主键规则,导致插入失败
This commit is contained in:
@ -17,7 +17,7 @@ import java.net.UnknownHostException;
|
||||
/**
|
||||
* 单体启动类(采用此类启动为单体模式)
|
||||
* 特别提醒:
|
||||
* 1.需要集成mogodb请删除 exclude={MongoAutoConfiguration.class}
|
||||
* 1.需要集成mongodb请删除 exclude={MongoAutoConfiguration.class}
|
||||
* 2.切换微服务 勾选profile的SpringCloud,这个类就无法启动,启动会报错
|
||||
*/
|
||||
@Slf4j
|
||||
|
||||
@ -44,8 +44,9 @@ import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@ -370,7 +371,8 @@ public class ThirdAppDingtalkServiceImpl implements IThirdAppService {
|
||||
}
|
||||
|
||||
// api 接口执行成功,并且 sys_third_account 表匹配失败,就向 sys_third_account 里插入一条数据
|
||||
if (apiSuccess && (sysThirdAccount == null || oConvertUtils.isEmpty(sysThirdAccount.getThirdUserId()))) {
|
||||
boolean flag = (sysThirdAccount == null || oConvertUtils.isEmpty(sysThirdAccount.getThirdUserId()));
|
||||
if (apiSuccess && flag) {
|
||||
if (sysThirdAccount == null) {
|
||||
sysThirdAccount = new SysThirdAccount();
|
||||
sysThirdAccount.setSysUserId(sysUser.getId());
|
||||
@ -402,8 +404,14 @@ public class ThirdAppDingtalkServiceImpl implements IThirdAppService {
|
||||
List<Department> allDepartment = JdtDepartmentAPI.listAll(accessToken);
|
||||
// 根据钉钉部门查询所有钉钉用户,用于反向同步到本地
|
||||
List<User> ddUserList = this.getDtAllUserByDepartment(allDepartment, accessToken);
|
||||
// 记录已经同步过的用户id,当有多个部门的情况时,只同步一次
|
||||
Set<String> syncedUserIdSet = new HashSet<>();
|
||||
|
||||
for (User dtUserInfo : ddUserList) {
|
||||
if (syncedUserIdSet.contains(dtUserInfo.getUserid())) {
|
||||
continue;
|
||||
}
|
||||
syncedUserIdSet.add(dtUserInfo.getUserid());
|
||||
SysThirdAccount sysThirdAccount = sysThirdAccountService.getOneByThirdUserId(dtUserInfo.getUserid(), THIRD_TYPE);
|
||||
List<SysUser> collect = sysUsersList.stream().filter(user -> (dtUserInfo.getMobile().equals(user.getPhone()) || dtUserInfo.getUserid().equals(user.getUsername()))
|
||||
).collect(Collectors.toList());
|
||||
@ -581,12 +589,6 @@ public class ThirdAppDingtalkServiceImpl implements IThirdAppService {
|
||||
// update-begin--Author:liusq Date:20210713 for:钉钉同步到本地的人员没有状态,导致同步之后无法登录 #I3ZC2L
|
||||
sysUser.setStatus(1);
|
||||
// update-end--Author:liusq Date:20210713 for:钉钉同步到本地的人员没有状态,导致同步之后无法登录 #I3ZC2L
|
||||
// 设置工号,如果工号为空,则使用username
|
||||
if (oConvertUtils.isEmpty(dtUser.getJob_number())) {
|
||||
sysUser.setWorkNo(dtUser.getUserid());
|
||||
} else {
|
||||
sysUser.setWorkNo(dtUser.getJob_number());
|
||||
}
|
||||
return this.dtUserToSysUser(dtUser, sysUser);
|
||||
}
|
||||
|
||||
@ -611,7 +613,12 @@ public class ThirdAppDingtalkServiceImpl implements IThirdAppService {
|
||||
} else {
|
||||
sysUser.setPhone(null);
|
||||
}
|
||||
sysUser.setWorkNo(null);
|
||||
// 设置工号,如果工号为空,则使用username
|
||||
if (oConvertUtils.isEmpty(dtUser.getJob_number())) {
|
||||
sysUser.setWorkNo(dtUser.getUserid());
|
||||
} else {
|
||||
sysUser.setWorkNo(dtUser.getJob_number());
|
||||
}
|
||||
// --- 钉钉没有逻辑删除功能
|
||||
// sysUser.getDelFlag()
|
||||
// --- 钉钉没有冻结、启用禁用功能
|
||||
@ -763,8 +770,8 @@ public class ThirdAppDingtalkServiceImpl implements IThirdAppService {
|
||||
return JdtMessageAPI.sendTextMessage(textMessage, accessToken);
|
||||
}
|
||||
|
||||
public boolean recallMessage(String msg_task_id) {
|
||||
Response<JSONObject> response = this.recallMessageResponse(msg_task_id);
|
||||
public boolean recallMessage(String msgTaskId) {
|
||||
Response<JSONObject> response = this.recallMessageResponse(msgTaskId);
|
||||
if (response == null) {
|
||||
return false;
|
||||
}
|
||||
@ -774,16 +781,16 @@ public class ThirdAppDingtalkServiceImpl implements IThirdAppService {
|
||||
/**
|
||||
* 撤回消息
|
||||
*
|
||||
* @param msg_task_id
|
||||
* @param msgTaskId
|
||||
* @return
|
||||
*/
|
||||
public Response<JSONObject> recallMessageResponse(String msg_task_id) {
|
||||
public Response<JSONObject> recallMessageResponse(String msgTaskId) {
|
||||
String accessToken = this.getAccessToken();
|
||||
if (accessToken == null) {
|
||||
return null;
|
||||
}
|
||||
int agentId = thirdAppConfig.getDingtalk().getAgentIdInt();
|
||||
return JdtMessageAPI.recallMessage(agentId, msg_task_id, getAccessToken());
|
||||
return JdtMessageAPI.recallMessage(agentId, msgTaskId, getAccessToken());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -41,6 +41,8 @@ spring:
|
||||
initialize-schema: embedded
|
||||
#定时任务启动开关,true-开 false-关
|
||||
auto-startup: true
|
||||
#延迟1秒启动定时任务
|
||||
startup-delay: 1s
|
||||
#启动时更新己存在的Job
|
||||
overwrite-existing-jobs: true
|
||||
properties:
|
||||
@ -54,8 +56,8 @@ spring:
|
||||
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
||||
tablePrefix: QRTZ_
|
||||
isClustered: true
|
||||
misfireThreshold: 60000
|
||||
clusterCheckinInterval: 10000
|
||||
misfireThreshold: 12000
|
||||
clusterCheckinInterval: 15000
|
||||
threadPool:
|
||||
class: org.quartz.simpl.SimpleThreadPool
|
||||
threadCount: 10
|
||||
|
||||
@ -39,6 +39,8 @@ spring:
|
||||
quartz:
|
||||
job-store-type: jdbc
|
||||
initialize-schema: embedded
|
||||
#延迟1秒启动定时任务
|
||||
startup-delay: 1s
|
||||
#定时任务启动开关,true-开 false-关
|
||||
auto-startup: true
|
||||
#启动时更新己存在的Job
|
||||
@ -54,8 +56,8 @@ spring:
|
||||
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
||||
tablePrefix: QRTZ_
|
||||
isClustered: true
|
||||
misfireThreshold: 60000
|
||||
clusterCheckinInterval: 10000
|
||||
misfireThreshold: 12000
|
||||
clusterCheckinInterval: 15000
|
||||
threadPool:
|
||||
class: org.quartz.simpl.SimpleThreadPool
|
||||
threadCount: 10
|
||||
|
||||
@ -41,6 +41,8 @@ spring:
|
||||
initialize-schema: embedded
|
||||
#定时任务启动开关,true-开 false-关
|
||||
auto-startup: true
|
||||
#延迟1秒启动定时任务
|
||||
startup-delay: 1s
|
||||
#启动时更新己存在的Job
|
||||
overwrite-existing-jobs: true
|
||||
properties:
|
||||
@ -54,8 +56,8 @@ spring:
|
||||
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
||||
tablePrefix: QRTZ_
|
||||
isClustered: true
|
||||
misfireThreshold: 60000
|
||||
clusterCheckinInterval: 10000
|
||||
misfireThreshold: 12000
|
||||
clusterCheckinInterval: 15000
|
||||
threadPool:
|
||||
class: org.quartz.simpl.SimpleThreadPool
|
||||
threadCount: 10
|
||||
|
||||
Reference in New Issue
Block a user