diff --git a/inside-notices/pom.xml b/inside-notices/pom.xml
index 79932951..3a0d576d 100644
--- a/inside-notices/pom.xml
+++ b/inside-notices/pom.xml
@@ -113,6 +113,10 @@
cn.axzo.im.center
im-center-api
+
+ cn.axzo.apollo
+ apollo-workspace-api
+
\ No newline at end of file
diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/PendingMessagePushParam.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/PendingMessagePushParam.java
index 2d880a4d..423e8830 100644
--- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/PendingMessagePushParam.java
+++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/PendingMessagePushParam.java
@@ -44,18 +44,20 @@ public class PendingMessagePushParam implements Serializable {
* 模板编码
*/
private String templateCode;
- /**
- * 消息所属项目部类型
- */
- private OrganizationTypeEnum orgType;
+// /**
+// * 删除工作台类型,通过id查
+// * 消息所属项目部类型
+// */
+// private OrganizationTypeEnum orgType;
/**
* 消息所属项目部Id
*/
private Long workspaceId;
- /**
- * 消息所属项目部名称
- */
- private String workspaceName;
+// /**
+// * 删除工作台名称,通过id查
+// * 消息所属项目部名称
+// */
+// private String workspaceName;
/**
* 业务类型
*/
diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java
index f973bffe..11a1f968 100644
--- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java
+++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java
@@ -1,5 +1,8 @@
package cn.axzo.msg.center.message.service.impl;
+import cn.axzo.apollo.core.web.Result;
+import cn.axzo.apollo.workspace.api.workspace.WorkspaceApi;
+import cn.axzo.apollo.workspace.api.workspace.res.SimpleWorkspaceRes;
import cn.axzo.msg.center.common.enums.TableIsDeleteEnum;
import cn.axzo.msg.center.common.exception.ServiceException;
import cn.axzo.msg.center.common.utils.PlaceholderResolver;
@@ -61,6 +64,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
private final MessageGroupNodeService messageGroupNodeService;
private final MessageTemplateNewService messageTemplateNewService;
private final MessageTemplateGroupService messageTemplateGroupService;
+ private final WorkspaceApi workspaceApi;
@Override
public List groupStatistic(MessageGroupNodeStatisticParam param) {
@@ -122,8 +126,18 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
MessageTemplateDTO msgTemplate = messageTemplateNewService
.queryByTemplateCode(param.getTemplateCode())
.orElseThrow(() -> new ServiceException("not found message template."));
+ // 生成requestNo
String requestNo = UUIDUtil.uuidString();
- List record = convert(param, msgTemplate,requestNo);
+ // 查询工作台信息
+ SimpleWorkspaceRes workspace = null;
+ Long workspaceId = param.getWorkspaceId();
+ Result workspaceRes = workspaceApi.getOne(workspaceId);
+ if (!"200".equals(workspaceRes.getCode())) {
+ log.info("未查询到工作台信息 workspaceId:{}",workspaceId);
+ }else{
+ workspace = workspaceRes.getData();
+ }
+ List record = convert(param, msgTemplate,requestNo,workspace);
pendingMessageRecordDao.saveBatch(record);
// TODO 消息推送 @luofu
return requestNo;
@@ -250,7 +264,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
});
}
- private List convert(PendingMessagePushParam param, MessageTemplateDTO msgTemplate,String requestNo) {
+ private List convert(PendingMessagePushParam param, MessageTemplateDTO msgTemplate,String requestNo,SimpleWorkspaceRes workspace) {
// 多个执行者生成多条record
return param.getExecutor().stream().map(executor ->{
PendingMessageRecord record = new PendingMessageRecord();
@@ -262,9 +276,11 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
// 构建模板信息
buildTemplateInfo(record, msgTemplate, param.getRouterParams());
// 构建代办所属企业/项目等相关信息
- record.setOrgType(Objects.isNull(param.getOrgType()) ? OrganizationTypeEnum.UNKNOWN : param.getOrgType());
record.setOrgId(param.getWorkspaceId());
- record.setOrgName(param.getWorkspaceName());
+ if (workspace != null) {
+ record.setOrgType(OrganizationTypeEnum.codeOf(workspace.getType()));
+ record.setOrgName(workspace.getName());
+ }
// 构建业务类信息
buildBusinessInfo(record, param);
return record;
diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/OrganizationTypeEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/OrganizationTypeEnum.java
index 66a97a18..4ab3f434 100644
--- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/OrganizationTypeEnum.java
+++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/OrganizationTypeEnum.java
@@ -4,7 +4,10 @@ import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
+import java.util.Arrays;
+
/**
+ * 工作台类型
* @description
*
* @author cold_blade
@@ -14,10 +17,17 @@ import lombok.Getter;
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum OrganizationTypeEnum {
- ENT(2, "企业工作台"),
- PROJECT(1, "项目部工作台"),
+ ENT(1, "企业工作台"),
+ PROJECT(2, "项目部工作台"),
UNKNOWN(0, "未知");
private final Integer code;
private final String message;
+
+ public static OrganizationTypeEnum codeOf(Integer code) {
+ return Arrays.stream(values())
+ .filter(e -> e.code.equals(code))
+ .findFirst().orElse(UNKNOWN);
+ }
+
}