Browse Source

完成登录发送事件,记录登录日志

dev
wxz 4 years ago
parent
commit
c7822de9c7
  1. 4
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/form/LogOperationListFormDTO.java
  2. 10
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/LogOperationTypeEnum.java
  3. 5
      epmet-admin/epmet-admin-server/pom.xml
  4. 5
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/LogOperationController.java
  5. 5
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java
  6. 31
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/LoginOperationLogListener.java
  7. 6
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/LogOperationService.java
  8. 35
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java
  9. 3
      epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java
  10. 40
      epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
  11. 4
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java
  12. 4
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java
  13. 20
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/LoginMQMsg.java
  14. 16
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OperationLogMQMsg.java
  15. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java
  16. 7
      epmet-gateway/pom.xml
  17. 7
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java
  18. 4
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java
  19. 4
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java
  20. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

4
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/form/LogOperationListFormDTO.java

@ -5,9 +5,7 @@ import lombok.Data;
@Data
public class LogOperationListFormDTO {
private String operatorName;
private String operatorMobile;
private String condition;
private Integer pageNo = 1;

10
epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/LogOperationTypeEnum.java

@ -1,5 +1,7 @@
package com.epmet.enums;
import lombok.Data;
/**
* 操作日志类型枚举
*/
@ -15,6 +17,14 @@ public enum LogOperationTypeEnum {
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;

5
epmet-admin/epmet-admin-server/pom.xml

@ -69,6 +69,11 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-message-client</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<build>

5
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/LogOperationController.java

@ -29,13 +29,12 @@ public class LogOperationController {
@PostMapping("/list")
public Result<List<LogOperationResultDTO>> listLogOperations(@RequestBody LogOperationListFormDTO input) {
ValidatorUtils.validateEntity(input);
String operatorMobile = input.getOperatorMobile();
String operatorName = input.getOperatorName();
String condition = input.getCondition();
Integer pageNo = input.getPageNo();
Integer pageSize = input.getPageSize();
String customerId = loginUserUtil.getLoginUserCustomerId();
List<LogOperationResultDTO> resultList = logOperationService.listOperationLogs(operatorName, operatorMobile, customerId, pageNo, pageSize);
List<LogOperationResultDTO> resultList = logOperationService.listOperationLogs(condition, customerId, pageNo, pageSize);
if (CollectionUtils.isEmpty(resultList)) {
resultList = new ArrayList<>();
}

5
epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java

@ -2,8 +2,7 @@ package com.epmet.mq.listener;
import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants;
import com.epmet.commons.rocketmq.constants.TopicConstants;
import com.epmet.commons.tools.enums.EnvEnum;
import com.epmet.mq.listener.listener.OperationLogListener;
import com.epmet.mq.listener.listener.LoginOperationLogListener;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.client.exception.MQClientException;
@ -30,7 +29,7 @@ public class RocketMQConsumerRegister {
public void registerAllListeners() {
try {
//if (!EnvEnum.LOCAL.getCode().equals(env)) {
register(nameServer, ConsomerGroupConstants.OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.OPERATION_LOG, "*", new OperationLogListener());
register(nameServer, ConsomerGroupConstants.LOGIN_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.LOGIN, "*", new LoginOperationLogListener());
//}
} catch (MQClientException e) {
e.printStackTrace();

31
epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/OperationLogListener.java → epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/LoginOperationLogListener.java

@ -1,11 +1,13 @@
package com.epmet.mq.listener.listener;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.rocketmq.messages.OperationLogMQMsg;
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;
@ -20,21 +22,12 @@ import java.util.concurrent.TimeUnit;
/**
* @author wxz
* @Description 操作日志监听器
* @Description 登录操作日志监听器
* @return
* @date 2021.06.07 16:12
*
*
* {
* "type": "login",
* "content": "我登录了",
* "targetId": "11",
* "operatorId": "2",
* "operatingTime": "1623056525000"
* }
*/
public class OperationLogListener implements MessageListenerConcurrently {
public class LoginOperationLogListener implements MessageListenerConcurrently {
private Logger logger = LoggerFactory.getLogger(getClass());
@ -53,15 +46,23 @@ public class OperationLogListener implements MessageListenerConcurrently {
String tags = messageExt.getTags();
String msg = new String(messageExt.getBody());
logger.info("操作日志监听器-收到消息内容:{}", msg);
OperationLogMQMsg msgObj = JSON.parseObject(msg, OperationLogMQMsg.class);
LoginMQMsg msgObj = JSON.parseObject(msg, LoginMQMsg.class);
LogOperationEntity logEntity = new LogOperationEntity();
logEntity.setCategory(messageExt.getTopic());
logEntity.setType(tags);
logEntity.setTargetId("");
logEntity.setOperatorId(msgObj.getUserId());
logEntity.setOperatingTime(msgObj.getLoginTime());
logEntity.setContent("成功登录系统");
DistributedLock distributedLock = null;
RLock lock = null;
try {
distributedLock = SpringContextUtils.getBean(DistributedLock.class);
lock = distributedLock.getLock(String.format("lock:operation_log:%s:%s", msgObj.getType(), msgObj.getTargetId()),
lock = distributedLock.getLock(String.format("lock:operation_log:%s:%s", logEntity.getType(), logEntity.getTargetId()),
30L, 30L, TimeUnit.SECONDS);
SpringContextUtils.getBean(LogOperationService.class).log(msgObj, tags);
SpringContextUtils.getBean(LogOperationService.class).log(logEntity);
} catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
logger.error("【RocketMQ】添加操作日志失败:".concat(ExceptionUtils.getErrorStackTrace(e)));

6
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/LogOperationService.java

@ -1,7 +1,7 @@
package com.epmet.service;
import com.epmet.commons.rocketmq.messages.OperationLogMQMsg;
import com.epmet.dto.region.LogOperationResultDTO;
import com.epmet.entity.LogOperationEntity;
import java.util.List;
@ -16,7 +16,7 @@ public interface LogOperationService {
* @author wxz
* @date 2021.06.07 21:56
*/
void log(OperationLogMQMsg msg, String category);
void log(LogOperationEntity msg);
/**
* @Description 查询操作日志 列表
@ -24,5 +24,5 @@ public interface LogOperationService {
* @author wxz
* @date 2021.06.07 21:56
*/
List<LogOperationResultDTO> listOperationLogs(String operatorName, String operatorMobile, String customerId, Integer pageNo, Integer pageSize);
List<LogOperationResultDTO> listOperationLogs(String condition, String customerId, Integer pageNo, Integer pageSize);
}

35
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java

@ -4,22 +4,18 @@ 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.commons.rocketmq.messages.OperationLogMQMsg;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.LogOperationDao;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.dto.form.ThirdCustomerStaffFormDTO;
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 com.github.pagehelper.PageHelper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -41,7 +37,7 @@ public class LogOperationServiceImpl implements LogOperationService, ResultDataR
private EpmetUserOpenFeignClient userOpenFeignClient;
@Override
public void log(OperationLogMQMsg msg, String category) {
public void log(LogOperationEntity msg) {
LambdaQueryWrapper<LogOperationEntity> w = new LambdaQueryWrapper<>();
w.eq(LogOperationEntity::getType, msg.getType());
w.eq(LogOperationEntity::getTargetId, msg.getTargetId());
@ -53,24 +49,19 @@ public class LogOperationServiceImpl implements LogOperationService, ResultDataR
// 该日志已存在,不做任何操作
return;
}
LogOperationEntity insert = new LogOperationEntity();
insert.setContent(msg.getContent());
insert.setOperatingTime(msg.getOperatingTime());
insert.setOperatorId(msg.getOperatorId());
insert.setTargetId(msg.getTargetId());
insert.setType(msg.getType());
insert.setCategory(category);
logOperationDao.insert(insert);
logOperationDao.insert(msg);
}
@Override
public List<LogOperationResultDTO> listOperationLogs(String operatorName, String operatorMobile, String customerId, Integer pageNo, Integer pageSize) {
public List<LogOperationResultDTO> listOperationLogs(String condition, String customerId, Integer pageNo, Integer pageSize) {
// 1.条件查询
if (StringUtils.isNotBlank(operatorMobile)) {
return listByOperatorMobile(operatorMobile, customerId, pageNo, pageSize);
} else if (StringUtils.isNotBlank(operatorName)) {
return listByOperatorName(operatorName, pageNo, pageSize);
List<LogOperationResultDTO> logDtos = listByOperatorMobile(condition, customerId, pageNo, pageSize);
if (CollectionUtils.isEmpty(logDtos)) {
logDtos = listByOperatorName(condition, pageNo, pageSize);
}
if (CollectionUtils.isEmpty(logDtos)) {
return new ArrayList<>();
}
// 2.直接分页查询
@ -78,10 +69,10 @@ public class LogOperationServiceImpl implements LogOperationService, ResultDataR
LambdaQueryWrapper<LogOperationEntity> w = new LambdaQueryWrapper<>();
w.orderByDesc(LogOperationEntity::getOperatingTime);
IPage<LogOperationEntity> iPage = logOperationDao.selectPage(new Page<>(pageNo, pageSize), w);
List<LogOperationEntity> logs = iPage.getRecords();
List<String> userIds = logs.stream().map(l -> l.getOperatorId()).collect(Collectors.toList());
List<LogOperationEntity> logEntities = iPage.getRecords();
List<String> userIds = logEntities.stream().map(l -> l.getOperatorId()).collect(Collectors.toList());
return convertLogOperationEntity2DTO(logs, getStaffMapByUserIds(userIds));
return convertLogOperationEntity2DTO(logEntities, getStaffMapByUserIds(userIds));
}
private Map<String, CustomerStaffDTO> getStaffMapByUserIds(List<String> userIds) {

3
epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java

@ -1,7 +1,10 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.UserDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.StaffOrgsResultDTO;
import com.epmet.dto.result.UserTokenResultDTO;

40
epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java

@ -6,17 +6,21 @@ import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.epmet.common.token.constant.LoginConstant;
import com.epmet.commons.rocketmq.messages.LoginMQMsg;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.validator.PhoneValidatorUtils;
import com.epmet.constant.AuthHttpUrlConstant;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.constant.SystemMessageType;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -29,6 +33,7 @@ import com.epmet.redis.CaptchaRedis;
import com.epmet.service.ThirdLoginService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -44,7 +49,7 @@ import java.util.stream.Collectors;
*/
@Slf4j
@Service
public class ThirdLoginServiceImpl implements ThirdLoginService {
public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResolver {
private static final Logger logger = LoggerFactory.getLogger(ThirdLoginServiceImpl.class);
@Autowired
@ -61,6 +66,10 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient messageOpenFeignClient;
@Autowired
private LoginUserUtil loginUserUtil;
/**
* @param formDTO
@ -170,8 +179,11 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
this.saveLatestGovTokenDto(staffLatestAgencyResultDTO, userWechatDTO, token);
UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO();
userTokenResultDTO.setToken(token);
return userTokenResultDTO;
//7.发送登录事件
sendLoginEvent(staffLatestAgencyResultDTO.getStaffId(), formDTO.getAppId());
return userTokenResultDTO;
}
/**
@ -635,4 +647,28 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
logger.info(String.format("发送短信验证码成功,手机号[%s]", formDTO.getMobile()));
}
/**
* @Description 发送登录事件
* @return
* @author wxz
* @date 2021.06.08 15:27
*/
private void sendLoginEvent(String userId, String appId) {
LoginMQMsg loginMQMsg = new LoginMQMsg();
loginMQMsg.setUserId(userId);
loginMQMsg.setLoginTime(new Date());
loginMQMsg.setAppId(appId);
SystemMsgFormDTO form = new SystemMsgFormDTO();
form.setMessageType(SystemMessageType.LOGIN);
form.setContent(loginMQMsg);
Result result = messageOpenFeignClient.sendSystemMsgByMQ(form);
try {
getResultDataOrThrowsException(result, ServiceConstant.EPMET_MESSAGE_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "调用Message服务,发送登录事件到MQ失败");
} catch (RenException e) {
log.error(e.getInternalMsg());
}
}
}

4
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java

@ -32,8 +32,8 @@ public interface ConsomerGroupConstants {
String GROUP_ACHIEVEMENT_COMPONENTS_GROUP = "group_achievement_components_group";
/**
* 操作日志组
* 登录操作日志消费
*/
String OPERATION_LOG_GROUP = "operation_log_group";
String LOGIN_OPERATION_LOG_GROUP = "login_operation_log_group";
}

4
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java

@ -15,7 +15,7 @@ public interface TopicConstants {
String GROUP_ACHIEVEMENT = "group_achievement";
/**
* 操作日志
* 登录
*/
String OPERATION_LOG = "operation_log";
String LOGIN = "login";
}

20
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/LoginMQMsg.java

@ -0,0 +1,20 @@
package com.epmet.commons.rocketmq.messages;
import lombok.Data;
import java.util.Date;
@Data
public class LoginMQMsg {
/**
* 谁登录
*/
private String userId;
private String appId;
/**
* 什么时间登录的
*/
private Date loginTime;
}

16
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OperationLogMQMsg.java

@ -1,16 +0,0 @@
package com.epmet.commons.rocketmq.messages;
import lombok.Data;
import java.util.Date;
@Data
public class OperationLogMQMsg {
private String type;
private String content;
private String targetId;
private String operatorId;
private Date operatingTime;
}

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/user/LoginUserUtil.java

@ -6,6 +6,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.List;
/**

7
epmet-gateway/pom.xml

@ -255,10 +255,11 @@
<nacos.ip></nacos.ip>
<!-- gateway routes -->
<!-- 1、认证服务 -->
<!-- <gateway.routes.epmet-auth-server.uri>http://localhost:8081</gateway.routes.epmet-auth-server.uri>-->
<gateway.routes.epmet-auth-server.uri>lb://epmet-auth-server</gateway.routes.epmet-auth-server.uri>
<gateway.routes.epmet-auth-server.uri>http://localhost:8081</gateway.routes.epmet-auth-server.uri>
<!--<gateway.routes.epmet-auth-server.uri>lb://epmet-auth-server</gateway.routes.epmet-auth-server.uri>-->
<!-- 2、Admin服务 -->
<gateway.routes.epmet-admin-server.uri>lb://epmet-admin-server</gateway.routes.epmet-admin-server.uri>
<gateway.routes.epmet-admin-server.uri>http://localhost:8082</gateway.routes.epmet-admin-server.uri>
<!--<gateway.routes.epmet-admin-server.uri>lb://epmet-admin-server</gateway.routes.epmet-admin-server.uri>-->
<!-- 4、OSS服务 -->
<gateway.routes.epmet-oss-server.uri>lb://epmet-oss-server</gateway.routes.epmet-oss-server.uri>
<!-- 5、消息服务 -->

7
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java

@ -1,7 +1,7 @@
package com.epmet.constant;
/**
* 系统消息类型
* 系统消息类型可以理解为动作约等于rocket mq中的tag
*/
public interface SystemMessageType {
@ -20,4 +20,9 @@ public interface SystemMessageType {
*/
String GROUP_ACHIEVEMENT = "group_achievement";
/**
* 登录
*/
String LOGIN = "login";
}

4
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java

@ -26,8 +26,8 @@ import java.util.List;
* @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:47
*/
//@FeignClient(name = ServiceConstant.EPMET_MESSAGE_SERVER, fallback = EpmetMessageOpenFeignClientFallback.class,url = "http://127.0.0.1:8085")
@FeignClient(name = ServiceConstant.EPMET_MESSAGE_SERVER, fallback = EpmetMessageOpenFeignClientFallback.class)
@FeignClient(name = ServiceConstant.EPMET_MESSAGE_SERVER, fallback = EpmetMessageOpenFeignClientFallback.class,url = "http://127.0.0.1:8085")
//@FeignClient(name = ServiceConstant.EPMET_MESSAGE_SERVER, fallback = EpmetMessageOpenFeignClientFallback.class)
public interface EpmetMessageOpenFeignClient {
/**
* 发送短信

4
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java

@ -43,7 +43,7 @@ public class SystemMessageServiceImpl implements SystemMessageService {
//发送mq消息
try {
Message meMessage = new Message(getTopicByMsgType(messageType), contentStr.getBytes(RemotingHelper.DEFAULT_CHARSET));
Message meMessage = new Message(getTopicByMsgType(messageType), messageType, contentStr.getBytes(RemotingHelper.DEFAULT_CHARSET));
rocketMQTemplate.getProducer().send(meMessage);
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
@ -70,6 +70,8 @@ public class SystemMessageServiceImpl implements SystemMessageService {
case SystemMessageType.GROUP_ACHIEVEMENT:
topic = TopicConstants.GROUP_ACHIEVEMENT;
break;
case SystemMessageType.LOGIN:
topic = TopicConstants.LOGIN;
}
return topic;
}

2
epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

@ -389,7 +389,7 @@
<if test="mobile != null and mobile != ''">
and MOBILE = #{mobile}
</if>
<if test="ids != null and ids.size() > 0">
<if test="userIds != null and userIds.size() > 0">
and userId in
<foreach collection="userIds" item="userId" separator="," open="(" close=")">
#{userId}

Loading…
Cancel
Save