REQ-2497: 待办变更通知
This commit is contained in:
parent
18a2f1e87d
commit
d1509a7ccc
@ -1,10 +1,18 @@
|
||||
package cn.axzo.msg.center.inside.notices.config;
|
||||
|
||||
import cn.axzo.im.center.common.enums.AppTypeEnum;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@ -13,5 +21,16 @@ import org.springframework.context.annotation.Configuration;
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "message.im")
|
||||
public class ImMessageProps {
|
||||
|
||||
private String controllerToken = "123442";
|
||||
private Set<String> todoPollTerminals = Sets.newHashSet("cm");
|
||||
|
||||
public List<AppTypeEnum> getPollTerminals() {
|
||||
return todoPollTerminals.stream()
|
||||
.map(AppTypeEnum::isValidAppType)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.collect(toList());
|
||||
}
|
||||
|
||||
}
|
||||
@ -5,9 +5,9 @@ import cn.axzo.im.center.api.vo.req.CustomMessageInfo;
|
||||
import cn.axzo.im.center.common.enums.AppTypeEnum;
|
||||
import cn.axzo.im.center.common.enums.BizTypeEnum;
|
||||
import cn.axzo.msg.center.domain.entity.Todo;
|
||||
import cn.axzo.msg.center.inside.notices.config.ImMessageProps;
|
||||
import cn.hutool.core.thread.NamedThreadFactory;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@ -32,6 +32,7 @@ import static java.util.stream.Collectors.toList;
|
||||
@RequiredArgsConstructor
|
||||
public class TodoPullBroadcaster implements DisposableBean {
|
||||
|
||||
private final ImMessageProps imProps;
|
||||
private final MessageApi messageApi;
|
||||
private final ExecutorService executor = new ThreadPoolExecutor(
|
||||
10, 15,
|
||||
@ -51,11 +52,12 @@ public class TodoPullBroadcaster implements DisposableBean {
|
||||
.map(String::valueOf)
|
||||
.collect(toList());
|
||||
Todo sample = todos.get(0);
|
||||
List<AppTypeEnum> pollTerminals = imProps.getPollTerminals();
|
||||
try {
|
||||
Runnable sendTask = () -> {
|
||||
log.info("start - firing todo changed. personIds={}", JSON.toJSONString(personIds));
|
||||
CustomMessageInfo imRequest = new CustomMessageInfo();
|
||||
imRequest.setAppTypeList(Lists.newArrayList(AppTypeEnum.CM));
|
||||
imRequest.setAppTypeList(pollTerminals);
|
||||
imRequest.setToPersonIds(personIds);
|
||||
imRequest.setOuId(sample.getOuId());
|
||||
imRequest.setBizType(BizTypeEnum.PENDING);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user