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("项目实时统计消息发送失败");