diff --git a/im-center-api/src/main/java/cn/axzo/im/center/api/vo/resp/RobotInfoResp.java b/im-center-api/src/main/java/cn/axzo/im/center/api/vo/resp/RobotInfoResp.java
index 33c06c7..e5f230e 100644
--- a/im-center-api/src/main/java/cn/axzo/im/center/api/vo/resp/RobotInfoResp.java
+++ b/im-center-api/src/main/java/cn/axzo/im/center/api/vo/resp/RobotInfoResp.java
@@ -13,6 +13,11 @@ import java.util.List;
*/
@Data
public class RobotInfoResp {
+
+ /**
+ * 主键ID
+ */
+ private Long id;
/**
* 机器人ID
*/
diff --git a/im-center-server/pom.xml b/im-center-server/pom.xml
index eefaa88..d83abf7 100644
--- a/im-center-server/pom.xml
+++ b/im-center-server/pom.xml
@@ -31,6 +31,11 @@
msg-center-api
1.0.0-SNAPSHOT
+
+ com.xuxueli
+ xxl-job-core
+ 2.2.0
+
cn.axzo.framework
axzo-web-spring-boot-starter
diff --git a/im-center-server/src/main/java/cn/axzo/im/job/BaiduAccessTokenRefreshJobHandler.java b/im-center-server/src/main/java/cn/axzo/im/job/BaiduAccessTokenRefreshJobHandler.java
new file mode 100644
index 0000000..3fcda77
--- /dev/null
+++ b/im-center-server/src/main/java/cn/axzo/im/job/BaiduAccessTokenRefreshJobHandler.java
@@ -0,0 +1,44 @@
+//package cn.axzo.im.job;
+//
+//import cn.axzo.outman.client.task.BaseJobHandler;
+//import cn.axzo.outman.common.constants.CommonConstants;
+//import cn.axzo.outman.service.api.TaskService;
+//import cn.azxo.framework.common.utils.LogUtil;
+//import com.xxl.job.core.biz.model.ReturnT;
+//import com.xxl.job.core.handler.annotation.XxlJob;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.stereotype.Component;
+//
+//import javax.annotation.Resource;
+//
+///**
+// * 百度访问令牌刷新定时任务
+// *
+// * @author zhaoyong
+// * @see BaiduAccessTokenRefreshJobHandler
+// * @since 2021-06-28 21:58
+// */
+//@Slf4j
+//@Component
+//public class BaiduAccessTokenRefreshJobHandler extends BaseJobHandler {
+//
+// @Resource(name = "taskService")
+// private TaskService taskService;
+//
+// @Override
+// @XxlJob("baiduAccessTokenRefreshJobHandler")
+// public ReturnT execute(String param) throws Exception {
+// return jobLoggerTemplate.execute(CommonConstants.CTX_LOG_ID_MDC, () -> {
+// log.info("BaiduAccessTokenRefreshJobHandler.execute task Start ......");
+// try {
+// taskService.refreshBaiduAccessToken();
+// } catch (Exception e) {
+// LogUtil.error("BaiduAccessTokenRefreshJobHandler.execute is error", e);
+// return ReturnT.FAIL;
+// }
+// log.info("BaiduAccessTokenRefreshJobHandler.execute task End ......");
+// return ReturnT.SUCCESS;
+// });
+// }
+//
+//}
diff --git a/im-center-server/src/main/java/cn/axzo/im/job/BaseJobHandler.java b/im-center-server/src/main/java/cn/axzo/im/job/BaseJobHandler.java
new file mode 100644
index 0000000..1129115
--- /dev/null
+++ b/im-center-server/src/main/java/cn/axzo/im/job/BaseJobHandler.java
@@ -0,0 +1,33 @@
+//package cn.axzo.im.job;
+//
+//import cn.azxo.framework.common.logger.JobLoggerTemplate;
+//import cn.azxo.framework.common.service.JobParamResolver;
+//import com.xxl.job.core.biz.model.ReturnT;
+//
+//import javax.annotation.Resource;
+//
+///**
+// * 基础定时任务
+// *
+// * @author zhaoyong
+// * @see BaseJobHandler
+// * @since 2021-06-23 18:32
+// */
+//public abstract class BaseJobHandler {
+//
+// @Resource(name = "jobLoggerTemplate")
+// protected JobLoggerTemplate jobLoggerTemplate;
+//
+// @Resource(name = "jobParamResolver")
+// protected JobParamResolver jobParamResolver;
+//
+// /**
+// * 定时任务执行逻辑
+// *
+// * @param param
+// * @return
+// * @throws Exception
+// */
+// public abstract ReturnT execute(String param) throws Exception;
+//
+//}
diff --git a/im-center-server/src/main/java/cn/axzo/im/job/XxlJobConfig.java b/im-center-server/src/main/java/cn/axzo/im/job/XxlJobConfig.java
new file mode 100644
index 0000000..e0feafd
--- /dev/null
+++ b/im-center-server/src/main/java/cn/axzo/im/job/XxlJobConfig.java
@@ -0,0 +1,70 @@
+//package cn.axzo.im.job;
+//
+//import cn.azxo.framework.common.logger.JobLoggerTemplate;
+//import cn.azxo.framework.common.service.JobParamResolver;
+//import cn.azxo.framework.common.spring.condition.NonLocalEnvironment;
+//import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//
+///**
+// * Xxl Job Config
+// *
+// * @author zhaoyong
+// * @see XxlJobConfig
+// * @since 2021-06-23 18:28
+// */
+//@Slf4j
+//@Configuration
+//public class XxlJobConfig {
+//
+// @Value("${xxl.job.admin.addresses}")
+// private String adminAddresses;
+//
+// @Value("${xxl.job.executor.appName}")
+// private String appName;
+//
+// @Value("${xxl.job.executor.ip:}")
+// private String ip;
+//
+// @Value("${xxl.job.executor.port}")
+// private int port;
+//
+// @Value("${xxl.job.accessToken:}")
+// private String accessToken;
+//
+// @Value("${xxl.job.executor.logPath:}")
+// private String logPath;
+//
+// @Value("${xxl.job.executor.logRetentionDays}")
+// private int logRetentionDays;
+//
+// @Bean
+// @NonLocalEnvironment
+// public XxlJobSpringExecutor xxlJobExecutor() {
+// log.info(">>>>>>>>>>> axzo outman service xxl-job config init.");
+// XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
+// xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
+// xxlJobSpringExecutor.setAppname(appName);
+// xxlJobSpringExecutor.setIp(ip);
+// xxlJobSpringExecutor.setPort(port);
+// xxlJobSpringExecutor.setAccessToken(accessToken);
+// xxlJobSpringExecutor.setLogPath(logPath);
+// xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
+// return xxlJobSpringExecutor;
+// }
+//
+//
+// @Bean("jobParamResolver")
+// public JobParamResolver jobParamResolver() {
+// return new JobParamResolver();
+// }
+//
+// @Bean("jobLoggerTemplate")
+// public JobLoggerTemplate jobLoggerTemplate() {
+// return new JobLoggerTemplate();
+// }
+//
+//}
diff --git a/im-center-server/src/main/java/cn/axzo/im/service/RobotInfoService.java b/im-center-server/src/main/java/cn/axzo/im/service/RobotInfoService.java
index d10c7c5..a9baed1 100644
--- a/im-center-server/src/main/java/cn/axzo/im/service/RobotInfoService.java
+++ b/im-center-server/src/main/java/cn/axzo/im/service/RobotInfoService.java
@@ -29,6 +29,7 @@ import javax.validation.Valid;
import java.util.Date;
import java.util.List;
import java.util.UUID;
+import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
@@ -157,6 +158,21 @@ public class RobotInfoService {
List list = BeanMapper.copyList(robotInfoIPage.getRecords(), RobotInfoResp.class);
PageResp pageOfRobotInfoResp = PageResp.list(robotInfoIPage.getCurrent(), robotInfoIPage.getSize(),
robotInfoIPage.getTotal(), list);
+ list.forEach(robotInfoResp -> {
+ RobotInfo robotInfo = robotInfoDao.lambdaQuery().eq(RobotInfo::getIsDelete, 0)
+ .eq(RobotInfo::getId, robotInfoResp.getId()).one();
+ if (robotInfo == null) {
+ return ;
+ }
+ List tagIdList = robotInfo.getTagNameList();
+ List robotTags = robotTagDao.queryRobotTagValidList(tagIdList);
+ List robotTagsResp = BeanMapper.copyList(robotTags, RobotTagResp.class);
+ robotInfoResp.setRobotTagList(robotTagsResp);
+ robotTagsResp.forEach(robotTag -> {
+ int useCount = robotTagService.findTagUseCount(Integer.parseInt(String.valueOf(robotTag.getId())));
+ robotTag.setUseCount(useCount);
+ });
+ });
list.forEach(this::fillRobotRespOfMsgTemplate);
return pageOfRobotInfoResp;
}