Authored by zhengwen.ge

90天池子

  1 +package com.yoho.unions.dal;
  2 +
  3 +
  4 +import com.yoho.unions.dal.model.BaseUserActiveDay;
  5 +import org.apache.ibatis.annotations.Param;
  6 +
  7 +public interface BaseUserActiveDayMapper {
  8 +
  9 + BaseUserActiveDay selectByUdidAndAppKey(@Param("udid")String udid,@Param("appKey")String appKey);
  10 +}
  1 +package com.yoho.unions.dal.model;
  2 +
  3 +public class BaseUserActiveDay {
  4 + private String dateId;
  5 +
  6 + private String udid;
  7 +
  8 + private String idfa;
  9 +
  10 + private String appKey;
  11 +
  12 + public String getDateId() {
  13 + return dateId;
  14 + }
  15 +
  16 + public void setDateId(String dateId) {
  17 + this.dateId = dateId == null ? null : dateId.trim();
  18 + }
  19 +
  20 + public String getUdid() {
  21 + return udid;
  22 + }
  23 +
  24 + public void setUdid(String udid) {
  25 + this.udid = udid == null ? null : udid.trim();
  26 + }
  27 +
  28 + public String getIdfa() {
  29 + return idfa;
  30 + }
  31 +
  32 + public void setIdfa(String idfa) {
  33 + this.idfa = idfa == null ? null : idfa.trim();
  34 + }
  35 +
  36 + public String getAppKey() {
  37 + return appKey;
  38 + }
  39 +
  40 + public void setAppKey(String appKey) {
  41 + this.appKey = appKey == null ? null : appKey.trim();
  42 + }
  43 +}
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3 +<mapper namespace="com.yoho.unions.dal.BaseUserActiveDayMapper" >
  4 + <resultMap id="BaseResultMap" type="com.yoho.unions.dal.model.BaseUserActiveDay" >
  5 + <result column="date_id" property="dateId" jdbcType="VARCHAR" />
  6 + <result column="udid" property="udid" jdbcType="VARCHAR" />
  7 + <result column="idfa" property="idfa" jdbcType="VARCHAR" />
  8 + <result column="app_key" property="appKey" jdbcType="VARCHAR" />
  9 + </resultMap>
  10 +
  11 + <select id="selectByUdidAndAppKey" resultMap="BaseResultMap">
  12 + select * from base_user_active_day where udid=#{udid} and app_key = #{appKey} limit 1
  13 + </select>
  14 +
  15 +</mapper>
@@ -124,6 +124,9 @@ public class UnionServiceImpl implements IUnionService,ApplicationEventPublisher @@ -124,6 +124,9 @@ public class UnionServiceImpl implements IUnionService,ApplicationEventPublisher
124 @Resource 124 @Resource
125 AppChannelActiveMapper appChannelActiveMapper; 125 AppChannelActiveMapper appChannelActiveMapper;
126 126
  127 + @Resource
  128 + BaseUserActiveDayMapper baseUserActiveDayMapper;
  129 +
127 @Resource(name="unionServiceImpl") 130 @Resource(name="unionServiceImpl")
128 IUnionService unionService; 131 IUnionService unionService;
129 132
@@ -405,14 +408,15 @@ public class UnionServiceImpl implements IUnionService,ApplicationEventPublisher @@ -405,14 +408,15 @@ public class UnionServiceImpl implements IUnionService,ApplicationEventPublisher
405 } else if ("mars".equals(appkey)) { 408 } else if ("mars".equals(appkey)) {
406 app_key = "yohomars_ios"; 409 app_key = "yohomars_ios";
407 } 410 }
408 - List<AppActivateIdfaList> _90DayIdfaList = appActivateIdfaListDAO.selectByUdidAndDate(new AppActivateIdfaList(Long.valueOf(yesterday), request.getUdid(), app_key));  
409 - activeUnion.info("check ios active info in 90 days. udid is {} and app_key is {},yesterday is {} and result is {}", request.getUdid(), app_key, yesterday, (null == _90DayIdfaList || _90DayIdfaList.size() == 0)? "null": _90DayIdfaList.get(0)); 411 +// List<AppActivateIdfaList> _90DayIdfaList = appActivateIdfaListDAO.selectByUdidAndDate(new AppActivateIdfaList(Long.valueOf(yesterday), request.getUdid(), app_key));
  412 +// activeUnion.info("check ios active info in 90 days. udid is {} and app_key is {},yesterday is {} and result is {}", request.getUdid(), app_key, yesterday, (null == _90DayIdfaList || _90DayIdfaList.size() == 0)? "null": _90DayIdfaList.get(0));
410 413
  414 + BaseUserActiveDay baseUserActiveDay = baseUserActiveDayMapper.selectByUdidAndAppKey(request.getUdid(),app_key);
411 List<AppActivateIdfaList> _15DayIdfaList = appActivateIdfaListDAO.select15DaysByIdfaAndDate(new AppActivateIdfaList(Long.valueOf(yesterday), request.getIdfa(), app_key, null)); 415 List<AppActivateIdfaList> _15DayIdfaList = appActivateIdfaListDAO.select15DaysByIdfaAndDate(new AppActivateIdfaList(Long.valueOf(yesterday), request.getIdfa(), app_key, null));
412 activeUnion.info("check ios active info in 15 days. udid is {} and app_key is {},yesterday is {} and result is {}", request.getUdid(), app_key, yesterday, (null == _15DayIdfaList || _15DayIdfaList.size() == 0)? "null": _15DayIdfaList.get(0)); 416 activeUnion.info("check ios active info in 15 days. udid is {} and app_key is {},yesterday is {} and result is {}", request.getUdid(), app_key, yesterday, (null == _15DayIdfaList || _15DayIdfaList.size() == 0)? "null": _15DayIdfaList.get(0));
413 417
414 //判断90天内是否在大数据有记录 418 //判断90天内是否在大数据有记录
415 - if (CollectionUtils.isNotEmpty(_90DayIdfaList)) { 419 + if (baseUserActiveDay!=null) {
416 // log.warn("ios activateUnion error because 90 days has activate in bigdata database info with param is {}", request); 420 // log.warn("ios activateUnion error because 90 days has activate in bigdata database info with param is {}", request);
417 String time = DateUtil.getcurrentTime(); 421 String time = DateUtil.getcurrentTime();
418 udidPool.info("Has action in 90 days at bigdata. udid is {},idfa is {},current time is {}", request.getUdid(), request.getIdfa(),time); 422 udidPool.info("Has action in 90 days at bigdata. udid is {},idfa is {},current time is {}", request.getUdid(), request.getIdfa(),time);
@@ -448,10 +452,11 @@ public class UnionServiceImpl implements IUnionService,ApplicationEventPublisher @@ -448,10 +452,11 @@ public class UnionServiceImpl implements IUnionService,ApplicationEventPublisher
448 if (StringUtils.equals(ClientTypeEnum.ANDROID.getName(), request.getClient_type())){ 452 if (StringUtils.equals(ClientTypeEnum.ANDROID.getName(), request.getClient_type())){
449 String appKey = request.getAppkey()+"_android"; 453 String appKey = request.getAppkey()+"_android";
450 // 如果90天内有记录,则直接返回 454 // 如果90天内有记录,则直接返回
451 - List<AppActivateUdidList> activateUdidLists = appActivateUdidListDAO.selectByImeiUdidDate(new AppActivateUdidList(Long.valueOf(yesterday), request.getUdid(), appKey));  
452 - activeUnion.info("check android active info in 90 days. udid is {} and app_key is {},yesterday is {} and result is {}", request.getUdid(), appKey, yesterday, activateUdidLists); 455 +// List<AppActivateUdidList> activateUdidLists = appActivateUdidListDAO.selectByImeiUdidDate(new AppActivateUdidList(Long.valueOf(yesterday), request.getUdid(), appKey));
  456 + BaseUserActiveDay baseUserActiveDay = baseUserActiveDayMapper.selectByUdidAndAppKey(request.getUdid(), appKey);
  457 + activeUnion.info("check android active info in 90 days. udid is {} and app_key is {},yesterday is {} and result is {}", request.getUdid(), appKey, yesterday, baseUserActiveDay);
453 458
454 - if (CollectionUtils.isNotEmpty(activateUdidLists)){ 459 + if (baseUserActiveDay!=null){
455 log.warn("android activateUnion error because 90 days has activate in bigdata database info with param is {}", request); 460 log.warn("android activateUnion error because 90 days has activate in bigdata database info with param is {}", request);
456 return new UnionResponse(200, "have activite in 90 days",result); 461 return new UnionResponse(200, "have activite in 90 days",result);
457 } 462 }
@@ -27,6 +27,7 @@ datasources: @@ -27,6 +27,7 @@ datasources:
27 daos: 27 daos:
28 - com.yoho.unions.dal.IAppActivateIdfaListDAO 28 - com.yoho.unions.dal.IAppActivateIdfaListDAO
29 - com.yoho.unions.dal.IAppActivateUdidListDAO 29 - com.yoho.unions.dal.IAppActivateUdidListDAO
  30 + - com.yoho.unions.dal.BaseUserActiveDayMapper
30 31
31 yh_unions: 32 yh_unions:
32 servers: 33 servers:
@@ -28,6 +28,7 @@ datasources: @@ -28,6 +28,7 @@ datasources:
28 daos: 28 daos:
29 - com.yoho.unions.dal.IAppActivateIdfaListDAO 29 - com.yoho.unions.dal.IAppActivateIdfaListDAO
30 - com.yoho.unions.dal.IAppActivateUdidListDAO 30 - com.yoho.unions.dal.IAppActivateUdidListDAO
  31 + - com.yoho.unions.dal.BaseUserActiveDayMapper
31 32
32 yh_unions: 33 yh_unions:
33 servers: 34 servers: