Commit d115cf65 authored by xiaoguang.xu's avatar xiaoguang.xu

Merge remote-tracking branch 'origin' into user_detail_hash

parents 6d9bbe74 e194a99c
...@@ -324,11 +324,6 @@ ...@@ -324,11 +324,6 @@
<artifactId>aspectjweaver</artifactId> <artifactId>aspectjweaver</artifactId>
<version>1.8.13</version> <version>1.8.13</version>
</dependency> </dependency>
<dependency>
<groupId>rulai-acolyte</groupId>
<artifactId>acolyte-buddhistscriptures</artifactId>
<version>1.1</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package cn.quantgroup.xyqb.controller.external.user; package cn.quantgroup.xyqb.controller.external.user;
import cn.quantgroup.acolyte.buddhistscriptures.pojo.Login;
import cn.quantgroup.tech.db.DSType; import cn.quantgroup.tech.db.DSType;
import cn.quantgroup.tech.db.TargetDataSource; import cn.quantgroup.tech.db.TargetDataSource;
import cn.quantgroup.user.enums.Relation; import cn.quantgroup.user.enums.Relation;
...@@ -9,7 +8,6 @@ import cn.quantgroup.xyqb.aspect.accessable.IpValidator; ...@@ -9,7 +8,6 @@ import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.*; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.enumerate.*; import cn.quantgroup.xyqb.entity.enumerate.*;
import cn.quantgroup.xyqb.event.StatisticsEvent;
import cn.quantgroup.xyqb.exception.UserNotExistException; import cn.quantgroup.xyqb.exception.UserNotExistException;
import cn.quantgroup.xyqb.model.*; import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.service.api.IUserApiService; import cn.quantgroup.xyqb.service.api.IUserApiService;
...@@ -42,8 +40,6 @@ import org.springframework.context.ApplicationEventPublisher; ...@@ -42,8 +40,6 @@ import org.springframework.context.ApplicationEventPublisher;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -1226,10 +1222,6 @@ public class InnerController implements IBaseController { ...@@ -1226,10 +1222,6 @@ public class InnerController implements IBaseController {
// 推送老的登陆统计信息 // 推送老的登陆统计信息
UserStatistics statistics = new UserStatistics(user, dimension, 3, channelId); UserStatistics statistics = new UserStatistics(user, dimension, 3, channelId);
MqUtils.sendLoanVest(statistics); MqUtils.sendLoanVest(statistics);
// 发布新的登录统计信息事件
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Login login = new Login(user.getId(), createdFrom, channelId, IPUtil.getRemoteIP(request), 3, System.currentTimeMillis());
applicationEventPublisher.publishEvent(new StatisticsEvent(this, login));
return JsonResult.buildSuccessResult("校验成功", new UserRet(user)); return JsonResult.buildSuccessResult("校验成功", new UserRet(user));
} }
......
package cn.quantgroup.xyqb.event;
import cn.quantgroup.acolyte.buddhistscriptures.ingester.UserIngest;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Objects;
/**
* 发送到Kafka - 综合统计中心 - 登录
*
* @author renwc
* @date 2018-07-03
*/
@Component
public class KafkaUserEventListener implements ApplicationListener<StatisticsEvent> {
@Resource
private UserIngest userIngest;
@Override
public void onApplicationEvent(StatisticsEvent event) {
if (Objects.nonNull(event.getLogin())) {
userIngest.sendLoginInfo(event.getLogin());
}
}
}
package cn.quantgroup.xyqb.event; package cn.quantgroup.xyqb.event;
import cn.quantgroup.acolyte.buddhistscriptures.ingester.UserIngest;
import cn.quantgroup.acolyte.buddhistscriptures.pojo.Register;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.UserRegisterParam; import cn.quantgroup.xyqb.model.UserRegisterParam;
import cn.quantgroup.xyqb.util.MqUtils; import cn.quantgroup.xyqb.util.MqUtils;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/** /**
* 发mq, 目前只有数据可视化分析系统需要这个 * 发mq, 目前只有数据可视化分析系统需要这个
...@@ -18,10 +15,6 @@ import javax.annotation.Resource; ...@@ -18,10 +15,6 @@ import javax.annotation.Resource;
@Component @Component
public class MQRegisteredEventListener implements ApplicationListener<RegisterEvent> { public class MQRegisteredEventListener implements ApplicationListener<RegisterEvent> {
@Resource
private UserIngest userIngest;
@Override @Override
public void onApplicationEvent(RegisterEvent event) { public void onApplicationEvent(RegisterEvent event) {
UserRegisterParam userRegisterParam = event.getUserRegisterParam(); UserRegisterParam userRegisterParam = event.getUserRegisterParam();
...@@ -37,7 +30,5 @@ public class MQRegisteredEventListener implements ApplicationListener<RegisterEv ...@@ -37,7 +30,5 @@ public class MQRegisteredEventListener implements ApplicationListener<RegisterEv
} }
// 发送注册成功统计消息 // 发送注册成功统计消息
MqUtils.sendRegisterMessage(channelId, dimension, user); MqUtils.sendRegisterMessage(channelId, dimension, user);
Register register = new Register(user.getUuid(), user.getId(), user.getPhoneNo(), user.getRegisteredFrom(), channelId, dimension, user.getCreatedAt().getTime());
userIngest.sendRegisterInfo(register);
} }
} }
package cn.quantgroup.xyqb.event;
import cn.quantgroup.acolyte.buddhistscriptures.pojo.Login;
import lombok.Getter;
import lombok.Setter;
import org.springframework.context.ApplicationEvent;
/**
* 统计事件
*
* @author renwc
* @date 2018-06-26
*/
@Getter
@Setter
public class StatisticsEvent extends ApplicationEvent {
/**
* 登录统计
*/
private Login login;
public StatisticsEvent(Object source) {
super(source);
}
public StatisticsEvent(Object source, Login login) {
super(source);
this.login = login;
}
}
package cn.quantgroup.xyqb.event;
import cn.quantgroup.acolyte.buddhistscriptures.ingester.UserIngest;
import cn.quantgroup.acolyte.buddhistscriptures.pojo.UserRealInfo;
import cn.quantgroup.xyqb.entity.UserDetail;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* 用户保存或更新 userDetail 时发送统计信息
*/
@Component
public class UserDetailStatisticsEventListener implements ApplicationListener<UserDetailUpdateEvent> {
@Resource
private UserIngest userIngest;
@Override
public void onApplicationEvent(UserDetailUpdateEvent event) {
UserDetail userDetail = event.getUserDetail();
UserRealInfo userRealInfo = new UserRealInfo();
userRealInfo.setUserId(userDetail.getUserId());
userRealInfo.setIdType(userDetail.getIdType().ordinal());
userRealInfo.setName(userDetail.getName());
userRealInfo.setIdNo(userDetail.getIdNo());
userIngest.sendUserRealInfo(userRealInfo);
}
}
...@@ -5,7 +5,6 @@ import java.util.*; ...@@ -5,7 +5,6 @@ import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -15,16 +14,12 @@ import org.springframework.context.ApplicationEventPublisher; ...@@ -15,16 +14,12 @@ import org.springframework.context.ApplicationEventPublisher;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import cn.quantgroup.acolyte.buddhistscriptures.pojo.Login;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.event.StatisticsEvent;
import cn.quantgroup.xyqb.model.AuthBean; import cn.quantgroup.xyqb.model.AuthBean;
import cn.quantgroup.xyqb.model.LoginProperties; import cn.quantgroup.xyqb.model.LoginProperties;
import cn.quantgroup.xyqb.model.UserStatistics; import cn.quantgroup.xyqb.model.UserStatistics;
...@@ -33,7 +28,6 @@ import cn.quantgroup.xyqb.model.session.SessionValue; ...@@ -33,7 +28,6 @@ import cn.quantgroup.xyqb.model.session.SessionValue;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.session.aspect.UserBtRegisterFill; import cn.quantgroup.xyqb.service.session.aspect.UserBtRegisterFill;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.IPUtil;
import cn.quantgroup.xyqb.util.MqUtils; import cn.quantgroup.xyqb.util.MqUtils;
/** /**
...@@ -140,10 +134,6 @@ public class SessionServiceImpl implements ISessionService { ...@@ -140,10 +134,6 @@ public class SessionServiceImpl implements ISessionService {
UserStatistics statistics = new UserStatistics(user, null, properties.getAction(), properties.getChannelId()); UserStatistics statistics = new UserStatistics(user, null, properties.getAction(), properties.getChannelId());
// 推送老的登陆统计信息 // 推送老的登陆统计信息
MqUtils.sendLoanVest(statistics); MqUtils.sendLoanVest(statistics);
// 发布新的登录统计信息事件
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Login login = new Login(user.getId(), properties.getCreatedFrom(), properties.getChannelId(), IPUtil.getRemoteIP(request), properties.getAction(), System.currentTimeMillis());
applicationEventPublisher.publishEvent(new StatisticsEvent(this, login));
return sessionStruct; return sessionStruct;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment