Commit c8b02d6c by BetterXT

add convert target dto

parent 20734587
...@@ -2,7 +2,7 @@ package io.better.toutiao.api.delivery; ...@@ -2,7 +2,7 @@ package io.better.toutiao.api.delivery;
import io.better.toutiao.dto.TouTiaoRespDTO; import io.better.toutiao.dto.TouTiaoRespDTO;
import io.better.toutiao.dto.delivery.creative.AdvertisingCreativeInfoDTO; import io.better.toutiao.dto.delivery.creative.AdvertisingCreativeInfoDTO;
import io.better.toutiao.dto.delivery.creative.AdvertisingCreativeRespDTO; import io.better.toutiao.dto.delivery.creative.AdvertisingCreativeDTO;
import io.better.toutiao.dto.status.UpdateStatusDTO; import io.better.toutiao.dto.status.UpdateStatusDTO;
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -30,7 +30,7 @@ public interface AdvertisingCreativeApi { ...@@ -30,7 +30,7 @@ public interface AdvertisingCreativeApi {
* @return 广告创意信息 base resp dto * @return 广告创意信息 base resp dto
*/ */
@GetMapping(value = "/get") @GetMapping(value = "/get")
TouTiaoRespDTO<AdvertisingCreativeRespDTO> listAdvertisingCreative(@RequestHeader("Access-Token") String accessToken, TouTiaoRespDTO<AdvertisingCreativeDTO> listAdvertisingCreative(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId, @RequestParam("advertiser_id") Long advertiserId,
@RequestParam(value = "page", defaultValue = "1", required = false) Integer page, @RequestParam(value = "page", defaultValue = "1", required = false) Integer page,
@RequestParam(value = "page_size", defaultValue = "20", required = false) Integer pageSize, @RequestParam(value = "page_size", defaultValue = "20", required = false) Integer pageSize,
......
package io.better.toutiao.api.util;
import io.better.toutiao.dto.TouTiaoRespDTO;
import io.better.toutiao.dto.util.ConvertTargetCallBackDTO;
import io.better.toutiao.dto.util.ConvertTargetDTO;
import io.better.toutiao.dto.util.ConvertTargetPushDTO;
import io.better.toutiao.dto.util.ConvertTargetStatusDTO;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* 转换目标Api
*
* @author better create in 2019-05-07 10:37
*/
@FeignClient(value = "https://ad.toutiao.com/open_api/2", url = "/tools")
public interface ConvertTargetApi {
/**
* Create convert target tou tiao resp dto.
*
* @param accessToken the access token
* @param convertTarget the convert target
* @return the tou tiao resp dto
*/
@PostMapping(value = "/ad_convert/create")
TouTiaoRespDTO<ConvertTargetStatusDTO> createConvertTarget(@RequestHeader("Access-Token") String accessToken,
@RequestBody ConvertTargetDTO convertTarget);
/**
* Update convert target tou tiao resp dto.
*
* @param accessToken the access token
* @param convertTarget the convert target
* @return the tou tiao resp dto
*/
@PostMapping(value = "/ad_convert/update")
TouTiaoRespDTO<?> updateConvertTarget(@RequestHeader("Access-Token") String accessToken,
@RequestBody ConvertTargetDTO convertTarget);
/**
* Update convert target status tou tiao resp dto.
*
* @param accessToken the access token
* @param convertTarget the convert target
* @return the tou tiao resp dto
*/
@PostMapping(value = "/ad_convert/update_status/")
TouTiaoRespDTO<ConvertTargetStatusDTO> updateConvertTargetStatus(@RequestHeader("Access-Token") String accessToken,
@RequestBody ConvertTargetDTO convertTarget);
/**
* 工具-转化ID推送
*
* @param accessToken the access token
* @param convertTargetPush the convert target push
* @return the tou tiao resp dto
*/
@PostMapping(value = "/ad_convert/push")
TouTiaoRespDTO<ConvertTargetStatusDTO> pushConvertTarget(@RequestHeader("Access-Token") String accessToken,
@RequestBody ConvertTargetPushDTO convertTargetPush);
/**
* 工具-查询计划可用转化ID
*
* @param accessToken the access token
* @param advertiserId the advertiser id
* @param packageName the package name
* @param itunesUrl the itunes url
* @param fields the fields
* @return the tou tiao resp dto
*/
@GetMapping(value = "/ad_convert/select")
TouTiaoRespDTO<ConvertTargetCallBackDTO> listConvertTarget(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId,
@RequestParam("package_name") String packageName,
@RequestParam("itunes_url") String itunesUrl,
@RequestParam("fields") String[] fields
);
/**
* 工具-转化ID列表
*
* @param accessToken the access token
* @param advertiserId the advertiser id
* @param convertIds the convert ids
* @param optStatus the opt status
* @param page the page
* @param pageSize the page size
* @return tou tiao resp dto
*/
@GetMapping(value = "/adv_convert/select/")
TouTiaoRespDTO<ConvertTargetCallBackDTO> listConvertTarget(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId,
@RequestParam(value = "convert_ids", required = false) Long[] convertIds,
@RequestParam(value = "opt_status", required = false) String optStatus,
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "page_size", defaultValue = "10") Integer pageSize
);
/**
* Gets convert target detail.
*
* @param accessToken the access token
* @param advertiserId the advertiser id
* @param convertId the convert id
* @return the convert target detail
*/
@GetMapping(value = "/ad_convert/read")
TouTiaoRespDTO<ConvertTargetDTO> getConvertTargetDetail(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId,
@RequestParam("convert_id") Long convertId
);
}
package io.better.toutiao.api.util;
import io.better.toutiao.dto.TouTiaoRespDTO;
import io.better.toutiao.dto.util.DynamicCreativeWordPackageDTO;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 动态词包Api
*
* @author better create in 2019-05-07 10:17
*/
@FeignClient(value = "https://ad.toutiao.com/open_api/2/tools", url = "/creative_word")
public interface DynamicCreativeWordPackageApi {
/**
* 工具-创建动态创意词包
*
* @param accessToken 访问凭证
* @param dynamicCreativeWordPackage 动态词包信息
* @return the tou tiao resp dto
*/
@PostMapping(value = "/create")
TouTiaoRespDTO<Long> createDynamicCreativeWordPackage(@RequestHeader("Access-Token") String accessToken,
@RequestBody DynamicCreativeWordPackageDTO dynamicCreativeWordPackage
);
/**
* 工具-更新动态创意词包
*
* @param accessToken 访问凭证
* @param dynamicCreativeWordPackage 动态词包信息
* @return the tou tiao resp dto
*/
@PostMapping(value = "/update")
TouTiaoRespDTO<Long> updateDynamicCreativeWordPackage(@RequestHeader("Access-Token") String accessToken,
@RequestBody DynamicCreativeWordPackageDTO dynamicCreativeWordPackage
);
/**
* 工具-删除动态创意词包
*
* @param accessToken 访问凭证
* @param dynamicCreativeWordPackage 动态词包信息
* @return the tou tiao resp dto
*/
@PostMapping(value = "/delete")
TouTiaoRespDTO<Long> deleteDynamicCreativeWordPackage(@RequestHeader("Access-Token") String accessToken,
@RequestBody DynamicCreativeWordPackageDTO dynamicCreativeWordPackage
);
/**
* 工具-查询动态创意词包
*
* @param accessToken 访问凭证
* @param advertiserId 广告主ID
* @param creativeWordIds 创意词包ID
* @return the tou tiao resp dto
*/
@GetMapping(value = "/select")
TouTiaoRespDTO<List<DynamicCreativeWordPackageDTO>> listDynamicCreativeWordPackage(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId,
@RequestParam(value = "creative_word_ids", required = false) Long[] creativeWordIds
);
}
package io.better.toutiao.api.util; package io.better.toutiao.api.util;
import io.better.toutiao.dto.TouTiaoRespDTO; import io.better.toutiao.dto.TouTiaoRespDTO;
import io.better.toutiao.dto.util.FileInfoInDTO; import io.better.toutiao.dto.util.FileInfoDTO;
import io.better.toutiao.dto.util.FileInfoOutDTO; import io.better.toutiao.dto.util.FileInfoReqDTO;
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -24,8 +24,8 @@ public interface FileManagerApi { ...@@ -24,8 +24,8 @@ public interface FileManagerApi {
* @return the base resp dto * @return the base resp dto
*/ */
@PostMapping(value = "/image/advertiser") @PostMapping(value = "/image/advertiser")
TouTiaoRespDTO<FileInfoInDTO> uploadAdvertiserImage(@RequestHeader("Access-Token") String accessToken, TouTiaoRespDTO<FileInfoDTO> uploadAdvertiserImage(@RequestHeader("Access-Token") String accessToken,
@RequestBody FileInfoOutDTO fileInfoOut); @RequestBody FileInfoReqDTO fileInfoOut);
/** /**
* 工具-文件管理-上传广告图片 * 工具-文件管理-上传广告图片
...@@ -35,8 +35,8 @@ public interface FileManagerApi { ...@@ -35,8 +35,8 @@ public interface FileManagerApi {
* @return the base resp dto * @return the base resp dto
*/ */
@PostMapping(value = "/image/ad") @PostMapping(value = "/image/ad")
TouTiaoRespDTO<FileInfoInDTO> uploadAdvertisingImage(@RequestHeader("Access-Token") String accessToken, TouTiaoRespDTO<FileInfoDTO> uploadAdvertisingImage(@RequestHeader("Access-Token") String accessToken,
@RequestBody FileInfoOutDTO fileInfoOut); @RequestBody FileInfoReqDTO fileInfoOut);
/** /**
* 工具-文件管理-查询图片信息 * 工具-文件管理-查询图片信息
...@@ -47,7 +47,7 @@ public interface FileManagerApi { ...@@ -47,7 +47,7 @@ public interface FileManagerApi {
* @return the image info * @return the image info
*/ */
@GetMapping(value = "/ad/get") @GetMapping(value = "/ad/get")
TouTiaoRespDTO<FileInfoInDTO> getImageInfo(@RequestHeader("Access-Token") String accessToken, TouTiaoRespDTO<FileInfoDTO> getImageInfo(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId, @RequestParam("advertiser_id") Long advertiserId,
@RequestParam("image_ids") String[] imageIds); @RequestParam("image_ids") String[] imageIds);
...@@ -60,7 +60,7 @@ public interface FileManagerApi { ...@@ -60,7 +60,7 @@ public interface FileManagerApi {
* @return the video info * @return the video info
*/ */
@GetMapping(value = "/video/ad/get") @GetMapping(value = "/video/ad/get")
TouTiaoRespDTO<FileInfoInDTO> getVideoInfo(@RequestHeader("Access-Token") String accessToken, TouTiaoRespDTO<FileInfoDTO> getVideoInfo(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId, @RequestParam("advertiser_id") Long advertiserId,
@RequestParam("video_ids") String[] videoIds); @RequestParam("video_ids") String[] videoIds);
...@@ -76,7 +76,7 @@ public interface FileManagerApi { ...@@ -76,7 +76,7 @@ public interface FileManagerApi {
* @return the image material info * @return the image material info
*/ */
@GetMapping(value = "/image/get") @GetMapping(value = "/image/get")
TouTiaoRespDTO<FileInfoInDTO> getImageMaterialInfo(@RequestHeader("Access-Token") String accessToken, TouTiaoRespDTO<FileInfoDTO> getImageMaterialInfo(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId, @RequestParam("advertiser_id") Long advertiserId,
@RequestParam(value = "video_ids", required = false) Map<String, Object> filtering, @RequestParam(value = "video_ids", required = false) Map<String, Object> filtering,
@RequestParam(value = "page", defaultValue = "1", required = false) Integer page, @RequestParam(value = "page", defaultValue = "1", required = false) Integer page,
...@@ -93,7 +93,7 @@ public interface FileManagerApi { ...@@ -93,7 +93,7 @@ public interface FileManagerApi {
* @return the video material info * @return the video material info
*/ */
@GetMapping(value = "/video/get") @GetMapping(value = "/video/get")
TouTiaoRespDTO<FileInfoInDTO> getVideoMaterialInfo(@RequestHeader("Access-Token") String accessToken, TouTiaoRespDTO<FileInfoDTO> getVideoMaterialInfo(@RequestHeader("Access-Token") String accessToken,
@RequestParam("advertiser_id") Long advertiserId, @RequestParam("advertiser_id") Long advertiserId,
@RequestParam(value = "video_ids", required = false) Map<String, Object> filtering, @RequestParam(value = "video_ids", required = false) Map<String, Object> filtering,
@RequestParam(value = "page", defaultValue = "1", required = false) Integer page, @RequestParam(value = "page", defaultValue = "1", required = false) Integer page,
......
...@@ -9,11 +9,6 @@ import lombok.Data; ...@@ -9,11 +9,6 @@ import lombok.Data;
public class BaseDTO { public class BaseDTO {
/** /**
* 访问凭证
*/
private String accessToken;
/**
* 广告主ID * 广告主ID
*/ */
private Long advertiserId; private Long advertiserId;
......
package io.better.toutiao.dto.delivery.creative; package io.better.toutiao.dto.delivery.creative;
import io.better.toutiao.dto.resp.PageRespDTO; import io.better.toutiao.dto.resp.PageDTO;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -9,12 +9,12 @@ import java.util.List; ...@@ -9,12 +9,12 @@ import java.util.List;
* @author better create in 2019-04-29 11:16 * @author better create in 2019-04-29 11:16
*/ */
@Data @Data
public class AdvertisingCreativeRespDTO { public class AdvertisingCreativeDTO {
/** /**
* 分页信息 * 分页信息
*/ */
private PageRespDTO pageInfo; private PageDTO pageInfo;
/** /**
* 创意信息集合 * 创意信息集合
......
package io.better.toutiao.dto.delivery.group; package io.better.toutiao.dto.delivery.group;
import io.better.toutiao.dto.resp.PageRespDTO; import io.better.toutiao.dto.resp.PageDTO;
import lombok.Data; import lombok.Data;
/** /**
...@@ -61,7 +61,7 @@ public class AdvertisingGroupRespDTO { ...@@ -61,7 +61,7 @@ public class AdvertisingGroupRespDTO {
/** /**
* 分页信息 * 分页信息
*/ */
private PageRespDTO pageInfo; private PageDTO pageInfo;
/** /**
* 第三方唯一键 * 第三方唯一键
......
package io.better.toutiao.dto.delivery.plan; package io.better.toutiao.dto.delivery.plan;
import io.better.toutiao.dto.AudienceDTO; import io.better.toutiao.dto.AudienceDTO;
import io.better.toutiao.dto.resp.PageRespDTO; import io.better.toutiao.dto.resp.PageDTO;
import lombok.Data; import lombok.Data;
/** /**
...@@ -176,7 +176,7 @@ public class AdvertisingPlanRespDTO { ...@@ -176,7 +176,7 @@ public class AdvertisingPlanRespDTO {
/** /**
* 分页信息 * 分页信息
*/ */
private PageRespDTO pageInfo; private PageDTO pageInfo;
/** /**
* 第三方唯一键 * 第三方唯一键
......
...@@ -6,7 +6,7 @@ import lombok.Data; ...@@ -6,7 +6,7 @@ import lombok.Data;
* @author better create in 2019-04-29 14:27 * @author better create in 2019-04-29 14:27
*/ */
@Data @Data
public class PageRespDTO { public class PageDTO {
/** /**
* 页数 * 页数
...@@ -27,4 +27,11 @@ public class PageRespDTO { ...@@ -27,4 +27,11 @@ public class PageRespDTO {
* 总页数 * 总页数
*/ */
private String totalPage; private String totalPage;
/**
* 当前页
* <p>
* 转换目标查询使用
*/
private Integer currentPage;
} }
package io.better.toutiao.dto.util;
import io.better.toutiao.dto.resp.PageDTO;
import lombok.Data;
import java.util.List;
/**
* @author better create in 2019-05-07 14:47
*/
@Data
public class ConvertTargetCallBackDTO {
/**
* 转化的数据list
*/
private List<ConvertTargetDetailDTO> adConvertList;
/**
* 分页信息
*/
private PageDTO pageInfo;
}
package io.better.toutiao.dto.util;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 转换目标信息
*
* @author better create in 2019-05-07 10:43
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ConvertTargetDTO extends ConvertTargetStatusDTO {
/**
* 转化名称
*/
private String name;
/**
* 转化来源,详见【附录-转化工具来源】,默认为AD_CONVERT_SOURCE_TYPE_APP_DOWNLOAD
*/
private String convertSourceType;
/**
* 下载链接
*/
private String downloadUrl;
/**
* 应用类型
* 允许值: "APP_ANDROID", "APP_IOS"
*/
private String appType;
/**
* 转化监测链接
*/
private String actionTrackUrl;
/**
* 包名
*/
private String packageName;
/**
* 转化类型,详见【附录-转化类型】
*/
private String convertType;
/**
* XPath转化路径
*/
private String convertXpathValue;
/**
* XPath转化页面地址
*/
private String convertXpathUrl;
/**
* 落地页地址
*/
private String externalUrl;
/**
* APP ID
*/
private String appId;
/**
* 直达链接
*/
private String openUrl;
/**
* 深度转化目标
*/
private String deepExternalAction;
}
package io.better.toutiao.dto.util;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 转换目标详情信息
*
* @author better create in 2019-05-07 14:38
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ConvertTargetDetailDTO extends ConvertTargetDTO {
/**
* 激活回传地址
*/
private String convertActivateCallbackUrl;
/**
* 加密密钥
*/
private String convertSecretKey;
/**
* 监测参数
*/
private String convertTrackParams;
/**
* 转化基础代码
*/
private String convertBaseCode;
/**
* 转化代码(JS方式)
*/
private String convertJsCode;
/**
* 转化代码(HTML方式)
*/
private String convertHtmlCode;
}
package io.better.toutiao.dto.util;
import io.better.toutiao.dto.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author better create in 2019-05-07 14:58
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ConvertTargetPushDTO extends BaseDTO {
/**
* 转化ID
*/
private Long convertId;
/**
* json array, 推送的广告主ID列表
*/
private String targetAdvertiserIds;
}
package io.better.toutiao.dto.util;
import io.better.toutiao.dto.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 转换目标状态信息
*
* @author better create in 2019-05-07 14:37
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ConvertTargetStatusDTO extends BaseDTO {
/**
* 转化ID
*/
private Long convertId;
/**
* 操作状态
* <p>
* 允许值:"AD_CONVERT_OPT_STATUS_ENABLE","AD_CONVERT_OPT_STATUS_DISABLE","AD_CONVERT_OPT_STATUS_PAUSE"
*/
private String optStatus;
/**
* 转化状态
*/
private String status;
}
package io.better.toutiao.dto.util;
import io.better.toutiao.dto.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author better create in 2019-05-07 10:20
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DynamicCreativeWordPackageDTO extends BaseDTO {
/**
* 创意词包名称
*/
private String name;
/**
* 默认词
*/
private String defaultWord;
/**
* 替换词
*/
private String[] words;
/**
* 创意词包id,删除、更新时使用
*/
private Long creativeWordId;
/**
* 创意词包类型, 查询使用
*/
private String contentType;
/**
* 替换词最大长度, 查询使用
*/
private Integer maxWordLen;
/**
* 创意词包状态, 查询使用
*/
private String status;
/**
* 创意词包人群覆盖率, 查询使用
* <p>
* 取值范围: 0-1
*/
private Float rate;
}
package io.better.toutiao.dto.util; package io.better.toutiao.dto.util;
import io.better.toutiao.dto.resp.PageRespDTO; import io.better.toutiao.dto.resp.PageDTO;
import lombok.Data; import lombok.Data;
/** /**
* @author better create in 2019-04-30 10:55 * @author better create in 2019-04-30 10:55
*/ */
@Data @Data
public class FileInfoInDTO extends PageRespDTO { public class FileInfoDTO extends PageDTO {
// ==========图片信息 start========== // ==========图片信息 start==========
......
...@@ -11,7 +11,7 @@ import java.io.File; ...@@ -11,7 +11,7 @@ import java.io.File;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class FileInfoOutDTO extends BaseDTO { public class FileInfoReqDTO extends BaseDTO {
// ==========图片信息========== // ==========图片信息==========
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment