Преглед на файлове

Merge remote-tracking branch 'origin/master'

ZHAOXIAN преди 1 година
родител
ревизия
a0508fde11
променени са 17 файла, в които са добавени 160 реда и са изтрити 17 реда
  1. 11 4
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/controller/BytedanceController.java
  2. 8 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/controller/ChangDuController.java
  3. 5 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/AdminAdvertiserListMapper.java
  4. 16 2
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/ChannelMapper.java
  5. 20 1
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/AdminAdvertiserListMapper.xml
  6. 6 3
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/BytedancePromoterReportMapper.xml
  7. 14 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/ChannelMapper.xml
  8. 1 1
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/ReportsAdPushMapper.xml
  9. 6 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/IAdminAdvertiserListService.java
  10. 2 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/IChannelService.java
  11. 10 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/AdminAdvertiserListServiceImpl.java
  12. 25 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/ChannelServiceImpl.java
  13. 1 1
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/OptimizerRankPushServiceImpl.java
  14. 1 1
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/ReportsAdPushServiceImpl.java
  15. 17 4
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/TotalRankPushServiceImpl.java
  16. 10 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/AdminAdvertiserListJob.java
  17. 7 0
      job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ChangDuJob.java

+ 11 - 4
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/controller/BytedanceController.java

@@ -46,7 +46,12 @@ public class BytedanceController {
 
     @GetMapping("/accountReport")
     public void getChannel(String param) {
-        List<JSONObject> allList = promoterReportService.getAllList();
+
+        List<JSONObject>  infos = adminAdvertiserListService.getAdvertiserInfos();
+        System.err.println(infos);
+        adminAdvertiserListService.batchUpdateAdvertiserName(infos);
+
+      /*  List<JSONObject> allList = promoterReportService.getAllList();
         for (int i = 0; i < allList.size(); i++) {
             JSONObject jsonObject = allList.get(i);
             Long advertiserId = jsonObject.getLong("advertiserId");
@@ -56,13 +61,15 @@ public class BytedanceController {
                 @Override
                 public void run() {
                     if (!Check.isNull(accessToken)) {
-                        accountReportService.getBytedanceAccountDaily(advertiserId, accessToken, "2025-02-15", "2025-03-25", 1, 1);
-                  //      accountReportService.getBytedanceAccountHour(advertiserId, accessToken, "2025-02-15", "2025-03-25", 1, 1);
+                        accountReportService.getBytedanceAccountDaily(advertiserId, accessToken, "2025-01-01", "2025-03-25", 1, 1);
+                    //    accountReportService.getBytedanceAccountHour(advertiserId, accessToken, "2025-01-01", "2025-03-25", 1, 1);
+                      //  promoterReportService.getBytedancePromoterHour(advertiserId, accessToken, "2025-01-01", "2025-03-25", 1, 1);
+                        promoterReportService.getBytedancePromoterDaily(advertiserId, accessToken, "2025-01-01", "2025-03-25", 1, 1);
                     }
                 }
             });
 
-        }
+        }*/
 
 
     }

+ 8 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/controller/ChangDuController.java

@@ -73,4 +73,12 @@ public class ChangDuController {
         channelService.getDistributorConfig();
     }
 
+    @GetMapping("/syncMovieId")
+    public void syncMovieId(@RequestParam(required = false) String startDate,
+                            @RequestParam(required = false) String endDate) {
+        startDate = startDate == null ? DateUtils.getNowAddDate("yyyy-MM-dd", -1) : startDate;
+        endDate = endDate == null ? DateUtils.getNowDate("yyyy-MM-dd") : endDate;
+        channelService.syncMovieId(startDate, endDate);
+    }
+
 }

+ 5 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/AdminAdvertiserListMapper.java

@@ -1,10 +1,15 @@
 package cn.com.ctop.job.bytedance.data.mapper;
 
 import cn.com.ctop.job.bytedance.data.entity.BytedanceAdvertiserList;
+import com.alibaba.fastjson.JSONObject;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 public interface AdminAdvertiserListMapper {
     void replaceBytedanceAdvertiserLists(@Param("adds") List<BytedanceAdvertiserList> advertiserLists);
+
+    List<JSONObject> getAdvertiserInfos();
+
+    void batchUpdateAdvertiserName(@Param("infos") List<JSONObject> infos);
 }

+ 16 - 2
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/ChannelMapper.java

@@ -11,20 +11,34 @@ import java.util.Map;
 import java.util.Set;
 
 public interface ChannelMapper {
+    List<String> getSyncMovieList(@Param("startDate") String startDate, @Param("endDate") String endDate);
+
     List<JSONObject> getChannelInfoList();
+
     void repalceChannels(@Param("adds") List<ChannelChangdunovelInfo> adds);
+
     Integer getAppType(@Param("appId") String appId);
-    List<String> getOrderIds(@Param("startDate")Integer startDate,
-                             @Param("startPayTime")String startPayTime,
+
+    List<String> getOrderIds(@Param("startDate") Integer startDate,
+                             @Param("startPayTime") String startPayTime,
                              @Param("endDate") Integer endDate,
                              @Param("endPayTime") String endPayTime);
+
     Map<String, Object> getUserInfo(@Param("distributorId") String distributorId, @Param("eventTime") String eventTime, @Param("uid") String uid);
+
     Map<String, Object> getLinkInfo(@Param("linkId") String linkId);
+
     String getMovieName(@Param("movieId") String movieId);
+
     void insertOrder(List<ChangDuOrder> changDuOrders);
+
     List<JSONObject> getChangDuRetryJob();
+
     List<JSONObject> getDistributorKey();
+
     void insertChangduDistributorApp(Set<ChangDuAppDistributor> adds);
+
     void insertChangduDistributorConfig(Set<ChangDuAppDistributor> adds);
+
     void insertChannelAccountInfo(Set<ChangDuAppDistributor> adds);
 }

+ 20 - 1
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/AdminAdvertiserListMapper.xml

@@ -4,7 +4,7 @@
 
 
     <insert id="replaceBytedanceAdvertiserLists">
-        INSERT ignore into deepthink.bytedance_advertiser_list(
+        INSERT  into deepthink.bytedance_advertiser_list(
         admin_advertiser_id,
         advertiser_id,
         advertiser_name,
@@ -19,5 +19,24 @@
             #{add.advertiserType}
             )
         </foreach>
+        on duplicate key update
+        advertiser_name= VALUES(advertiser_name)
     </insert>
+    <update id="batchUpdateAdvertiserName">
+        <foreach collection="infos" item="info" separator=";">
+            UPDATE deepthink.advertiser_bind_info
+            SET advertiser_name = #{info.advertiserName}
+            WHERE advertiser_id = #{info.advertiserId}
+            and media_type = 1
+        </foreach>
+
+    </update>
+    <select id="getAdvertiserInfos" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT t1.advertiser_id AS 'advertiserId', t2.advertiser_name AS 'advertiserName'
+        FROM deepthink.advertiser_bind_info t1
+                 LEFT JOIN deepthink.bytedance_advertiser_list t2
+                           ON t1.advertiser_id = t2.advertiser_id
+        WHERE t1.media_type = 1
+          AND t1.advertiser_name != t2.advertiser_name
+    </select>
 </mapper>

+ 6 - 3
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/BytedancePromoterReportMapper.xml

@@ -25,9 +25,12 @@
     </select>
     <select id="getAllList" resultType="com.alibaba.fastjson.JSONObject">
 
-        select t1.advertiser_id as 'advertiserId', t2.access_token as 'accessToken'
-        from deepthink.bytedance_advertiser_list t1
-                 left join deepthink.bytedance_auth_list t2 on t1.admin_advertiser_id = t2.admin_advertiser_id
+        SELECT t1.advertiser_id AS 'advertiserId', t2.access_token AS 'accessToken'
+        FROM deepthink.bytedance_advertiser_list t1
+                 LEFT JOIN deepthink.bytedance_auth_list t2 ON t1.admin_advertiser_id = t2.admin_advertiser_id
+        WHERE t2.admin_advertiser_id IN (1821394663286810,
+                                         1689471010162701
+            )
     </select>
 
     <insert id="replacePromoterReportHour">

+ 14 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/ChannelMapper.xml

@@ -1,6 +1,20 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="cn.com.ctop.job.bytedance.data.mapper.ChannelMapper">
+    <select id="getSyncMovieList" resultType="java.lang.String">
+        select distinct i.movie_id
+        from deepthink.channel_changdunovel_info i
+        left join deepthink.changdu_movie_config c
+        on i.movie_id = c.movie_id
+        where c.movie_id is null
+        <if test="startDate != null">
+            and i.create_time >= "${startDate} 00:00:00"
+        </if>
+        <if test="endDate != null">
+            and i.create_time &lt;= "${endDate} 23:59:59"
+        </if>
+    </select>
+
     <select id="getChangDuRetryJob" resultType="com.alibaba.fastjson.JSONObject">
         SELECT t1.is_send AS 'isSend', t1.id AS 'id', t1.start_date AS 'startDate', t1.end_date AS 'endDate', t1.data_dimension AS 'dataDimension', t1.data_type AS 'dataType',
                 t2.channel_account_id as 'channelAccountId',t2.secret_key as 'secretKey',

+ 1 - 1
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/ReportsAdPushMapper.xml

@@ -62,7 +62,7 @@
 
 
     <select id="optimizerCostRank" resultType="java.util.Map">
-        select tb1.user_id, tb4.phonenumber, tb4.dept_id, tb5.dept_name,
+        select tb1.user_id, tb4.phonenumber, tb4.nick_name, tb4.dept_id, tb5.dept_name,
         rank() over (order by sum(cost_amount) desc) as rk,
         sum(cost_amount) as cost_amount,
         concat(round(if(ifnull(sum(real_cost_amount),0)=0, 0, (ifnull(sum(share_iaa_amount),0)+ifnull(sum(share_pay_amount),0))/sum(real_cost_amount)*100), 2), '%') AS real_roi

+ 6 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/IAdminAdvertiserListService.java

@@ -2,8 +2,14 @@ package cn.com.ctop.job.bytedance.data.service;
 
 import com.alibaba.fastjson.JSONObject;
 
+import java.util.List;
+
 public interface IAdminAdvertiserListService {
     JSONObject bytedanceAdvertiserThreadPool(Integer totalPage, Integer pageSize, Long adminAdvertiserId, Long ccAccountId, String accessToken);
 
     JSONObject getBytedanceAccountListTotal(Long advertiserId, Long advertiserId1, String accessToken, Integer pageNum, Integer pageSize);
+
+    List<JSONObject> getAdvertiserInfos();
+
+    void batchUpdateAdvertiserName(List<JSONObject> infos);
 }

+ 2 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/IChannelService.java

@@ -14,4 +14,6 @@ public interface IChannelService {
     void getDistributorConfig();
 
     List<JSONObject> getChannelInfoList();
+
+    void syncMovieId(String startDate,String endDate);
 }

+ 10 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/AdminAdvertiserListServiceImpl.java

@@ -101,6 +101,16 @@ public class AdminAdvertiserListServiceImpl implements IAdminAdvertiserListServi
         return returnJson;
     }
 
+    @Override
+    public List<JSONObject> getAdvertiserInfos() {
+        return adminAdvertiserListMapper.getAdvertiserInfos();
+    }
+
+    @Override
+    public void batchUpdateAdvertiserName(List<JSONObject> infos) {
+        adminAdvertiserListMapper.batchUpdateAdvertiserName(infos);
+    }
+
     // 分页结果包装类
     static class PageResult {
         private final int pageNumber;

+ 25 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/ChannelServiceImpl.java

@@ -347,6 +347,31 @@ public class ChannelServiceImpl implements IChannelService {
         return channelMapper.getChannelInfoList();
     }
 
+    @Override
+    public void syncMovieId(String startDate, String endDate) {
+        String url = "https://api.deepthink.artlinkworld.cn/changdu/movieConfig/taskAdd";
+        try {
+            List<String> syncMovieIds = channelMapper.getSyncMovieList(startDate, endDate);
+            log.info("录入常读剧列表size:{}", syncMovieIds.size());
+            for (String movieId : syncMovieIds) {
+                HashMap<String, Object> postParam = new HashMap<>();
+                postParam.put("movieId", movieId);
+                postParam.put("movieSource", 2);
+                String s = HttpUtils.httpPostRequest(url, postParam, null);
+                JSONObject jsonObject = JSONObject.parseObject(s);
+                if (!Check.isNull(jsonObject) && jsonObject.getInteger("code") == 0) {
+                    log.info("movieId: {} 录入成功", movieId);
+                } else {
+                    log.error("movieId: {} 录入失败,返回:{}", movieId, s);
+                }
+                Thread.sleep(500);
+            }
+        } catch (Exception e) {
+            log.error("录入常读剧列表失败", e);
+            e.printStackTrace();
+        }
+    }
+
     private static String getSign(String distributorId, String secretKey, String ts) {
         return SecureUtil.md5(distributorId + secretKey + ts).toLowerCase();
     }

+ 1 - 1
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/OptimizerRankPushServiceImpl.java

@@ -30,7 +30,7 @@ public class OptimizerRankPushServiceImpl implements IOptimizerRankPushService {
     @Autowired
     ReportsAdPushMapper reportsPushMapper;
 
-    private static final String TEMPLATE_VERSION = "1.0.2";
+    private static final String TEMPLATE_VERSION = "1.0.5";
     private static final String TEMPLATE_ID = "AAqRUxrkkWuZf";
 
     public void send() {

Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/ReportsAdPushServiceImpl.java


Файловите разлики са ограничени, защото са твърде много
+ 17 - 4
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/TotalRankPushServiceImpl.java


+ 10 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/AdminAdvertiserListJob.java

@@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -56,4 +57,13 @@ public class AdminAdvertiserListJob {
     }
 
 
+    @XxlJob("batchUpdateAdvertiserName")
+    public void batchUpdateAdvertiserName() throws Exception {
+        List<JSONObject> infos = adminAdvertiserListService.getAdvertiserInfos();
+        if (!Check.isNull(infos)) {
+            adminAdvertiserListService.batchUpdateAdvertiserName(infos);
+        }
+    }
+
+
 }

+ 7 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ChangDuJob.java

@@ -55,4 +55,11 @@ public class ChangDuJob {
         channelService.getDistributorConfig();
     }
 
+    @XxlJob("syncMovieId")
+    public void syncMovieId() {
+        String startDate = DateUtils.getNowAddDate("yyyy-MM-dd", -1);
+        String endDate = DateUtils.getNowDate("yyyy-MM-dd");
+        channelService.syncMovieId(startDate, endDate);
+    }
+
 }