adq.ts 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. import { request } from 'umi';
  2. import { api } from '../api';
  3. /**
  4. * 获取组员及组员账号列表
  5. */
  6. export async function getAdAccountAllOfMember() {
  7. return request(api + '/adq/adAccount/allOfMember');
  8. }
  9. // export async function get_allOfMember() {
  10. // return fetch(api + '/adq/adAccount/allOfMember',{
  11. // headers:{
  12. // "content-Type":"application/json;charset=UTF-8",
  13. // "Authorization": `Bearer ${sessionStorage.getItem("Admin-Token")}`
  14. // }
  15. // }).then(res=>res.json())
  16. // }
  17. /**
  18. * 获取ADQ账号列表
  19. * @param adgroupName 广告名称
  20. * @param promotedObjectType 广告类型
  21. * @param accountId 账户ID
  22. * @param adgroupName 广告名称
  23. */
  24. export async function getAdqAdAccountList(params: {
  25. pageNum: number;
  26. pageSize: number;
  27. userId?: string;//用户ID
  28. accountIds?: string[];//账号本地ID
  29. }) {
  30. return request(api + '/adq/adAccount/list', {
  31. method: 'POST',
  32. data: params,
  33. });
  34. }
  35. /**
  36. * 按账号同步计划
  37. * @param adAccountId 本地ID
  38. */
  39. export async function putAdqAdAccountSyncByIds(data: any) {
  40. return request(api + `/adq/adAccount/syncByIds`, {
  41. method: 'PUT',
  42. data
  43. });
  44. }
  45. /**
  46. * 获取ADQ计划列表
  47. * @param adgroupName 广告名称
  48. * @param promotedObjectType 广告类型
  49. * @param accountId 账户ID
  50. * @param adgroupName 广告名称
  51. */
  52. export async function getAdqCampaignList(params: {
  53. pageNum: number;
  54. pageSize: number;
  55. userId?: string;//用户ID
  56. accountId?: string;//账号本地ID
  57. campaignName?: string;//计划名称
  58. configuredStatus?: string;//计划状态
  59. campaignType?: string;//计划类型
  60. promotedObjectType?: string;//推广目标类型
  61. }) {
  62. return request(api + '/adq/campaign/list', {
  63. method: 'POST',
  64. data: params,
  65. });
  66. }
  67. /**
  68. * 按账号同步计划
  69. * @param adAccountId 本地ID
  70. */
  71. export async function putAdqCampaignPage(adAccountId: any) {
  72. return request(api + `/adq/campaign/syncAll/${adAccountId} `, {
  73. method: 'PUT',
  74. });
  75. }
  76. /**
  77. * 获取ADQ广告列表
  78. * @param adgroupName 广告名称
  79. * @param promotedObjectType 广告类型
  80. * @param accountId 账户ID
  81. * @param adgroupName 广告名称
  82. */
  83. export async function getAdqAdgroupsList(params: {
  84. pageNum: number;
  85. pageSize: number;
  86. accountId: string;
  87. adgroupName?: string
  88. }) {
  89. return request(api + '/adq/adgroups/list', {
  90. method: 'POST',
  91. data: params,
  92. });
  93. }
  94. /**
  95. * 同步ADQ广告列表
  96. *@param adAccountId 本地ID
  97. */
  98. export async function putAdqAdgroupsSync(data: any) {
  99. return request(api + `/adq/adgroups/sync`, {
  100. method: 'PUT',
  101. data
  102. });
  103. }
  104. /**
  105. * 多选删除广告
  106. * @param data
  107. * @returns
  108. */
  109. export async function delListAdqAdgroupsApi(data: { adgroupIds: number[] }) {
  110. return request(api + `/adq/adgroups/delete/batch`, {
  111. method: 'POST',
  112. data
  113. });
  114. }
  115. /**
  116. * 删除广告
  117. * @param data
  118. * @returns
  119. */
  120. export async function delAdqAdgroupsApi({ adAccountId, adgroupId }: { adAccountId: number, adgroupId: number }) {
  121. return request(api + `/adq/adgroups/${adAccountId}/${adgroupId}`, {
  122. method: 'DELETE'
  123. });
  124. }
  125. export interface EditAdqAdgroupsProps {
  126. adgroupIds: number[], // 广告组id列表
  127. adgroupsUpdateBidAmountDTO?: { // 出价
  128. bidAmount: number, // 出价
  129. bidMode: string, // 出价方式
  130. bidStrategy: string,// 出价策略
  131. optimizationGoal: string, // 出价目标
  132. },
  133. adgroupsUpdateDatetimeDTO?: { // 排期
  134. beginDate: string,
  135. endDate?: string,
  136. firstDayBeginTime?: string,
  137. timeSeries?: string
  138. },
  139. deepConversionSpec?: { // 深度优化
  140. deepConversionType: string,
  141. deepConversionBehaviorSpec?: {
  142. bidAmount: number,
  143. goal: string
  144. },
  145. deepConversionWorthAdvancedSpec?: {
  146. expectedRoi: number,
  147. goal: string
  148. },
  149. deepConversionWorthSpec?: {
  150. expectedRoi: number,
  151. goal: string
  152. }
  153. },
  154. configuredStatus?: string
  155. }
  156. export async function editAdqAdgroupsDataApi(data: EditAdqAdgroupsProps) {
  157. return request(api + `/adq/adgroups/update/batch`, {
  158. method: 'POST',
  159. data
  160. });
  161. }
  162. export async function newEditAdqAdgroupsDataApi(data: EditAdqAdgroupsProps) {
  163. return request(api + `/adq/adgroups/configStatus/update/batch`, {
  164. method: 'POST',
  165. data
  166. });
  167. }
  168. export interface CopyAdProps{
  169. adgroupIds: number[], // 广告组id列表
  170. beginDate: string,
  171. endDate: string,
  172. copyCount: number, // 复制数量
  173. firstDayBeginTime?: string
  174. timeSeries?: string
  175. }
  176. export async function copyAdAdApi(data: CopyAdProps) {
  177. return request(api + `/adq/adgroups/copy/batch`, {
  178. method: 'POST',
  179. data
  180. });
  181. }
  182. /**
  183. * 获取ADQ创意列表
  184. * @param adgroupName 广告名称
  185. * @param promotedObjectType 广告类型
  186. * @param accountId 账户ID
  187. * @param adcreativeName
  188. */
  189. export async function getAdqAdcreativeList(params: {
  190. pageNum: number;
  191. pageSize: number;
  192. accountId: string;
  193. adcreativeName?: string
  194. }) {
  195. return request(api + '/adq/adcreative/list', {
  196. method: 'POST',
  197. data: params,
  198. });
  199. }
  200. /**
  201. * 获取ADQ落地页列表
  202. * @param adgroupName 广告名称
  203. * @param promotedObjectType 广告类型
  204. * @param accountId 账户ID
  205. */
  206. export async function getAdqLandingPageList(params: {
  207. pageNum: number;
  208. pageSize: number;
  209. accountId: string;
  210. pageName: string;
  211. pageType: string;
  212. pageTemplateId: string;
  213. pageStatus: string;
  214. }) {
  215. return request(api + '/adq/landingPageWechat/list ', {
  216. method: 'POST',
  217. data: params,
  218. });
  219. }
  220. /**
  221. * 按账号同步落地页
  222. * @param adAccountId 本地ID
  223. */
  224. export async function putAdqLandingPage(adAccountId: any) {
  225. return request(api + `/adq/landingPageWechat/syncAll/${adAccountId} `, {
  226. method: 'PUT',
  227. });
  228. }
  229. /**
  230. * 获取ADQ定向列表
  231. * @param adgroupName 广告名称
  232. * @param promotedObjectType 广告类型
  233. * @param accountId 账户ID
  234. */
  235. export async function getAdqTargetingList(params: {
  236. pageNum: number;
  237. pageSize: number;
  238. accountId: string;
  239. pageName: string;
  240. pageType: string;
  241. pageTemplateId: string;
  242. pageStatus: string;
  243. }) {
  244. return request(api + '/adq/targeting/list ', {
  245. method: 'POST',
  246. data: params,
  247. });
  248. }
  249. /**
  250. * 按账号同步ADQ定向列表
  251. * @param adAccountId 本地ID
  252. */
  253. export async function putAdqTargetingSyncAll(adAccountId: any) {
  254. return request(api + `/adq/targeting/syncAll/${adAccountId} `, {
  255. method: 'PUT',
  256. });
  257. }
  258. /**
  259. * 计划启停
  260. * @param adAccountId 本地ID
  261. */
  262. export async function putAdqCampaignConfigStatus(params: any) {
  263. let { accountId, campaignId, configuredStatus } = params
  264. return request(api + `/adq/campaign/configStatus/${accountId}/${campaignId}/${configuredStatus}`, {
  265. method: 'PUT',
  266. });
  267. }
  268. /**
  269. * 广告启停
  270. * @param adAccountId 本地ID
  271. */
  272. export async function putAdqAdgroupsConfigStatus(params: any) {
  273. let { accountId, adgroupId, configuredStatus } = params
  274. return request(api + `/adq/adgroups/configStatus/${accountId}/${adgroupId}/${configuredStatus}`, {
  275. method: 'PUT',
  276. });
  277. }
  278. /**
  279. * log
  280. * @param data
  281. * @returns
  282. */
  283. export async function getLogListApi(data: { accountId?: number, adgroupId?: number, adgroupName?: string, pageNum: number, pageSize: number }) {
  284. return request(api + `/adq/adgroups/operate/log`, {
  285. method: 'POST',
  286. data
  287. });
  288. }