Explorar o código

修改配置文件

syh %!s(int64=4) %!d(string=hai) anos
pai
achega
c97370e7fe

+ 1 - 0
xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java

@@ -187,6 +187,7 @@ public class JobThread extends Thread{
 					}
 				}
 			} catch (Throwable e) {
+            	e.printStackTrace();
 				if (toStop) {
 					XxlJobHelper.log("<br>----------- JobThread toStop, stopReason:" + stopReason);
 				}

+ 19 - 0
xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml

@@ -58,6 +58,11 @@
             <artifactId>mybatis-plus-extension</artifactId>
             <version>${mybatis-plus.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-annotation</artifactId>
+            <version>${mybatis-plus.version}</version>
+        </dependency>
         <!-- druid -->
         <dependency>
             <groupId>com.alibaba</groupId>
@@ -114,6 +119,20 @@
     </dependencies>
 
     <build>
+        <resources>
+            <resource>
+                <!-- xml放在java目录下-->
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**/*.xml</include>
+                    <include>**/*.properties</include>
+                </includes>
+            </resource>
+            <!--指定资源的位置(xml放在resources下,可以不用指定)-->
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
         <plugins>
             <!-- spring-boot-maven-plugin (提供了直接运行项目的插件:如果是通过parent方式继承spring-boot-starter-parent则不用此插件) -->
             <plugin>

+ 3 - 1
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/XxlJobExecutorApplication.java

@@ -1,14 +1,16 @@
 package com.xxl.job.executor;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
 
 /**
  * @author xuxueli 2018-10-28 00:38:13
  */
 @SpringBootApplication
+@ComponentScan("com.xxl")
 public class XxlJobExecutorApplication {
-
 	public static void main(String[] args) {
         SpringApplication.run(XxlJobExecutorApplication.class, args);
 	}

+ 3 - 4
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/common/entity/CtopOauthToken.java

@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.io.Serializable;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
@@ -21,14 +22,12 @@ import java.util.Date;
  */
 @Data
 @TableName("ctop_oauth_token")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-public class CtopOauthToken {
+public class CtopOauthToken implements Serializable {
 
     /**
      * 主键ID
      */
-    @TableId()
+    @TableId
     private String id;
     /**
      * 媒体ID(外部广告平台类型,快手/头条/抖音等)

+ 0 - 8
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/common/service/impl/CtopOauthTokenServiceImpl.java

@@ -199,19 +199,11 @@ public class CtopOauthTokenServiceImpl extends ServiceImpl<CtopOauthTokenMapper,
         return ctopOauthTokenMapper.selectKuaiShouTokenBefore();
     }
 
-
-    /**
-     * 获取toutiao有效账户列表
-     *
-     * @return
-     */
-
     @Override
     public List<CtopOauthToken> selectToutiaoToken() {
         return ctopOauthTokenMapper.selectToutiaoToken();
     }
 
-
     @Override
     public CtopOauthToken getAccessTokenByAccountIdAndMediaId(Integer mediaId, Long accountId) {
         return ctopOauthTokenMapper.getAccessTokenByAccountIdAndMediaId(mediaId, accountId);

+ 1 - 1
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/config/MybatisPlusConfig.java

@@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration;
  *
  */
 @Configuration
-@MapperScan(value = {"com.xxl.job.executor.**.mapper*"})
+@MapperScan("com.xxl.job.executor.**.mapper")
 public class MybatisPlusConfig {
 
     /**

+ 0 - 220
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/report/mapper/xml/BytedanceReportMapper.xml

@@ -195,224 +195,4 @@
       group by stat_hour
       order by stat_hour asc
     </select>
-
-
-
-
-
-    <select id="videoInfoListWeek" resultType="cn.com.ctop.toutiao.modules.report.entity.ByteDanceVideoReportDaily">
-        select
-        --  a.material_id as materialId,
-        --         a.account_id as accountId,
-        --         b.auth_name as authName,
-        a.project_id                             as projectId,
-        a.project_name                           as projectName,
-        a.advertiser_id                          as advertiserId,
-        a.advertiser_name                        as advertiserName,
-        a.stat_datetime                          as statDatetime,
-        sum(a.cost)                              as cost,                           -- 消耗
-        a.signature                              as signature,
-        a.video_url                              as videoUrl,
-        '-'                                      as materialDesc,
-        (select info.url from ctop_material_info info where info.code = a.signature limit 1)                                    as url,
-        1                                        as appType,
-        sum(a.click)                             as clickMaterial,                  -- 点击数
-
-        case
-        when sum(a.total_play) != 0
-        then sum(a.play25_feed_break) / sum(a.total_play)
-        else 0 end                           as play25FeedBreakRate,            -- 25%进度播放率
-
-        case
-        when sum(a.total_play) != 0
-        then sum(a.play_over) / sum(a.total_play)
-        else 0 end                           as playOverRate,                   -- 整体完播率
-
-        case
-        when sum(a.click) != 0
-        then sum(a.convert_material) / sum(a.click)
-        else 0 end                           as convertRate,                    -- 转化率  转化数/点击数*100% !
-        sum(a.active)                            as active,                         -- 应用下载-激活
-        sum(a.download_finish)                   as downloadFinish,                 -- 应用下载-安卓下载完成
-        sum(a.download_start)                    as downloadStart,                  -- 应用下载-安卓下载开始
-        sum(a.install_finish)                    as installFinish,                  -- 应用下载-安卓安装完成
-        sum(a.register)                          as register,                       -- 应用下载-注册
-        sum(a.pay_count)                         as payCount,                       -- 应用下载-付费数
-        sum(a.form)                              as form,                           --  表单提交数
-        sum(a.total_play)                        as totalPlay,                      -- 视频-总播放
-        sum(a.valid_play)                        as validPlay,                      -- 视频-有效播放
-        sum(a.wifi_play)                         as wifiPlay,                       -- 视频-wifi播放
-        sum(a.play25_feed_break)                 as play25FeedBreak,                -- 视频-播放25%进度总数
-        sum(a.play50_feed_break)                 as play50FeedBreak,                -- 视频-播放50%进度总数
-        sum(a.play75_feed_break)                 as play75FeedBreak,                -- 视频-播放75%进度总数
-        sum(a.play100_feed_break)                as play100FeedBreak,               -- 视频-播放100%进度总数
-        sum(a.share_material)                    as shareMaterial,                  -- 互动数据-分享数
-        sum(a.follow)                            as follow,                         -- 互动数据-新增关注数
-        sum(a.next_day_open)                     as nextDayOpen,                    -- 次留数
-        case
-        when sum(a.active) != 0
-        then sum(a.next_day_open) / sum(a.active)
-        else 0 end                           as nextDayOpenRate,                -- 次留率 = 次留数/激活数
-
-        case
-        when sum(a.next_day_open) != 0
-        then sum(a.cost) / sum(a.next_day_open)
-        else 0 end                           as nextDayOpenCost,                -- 次留成本 = 消耗/次留数
-
-        sum(a.active_pay_amount)                 as activePayAmount,                -- 应用下载广告数据-付费次数
-
-        case
-        when sum(a.valid_play) != 0
-        then sum(a.cost) / sum(a.valid_play)
-        else 0 end                              validPlayCost,                  -- 视频数据-有效播放成本  计算公式:总花费/有效播放数,当天数据可能会有波动,次日早8点后稳定。
-        sum(a.convert_material)                  as convertMaterial,                -- 转化数据-转化数
-
-        case
-        when sum(a.active_pay_amount) != 0
-        then sum(a.cost) / sum(a.active_pay_amount)
-        else 0 end                           as activePayCost,                  -- 应用下载广告数据-付费成本 = 消耗/付费次数
-
-        case
-        when sum(a.click) != 0
-        then sum(a.cost) / sum(a.click)
-        else 0 end                           as cpc,                            -- 平均点击单价
-        sum(a.play_over_rate)                    as playOverRate,                   -- 视频数据-播完率
-
-        case
-        when sum(a.show_material) != 0
-        then sum(a.click) / sum(a.show_material)
-        else 0 end                           as ctr,                            -- 展现数据-点击率   广告被点击的次数占展示次数的百分比。计算方法:点击数/展示数*100%
-
-        case
-        when sum(a.show_material) != 0
-        then sum(a.cost) / sum(a.show_material) * 1000
-        else 0 end                              cpm,                            -- 平均千次展现费用  广告平均每一千次展现所付出的费用,计算公式是:总花费/展示数*1000。
-        sum(a.wifi_play_rate)                    as wifiPlayRate,                   -- 视频数据-WiFi播放占比
-        sum(a.like_material)                     as likeMaterial,                   -- 互动数据-点赞数
-
-
-        case
-        when sum(a.active) != 0
-        then sum(a.cost) / sum(a.active)
-        else 0 end                              activeCost,                     -- 应用下载广告数据-激活成本  计算方式:总花费/激活数。
-
-        case
-        when sum(a.game_addiction) != 0
-        then sum(a.cost) / sum(a.game_addiction)
-        else 0 end                           as gameAddictionCost,              -- 应用下载广告数据-关键行为成本  广告主为每个有APP内关键行为的用户所付出的成本,计算公式是总花费/关键行为数。当天数据可能会有波动,次日早8点后稳定。
-        sum(a.game_addiction)                    as gameAddiction,                  -- 应用下载广告数据-关键行为数
-
-        case
-        when sum(a.click) != 0
-        then sum(a.active) / sum(a.click)
-        else 0 end                           as activeRate,                     -- 应用下载广告数据-激活率   计算方式:激活数/点击数*100%
-
-
-        case
-        when sum(a.active) != 0
-        then sum(a.game_addiction) / sum(a.active)
-        else 0 end                            as  gameAddictionRate,              -- 应用下载广告数据-关键行为率  关键行为用户占激活用户的比例
-
-        case
-        when sum(a.active) != 0
-        then sum(a.register) / sum(a.active)
-        else 0 end                           as activeRegisterRate,             -- 应用下载广告数据-注册率   注册用户占激活用户的比例
-
-
-        case
-        when sum(a.download_finish) != 0
-        then sum(a.cost) / sum(a.download_finish)
-        else 0 end                           as downloadFinishCost,             -- 应用下载广告数据-安卓下载完成成本 计算方式:总花费/安卓下载完成数。
-
-
-        case
-        when sum(a.register) != 0
-        then sum(a.cost) / sum(a.register)
-        else 0 end                           as activeRegisterCost,             -- 应用下载广告数据-注册成本  总花费/注册数,当天数据可能会有波动,次日早8点后稳定。
-        sum(a.show_material)                     as showMaterial,                   -- 展现数据-展示数
-
-
-        case
-        when sum(a.download_start) != 0
-        then sum(a.download_finish) / sum(a.download_start)
-        else 0 end                           as downloadFinishRate,             -- 应用下载广告数据-安卓下载完成率  计算方式:安卓下载完成数/安卓下载开始数
-
-        case
-        when sum(a.download_finish) != 0
-        then sum(a.install_finish) / sum(a.download_finish)
-        else 0 end                           as installFinishRate,              -- 应用下载广告数据-安卓安装完成率  计算方式:安卓安装完成数/安卓下载完成数
-        sum(a.play_over)                         as playOver,                       -- 完播数
-
-        case
-        when sum(a.download_start) != 0
-        then sum(a.cost) / sum(a.download_start)
-        else 0 end                           as downloadStartCost,              -- 应用下载广告数据-安卓下载开始成本  计算方法:总花费/安卓下载开始数。
-
-        case
-        when sum(a.show_material) != 0
-        then sum(a.valid_play) / sum(a.show_material)
-        else 0 end                           as validPlayRate,                  -- 视频数据-有效播放率  有效播放数/展示数
-        case
-        when sum(a.valid_play) != 0
-        then sum(a.average_play_time_per_play*a.valid_play)/sum(a.valid_play)
-        else 0 end as averagePlayTimePerPlay,         -- 视频数据-平均单次播放时长
-        case
-        when sum(a.convert_material) != 0
-        then sum(a.cost) / sum(a.convert_material)
-        else 0 end                           as convertCost,                    --  转化数据-转化成本=总花费/转化数
-
-        case
-        when sum(a.install_finish) != 0
-        then sum(a.cost) / sum(a.install_finish)
-        else 0 end                           as installFinishCost,              --  应用下载广告数据-安卓安装完成成本  计算方式:总花费/安卓安装完成数
-
-        case
-        when sum(a.click) != 0
-        then sum(a.download_start) / sum(a.click)
-        else 0 end                           as downloadStartRate               --  应用下载广告数据-安卓下载开始率  计算方法:安卓下载开始数/点击数
-
-        from ctop_bytedance_video_report_daily a
-        left join (select material_id,clip_id,shot_id,plan_id,plane_id from ctop_material_ascription group by material_id) f on a.signature = f.material_id
-        where stat_datetime &gt;= #{startDate}
-        and stat_datetime &lt;= #{endDate}
-
-        <if test=" role != 'admin' ">
-            and a.company_id = #{companyId}
-        </if>
-
-        and f.material_id is not null
-
-        <choose>   <!-- 编导、剪辑、拍摄、平面只能查看自己本职工作制作的视频,设计组长和管理员能查看所有的-->
-            <when test="role == 'plan'">
-                and f.plan = #{userId}
-            </when>
-            <when test="role == 'clip'">
-                and f.clip = #{userId}
-            </when>
-            <when test="role == 'shot' ">
-                and f.shot = #{userId}
-            </when>
-            <when test="role == 'plane'  or role == 'planeLeader' ">
-                and f.plan = #{userId}
-            </when>
-            <when test="role == 'admin' or role == 'designTeamLeader'">
-                and 1=1
-            </when>
-            <otherwise>F
-                and a.id = 0
-            </otherwise>
-        </choose>
-
-        <if test="signature != null and signature != '' ">
-            and a.signature = #{signature}
-        </if>
-
-        group by a.signature
-        <if test="cost != null">
-            having sum(a.cost) &gt;= #{cost}
-        </if>
-        order by sum(a.cost)
-    </select>
-
-
 </mapper>

+ 2 - 1
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.yml

@@ -105,9 +105,10 @@ xxl:
       address:
     admin:
       addresses: http://129.28.197.250:8090/xxl-job-admin
+#      addresses: http://127.0.0.1:8090/xxl-job-admin
 #mybatis plus 设置
 mybatis-plus:
-  mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml,classpath*:cn/com/ctop/**/xml/*Mapper.xml
+  mapper-locations: classpath*:com/xxl/job/executor/**/*.xml
   global-config:
     # 关闭MP3.0自带的banner
     banner: false

+ 42 - 0
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/bytedance_config.properties

@@ -0,0 +1,42 @@
+#release
+bytedance_appid=1635316529903624
+# bytedance_appid=1634953881401358
+bytedance_secret=0c51523e90d6166418fc8421a4896808e90e26f4
+# bytedance_secret=34bc59f53955c66871ce111a1f15a6051cfa3f12
+#release
+bytedance_api_url=https://ad.oceanengine.com/open_api
+bytedance_auth_url=https://ad.oceanengine.com/openapi
+
+#sandbox
+#bytedance_api_url=https://test-ad.toutiao.com/open_api
+#bytedance_auth_url=https://test-ad.toutiao.com/open_api
+#bytedance_callback_url=http://callback.c-top.com.cn/bytedance
+bytedance_callback_url=http://adsp.c-top.com.cn:8080/jeecg-boot/bytedance
+bytedance_v2_advertiser_info=/2/advertiser/public_info/
+bytedance_v2_ad_get=/2/ad/get/
+bytedance_v2_advertiser_fund_daily_stat=/2/advertiser/fund/daily_stat/
+bytedance_v2_ad_create=/2/ad/create/
+bytedance_v2_ad_update=/2/ad/update/
+bytedance_v2_ad_update_status=/2/ad/update/status/
+bytedance_v2_ad_update_bid=/2/ad/update/bid/
+bytedance_v2_ad_update_budget=/2/ad/update/budget/
+bytedance_v2_ad_update_reject_reason=2/ad/reject_reason/
+bytedance_v2_campaign_get=/2/campaign/get/
+bytedance_v2_campaign_create=/2/campaign/create/
+bytedance_v2_campaign_update_status=/2/campaign/update/status/
+bytedance_v2_campaign_update=/2/campaign/update/
+bytedance_v2_dmp_custom_audience_select=/2/dmp/custom_audience/select/
+bytedance_v2_file_video_ad=/2/file/video/ad/
+bytedance_v2_file_image_ad=/2/file/image/ad/
+bytedance_v2_creative_update_status=/2/creative/update/status/
+bytedance_v2_creative_material_get=/2/creative/material/read/
+bytedance_v2_creative_create_v2=/2/creative/create_v2/
+bytedance_v2_creative_get=/2/creative/get/
+bytedance_v2_creative_read=/2/creative/read_v2/
+bytedance_v2_creative_update=/2/creative/update_v2/
+bytedance_v2_creative_reject_reason=/2/creative/reject_reason/
+##报表相关
+bytedance_v2_advertiser_report_get=/2/report/advertiser/get/
+bytedance_v2_campaign_report_get=/2/report/campaign/get/
+bytedance_v2_ad_report_get=/2/report/ad/get/
+bytedance_v2_ad_creative_get=/2/report/creative/get/