Pārlūkot izejas kodu

更新存储逻辑 去除点击存储

xuzuoyun 5 gadi atpakaļ
vecāks
revīzija
31944ff4df

+ 5 - 0
pom.xml

@@ -133,6 +133,11 @@
             <artifactId>hutool-all</artifactId>
             <version>4.5.11</version>
         </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
+        </dependency>
     </dependencies>
     <build>
         <plugins>

+ 64 - 43
src/main/java/cn/com/ctop/track/controller/TrackController.java

@@ -5,9 +5,11 @@ import cn.com.ctop.track.entity.ConvertInfo;
 import cn.com.ctop.track.service.ClickInfoService;
 import cn.com.ctop.track.service.ConvertInfoService;
 import cn.com.ctop.track.service.TaobaoNoticeService;
+import cn.com.ctop.track.service.impl.TaobaoNoticeServiceImpl;
 import cn.com.ctop.track.utils.HttpUtils;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -23,6 +25,7 @@ import java.util.Date;
 @Controller
 @RequestMapping("/")
 public class TrackController {
+    private static Logger logger = Logger.getLogger(TrackController.class);
     @Autowired
     private ClickInfoService clickInfoService;
     @Autowired
@@ -33,9 +36,34 @@ public class TrackController {
     @RequestMapping(value = "/convert")
     public String convert(HttpServletRequest request,
                         HttpServletResponse response){
-        System.out.println(request.getQueryString());
+        logger.info(request.getQueryString());
         try {
             String clickId = request.getParameter("click_id");
+            String spaceId = request.getParameter("space_id");
+            String accountId = request.getParameter("account_id");
+            String os = request.getParameter("os_type");
+            String platform = request.getParameter("platform");
+            String advertisor = request.getParameter("advertisor");
+            String groupId = request.getParameter("group_id");
+            String campaignId = request.getParameter("compaign_id");
+            String creativeId = request.getParameter("creative_id");
+            String campaignName = request.getParameter("campaign_name");
+            String mac = request.getParameter("mac");
+            String macMd5 = request.getParameter("mac_md5");
+            String ts = request.getParameter("ts");
+            String ip = request.getParameter("ip");
+            String sence = request.getParameter("sence");
+            String imeiMd5 = null;
+            String idfaMd5 = null;
+            String oaid = null;
+            if(os != null){
+                if (os.equals("Android")){
+                    imeiMd5 = request.getParameter("imei_md5");
+                    oaid = request.getParameter("oaid");
+                }else if(os.equals("IOS")){
+                    idfaMd5 = request.getParameter("idfa_md5");
+                }
+            }
             String callbackUrl = request.getParameter("callback_url");
             String transformType = request.getParameter("transformType");
             if (transformType != null){
@@ -48,16 +76,36 @@ public class TrackController {
             String result = HttpUtils.httpGetRequest(callbackUrl);
             ConvertInfo convertInfo = new ConvertInfo();
             convertInfo.setCallbackUrl(callbackUrl);
-            convertInfo.setClickId(Long.parseLong(clickId));
+            try {
+                convertInfo.setClickId(Long.parseLong(clickId));
+            }catch (Exception e){
+
+            }
             convertInfo.setTransformType(transformType);
             convertInfo.setResponse(result);
-            convertInfoService.save(convertInfo);
-            ClickInfo clickInfo = clickInfoService.getById(Long.parseLong(clickId));
-            if (clickInfo != null){
-                clickInfo.setIsConvert(1);
-                clickInfoService.updateById(clickInfo);
+            convertInfo.setAdvertisor(advertisor);
+            convertInfo.setCampaignId(campaignId);
+            convertInfo.setCampaignName(campaignName);
+            convertInfo.setCreativeId(creativeId);
+            convertInfo.setGroupId(groupId);
+            convertInfo.setIdfaMd5(idfaMd5);
+            convertInfo.setImeiMd5(imeiMd5);
+            convertInfo.setIp(ip);
+            convertInfo.setMac(mac);
+            convertInfo.setMacMd5(macMd5);
+            convertInfo.setOaid(oaid);
+            convertInfo.setOsType(os);
+            convertInfo.setPlatform(platform);
+            convertInfo.setSence(sence);
+            convertInfo.setSpaceId(spaceId);
+            convertInfo.setAccountId(accountId);
+            try {
+                convertInfo.setTs(new Date(Long.parseLong(ts)));
+            } catch (NumberFormatException e) {
+
             }
-        } catch (NumberFormatException e) {
+            convertInfoService.save(convertInfo);
+        } catch (Exception e) {
             e.printStackTrace();
         }
         return "{\"code\":200,\"result\":\"success\"}";
@@ -67,22 +115,14 @@ public class TrackController {
     @RequestMapping(value = "/click")
     public String click(HttpServletRequest request,
                         HttpServletResponse response){
-//        System.out.println(request.getQueryString());
         try {
+            logger.info(request.getQueryString());
             String os = request.getParameter("os_type");
-
-            String platform = request.getParameter("platform");
+            String spaceId = request.getParameter("space_id");
             String advertisor = request.getParameter("advertisor");
-            String groupId = request.getParameter("group_id");
             String campaignId = request.getParameter("compaign_id");
             String creativeId = request.getParameter("creative_id");
             String campaignName = request.getParameter("campaign_name");
-            String mac = request.getParameter("mac");
-            String macMd5 = request.getParameter("mac_md5");
-            String ts = request.getParameter("ts");
-            String ip = request.getParameter("ip");
-            String sence = request.getParameter("sence");
-            String callbackUrl = request.getParameter("callback_url");
             String imeiMd5 = null;
             String idfaMd5 = null;
             String oaid = null;
@@ -94,34 +134,15 @@ public class TrackController {
                     idfaMd5 = request.getParameter("idfa_md5");
                 }
             }
-
-            ClickInfo clickInfo = new ClickInfo();
-            clickInfo.setAdvertisor(advertisor);
-            clickInfo.setCallbackUrl(callbackUrl);
-            clickInfo.setCampaignId(campaignId);
-            clickInfo.setCampaignName(campaignName);
-            clickInfo.setCreativeId(creativeId);
-            clickInfo.setGroupId(groupId);
-            clickInfo.setIdfaMd5(idfaMd5);
-            clickInfo.setImeiMd5(imeiMd5);
-            clickInfo.setOaid(oaid);
-            clickInfo.setIsConvert(0);
-            clickInfo.setIp(ip);
-            clickInfo.setMac(mac);
-            clickInfo.setMacMd5(macMd5);
-            clickInfo.setOsType(os);
-            clickInfo.setPlatform(platform);
-            clickInfo.setSence(sence);
-            try {
-                clickInfo.setTs(new Date(Long.parseLong(ts)));
-            } catch (NumberFormatException e) {
+            if(spaceId == null || spaceId.equals("")){
+                spaceId = "11709";
             }
-            clickInfoService.save(clickInfo);
             if (advertisor!= null && advertisor.equals("taobao")){
                 try {
-                    String convertUrl = "http://track.c-top.com.cn/convert?click_id="+clickInfo.getId()+"&callback_url="+ URLEncoder.encode(callbackUrl,"utf-8");
-                    taobaoNoticeService.sendNotice(campaignId,campaignName,creativeId,imeiMd5,idfaMd5,oaid,convertUrl);
-                } catch (UnsupportedEncodingException e) {
+                    String convertUrl = "https://track.c-top.com.cn/convert?"+request.getQueryString();
+                    logger.info(convertUrl);
+                    taobaoNoticeService.sendNotice(spaceId,campaignId,campaignName,creativeId,imeiMd5,idfaMd5,oaid,convertUrl);
+                } catch (Exception e) {
                     e.printStackTrace();
                 }
             }

+ 19 - 0
src/main/java/cn/com/ctop/track/entity/ConvertInfo.java

@@ -5,12 +5,31 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
+import java.util.Date;
+
 @Data
 @TableName("tb_convert_info")
 public class ConvertInfo {
     @TableId(type = IdType.INPUT)
     private Long id;
     private Long clickId;
+    private String accountId;
+    private String spaceId;
+    private String platform;
+    private String advertisor;
+    private String osType;
+    private String oaid;
+    private String imeiMd5;
+    private String idfaMd5;
+    private String groupId;
+    private String campaignId;
+    private String creativeId;
+    private String campaignName;
+    private String mac;
+    private String macMd5;
+    private Date ts;
+    private String ip;
+    private String sence;
     private String callbackUrl;
     private String response;
     private String transformType;

+ 1 - 1
src/main/java/cn/com/ctop/track/service/TaobaoNoticeService.java

@@ -4,5 +4,5 @@ import cn.com.ctop.track.entity.TaobaoNotice;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 public interface TaobaoNoticeService extends IService<TaobaoNotice> {
-    public void sendNotice(String campaignId,String campaignName,String creativeId,String imei,String idfa,String oaid,String callbackUrl);
+    public void sendNotice(String spaceId,String campaignId,String campaignName,String creativeId,String imei,String idfa,String oaid,String callbackUrl);
 }

+ 7 - 5
src/main/java/cn/com/ctop/track/service/impl/TaobaoNoticeServiceImpl.java

@@ -10,14 +10,16 @@ import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.log4j.Logger;
 
 @Service
 public class TaobaoNoticeServiceImpl extends ServiceImpl<TaobaoNoticeMapper, TaobaoNotice> implements TaobaoNoticeService {
-    public void sendNotice(String campaignId,String campaignName,String creativeId,String imei,String idfa,String oaid,String callbackUrl){
+    private static Logger logger = Logger.getLogger(TaobaoNoticeServiceImpl.class);
+    public void sendNotice(String spaceId,String campaignId,String campaignName,String creativeId,String imei,String idfa,String oaid,String callbackUrl){
         TaobaoNotice taobaoNotice = new TaobaoNotice();
         taobaoNotice.setAdid(campaignId);
         taobaoNotice.setAdname(campaignName);
-        taobaoNotice.setAdvertisingSpaceId("11709");
+        taobaoNotice.setAdvertisingSpaceId(spaceId);
         taobaoNotice.setApp("1");
         taobaoNotice.setCallbackUrl(callbackUrl);
         taobaoNotice.setChannel("2200803434135");
@@ -42,8 +44,8 @@ public class TaobaoNoticeServiceImpl extends ServiceImpl<TaobaoNoticeMapper, Tao
         paramMap.put("serviceProviderName",taobaoNotice.getServiceProviderName());
         paramMap.put("taskId",taobaoNotice.getTaskId());
         String response = HttpUtils.httpPostParamRequest(url,paramMap,null);
-        System.out.println(response);
-        taobaoNotice.setResponse(response);
-        this.save(taobaoNotice);
+        logger.info(response);
+//        taobaoNotice.setResponse(response);
+//        this.save(taobaoNotice);
     }
 }

+ 8 - 8
src/main/resources/application.yml

@@ -46,10 +46,10 @@ spring:
   autoconfigure:
     exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
   datasource:
-    name: fendo
-    url: jdbc:mysql://39.97.120.42:3306/track?characterEncoding=UTF-8&useUnicode=true&useSSL=false
-    username: hcst
-    password: test@20190531
+#    name: fendo
+#    url: jdbc:mysql://39.97.120.42:3306/track?characterEncoding=UTF-8&useUnicode=true&useSSL=false
+#    username: hcst
+#    password: test@20190531
     type: com.alibaba.druid.pool.DruidDataSource
     driver-class-name: com.mysql.jdbc.Driver
     dynamic:
@@ -86,10 +86,10 @@ spring:
           driver-class-name: com.mysql.jdbc.Driver
           # 多数据源配置
           #multi-datasource1:
-          #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
-          #username: root
-          #password: root
-          #driver-class-name: com.mysql.jdbc.Driver
+#          url: jdbc:mysql://39.106.184.70:3306/track?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
+#          username: hcst
+#          password: test@20190531
+#          driver-class-name: com.mysql.jdbc.Driver
 #mybatis plus 设置
 mybatis-plus:
   mapper-locations: classpath*:classpath*:cn/com/ctop/**/xml/*Mapper.xml

+ 8 - 8
target/classes/application.yml

@@ -46,10 +46,10 @@ spring:
   autoconfigure:
     exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
   datasource:
-    name: fendo
-    url: jdbc:mysql://39.97.120.42:3306/track?characterEncoding=UTF-8&useUnicode=true&useSSL=false
-    username: hcst
-    password: test@20190531
+#    name: fendo
+#    url: jdbc:mysql://39.97.120.42:3306/track?characterEncoding=UTF-8&useUnicode=true&useSSL=false
+#    username: hcst
+#    password: test@20190531
     type: com.alibaba.druid.pool.DruidDataSource
     driver-class-name: com.mysql.jdbc.Driver
     dynamic:
@@ -86,10 +86,10 @@ spring:
           driver-class-name: com.mysql.jdbc.Driver
           # 多数据源配置
           #multi-datasource1:
-          #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
-          #username: root
-          #password: root
-          #driver-class-name: com.mysql.jdbc.Driver
+#          url: jdbc:mysql://39.106.184.70:3306/track?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
+#          username: hcst
+#          password: test@20190531
+#          driver-class-name: com.mysql.jdbc.Driver
 #mybatis plus 设置
 mybatis-plus:
   mapper-locations: classpath*:classpath*:cn/com/ctop/**/xml/*Mapper.xml

BIN
target/classes/cn/com/ctop/track/controller/TrackController.class


BIN
target/classes/cn/com/ctop/track/entity/ConvertInfo.class


BIN
target/classes/cn/com/ctop/track/service/TaobaoNoticeService.class


BIN
target/classes/cn/com/ctop/track/service/impl/TaobaoNoticeServiceImpl.class


BIN
target/track-1.0-SNAPSHOT.jar


BIN
target/track-1.0-SNAPSHOT.jar.original