Authored by ping

update

... ... @@ -306,4 +306,31 @@ union_types:
name: ASZM-fensitong5
- value: 198
name: ASZM-fensitong6
\ No newline at end of file
name: ASZM-fensitong6
- value: 199
name: CS-matomy1
- value: 200
name: CS-matomy2
- value: 201
name: CS-matomy3
- value: 202
name: CS-matomy4
- value: 203
name: CS-matomy5
- value: 204
name: CS-matomy6
- value: 205
name: CS-matomy7
- value: 206
name: CS-matomy8
- value: 207
name: CS-matomy9
\ No newline at end of file
... ...
... ... @@ -5,9 +5,8 @@ import java.util.List;
import com.yoho.unions.dal.model.AppActivateIdfaList;
public interface IAppActivateIdfaListDAO {
int insert(AppActivateIdfaList record);
int insertSelective(AppActivateIdfaList record);
List<AppActivateIdfaList> selectByIdfaAndDate(AppActivateIdfaList record);
List<AppActivateIdfaList> select15DaysByIdfaAndDate(AppActivateIdfaList record);
}
\ No newline at end of file
... ...
... ... @@ -8,27 +8,8 @@
<select id="selectByIdfaAndDate" resultMap="BaseResultMap">
select * from app_activate_idfa_list where date_id=#{dateId} and idfa=#{idfa}
</select>
<insert id="insert" parameterType="com.yoho.unions.dal.model.AppActivateIdfaList">
insert into app_activate_idfa_list (date_id, idfa)
values (#{dateId,jdbcType=BIGINT}, #{idfa,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.yoho.unions.dal.model.AppActivateIdfaList">
insert into app_activate_idfa_list
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="dateId != null">
date_id,
</if>
<if test="idfa != null">
idfa,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="dateId != null">
#{dateId,jdbcType=BIGINT},
</if>
<if test="idfa != null">
#{idfa,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="select15DaysByIdfaAndDate" resultMap="BaseResultMap">
select * from app_activate_idfa_list_15days where date_id=#{dateId} and idfa=#{idfa}
</select>
</mapper>
\ No newline at end of file
... ...
... ... @@ -242,18 +242,40 @@ public class UnionServiceImpl implements IUnionService {
log.warn("activateUnion error because 90 days has activate info with param is {}", request);
return new UnionResponse(203, "have activite in 90 days");
}
UnionTypeModel u = UnionConstant.unionTypeMap.get(Integer.parseInt(click.getUnion_type()));
//如果是ios系统,还要到大数据表里面判断这个用户是否90天内的活跃用户,如果是的话,这次激活就不成功
String yesterday = DateUtil.dateAdd(DateUtil.getToday("yyyyMMdd"), "d", -1, "yyyyMMdd");
if (ClientTypeEnum.IOS.getName().equals(request.getClient_type())) {
String yesterday = DateUtil.dateAdd(DateUtil.getToday("yyyyMMdd"), "d", -1, "yyyyMMdd");
List<AppActivateIdfaList> idfaList = appActivateIdfaListDAO.selectByIdfaAndDate(new AppActivateIdfaList(Long.valueOf(yesterday), request.getIdfa()));
if (CollectionUtils.isNotEmpty(idfaList)) {
List<AppActivateIdfaList> _90DayIdfaList = appActivateIdfaListDAO.selectByIdfaAndDate(new AppActivateIdfaList(Long.valueOf(yesterday), request.getIdfa()));
List<AppActivateIdfaList> _15DayIdfaList = appActivateIdfaListDAO.select15DaysByIdfaAndDate(new AppActivateIdfaList(Long.valueOf(yesterday), request.getIdfa()));
//判断90天内是否在大数据有记录
if (CollectionUtils.isNotEmpty(_90DayIdfaList)) {
log.warn("activateUnion error because 90 days has activate in bigdata database info with param is {}", request);
//判断15天内是否在大数据有记录
if (CollectionUtils.isNotEmpty(_15DayIdfaList)) {
//15天内有记录,退出
log.warn("activateUnion error because 15 days has activate in bigdata database info with param is {}", request);
} else {
//15天内没有记录,则记录大数据日志,退出
JSONObject j = new JSONObject();
j.put("apptype", request.getClient_type());
j.put("appid", click.getAppid());
j.put("idfa", request.getIdfa());
j.put("imei", request.getImei());
j.put("udid", request.getUdid());
j.put("dateid", DateUtil.getcurrentDateTime());
j.put("source", u == null ? "" : u.getName());
j.put("ip", request.getClientIp());
j.put("collect_ip", "");
j.put("active_type", "15");
activeDingdang.info(j.toString());
}
return new UnionResponse(203, "have activite in 90 days");
}
}
// UnionTypeModel type =
// UnionConstant.unionTypeMap.get(Integer.parseInt(click.getUnion_type()));
... ... @@ -312,7 +334,7 @@ public class UnionServiceImpl implements IUnionService {
//删除redis中的点击记录
yHRedisTemplate.delete(key);
UnionTypeModel u = UnionConstant.unionTypeMap.get(Integer.parseInt(click.getUnion_type()));
// 记录日志
JSONObject j = new JSONObject();
j.put("apptype", request.getClient_type());
... ... @@ -324,8 +346,16 @@ public class UnionServiceImpl implements IUnionService {
j.put("source", u == null ? "" : u.getName());
j.put("ip", request.getClientIp());
j.put("collect_ip", "");
j.put("active_type", "90");
//打印90天的大数据日志
activeDingdang.info(j.toString());
j.put("active_type", "15");
//打印15天的大数据日志
activeDingdang.info(j.toString());
log.info("activateUnion in success request is {}", request);
return new UnionResponse();
} catch (Exception e) {
... ...