feat:消息多端发送

This commit is contained in:
zuoqinbo 2023-10-19 17:33:02 +08:00
parent 3f9b2b364d
commit dac6efedcb
4 changed files with 27 additions and 25 deletions

View File

@ -33,7 +33,7 @@ public class MessageInfo {
/**
* 消息接收用户Id列表
*/
@NotNull(message = "消息接收用户personIdList不能为空")
@NotNull(message = "接收消息用户personIdList不能为空")
private List<String> toPersonIdList;
/**

View File

@ -107,8 +107,6 @@
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.32" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework:axzo-web-spring-boot-starter:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework:axzo-spring-boot-starter:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.4.13" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework.jackson:jackson-starter:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework.jackson:jackson-utility:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-afterburner:2.12.7" level="project" />
@ -201,6 +199,14 @@
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.75" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.trade:trade-data-security-spring-boot-starter:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.trade:trade-data-security-mybatis-plus:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.trade:trade-data-security-mybatis:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.trade:trade-data-security-core:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.4.13" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.sidecar:sidecar:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-loadbalancer:3.0.6" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor.addons:reactor-extra:3.4.5" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.pokonyan:pokonyan:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.4.13" level="project" />
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.0.8.RELEASE" level="project" />
@ -250,14 +256,7 @@
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.basics:basics-profiles-api:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.basics:basics-profiles-dto:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="module" module-name="im-center-api" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:3.0.2" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="module" module-name="im-center-common" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct-jdk8:1.4.2.Final" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct-processor:1.4.2.Final" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework.rocketmq:axzo-common-rocketmq:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework:axzo-common-domain:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework:axzo-common-core:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.jooq:jool:0.9.12" level="project" />
@ -272,11 +271,6 @@
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.11.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-text:1.9" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework:axzo-common-web:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework.framework:axzo-common-context:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.4.15" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.3.1" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework.rocketmq:axzo-common-rocketmq:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.apache.rocketmq:rocketmq-spring-boot-starter:2.2.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.rocketmq:rocketmq-spring-boot:2.2.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.rocketmq:rocketmq-client:4.9.1" level="project" />
@ -337,5 +331,17 @@
<orderEntry type="library" name="Maven: cn.axzo.trade:trade-data-security-base:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.basics:basics-auth-api:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.basics:basics-auth-dto:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="module" module-name="im-center-api" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:3.0.2" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="module" module-name="im-center-common" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct-jdk8:1.4.2.Final" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct-processor:1.4.2.Final" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework:axzo-common-web:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: cn.axzo.framework.framework:axzo-common-context:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.4.15" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.3.1" level="project" />
</component>
</module>

View File

@ -98,18 +98,18 @@ public class MessageService {
}
List<String> toPersonList = messageInfo.getToPersonIdList();
List<String> toPersonImList = Lists.newArrayList();
//进行接收IM账户校验
//进行接收用户IM账户校验
toPersonList.forEach(personId -> {
AccountRegister accountRegister = accountRegisterDao.lambdaQuery().eq(AccountRegister::getIsDelete, 0)
.eq(AccountRegister::getAccountId, personId)
.eq(AccountRegister::getAppKey, appType).one();
.eq(AccountRegister::getAppType, appType).one();
if (accountRegister == null || StringUtils.isEmpty(accountRegister.getImAccount())) {
log.warn("接收用户账户[" + personId + "],appType[" + appType + "],未注册IM账户");
log.warn("接收用户账户[" + personId + "],appType[" + appType + "],未注册IM账户!");
return;
}
toPersonImList.add(accountRegister.getImAccount());
});
if(CollectionUtils.isEmpty(toPersonImList)){
if (CollectionUtils.isEmpty(toPersonImList)) {
throw new ServiceException("接收端用户无IM账户[" + JSONUtil.toJsonStr(messageInfo.getToPersonIdList()) + "]");
}
//目前是单个用户进行发送

View File

@ -18,7 +18,7 @@ import java.util.HashMap;
import java.util.List;
/**
* im-center
* 通知到IM系统
*
* @author zuoqinbo
* @version V1.0
@ -34,10 +34,6 @@ public class NotifyChannelServiceImpl implements INotifyService {
@Resource
private RobotInfoService robotInfoService;
@Resource
private RobotMsgTemplateService templateService;
@Override
public void notifyAccountChange(Long robotPrimaryId) {
RegisterUpdateRequest updateProfile = new RegisterUpdateRequest();