Commit 72891024 authored by 张宏至's avatar 张宏至

Merge branch 'event-0628' into 'master'

Event 0628

See merge request !1
parents 81128103 6b03cfe6
...@@ -25,6 +25,11 @@ ...@@ -25,6 +25,11 @@
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>com.sensorsdata.analytics.javasdk</groupId>
<artifactId>SensorsAnalyticsSDK</artifactId>
<version>3.2.0</version>
</dependency>
<!-- swagger2 start --> <!-- swagger2 start -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
......
...@@ -16,8 +16,11 @@ import cn.quantgroup.xyqb.service.session.ISessionService; ...@@ -16,8 +16,11 @@ import cn.quantgroup.xyqb.service.session.ISessionService;
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.IpUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import com.sensorsdata.analytics.javasdk.ISensorsAnalytics;
import com.sensorsdata.analytics.javasdk.bean.EventRecord;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
...@@ -62,8 +65,8 @@ public class AppController implements IBaseController { ...@@ -62,8 +65,8 @@ public class AppController implements IBaseController {
* @param appChannel - 应用平台(应用商店、AppStore...) * @param appChannel - 应用平台(应用商店、AppStore...)
* @param request * @param request
* @return Token和phoneNo * @return Token和phoneNo
* @yapi http://yapi.quantgroups.com/project/17/interface/api/169 * @yapi http://yapi.quantgroups.com/project/17/interface/api/169
* @Deprecated 20210318 * @Deprecated 20210318
*/ */
@Deprecated @Deprecated
@IpValidator @IpValidator
...@@ -101,6 +104,9 @@ public class AppController implements IBaseController { ...@@ -101,6 +104,9 @@ public class AppController implements IBaseController {
return JsonResult.buildSuccessResult("登录成功", bean); return JsonResult.buildSuccessResult("登录成功", bean);
} }
@Autowired
private ISensorsAnalytics iSensorsAnalytics;
/** /**
* 第三方用户免密登录 * 第三方用户免密登录
* 发现新手机号,自动执行注册 * 发现新手机号,自动执行注册
...@@ -115,7 +121,7 @@ public class AppController implements IBaseController { ...@@ -115,7 +121,7 @@ public class AppController implements IBaseController {
* @param appChannel - 应用平台(应用商店、AppStore...) * @param appChannel - 应用平台(应用商店、AppStore...)
* @param request * @param request
* @return 用户信息 * @return 用户信息
* @yapi http://yapi.quantgroups.com/project/17/interface/api/173 * @yapi http://yapi.quantgroups.com/project/17/interface/api/173
*/ */
@IpValidator @IpValidator
@RequestMapping("/login_super") @RequestMapping("/login_super")
...@@ -163,6 +169,18 @@ public class AppController implements IBaseController { ...@@ -163,6 +169,18 @@ public class AppController implements IBaseController {
loginInfo.setLoginContext(context); loginInfo.setLoginContext(context);
log.info("第三方用户获取信息登录成功 [AppController] loginSuper --> loginFrom:{}, phoneNo:{},appChannel:{},channelId:{}", registerFrom, phoneNo, appChannel, channelId); log.info("第三方用户获取信息登录成功 [AppController] loginSuper --> loginFrom:{}, phoneNo:{},appChannel:{},channelId:{}", registerFrom, phoneNo, appChannel, channelId);
try {
EventRecord userRecord = EventRecord.builder().setDistinctId(user.getUuid()).isLoginId(Boolean.TRUE)
.setEventName("PD_WUXIEC_UserLoginVccorCash")
.addProperty("son_channel_id", user.getRegisteredFrom())
.addProperty("parent_channel_id", -1L)
.addProperty("vcccash_uuid", user.getUuid())
.build();
iSensorsAnalytics.track(userRecord);
iSensorsAnalytics.flush();
} catch (Exception e) {
log.info("神策埋点出现问题", e);
}
return JsonResult.buildSuccessResult("登陆成功", loginInfo); return JsonResult.buildSuccessResult("登陆成功", loginInfo);
} }
...@@ -170,13 +188,13 @@ public class AppController implements IBaseController { ...@@ -170,13 +188,13 @@ public class AppController implements IBaseController {
* 第三方用户免密登录 * 第三方用户免密登录
* 发现新手机号不会执行注册 * 发现新手机号不会执行注册
* *
* @param phoneNo - 手机号 * @param phoneNo - 手机号
* @param registerFrom - 注册渠道(第一次用户来源channelId) * @param registerFrom - 注册渠道(第一次用户来源channelId)
* @param channelId - 渠道 * @param channelId - 渠道
* @param appChannel - 应用平台(应用商店、AppStore...) * @param appChannel - 应用平台(应用商店、AppStore...)
* @param request * @param request
* @return Token和phoneNo * @return Token和phoneNo
* @yapi http://yapi.quantgroups.com/project/17/interface/api/171 * @yapi http://yapi.quantgroups.com/project/17/interface/api/171
*/ */
@LoginInterceptor @LoginInterceptor
@IpValidator @IpValidator
...@@ -205,4 +223,26 @@ public class AppController implements IBaseController { ...@@ -205,4 +223,26 @@ public class AppController implements IBaseController {
return JsonResult.buildSuccessResult("登录成功", bean); return JsonResult.buildSuccessResult("登录成功", bean);
} }
// @RequestMapping("/login33")
// public JsonResult login233() {
// User user = new User();
// user.setUuid("3213213321");
// user.setRegisteredFrom(221L);
// try {
// EventRecord userRecord = EventRecord.builder().setDistinctId(user.getUuid()).isLoginId(Boolean.TRUE)
// .setEventName("PD_WUXIEC_UserLoginVccCash")
// .addProperty("son_channel_id", user.getRegisteredFrom())
// .addProperty("parent_channel_id",-1L)
// .addProperty("vcc_uuid", user.getUuid())
// .build();
// iSensorsAnalytics.track(userRecord);
// iSensorsAnalytics.flush();
// log.info("神策上报成功");
// } catch (Exception e) {
// log.info("神策埋点出现问题", e);
// }
// return JsonResult.buildSuccessResult("登录成功", null);
//
// }
} }
package cn.quantgroup.xyqb.event;
import com.sensorsdata.analytics.javasdk.ISensorsAnalytics;
import com.sensorsdata.analytics.javasdk.SensorsAnalytics;
import com.sensorsdata.analytics.javasdk.consumer.BatchConsumer;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.io.IOException;
/**
* @author :hongzhi
*/
@Configuration
public class UserLoginEvent {
@Value("${sc.url}")
private String dataUrl;
@Bean(destroyMethod = "shutdown")
public ISensorsAnalytics init() throws IOException {
// //本地日志模式(此模式会在指定路径生成相应的日志文件)
// return new SensorsAnalytics(new ConcurrentLoggingConsumer("/Users/hongzhi/scEvent/"));
//网络批量发送模式(此模式在容器关闭的时候,如果存在数据还没有发送完毕,就会丢失未发送的数据!!!)
return new SensorsAnalytics(new BatchConsumer(dataUrl));
}
}
...@@ -34,6 +34,8 @@ import cn.quantgroup.xyqb.util.ValidationUtil; ...@@ -34,6 +34,8 @@ import cn.quantgroup.xyqb.util.ValidationUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.sensorsdata.analytics.javasdk.ISensorsAnalytics;
import com.sensorsdata.analytics.javasdk.bean.EventRecord;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -327,6 +329,9 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -327,6 +329,9 @@ public class UserServiceImpl implements IUserService, IBaseController {
log.info("清理用户缓存成功,uuid:{},phoneNo:{}", uuid, phoneNo); log.info("清理用户缓存成功,uuid:{},phoneNo:{}", uuid, phoneNo);
} }
@Autowired
private ISensorsAnalytics iSensorsAnalytics;
@Override @Override
@RedisLock(prefix = "lock:login:fast:", key = "#this[8]") @RedisLock(prefix = "lock:login:fast:", key = "#this[8]")
public JsonResult loginFast(Long channelId, String appChannel, Long createdFrom, Long btRegisterChannelId, public JsonResult loginFast(Long channelId, String appChannel, Long createdFrom, Long btRegisterChannelId,
...@@ -350,6 +355,18 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -350,6 +355,18 @@ public class UserServiceImpl implements IUserService, IBaseController {
if (!wechatRelateUserIfNecessary(user, request)) { if (!wechatRelateUserIfNecessary(user, request)) {
return JsonResult.buildErrorStateResult("登录时微信关联失败", null); return JsonResult.buildErrorStateResult("登录时微信关联失败", null);
} }
try {
EventRecord userRecord = EventRecord.builder().setDistinctId(user.getUuid()).isLoginId(Boolean.TRUE)
.setEventName("PD_WUXIEC_UserLoginVccorCash")
.addProperty("son_channel_id", user.getRegisteredFrom())
.addProperty("parent_channel_id", -1L)
.addProperty("vcccash_uuid", user.getUuid())
.build();
iSensorsAnalytics.track(userRecord);
iSensorsAnalytics.flush();
} catch (Exception e) {
log.info("神策埋点出现问题", e);
}
LoginProperties loginProperties = new LoginProperties("", 3, channelId, createdFrom, appChannel, merchant.getId(), merchant.getName()); LoginProperties loginProperties = new LoginProperties("", 3, channelId, createdFrom, appChannel, merchant.getId(), merchant.getName());
AuthBean session = sessionService.createSession(user, loginProperties); AuthBean session = sessionService.createSession(user, loginProperties);
session.setRegister(register); session.setRegister(register);
......
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