Bladeren bron

Merge remote-tracking branch 'origin/master'

小杜 4 maanden geleden
bovenliggende
commit
1b558c169e

+ 31 - 0
yt-advertise/advertise-service/src/main/java/com/ytpm/service/TakuApiService.java

@@ -1,13 +1,19 @@
 package com.ytpm.service;
 
 import com.ytpm.advertise.param.AddPlacementParam;
+import com.ytpm.advertise.param.ComprehensiveReportParam;
+import com.ytpm.advertise.param.HourReportParam;
 import com.ytpm.advertise.param.Network;
 import com.ytpm.advertise.param.RelativeChannelParam;
+import com.ytpm.advertise.param.RoiReportParam;
 import com.ytpm.advertise.param.UnitsListParam;
 import com.ytpm.advertise.param.UnitsParam;
 import com.ytpm.advertise.view.AddAppResponse;
 import com.ytpm.advertise.view.AddPlacementResponse;
 import com.ytpm.advertise.view.AppV1View;
+import com.ytpm.advertise.view.ComprehensiveReportView;
+import com.ytpm.advertise.view.HourReportView;
+import com.ytpm.advertise.view.ReportRoiView;
 import com.ytpm.advertise.view.UnitsListView;
 import com.ytpm.advertise.view.UnitsView;
 import com.ytpm.agent.param.ChannelParam;
@@ -77,4 +83,29 @@ public interface TakuApiService {
      * 删除广告源
      */
     Result<?> delUnits(List<Integer> adsource_ids);
+
+    /**
+     * 查询综合报表
+     */
+    Result<ComprehensiveReportView> comprehensiveReport(ComprehensiveReportParam param);
+
+    /**
+     * TODO 查询留存价值报表  建议晚上10点后拉取前一日较为准确
+     */
+
+
+    /**
+     * 查询ROI报表
+     */
+    ResultTable<ReportRoiView> getReportRoi(RoiReportParam param);
+
+    /**
+     * 查询ROI——Ltv报表
+     */
+    ResultTable<ReportRoiView> getReportRoiLtv(RoiReportParam param);
+
+    /**
+     * 查询分小时报表
+     */
+    ResultTable<HourReportView> hourReport(HourReportParam param);
 }

+ 65 - 0
yt-advertise/advertise-service/src/main/java/com/ytpm/service/impl/TakuApiServiceImpl.java

@@ -8,14 +8,20 @@ import com.ytpm.advertise.enums.AdPlatformTypeEnum;
 import com.ytpm.advertise.param.AddPlacementParam;
 import com.ytpm.advertise.param.AppAuthContent;
 import com.ytpm.advertise.param.AuthContent;
+import com.ytpm.advertise.param.ComprehensiveReportParam;
+import com.ytpm.advertise.param.HourReportParam;
 import com.ytpm.advertise.param.Network;
 import com.ytpm.advertise.param.NetworkAppInfo;
 import com.ytpm.advertise.param.RelativeChannelParam;
+import com.ytpm.advertise.param.RoiReportParam;
 import com.ytpm.advertise.param.UnitsListParam;
 import com.ytpm.advertise.param.UnitsParam;
 import com.ytpm.advertise.view.AddAppResponse;
 import com.ytpm.advertise.view.AddPlacementResponse;
 import com.ytpm.advertise.view.AppV1View;
+import com.ytpm.advertise.view.ComprehensiveReportView;
+import com.ytpm.advertise.view.HourReportView;
+import com.ytpm.advertise.view.ReportRoiView;
 import com.ytpm.advertise.view.UnitsAddResponse;
 import com.ytpm.advertise.view.UnitsListView;
 import com.ytpm.advertise.view.UnitsUpdateResponse;
@@ -35,14 +41,17 @@ import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpPut;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
 @Slf4j(topic = "Taku API 服务")
 @Service
 public class TakuApiServiceImpl implements TakuApiService {
 
     private final static String API_VERSION_V1 = "/v1";
+    private final static String API_VERSION_V2 = "/v2";
     private final static String API_VERSION_V3 = "/v3";
 
     /**
@@ -224,5 +233,61 @@ public class TakuApiServiceImpl implements TakuApiService {
         return Result.resultOk(RepMessage.DELETE_SUCCESS);
     }
 
+    /**
+     * 查询综合报表
+     */
+    @Override
+    public Result<ComprehensiveReportView> comprehensiveReport(ComprehensiveReportParam param) {
+        String result = TakuRequestUtil.doRequest(HttpPost.METHOD_NAME, API_VERSION_V2+"/fullreport", JSON.toJSONString(param));
+        return Result.resultObjOk(JSONObject.parseObject(result, ComprehensiveReportView.class));
+    }
+
+    /**
+     * 查询Roi报表
+     */
+    @Override
+    public ResultTable<ReportRoiView> getReportRoi(RoiReportParam param) {
+        String result = TakuRequestUtil.doRequest(HttpPost.METHOD_NAME, API_VERSION_V3+"/report/roi", JSON.toJSONString(param));
+        JSONObject object = JSONObject.parseObject(result);
+        Integer count = object.getInteger("count");
+        if(Objects.nonNull(count)){
+            String records = object.getString("records");
+            List<ReportRoiView> roiViewList = JSONArray.parseArray(records, ReportRoiView.class);
+            return ResultTable.resultTableOk(new PageInfo<ReportRoiView>(roiViewList));
+        }
+        return ResultTable.resultTableOk(new PageInfo<ReportRoiView>(new ArrayList<>()));
+    }
+
+    /**
+     * 查询Roi报表
+     */
+    @Override
+    public ResultTable<ReportRoiView> getReportRoiLtv(RoiReportParam param) {
+        String result = TakuRequestUtil.doRequest(HttpPost.METHOD_NAME, API_VERSION_V3+"/report/roi_ltv", JSON.toJSONString(param));
+        JSONObject object = JSONObject.parseObject(result);
+        Integer count = object.getInteger("count");
+        if(Objects.nonNull(count)){
+            String records = object.getString("records");
+            List<ReportRoiView> roiViewList = JSONArray.parseArray(records, ReportRoiView.class);
+            return ResultTable.resultTableOk(new PageInfo<ReportRoiView>(roiViewList));
+        }
+        return ResultTable.resultTableOk(new PageInfo<ReportRoiView>(new ArrayList<>()));
+    }
+
+    /**
+     * 查询分小时报表
+     */
+    @Override
+    public ResultTable<HourReportView> hourReport(HourReportParam param) {
+        String result = TakuRequestUtil.doRequest(HttpPost.METHOD_NAME, API_VERSION_V3+"/report/tk_hour", JSON.toJSONString(param));
+        JSONObject object = JSONObject.parseObject(result);
+        Integer count = object.getInteger("count");
+        if(Objects.nonNull(count)){
+            String records = object.getString("records");
+            List<HourReportView> hourReportViews = JSONArray.parseArray(records, HourReportView.class);
+            return ResultTable.resultTableOk(new PageInfo<HourReportView>(hourReportViews));
+        }
+        return ResultTable.resultTableOk(new PageInfo<ReportRoiView>(new ArrayList<>()));
+    }
 
 }

+ 13 - 9
yt-advertise/advertise-service/src/main/java/com/ytpm/util/TakuRequestUtil.java

@@ -2,6 +2,7 @@ package com.ytpm.util;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.ytpm.advertise.param.ComprehensiveReportParam;
 import com.ytpm.handle.CustomerException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
@@ -18,6 +19,8 @@ import org.apache.http.util.EntityUtils;
 
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 
@@ -29,13 +32,14 @@ public class TakuRequestUtil {
     public final static String PUBLISHER_KEY = "d4b80bef5f946f618c9e781070aedbf2b1a073d4";
 
     public static void main(String[] args){
-        JSONObject object = new JSONObject();
-        List<String> ids = new ArrayList<>();
-        ids.add("b1ghj3bl9ul87l");
-        ids.add("b1ghj3bl94rcfn");
-        ids.add("b1ghj2utl8fm56");
-        object.put("placement_ids",ids);
-        TakuRequestUtil.doRequest(HttpPost.METHOD_NAME, DOMAIN+"/v1/del_placements", object.toJSONString());
+        ComprehensiveReportParam param = new ComprehensiveReportParam();
+        param.setStartdate(20250615);
+        param.setEnddate(20250618);
+        param.setTime_zone("UTC-8");
+        param.setApp_id_list(Arrays.asList("a685138d49cd2d","a684009039113d"));
+        param.setGroup_by(Collections.singletonList("app"));
+        String result = TakuRequestUtil.doRequest(HttpPost.METHOD_NAME, "/v2/fullreport", JSON.toJSONString(param));
+        System.err.println(result);
     }
 
     public static String doRequest(String httpMethod, String reqUrl, String reqBody) {
@@ -66,16 +70,16 @@ public class TakuRequestUtil {
             httpRequest.setHeader("X-Up-Timestamp", nowMillis);
             httpRequest.setHeader("X-Up-Key", PUBLISHER_KEY);
             httpRequest.setHeader("X-Up-Signature", finalSign);
-            log.debug("尝试向{}发送请求:请求类型{}, 请求内容:{}", httpMethod, reqUrl, reqBody);
+            log.error("尝试向{}发送请求:请求类型{}, 请求内容:{}", httpMethod, reqUrl, reqBody);
             HttpResponse response = httpClient.execute(httpRequest);
             int statusCode = response.getStatusLine().getStatusCode();
             HttpEntity resEntity = response.getEntity();
             result = resEntity != null ? EntityUtils.toString(resEntity, "utf-8") : "";
+            log.error("result:{}", result);
             if(200!=statusCode){
                 JSONObject obj = JSON.parseObject(result);
                 throw new RuntimeException("错误码:" + statusCode + "\n message:"+obj.getString("errors"));
             }
-            log.debug("result:{}", result);
         } catch (Exception e) {
             e.printStackTrace();
             log.error(e.getMessage());

+ 2 - 3
yt-app/app-service/src/main/java/com/ytpm/controller/WxController.java

@@ -90,12 +90,11 @@ public class WxController {
             appUserMapper.updateUser(newUser);
         }else{
             old = new YtDyzUser();
-            registryUser(param, wxUserInfo, loginResult,old);
+            registryUser(param,wxUserInfo,loginResult, old);
         }
         // 添加用户登录记录
         addLoginRecord(wxUserInfo,param);
         //设置最后一次答题问题ID、今日答题数、历史答题数
-        old.setNickName(wxUserInfo.getNickname());
         setExtInfo(old,wxUserInfo.getHeadimgurl());
         return Result.resultOk(RepMessage.LOGIN_SUCCESS, old);
     }
@@ -145,7 +144,7 @@ public class WxController {
     /**
      * 注册用户
      */
-    private void registryUser(WxLoginParam param,WxUserInfo wxUserInfo,WxLoginResult loginResult,YtDyzUser old) {
+    private void registryUser(WxLoginParam param,WxUserInfo wxUserInfo,WxLoginResult loginResult, YtDyzUser old) {
         old.setUserId(IdUtil.fastSimpleUUID());
         old.setNickName(wxUserInfo.getNickname());
         old.setLastLoginTime(new Date());

+ 53 - 0
yt-common/src/main/java/com/ytpm/advertise/param/ComprehensiveReportParam.java

@@ -0,0 +1,53 @@
+package com.ytpm.advertise.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ComprehensiveReportParam {
+    /** 开始日期,格式:YYYYmmdd */
+    private Integer startdate;
+    /** 结束日期,格式:YYYYmmdd */
+    private Integer enddate;
+    /** 开发者后台的应用ID列表 */
+    private List<String> app_id_list;
+    /** 开发者后台的广告位ID列表 */
+    private List<String> placement_id_list;
+    /** 时区,枚举值:UTC-8、UTC+8、UTC+0,不传则默认使用开发者账号时区 */
+    private String time_zone;
+    /** 广告平台ID列表,一些特殊平台ID: Taku Adx: 66 */
+    private List<Integer> network_firm_id_list;
+    /** 广告源ID列表 */
+    private List<Integer> adsource_id_list;
+    /** 国家列表 */
+    private List<String> area_list;
+    /** 筛选维度列表,注意:最多只允许6个维度,支持的维度如下:
+     date(日期,默认值), app(应用), placement(广告位), adformat(广告样式), area(地区), network(广告平台账号), adsource(广告源), network_firm_id(广告平台), scenario(广告场景), traffic_group(流量分组), channel(渠道), sdk_version(sdk版本), app_version(应用版本)。 */
+    private List<String> group_by;
+    /** 当同时选了all和其他指标时即返回全部指标: default(默认的一些指标:dau,arpu,request,fillrate,impression,click,ecpm,revenue,impression_api,click_api,ecpm_api),
+     all(全部指标),
+     dau(DAU),
+     arpu(人均收益,单位美元),
+     cy_arpu(人均收益,单位按开发者币种),
+     request(广告请求数),
+     fillrate(广告填充率), impression(展示数),
+     click(点击数),
+     ctr(点击率),
+     ecpm(ECPM),
+     revenue(收益),
+     request_api(三方广告平台的广告请求数),
+     fillrate_api(三方广告平台的广告填充率),
+     impression_api(三方广告平台的展示数),
+     click_api(三方广告平台的点击数),
+     ctr_api(三方广告平台的点击率),
+     ecpm_api(三方广告平台的ECPM),
+     estimate_revenue(预估收益,美元单位), estimate_revenue_ecpm(预估ECMP,美元单位),
+     ready_request(isReady调用次数),
+     ready_rate(isReady成功率), cy_estimate_revenue(按开发者账号币种返回的预估收益), cy_estimate_revenue_ecpm(按开发者账号币种返回的预估ECMP) bid_request(询价,仅竞价广告源会返回此数据。) bid_filled_request_rate(询价响应率,仅竞价广告源会返回此数据) bid_filled_request_ecpm(询价响应eCPM,仅竞价广告源会返回此数据,按开发者账号币种返回) */
+    private List<String> metric;
+    /** 偏移数,代表从第几条数据开始,默认为0 */
+    private Integer start;
+    /** 每次拉取数据的最大条数,默认是1000,可选[1,1000] */
+    private Integer limit;
+}

+ 56 - 0
yt-common/src/main/java/com/ytpm/advertise/param/HourReportParam.java

@@ -0,0 +1,56 @@
+package com.ytpm.advertise.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class HourReportParam {
+    /** 开始日期 */
+    private Integer start_date;
+    /** 结束日期 */
+    private Integer end_date;
+    /** 币种,可选:USD,CNY */
+    private String currency;
+    /** 时区,枚举值:UTC-8、UTC+8、UTC+0  */
+    private String time_zone;
+    /** 应用ID列表 */
+    private List<String> app_id_list;
+    /** 广告位ID列表 */
+    private List<String> placement_id_list;
+    /** 广告场景列表 */
+    private List<String> scenario_list;
+    /** 广告样式列表,有效枚举值:
+     0:原生(Native)
+     1:激励视频(Rewarded Video)
+     2:横幅(Banner)
+     3:插屏(Interstitial)
+     4:开屏(Splash) */
+    private List<Integer> adformat_list;
+    /** 流量分组ID列表  */
+    private List<Integer> segment_id_list;
+    /** 广告平台账号ID列表 */
+    private List<Integer> network_id_list;
+    /** 广告源ID列表 */
+    private List<Integer> adsource_id_list;
+    /** 国家短码列表 */
+    private List<Integer> geo_short_list;
+    /** sdk版本列表 */
+    private List<Integer> sdk_version_list;
+    /** app版本列表 */
+    private List<Integer> app_version_list;
+    /** 系统平台列表,有效枚举值:
+     1:Android
+     2:Ios */
+    private List<Integer> platform_list;
+    /** 设备类型列表,有效枚举值:
+     1:Phone
+     2:Pad */
+    private List<Integer> device_type_list;
+    /** 渠道列表,最大查询100个 */
+    private List<Integer> channel_list;
+    /** 偏移数,代表从第几条数据开始,默认为0 */
+    private Integer start;
+    /** 每次拉取数据的最大条数,默认是1000,最大1000,可选[1,1000] */
+    private Integer limit;
+}

+ 43 - 0
yt-common/src/main/java/com/ytpm/advertise/param/RoiReportParam.java

@@ -0,0 +1,43 @@
+package com.ytpm.advertise.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class RoiReportParam {
+    /** roi归因平台 1: Adjust方式 2: 热云/自归因 */
+    private Integer roi_platform;
+    /** 开始日期  */
+    private Integer start_date;
+    /** 结束日期 */
+    private Integer end_date;
+    /** 时区,枚举值:UTC-8、UTC+8、UTC+0 */
+    private String time_zone;
+    /** 投放平台ID列表 100000:巨量引擎 100001:腾讯广告 100002:Mintegral */
+    private List<Integer> nw_firm_id_list;
+    /** 开发者后台的应用ID列表 */
+    private List<Integer> app_id_list;
+    /** 广告组ID列表 */
+    private List<Integer> campaign_id_list;
+    /** 广告计划ID列表 */
+    private List<Integer> ad_group_id_list;
+    /** 广告创意ID列表 */
+    private List<Integer> creative_id_list;
+    /** 国家短码列表,不传默认所有国家 [“US”,"CN"] */
+    private List<Integer> geo_short_list;
+    /** 偏移数,代表从第几条数据开始,默认为0 */
+    private Integer start;
+    /** 每次拉取数据的最大条数,默认是1000,可选[1,1000] */
+    private Integer limit;
+    /**
+     * group by 维度,不传时默认date_time,支持的维度说明
+     * date_time(日期),
+     * app_id(应用),
+     * nw_firm_id(投放平台ID),
+     * geo_short(地区短码),
+     * campaign_id(广告组ID),
+     * adgroup_id(广告计划ID),
+     **/
+    private List<String> group_by;
+}

+ 41 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ComprehensiveReportView.java

@@ -0,0 +1,41 @@
+package com.ytpm.advertise.view;
+
+import lombok.Data;
+
+@Data
+public class ComprehensiveReportView {
+    /** 总条数 */
+    private Integer count;
+    /** 日期  group_by有选 */
+    private String date;
+    /** 应用信息  group_by有选app维度时才返回 */
+    private ReportAppView app;
+    /** 广告位信息,group_by有选placement维度时才返回 */
+    private ReportPlacementView placement;
+    /** 广告样式,group_by有选adformat维度时才有返回 */
+    private String adformat;
+    /** 国家码。group_by有选area维度时才有返回 */
+    private String area;
+    /** 广告平台ID,group_by有选network_firm_id维度 */
+    private String network_firm_id;
+    /** 广告平台名称,group_by有选network_firm_id维度才有返回 */
+    private String network_firm;
+    /** 广告平台账号ID,group_by有选network维度才有返回 */
+    private String network;
+    /** 广告源信息,group_by有选adsource维度时才返回 */
+    private ReportAdSourceView adSource;
+    /** 广告场景信息,group_by有选scenario维度时才返回 */
+    private ReportScenarioView scenario;
+    /** 流量分组信息,group_by有选traffic_group维度时才返回 */
+    private ReportTrafficGroupView traffic_group;
+    /** 渠道名称,group_by有选channel维度才有返回 */
+    private String channel;
+    /** SDK版本,group_by有选sdk_version维度才有返回 */
+    private String sdk_version;
+    /** 应用版本,group_by有选app_version维度才有返回 */
+    private String app_version;
+    /** 时区,枚举值:UTC+8、UTC+0、UTC-8 */
+    private String time_zone;
+    /** 开发者账号币种,该字段与revenue字段组成的收益需与开发者后台报表的收益一致 */
+    private String currency;
+}

+ 35 - 0
yt-common/src/main/java/com/ytpm/advertise/view/HourReportView.java

@@ -0,0 +1,35 @@
+package com.ytpm.advertise.view;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class HourReportView {
+    /** 日期 */
+    private Integer date;
+    /** 小时 */
+    private Integer hour;
+    /** 流量请求 */
+    private Integer loads;
+    /** 流量填充率 */
+    private BigDecimal load_fill_rate;
+    /** 广告请求 */
+    private Integer request;
+    /** 广告填充率 */
+    private BigDecimal request_fill_rate;
+    /** 展示 */
+    private Integer impression;
+    /** 展示率 */
+    private BigDecimal impression_rate;
+    /** 点击 */
+    private Integer click;
+    /** 点击率 */
+    private BigDecimal click_rate;
+    /** 预估收益 */
+    private BigDecimal estimated_revenue;
+    /** 预估ecpm */
+    private BigDecimal estimated_revenue_ecpm;
+    /** 启动次数 */
+    private Integer launch;
+}

+ 17 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ReportAdSourceView.java

@@ -0,0 +1,17 @@
+package com.ytpm.advertise.view;
+
+import lombok.Data;
+
+@Data
+public class ReportAdSourceView {
+    /** 广告源所属的广告平台名称 */
+    private String network;
+    /** 广告源的三方ID信息 */
+    private String token;
+    /** 第三方广告平台ID */
+    private String slot_id;
+    /** 广告源id */
+    private String adsource_id;
+    /** 广告源名称 */
+    private String adsource_name;
+}

+ 15 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ReportAppView.java

@@ -0,0 +1,15 @@
+package com.ytpm.advertise.view;
+
+import lombok.Data;
+
+@Data
+public class ReportAppView {
+    /** 后台应用ID */
+    private String id;
+    /** 应用名称 */
+    private String name;
+    /** 系统平台 1-android 2-ios */
+    private String platform;
+    /** 应用包名 */
+    private String pkgName;
+}

+ 11 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ReportPlacementView.java

@@ -0,0 +1,11 @@
+package com.ytpm.advertise.view;
+
+import lombok.Data;
+
+@Data
+public class ReportPlacementView {
+    /** 广告位ID */
+    private String id;
+    /** 广告位名称 */
+    private String name;
+}

+ 51 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ReportRoiView.java

@@ -0,0 +1,51 @@
+package com.ytpm.advertise.view;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ReportRoiView {
+    /*--------group_by有选geo_short维度时才有返回(start)----------*/
+    /** 日期,格式:YYYYmmdd */
+    private Integer date_time;
+    /** 开发者后台的应用ID */
+    private String app_id;
+    /** 投放平台ID */
+    private Integer nw_firm_id;
+    /** 广告组ID */
+    private String campaign_id;
+    /** 广告计划ID */
+    private String adgroup_id;
+    /** 广告创意ID */
+    private String creative_id;
+    /** 国家码 */
+    private String geo_short;
+    /*--------group_by有选geo_short维度时才有返回(end)----------*/
+    /** 新增用户数 */
+    private Integer new_user;
+    /** 新增用户Gap */
+    private String new_user_gap;
+    /** 投放成本 */
+    private BigDecimal cost;
+    /** 安装量 */
+    private Integer install;
+    /** 安装单价 */
+    private String install_price;
+    /** 第1天ROI 以下类推  */
+    private String roi_1;
+    private String roi_2;
+    private String roi_3;
+    private String roi_4;
+    private String roi_5;
+    private String roi_6;
+    private String roi_7;
+    /** 第1天LTV 以下类推  */
+    private String ltv_1;
+    private String ltv_2;
+    private String ltv_3;
+    private String ltv_4;
+    private String ltv_5;
+    private String ltv_6;
+    private String ltv_7;
+}

+ 13 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ReportScenarioView.java

@@ -0,0 +1,13 @@
+package com.ytpm.advertise.view;
+
+import lombok.Data;
+
+@Data
+public class ReportScenarioView {
+    /** Taku内部广告场景id */
+    private String id;
+    /** 广告场景名称 */
+    private String name;
+    /** 自定义广告场景ID("1"代表默认场景) */
+    private String custom_uuid;
+}

+ 13 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ReportTrafficGroupView.java

@@ -0,0 +1,13 @@
+package com.ytpm.advertise.view;
+
+import lombok.Data;
+
+@Data
+public class ReportTrafficGroupView {
+    /** 流量分组id */
+    private String id;
+    /** 流量分组名称 */
+    private String name;
+    /** 流量分组数字id,注意:默认流量分组时segment_id=0,不会返回 */
+    private String segment_id;
+}