Commit c8b02d6c by BetterXT

add convert target dto

parent 20734587
......@@ -2,7 +2,7 @@ package io.better.toutiao.api.delivery;
import io.better.toutiao.dto.TouTiaoRespDTO;
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 org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;
......@@ -30,7 +30,7 @@ public interface AdvertisingCreativeApi {
* @return 广告创意信息 base resp dto
*/
@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(value = "page", defaultValue = "1", required = false) Integer page,
@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;
import io.better.toutiao.dto.TouTiaoRespDTO;
import io.better.toutiao.dto.util.FileInfoInDTO;
import io.better.toutiao.dto.util.FileInfoOutDTO;
import io.better.toutiao.dto.util.FileInfoDTO;
import io.better.toutiao.dto.util.FileInfoReqDTO;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;
......@@ -24,8 +24,8 @@ public interface FileManagerApi {
* @return the base resp dto
*/
@PostMapping(value = "/image/advertiser")
TouTiaoRespDTO<FileInfoInDTO> uploadAdvertiserImage(@RequestHeader("Access-Token") String accessToken,
@RequestBody FileInfoOutDTO fileInfoOut);
TouTiaoRespDTO<FileInfoDTO> uploadAdvertiserImage(@RequestHeader("Access-Token") String accessToken,
@RequestBody FileInfoReqDTO fileInfoOut);
/**
* 工具-文件管理-上传广告图片
......@@ -35,8 +35,8 @@ public interface FileManagerApi {
* @return the base resp dto
*/
@PostMapping(value = "/image/ad")
TouTiaoRespDTO<FileInfoInDTO> uploadAdvertisingImage(@RequestHeader("Access-Token") String accessToken,
@RequestBody FileInfoOutDTO fileInfoOut);
TouTiaoRespDTO<FileInfoDTO> uploadAdvertisingImage(@RequestHeader("Access-Token") String accessToken,
@RequestBody FileInfoReqDTO fileInfoOut);
/**
* 工具-文件管理-查询图片信息
......@@ -47,7 +47,7 @@ public interface FileManagerApi {
* @return the image info
*/
@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("image_ids") String[] imageIds);
......@@ -60,7 +60,7 @@ public interface FileManagerApi {
* @return the video info
*/
@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("video_ids") String[] videoIds);
......@@ -76,7 +76,7 @@ public interface FileManagerApi {
* @return the image material info
*/
@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(value = "video_ids", required = false) Map<String, Object> filtering,
@RequestParam(value = "page", defaultValue = "1", required = false) Integer page,
......@@ -93,7 +93,7 @@ public interface FileManagerApi {
* @return the video material info
*/
@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(value = "video_ids", required = false) Map<String, Object> filtering,
@RequestParam(value = "page", defaultValue = "1", required = false) Integer page,
......
......@@ -9,11 +9,6 @@ import lombok.Data;
public class BaseDTO {
/**
* 访问凭证
*/
private String accessToken;
/**
* 广告主ID
*/
private Long advertiserId;
......
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 java.util.List;
......@@ -9,12 +9,12 @@ import java.util.List;
* @author better create in 2019-04-29 11:16
*/
@Data
public class AdvertisingCreativeRespDTO {
public class AdvertisingCreativeDTO {
/**
* 分页信息
*/
private PageRespDTO pageInfo;
private PageDTO pageInfo;
/**
* 创意信息集合
......
package io.better.toutiao.dto.delivery.group;
import io.better.toutiao.dto.resp.PageRespDTO;
import io.better.toutiao.dto.resp.PageDTO;
import lombok.Data;
/**
......@@ -61,7 +61,7 @@ public class AdvertisingGroupRespDTO {
/**
* 分页信息
*/
private PageRespDTO pageInfo;
private PageDTO pageInfo;
/**
* 第三方唯一键
......
package io.better.toutiao.dto.delivery.plan;
import io.better.toutiao.dto.AudienceDTO;
import io.better.toutiao.dto.resp.PageRespDTO;
import io.better.toutiao.dto.resp.PageDTO;
import lombok.Data;
/**
......@@ -176,7 +176,7 @@ public class AdvertisingPlanRespDTO {
/**
* 分页信息
*/
private PageRespDTO pageInfo;
private PageDTO pageInfo;
/**
* 第三方唯一键
......
......@@ -6,7 +6,7 @@ import lombok.Data;
* @author better create in 2019-04-29 14:27
*/
@Data
public class PageRespDTO {
public class PageDTO {
/**
* 页数
......@@ -27,4 +27,11 @@ public class PageRespDTO {
* 总页数
*/
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;
import io.better.toutiao.dto.resp.PageRespDTO;
import io.better.toutiao.dto.resp.PageDTO;
import lombok.Data;
/**
* @author better create in 2019-04-30 10:55
*/
@Data
public class FileInfoInDTO extends PageRespDTO {
public class FileInfoDTO extends PageDTO {
// ==========图片信息 start==========
......
......@@ -11,7 +11,7 @@ import java.io.File;
*/
@Data
@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