diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/LogOperationTypeEnum.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/LogOperationTypeEnum.java
index e17078245b..892d41ed34 100644
--- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/LogOperationTypeEnum.java
+++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/LogOperationTypeEnum.java
@@ -1,49 +1,44 @@
-package com.epmet.enums;
-
-import lombok.Data;
-
-/**
- * 操作日志类型枚举
- */
-public enum LogOperationTypeEnum {
- LOGIN("login", "登录"),
- LOGOUT("logout", "退出登录"),
- ISSUE_SHIFT_PROJECT("issue_shift_project", "议题转项目"),
- CLOSE_PROJECT("close_project", "项目结案"),
- PROJECT_TRANSFER("project_transfer", "项目流转"),
- PROJECT_RESPONSE("project_response", "响应处理"),
- PROJECT_APPROVAL("project_approval", "项目立项");
-
- private String type;
- private String typeDisplay;
-
- public String getType() {
- return type;
- }
-
- public String getTypeDisplay() {
- return typeDisplay;
- }
-
- LogOperationTypeEnum(String type, String typeDisplay) {
- this.type = type;
- this.typeDisplay = typeDisplay;
- }
-
- public static LogOperationTypeEnum get(String type) {
- for (LogOperationTypeEnum t : LogOperationTypeEnum.values()) {
- if (t.type.equals(type)) {
- return t;
- }
- }
- return null;
- }
-
- public static String getDisplay(String type) {
- LogOperationTypeEnum object = get(type);
- if (object == null) {
- return null;
- }
- return object.typeDisplay;
- }
-}
+//package com.epmet.enums;
+//
+//import lombok.Data;
+//
+///**
+// * 操作日志类型枚举
+// */
+//public enum LogOperationTypeEnum {
+// LOGIN("login", "登录"),
+// LOGOUT("logout", "退出登录");
+//
+// private String type;
+// private String typeDisplay;
+//
+// public String getType() {
+// return type;
+// }
+//
+// public String getTypeDisplay() {
+// return typeDisplay;
+// }
+//
+// LogOperationTypeEnum(String type, String typeDisplay) {
+// this.type = type;
+// this.typeDisplay = typeDisplay;
+// }
+//
+// public static LogOperationTypeEnum get(String type) {
+// for (LogOperationTypeEnum t : LogOperationTypeEnum.values()) {
+// if (t.type.equals(type)) {
+// return t;
+// }
+// }
+// return null;
+// }
+//
+// public static String getDisplay(String type) {
+// LogOperationTypeEnum object = get(type);
+// if (object == null) {
+// return null;
+// }
+// return object.typeDisplay;
+// }
+//}
diff --git a/epmet-admin/epmet-admin-server/pom.xml b/epmet-admin/epmet-admin-server/pom.xml
index 2e2afe5bc7..5093acffb8 100644
--- a/epmet-admin/epmet-admin-server/pom.xml
+++ b/epmet-admin/epmet-admin-server/pom.xml
@@ -74,6 +74,11 @@
epmet-message-client
2.0.0
+
+ com.epmet
+ epmet-auth-client
+ 2.0.0
+
diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/LogOperationEntity.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/LogOperationEntity.java
index 54a141651a..b6b0d4364e 100644
--- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/LogOperationEntity.java
+++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/LogOperationEntity.java
@@ -47,6 +47,8 @@ public class LogOperationEntity extends BaseEpmetEntity {
*/
private String type;
+ private String typeDisplay;
+
/**
* 内容
*/
diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java
index b68c768f97..ef71399b7d 100644
--- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java
+++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java
@@ -2,7 +2,9 @@ package com.epmet.mq.listener;
import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants;
import com.epmet.commons.rocketmq.constants.TopicConstants;
-import com.epmet.mq.listener.listener.LoginOperationLogListener;
+import com.epmet.commons.tools.enums.EnvEnum;
+import com.epmet.mq.listener.listener.AuthOperationLogListener;
+import com.epmet.mq.listener.listener.ProjectOperationLogListener;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.client.exception.MQClientException;
@@ -28,9 +30,10 @@ public class RocketMQConsumerRegister {
@PostConstruct
public void registerAllListeners() {
try {
- //if (!EnvEnum.LOCAL.getCode().equals(env)) {
- register(nameServer, ConsomerGroupConstants.LOGIN_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.LOGIN, "*", new LoginOperationLogListener());
- //}
+ if (!EnvEnum.LOCAL.getCode().equals(env)) {
+ register(nameServer, ConsomerGroupConstants.AUTH_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.AUTH, "*", new AuthOperationLogListener());
+ register(nameServer, ConsomerGroupConstants.PROJECT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectOperationLogListener());
+ }
} catch (MQClientException e) {
e.printStackTrace();
}
diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/LoginOperationLogListener.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java
similarity index 87%
rename from epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/LoginOperationLogListener.java
rename to epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java
index 53246a8364..fe6cf5a03d 100644
--- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/LoginOperationLogListener.java
+++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java
@@ -1,13 +1,13 @@
package com.epmet.mq.listener.listener;
import com.alibaba.fastjson.JSON;
+import com.epmet.auth.constants.AuthOperationEnum;
import com.epmet.commons.rocketmq.messages.LoginMQMsg;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.entity.LogOperationEntity;
-import com.epmet.enums.LogOperationTypeEnum;
import com.epmet.service.LogOperationService;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
@@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit;
* @return
* @date 2021.06.07 16:12
*/
-public class LoginOperationLogListener implements MessageListenerConcurrently {
+public class AuthOperationLogListener implements MessageListenerConcurrently {
private Logger logger = LoggerFactory.getLogger(getClass());
@@ -45,12 +45,13 @@ public class LoginOperationLogListener implements MessageListenerConcurrently {
private void consumeMessage(MessageExt messageExt) {
String tags = messageExt.getTags();
String msg = new String(messageExt.getBody());
- logger.info("操作日志监听器-收到消息内容:{}", msg);
+ logger.info("认证操作日志监听器-收到消息内容:{}", msg);
LoginMQMsg msgObj = JSON.parseObject(msg, LoginMQMsg.class);
LogOperationEntity logEntity = new LogOperationEntity();
logEntity.setCategory(messageExt.getTopic());
logEntity.setType(tags);
+ logEntity.setTypeDisplay(AuthOperationEnum.getDisplay(tags));
logEntity.setTargetId("");
logEntity.setOperatorId(msgObj.getUserId());
logEntity.setOperatingTime(msgObj.getLoginTime());
@@ -60,7 +61,7 @@ public class LoginOperationLogListener implements MessageListenerConcurrently {
RLock lock = null;
try {
distributedLock = SpringContextUtils.getBean(DistributedLock.class);
- lock = distributedLock.getLock(String.format("lock:operation_log:%s:%s", logEntity.getType(), logEntity.getTargetId()),
+ lock = distributedLock.getLock(String.format("lock:auth_operation_log:%s:%s", logEntity.getType(), logEntity.getOperatorId()),
30L, 30L, TimeUnit.SECONDS);
SpringContextUtils.getBean(LogOperationService.class).log(logEntity);
} catch (RenException e) {
diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/ProjectOperationLogListener.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/ProjectOperationLogListener.java
new file mode 100644
index 0000000000..181e7cd3fc
--- /dev/null
+++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/ProjectOperationLogListener.java
@@ -0,0 +1,100 @@
+package com.epmet.mq.listener.listener;
+
+import com.alibaba.fastjson.JSON;
+import com.epmet.commons.rocketmq.messages.LoginMQMsg;
+import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg;
+import com.epmet.commons.tools.distributedlock.DistributedLock;
+import com.epmet.commons.tools.exception.ExceptionUtils;
+import com.epmet.commons.tools.exception.RenException;
+import com.epmet.commons.tools.utils.SpringContextUtils;
+import com.epmet.entity.LogOperationEntity;
+import com.epmet.service.LogOperationService;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
+import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
+import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
+import org.apache.rocketmq.common.message.MessageExt;
+import org.redisson.api.RLock;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author wxz
+ * @Description 项目操作日志监听器
+
+ * @return
+ * @date 2021.06.08 22.21
+ */
+public class ProjectOperationLogListener implements MessageListenerConcurrently {
+
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) {
+ try {
+ msgs.forEach(msg -> consumeMessage(msg));
+ } catch (Exception e) {
+ logger.error(ExceptionUtils.getErrorStackTrace(e));
+ return ConsumeConcurrentlyStatus.RECONSUME_LATER;
+ }
+ return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
+ }
+
+ private void consumeMessage(MessageExt messageExt) {
+ //String tags = messageExt.getTags();
+ String msg = new String(messageExt.getBody());
+ logger.info("项目变动操作日志监听器-收到消息内容:{}", msg);
+ ProjectChangedMQMsg msgObj = JSON.parseObject(msg, ProjectChangedMQMsg.class);
+
+ String content = StringUtils.isBlank(msgObj.getOperationBrief()) ? "" : msgObj.getOperationBrief();
+
+ LogOperationEntity logEntity = new LogOperationEntity();
+ logEntity.setCategory(messageExt.getTopic());
+ logEntity.setType(msgObj.getOperation());
+ logEntity.setTypeDisplay(getOperationTypeDisplay(msgObj.getOperation()));
+ logEntity.setTargetId(msgObj.getProjectId());
+ logEntity.setOperatorId(msgObj.getOperatorId());
+ logEntity.setOperatingTime(msgObj.getOperatingTime());
+ logEntity.setContent(content);
+
+ DistributedLock distributedLock = null;
+ RLock lock = null;
+ try {
+ distributedLock = SpringContextUtils.getBean(DistributedLock.class);
+ lock = distributedLock.getLock(String.format("lock:project_operation_log:%s:%s", logEntity.getType(), logEntity.getTargetId()),
+ 30L, 30L, TimeUnit.SECONDS);
+ SpringContextUtils.getBean(LogOperationService.class).log(logEntity);
+ } catch (RenException e) {
+ // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
+ logger.error("【RocketMQ】添加操作日志失败:".concat(ExceptionUtils.getErrorStackTrace(e)));
+ } catch (Exception e) {
+ // 不是我们自己抛出的异常,可以让MQ重试
+ logger.error("【RocketMQ】添加操作日志失败:".concat(ExceptionUtils.getErrorStackTrace(e)));
+ throw e;
+ } finally {
+ distributedLock.unLock(lock);
+ }
+ }
+
+ private String getOperationTypeDisplay(String type) {
+ switch (type) {
+ case "response":
+ return "项目响应处理";
+ case "issue_shift_project":
+ return "议题转项目";
+ case "close":
+ return "项目结案";
+ case "return":
+ return "项目退回";
+ case "transfer":
+ return "项目吹哨";
+ case "created":
+ return "项目立项";
+ default:
+ return null;
+ }
+ }
+}
diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java
index 323ffae80e..15c1d4e44b 100644
--- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java
+++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.epmet.auth.constants.AuthOperationEnum;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.feign.ResultDataResolver;
@@ -13,10 +14,8 @@ import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.dto.region.LogOperationResultDTO;
import com.epmet.entity.LogOperationEntity;
-import com.epmet.enums.LogOperationTypeEnum;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.service.LogOperationService;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -168,7 +167,7 @@ public class LogOperationServiceImpl implements LogOperationService, ResultDataR
ldto.setOperatorId(l.getOperatorId());
ldto.setTargetId(l.getTargetId());
ldto.setType(l.getType());
- ldto.setTypeDisplay(LogOperationTypeEnum.getDisplay(l.getType()));
+ ldto.setTypeDisplay(l.getTypeDisplay());
ldto.setOperatorMobile(staffMap.get(l.getOperatorId()).getMobile());
ldto.setOperatorName(staffMap.get(l.getOperatorId()).getRealName());
return ldto;
diff --git a/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml b/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml
index f63500d118..1496892029 100644
--- a/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml
+++ b/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml
@@ -6,6 +6,7 @@
+
diff --git a/epmet-auth/epmet-auth-client/pom.xml b/epmet-auth/epmet-auth-client/pom.xml
new file mode 100644
index 0000000000..685407f474
--- /dev/null
+++ b/epmet-auth/epmet-auth-client/pom.xml
@@ -0,0 +1,14 @@
+
+
+
+ epmet-auth
+ com.epmet
+ 2.0.0
+
+ 4.0.0
+
+ epmet-auth-client
+
+
\ No newline at end of file
diff --git a/epmet-auth/epmet-auth-client/src/main/java/com/epmet/auth/constants/AuthOperationConstants.java b/epmet-auth/epmet-auth-client/src/main/java/com/epmet/auth/constants/AuthOperationConstants.java
new file mode 100644
index 0000000000..2cffd341ee
--- /dev/null
+++ b/epmet-auth/epmet-auth-client/src/main/java/com/epmet/auth/constants/AuthOperationConstants.java
@@ -0,0 +1,9 @@
+package com.epmet.auth.constants;
+
+/**
+ * 认证操作常量
+ */
+public interface AuthOperationConstants {
+ String LOGIN = "login";
+ String LOGOUT = "logout";
+}
diff --git a/epmet-auth/epmet-auth-client/src/main/java/com/epmet/auth/constants/AuthOperationEnum.java b/epmet-auth/epmet-auth-client/src/main/java/com/epmet/auth/constants/AuthOperationEnum.java
new file mode 100644
index 0000000000..fb112e7c36
--- /dev/null
+++ b/epmet-auth/epmet-auth-client/src/main/java/com/epmet/auth/constants/AuthOperationEnum.java
@@ -0,0 +1,43 @@
+package com.epmet.auth.constants;
+
+/**
+ * 认证操作枚举
+ */
+public enum AuthOperationEnum {
+
+ LOGIN(AuthOperationConstants.LOGIN, "登录"),
+ LOGOUT(AuthOperationConstants.LOGOUT, "退出");
+
+ private String operationType;
+ private String operationDisplay;
+
+ AuthOperationEnum(String operationType, String operationDisplay) {
+ this.operationType = operationType;
+ this.operationDisplay = operationDisplay;
+ }
+
+ public String getOperationType() {
+ return operationType;
+ }
+
+ public String getOperationDisplay() {
+ return operationDisplay;
+ }
+
+ public static AuthOperationEnum get(String operationType) {
+ for (AuthOperationEnum e : AuthOperationEnum.values()) {
+ if (e.getOperationType().equals(operationType)) {
+ return e;
+ }
+ }
+ return null;
+ }
+
+ public static String getDisplay(String operationType) {
+ AuthOperationEnum obj = get(operationType);
+ if (obj == null) {
+ return null;
+ }
+ return obj.getOperationDisplay();
+ }
+}
diff --git a/epmet-auth/pom.xml b/epmet-auth/pom.xml
index 87fe58c7a8..6970ec1dd8 100644
--- a/epmet-auth/pom.xml
+++ b/epmet-auth/pom.xml
@@ -3,6 +3,9 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
0.3.70
+
+ epmet-auth-client
+
com.epmet
epmet-cloud
@@ -133,6 +136,11 @@
2.0.0
compile
+
+ com.epmet
+ epmet-auth-client
+ 2.0.0
+
diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
index db26d3d75c..3926452c8d 100644
--- a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
+++ b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
@@ -5,6 +5,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.epmet.auth.constants.AuthOperationConstants;
import com.epmet.common.token.constant.LoginConstant;
import com.epmet.commons.rocketmq.messages.LoginMQMsg;
import com.epmet.commons.tools.constant.ServiceConstant;
@@ -676,7 +677,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
loginMQMsg.setAppId(appId);
SystemMsgFormDTO form = new SystemMsgFormDTO();
- form.setMessageType(SystemMessageType.LOGIN);
+ form.setMessageType(AuthOperationConstants.LOGIN);
form.setContent(loginMQMsg);
messageOpenFeignClient.sendSystemMsgByMQ(form);
//getResultDataOrThrowsException(result, ServiceConstant.EPMET_MESSAGE_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "调用Message服务,发送登录事件到MQ失败");
diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java
index 89e7f5a884..ef5970dbb3 100644
--- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java
+++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java
@@ -32,8 +32,13 @@ public interface ConsomerGroupConstants {
String GROUP_ACHIEVEMENT_COMPONENTS_GROUP = "group_achievement_components_group";
/**
- * 登录操作日志消费组
+ * 认证操作日志消费组
*/
- String LOGIN_OPERATION_LOG_GROUP = "login_operation_log_group";
+ String AUTH_OPERATION_LOG_GROUP = "auth_operation_log_group";
+
+ /**
+ * 项目操作日志小肥猪
+ */
+ String PROJECT_OPERATION_LOG_GROUP = "project_operation_log_group";
}
diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java
index c50ff93dc3..70d4e006f8 100644
--- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java
+++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java
@@ -1,5 +1,8 @@
package com.epmet.commons.rocketmq.constants;
+/**
+ * 话题列表常量,其他服务要想发送消息到mq,则应当引入epmet-commons-rocketmq模块,并且使用此常量
+ */
public interface TopicConstants {
/**
* 初始化客户
@@ -15,7 +18,7 @@ public interface TopicConstants {
String GROUP_ACHIEVEMENT = "group_achievement";
/**
- * 登录
+ * 认证
*/
- String LOGIN = "login";
+ String AUTH = "auth";
}
diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/ProjectChangedMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/ProjectChangedMQMsg.java
index d93871bd55..9530f7a326 100644
--- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/ProjectChangedMQMsg.java
+++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/ProjectChangedMQMsg.java
@@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
+import java.util.Date;
/**
* desc:项目变动通知消息实体类
@@ -18,4 +19,14 @@ public class ProjectChangedMQMsg implements Serializable {
* 操作类型 议题转项目issue_shift_project, 处理:response, 结案close,退回return,部门流转transfer,立项created
*/
private String operation;
+
+// ============> new
+ private String projectId;
+ private String operatorId;
+ private Date operatingTime;
+ /**
+ * 操作简介
+ */
+ private String operationBrief;
+
}
diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java
index b29f2efaba..bc71d2817a 100644
--- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java
+++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java
@@ -20,9 +20,4 @@ public interface SystemMessageType {
*/
String GROUP_ACHIEVEMENT = "group_achievement";
- /**
- * 登录
- */
- String LOGIN = "login";
-
}
diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java
index 4e8e7c954a..a6204e07ac 100644
--- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java
+++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java
@@ -37,7 +37,7 @@ public class SendMqMsgUtil {
}
/**
- * desc: 发送小组成就消息,计算小组成就
+ * desc: 发送项目变动事件消息
*
* @param msgContent
* @return boolean
diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml
index 6af8aed5e8..f8de809d99 100644
--- a/epmet-module/epmet-message/epmet-message-server/pom.xml
+++ b/epmet-module/epmet-message/epmet-message-server/pom.xml
@@ -125,6 +125,12 @@
epmet-commons-rocketmq
2.0.0
+
+
+ com.epmet
+ epmet-auth-client
+ 2.0.0
+
diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java
index 82466bf528..6813dcd362 100644
--- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java
+++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java
@@ -1,6 +1,8 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
+import com.epmet.auth.constants.AuthOperationConstants;
+import com.epmet.auth.constants.AuthOperationEnum;
import com.epmet.commons.rocketmq.constants.TopicConstants;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
@@ -70,8 +72,12 @@ public class SystemMessageServiceImpl implements SystemMessageService {
case SystemMessageType.GROUP_ACHIEVEMENT:
topic = TopicConstants.GROUP_ACHIEVEMENT;
break;
- case SystemMessageType.LOGIN:
- topic = TopicConstants.LOGIN;
+ case AuthOperationConstants.LOGIN:
+ topic = TopicConstants.AUTH;
+ break;
+ case AuthOperationConstants.LOGOUT:
+ topic = TopicConstants.AUTH;
+ break;
}
return topic;
}
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
index 587b92c4a2..b1f1701e75 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
@@ -125,6 +125,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp
private IssueProjectTagDictService issueProjectTagDictService;
@Autowired
private IssueVoteDetailDao issueVoteDetailDao;
+ @Autowired
+ private EpmetMessageOpenFeignClient messageOpenFeignClient;
@Value("${openapi.scan.server.url}")
@@ -1043,7 +1045,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp
}
//8.记录日志
- //SendMqMsgUtil.build().openFeignClient(messageOpenFeignClient);
+ //SendMqMsgUtil.build().openFeignClient(messageOpenFeignClient).sendProjectChangedMqMsg();
}
/**
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
index ff85abe02b..79e1903e7d 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
@@ -386,8 +386,15 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl processStaff = epmetUserFeignClient.getCustomerStaffInfoByUserId(form);
+
+ ProjectEntity projectEntity = projectService.selectById(projectId);
+ return String.format("将项目\"%s\"吹哨给%s%s处理", projectEntity.getTitle(), departmentName, processStaff.getData().getRealName());
+ }
+
/**
* @Description 项目流转给流转工作人员推送消息
* @author sun
@@ -741,7 +763,12 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl getProjectByIssue(ShiftProjectsFromDTO fromDTO) {
List resultList = new ArrayList<>();
@@ -1165,8 +1205,15 @@ public class ProjectServiceImpl extends BaseServiceImpl implements ProjectTraceS
}
//项目实时统计消息
- ProjectChangedMQMsg mqMsg = new ProjectChangedMQMsg(projectEntity.getCustomerId(), ProjectConstant.OPERATION_CREATED);
+ String mqMsgBrief = String.format("创建了\"%s\"的项目", formDTO.getTitle());
+ ProjectChangedMQMsg mqMsg = new ProjectChangedMQMsg(projectEntity.getCustomerId(), ProjectConstant.OPERATION_CREATED,
+ projectEntity.getId(),
+ formDTO.getUserId(),
+ new Date(),
+ mqMsgBrief);
boolean msgResult = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendProjectChangedMqMsg(mqMsg);
if (!msgResult) {
log.error("项目实时统计消息发送失败");