Authored by zhengwen.ge

广点通转化上报

... ... @@ -5,6 +5,8 @@ public class UnionActivity {
private String udid;
private String muid;
private String unionType;
private String clientType;
... ... @@ -31,6 +33,14 @@ public class UnionActivity {
this.udid = udid == null ? null : udid.trim();
}
public String getMuid() {
return muid;
}
public void setMuid(String muid) {
this.muid = muid == null ? null : muid.trim();
}
public String getUnionType() {
return unionType;
}
... ...
... ... @@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="com.yoho.unions.dal.model.UnionActivity" >
<id column="id" property="id" jdbcType="BIGINT" />
<result column="udid" property="udid" jdbcType="VARCHAR" />
<result column="muid" property="muid" jdbcType="VARCHAR" />
<result column="union_type" property="unionType" jdbcType="VARCHAR" />
<result column="client_type" property="clientType" jdbcType="VARCHAR" />
<result column="advertiser_id" property="advertiserId" jdbcType="VARCHAR" />
... ... @@ -11,7 +12,7 @@
<result column="create_time" property="createTime" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, udid, union_type, client_type, advertiser_id, click_id, create_time
id, udid, muid, union_type, client_type, advertiser_id, click_id, create_time
</sql>
<select id="selectByUdid" resultMap="BaseResultMap">
... ... @@ -20,12 +21,12 @@
where udid = #{udid} limit 1
</select>
<insert id="insert" parameterType="com.yoho.unions.dal.model.UnionActivity" >
insert into union_activity (id, udid, union_type,
client_type, advertiser_id, click_id,
create_time)
values (#{id,jdbcType=BIGINT}, #{udid,jdbcType=VARCHAR}, #{unionType,jdbcType=VARCHAR},
#{clientType,jdbcType=VARCHAR}, #{advertiserId,jdbcType=VARCHAR}, #{clickId,jdbcType=VARCHAR},
#{createTime,jdbcType=INTEGER})
insert into union_activity (id, udid, muid,
union_type, client_type, advertiser_id,
click_id, create_time)
values (#{id,jdbcType=BIGINT}, #{udid,jdbcType=VARCHAR}, #{muid,jdbcType=VARCHAR},
#{unionType,jdbcType=VARCHAR}, #{clientType,jdbcType=VARCHAR}, #{advertiserId,jdbcType=VARCHAR},
#{clickId,jdbcType=VARCHAR}, #{createTime,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.yoho.unions.dal.model.UnionActivity" >
insert into union_activity
... ... @@ -36,6 +37,9 @@
<if test="udid != null" >
udid,
</if>
<if test="muid != null" >
muid,
</if>
<if test="unionType != null" >
union_type,
</if>
... ... @@ -59,6 +63,9 @@
<if test="udid != null" >
#{udid,jdbcType=VARCHAR},
</if>
<if test="muid != null" >
#{muid,jdbcType=VARCHAR},
</if>
<if test="unionType != null" >
#{unionType,jdbcType=VARCHAR},
</if>
... ...
... ... @@ -579,6 +579,11 @@ public class UnionServiceImpl implements IUnionService,ApplicationEventPublisher
UnionActivity unionActivity = new UnionActivity();
unionActivity.setClientType(request.getClient_type());
unionActivity.setUdid(request.getUdid());
if(StringUtils.isNotEmpty(click.getIdfa())){
unionActivity.setUdid(click.getIdfa());
}else {
unionActivity.setUdid(click.getImei());
}
unionActivity.setUnionType(click.getUnion_type());
//广点通的账号id存入的是click的commonUse字段
unionActivity.setAdvertiserId(click.getCommonUse());
... ...
... ... @@ -46,7 +46,7 @@ public class GdtTransTask {
@Resource
IUnionConfigDAO unionConfigDAO;
@Scheduled(cron = "* 0/3 * * * ?")
@Scheduled(cron = "* 0/5 * * * ?")
public void run() {
UnionOrderReqVO reqVO = new UnionOrderReqVO();
reqVO.setLimit(20);
... ... @@ -55,12 +55,14 @@ public class GdtTransTask {
public void execute(UnionOrderReqVO reqVO){
//从大数据中取出联盟需要的广点通带来转化的设备号,和金额
List<TransInfo> transInfoList = unionOrderService.getTrandInfo(reqVO);
if (CollectionUtils.isEmpty(transInfoList)) {
return;
}
//将取出来的数据进行拼接
for(TransInfo transInfo:transInfoList){
log.info("enter trans udid is {},ordercode is {}",transInfo.getUdid(),transInfo.getOrdercode());
String udid = transInfo.getUdid();
//利用udid去表中查出是两个广点通账号带来的
UnionActivity unionActivity = unionActivityDAO.selectByUdid(udid);
... ... @@ -85,7 +87,7 @@ public class GdtTransTask {
// 根据不同的应用类型,获取不同的加密密钥和签名密钥
String encryptKey = "BAAAAAAAAAAABZJQ";
String signKey = "1461f1237d22dfc7";
String muid4MD5 = requestBO.getUdid();
String muid4MD5 = requestBO.getMuid();
String url = "http://t.gdt.qq.com/conv/app/";
//有货在智慧推的账号id
String uid = "365136";
... ... @@ -113,10 +115,10 @@ public class GdtTransTask {
String clickId = requestBO.getClickId();
StringBuffer bf = new StringBuffer();
StringBuffer sf = new StringBuffer();
page = bf.append(url).append(appId).append("/conv?click_id=").append(clickId).append("&muid=").append(muid4MD5).append("&conv_time=").append(conv_time).append("&value=").append(transInfo.getOrderAmount().multiply(new BigDecimal(100))).toString();
query_string = sf.append("click_id=").append(clickId).append("muid=").append(muid4MD5).append("&conv_time=").append(conv_time).append("&value=").append(transInfo.getOrderAmount().multiply(new BigDecimal(100))).toString();
query_string = sf.append("click_id=").append(clickId).append("&muid=").append(muid4MD5).append("&conv_time=").append(conv_time).append("&value=").append(transInfo.getOrderAmount().multiply(new BigDecimal(100))).toString();
log.info("enter GdtTransTask.urlEode page is {}",page);
log.info("enter GdtTransTask.urlEode query_string is {}",query_string);
// 对url进行加密
String encode_page = null;
try {
... ... @@ -180,7 +182,7 @@ public class GdtTransTask {
}
private String clientTypeConver(String clientType) {
if (org.apache.commons.lang3.StringUtils.isEmpty(clientType)) {
if (StringUtils.isEmpty(clientType)) {
return null;
}
if (ClientTypeEnum.ANDROID.getName().equalsIgnoreCase(clientType)) {
... ...
... ... @@ -105,7 +105,8 @@ public class Test {
StringBuffer sb = new StringBuffer();
url = sb.append(url).append(appId).append("/conv?v=").append(retRep).append("&conv_type=").append(convType).append("&app_type=").append(clientTypeConver(clientType)).append("&advertiser_id=").append(uid).toString();
log.info("GdtTransTask url is {}", url);
System.out.print(url);
String md5 = MD5.md5("862380036648114");
System.out.print(md5);
}
private static String clientTypeConver(String clientType) {
... ...