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