adq.ts 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467
  1. import { request } from 'umi';
  2. import { api } from '../api';
  3. /**
  4. * 获取组员及组员账号列表
  5. */
  6. export async function getAdAccountAllOfMemberAll() {
  7. return request(api + '/adq/adAccount/allOfMember');
  8. }
  9. export async function getAdAccountAllOfMember() {
  10. return request(api + '/adq/adAccount/allOfMemberOfNovel');
  11. }
  12. export async function getAdAccountAllOfMemberGame() {
  13. return request(api + '/adq/adAccount/allOfMemberOfGame');
  14. }
  15. /***
  16. * 无权限限制获取全部用户列表
  17. *
  18. */
  19. export async function getErpUserAll() {
  20. return request(api + `/erp/user/all`)
  21. }
  22. /**
  23. * 获取ADQ账号列表
  24. * @param adgroupName 广告名称
  25. * @param promotedObjectType 广告类型
  26. * @param accountId 账户ID
  27. * @param adgroupName 广告名称
  28. */
  29. export async function getAdqAdAccountList(params: {
  30. pageNum: number;
  31. pageSize: number;
  32. userId?: string;//用户ID
  33. accountIds?: string[];//账号本地ID
  34. }) {
  35. return request(api + '/adq/adAccount/listOfNovel', {
  36. method: 'POST',
  37. data: params,
  38. });
  39. }
  40. export async function getAdqAdAccountGameList(params: {
  41. pageNum: number;
  42. pageSize: number;
  43. userId?: string;//用户ID
  44. accountIds?: string[];//账号本地ID
  45. }) {
  46. return request(api + '/adq/adAccount/listOfGame', {
  47. method: 'POST',
  48. data: params,
  49. });
  50. }
  51. /**
  52. * 按账号同步计划
  53. * @param adAccountId 本地ID
  54. */
  55. export async function putAdqAdAccountSyncByIds(data: any) {
  56. return request(api + `/adq/adAccount/syncByIds`, {
  57. method: 'PUT',
  58. data
  59. });
  60. }
  61. /**
  62. * 获取ADQ计划列表
  63. * @param adgroupName 广告名称
  64. * @param promotedObjectType 广告类型
  65. * @param accountId 账户ID
  66. * @param adgroupName 广告名称
  67. */
  68. export async function getAdqCampaignList(params: {
  69. pageNum: number;
  70. pageSize: number;
  71. userId?: string;//用户ID
  72. accountId?: string;//账号本地ID
  73. campaignName?: string;//计划名称
  74. configuredStatus?: string;//计划状态
  75. campaignType?: string;//计划类型
  76. promotedObjectType?: string;//推广目标类型
  77. }) {
  78. return request(api + '/adq/campaign/list', {
  79. method: 'POST',
  80. data: params,
  81. });
  82. }
  83. /**
  84. * 按账号同步计划
  85. * @param adAccountId 本地ID
  86. */
  87. export async function putAdqCampaignPage(data: any) {
  88. return request(api + `/adq/campaign/sync/all `, {
  89. method: 'PUT',
  90. data
  91. });
  92. }
  93. /**
  94. * 获取ADQ广告列表
  95. * @param adgroupName 广告名称
  96. * @param promotedObjectType 广告类型
  97. * @param accountId 账户ID
  98. * @param adgroupName 广告名称
  99. */
  100. export async function getAdqAdgroupsList(params: {
  101. pageNum: number;
  102. pageSize: number;
  103. accountId: string;
  104. adgroupName?: string
  105. }) {
  106. return request(api + '/adq/adgroups/list', {
  107. method: 'POST',
  108. data: params,
  109. });
  110. }
  111. /**
  112. * 同步ADQ广告列表
  113. *@param adAccountId 本地ID
  114. */
  115. export async function putAdqAdgroupsSync(data: {
  116. accountIdList: any[]
  117. }) {
  118. return request(api + `/adq/adgroups/sync/all`, {
  119. method: 'PUT',
  120. data
  121. });
  122. }
  123. /**
  124. * 同步ADQ广告列表
  125. *@param adAccountId 本地ID
  126. */
  127. export async function putAdqAdgroupsSyncBatch(data: {
  128. adgroupIds: any[]
  129. }) {
  130. return request(api + `/adq/adgroups/sync/batch`, {
  131. method: 'PUT',
  132. data
  133. });
  134. }
  135. /**
  136. * 多选删除广告
  137. * @param data
  138. * @returns
  139. */
  140. export async function delListAdqAdgroupsApi(data: { adgroupIds: number[] }) {
  141. return request(api + `/adq/adgroups/delete/batch`, {
  142. method: 'POST',
  143. data
  144. });
  145. }
  146. /**
  147. * 删除广告
  148. * @param data
  149. * @returns
  150. */
  151. export async function delAdqAdgroupsApi({ adAccountId, adgroupId }: { adAccountId: number, adgroupId: number }) {
  152. return request(api + `/adq/adgroups/${adAccountId}/${adgroupId}`, {
  153. method: 'DELETE'
  154. });
  155. }
  156. export interface EditAdqAdgroupsProps {
  157. /** 广告组id列表 */
  158. adgroupIds: number[],
  159. /** 广告名称 */
  160. adgroupName?: string,
  161. /** 出价 */
  162. adgroupsUpdateBidAmountDTO?: {
  163. bidAmount: number, // 出价
  164. bidMode: string, // 出价方式
  165. bidStrategy: string,// 出价策略
  166. optimizationGoal: string, // 出价目标
  167. },
  168. /** 排期 */
  169. adgroupsUpdateDatetimeDTO?: {
  170. beginDate: string,
  171. endDate?: string,
  172. firstDayBeginTime?: string,
  173. timeSeries?: string
  174. },
  175. /** 深度优化 */
  176. deepConversionSpec?: {
  177. deepConversionType: string,
  178. deepConversionBehaviorSpec?: {
  179. bidAmount: number,
  180. goal: string
  181. },
  182. deepConversionWorthAdvancedSpec?: {
  183. expectedRoi: number,
  184. goal: string
  185. },
  186. deepConversionWorthSpec?: {
  187. expectedRoi: number,
  188. goal: string
  189. }
  190. },
  191. /** 启停状态 */
  192. configuredStatus?: string
  193. }
  194. export async function editAdqAdgroupsDataApi(data: EditAdqAdgroupsProps) {
  195. return request(api + `/adq/adgroups/update/batch`, {
  196. method: 'POST',
  197. data
  198. });
  199. }
  200. export async function newEditAdqAdgroupsDataApi(data: EditAdqAdgroupsProps) {
  201. return request(api + `/adq/adgroups/configStatus/update/batch`, {
  202. method: 'POST',
  203. data
  204. });
  205. }
  206. export interface CopyAdProps {
  207. adgroupIds: number[], // 广告组id列表
  208. beginDate: string,
  209. endDate: string,
  210. copyCount: number, // 复制数量
  211. firstDayBeginTime?: string
  212. timeSeries?: string
  213. }
  214. export async function copyAdAdApi(data: CopyAdProps) {
  215. return request(api + `/adq/adgroups/copy/batch`, {
  216. method: 'POST',
  217. data
  218. });
  219. }
  220. /**
  221. * 获取ADQ创意列表
  222. * @param adgroupName 广告名称
  223. * @param promotedObjectType 广告类型
  224. * @param accountId 账户ID
  225. * @param adcreativeName
  226. */
  227. export async function getAdqAdcreativeList(params: {
  228. pageNum: number;
  229. pageSize: number;
  230. accountId: string;
  231. adcreativeName?: string
  232. }) {
  233. return request(api + '/adq/adcreative/list', {
  234. method: 'POST',
  235. data: params,
  236. });
  237. }
  238. /**
  239. * 获取ADQ落地页列表
  240. * @param adgroupName 广告名称
  241. * @param promotedObjectType 广告类型
  242. * @param accountId 账户ID
  243. */
  244. export async function getAdqLandingPageList(params: {
  245. pageNum: number;
  246. pageSize: number;
  247. accountId?: number;
  248. pageName?: string;
  249. pageType?: string;
  250. pageTemplateId?: string;
  251. pageStatus?: string;
  252. }) {
  253. Object.keys(params).forEach(key => {
  254. if (!params[key]) {
  255. delete params[key]
  256. }
  257. })
  258. return request(api + '/adq/landingPageWechat/list ', {
  259. method: 'POST',
  260. data: params,
  261. });
  262. }
  263. /**
  264. * 按账号同步落地页
  265. * @param adAccountId 本地ID
  266. */
  267. export async function putAdqLandingPage(data: any) {
  268. return request(api + `/adq/landingPageWechat/sync/all`, {
  269. method: 'PUT',
  270. data
  271. });
  272. }
  273. /**
  274. * 获取ADQ定向列表
  275. * @param adgroupName 广告名称
  276. * @param promotedObjectType 广告类型
  277. * @param accountId 账户ID
  278. */
  279. export async function getAdqTargetingList(params: {
  280. pageNum: number;
  281. pageSize: number;
  282. accountId: string;
  283. pageName: string;
  284. pageType: string;
  285. pageTemplateId: string;
  286. pageStatus: string;
  287. }) {
  288. return request(api + '/adq/targeting/list ', {
  289. method: 'POST',
  290. data: params,
  291. });
  292. }
  293. /**
  294. * 按账号同步ADQ定向列表
  295. * @param adAccountId 本地ID
  296. */
  297. export async function putAdqTargetingSyncAll(data: any) {
  298. return request(api + `/adq/targeting/sync/all `, {
  299. method: 'PUT',
  300. data
  301. });
  302. }
  303. // 同步创意
  304. export async function adcreativeSyncAll(data: {
  305. accountIdList: any[]
  306. }) {
  307. return request(api + `/adq/adcreative/sync/all `, {
  308. method: 'PUT',
  309. data
  310. });
  311. }
  312. /**
  313. * 计划启停
  314. * @param adAccountId 本地ID
  315. */
  316. export async function putAdqCampaignConfigStatus(params: any) {
  317. let { accountId, campaignId, configuredStatus } = params
  318. return request(api + `/adq/campaign/configStatus/${accountId + '_' + campaignId}/${configuredStatus}`, {
  319. method: 'PUT',
  320. });
  321. }
  322. /**
  323. * 广告启停
  324. * @param adAccountId 本地ID
  325. */
  326. export async function putAdqAdgroupsConfigStatus(params: any) {
  327. let { accountId, adgroupId, configuredStatus } = params
  328. return request(api + `/adq/adgroups/configStatus/${accountId}/${adgroupId}/${configuredStatus}`, {
  329. method: 'PUT',
  330. });
  331. }
  332. /**
  333. * log
  334. * @param data
  335. * @returns
  336. */
  337. export async function getLogListApi(data: { accountId?: number, adgroupId?: number, adgroupName?: string, pageNum: number, pageSize: number }) {
  338. return request(api + `/adq/adgroups/operate/log`, {
  339. method: 'POST',
  340. data
  341. });
  342. }
  343. /**
  344. * 获取推广目标列表
  345. * */
  346. export async function getPromotedObjectList(data: { accountId?: number, promotedObjectType?: string, promotedObjectName?: string, pageNum: number, pageSize: number }) {
  347. return request(api + `/adq/promotedObject/list`, {
  348. method: 'POST',
  349. data
  350. });
  351. }
  352. /**
  353. * 同步推广目标列表
  354. * */
  355. export async function putPromotedObjectSync(data: any) {
  356. return request(api + `/adq/promotedObject/sync/all`, {
  357. method: 'PUT',
  358. data
  359. });
  360. }
  361. /**
  362. * 修改人群包
  363. * @param params
  364. * @returns
  365. */
  366. export async function getPutUserApi(params: { userId: number }) {
  367. return request(api + `/adq/adgroups/get/putUser/list`, {
  368. method: 'GET',
  369. params
  370. });
  371. }
  372. /**
  373. * 获取投手
  374. * @param data
  375. * @returns
  376. */
  377. export async function putModifyCustomAudienceApi(data: { adAccountId: number, adgroupIds: number[], customAudienceIds?: number[], excludedCustomAudienceIds?: number[] }) {
  378. return request(api + `/adq/adgroups/modifyCustomAudience`, {
  379. method: 'PUT',
  380. data
  381. });
  382. }
  383. /**获取服务商列表*/
  384. export async function getServiceProviderAll() {
  385. return request(api + `/adq/serviceProvider/all`, {
  386. method: 'GET',
  387. });
  388. }
  389. /*配置服务商*/
  390. export async function putConfigServiceProvider(data: { accountIds: any[], serviceProviderName: string }) {
  391. return request(api + `/adq/adAccount/configServiceProvider`, {
  392. method: 'PUT',
  393. data
  394. });
  395. }
  396. /**
  397. * 删除计划
  398. * @param data
  399. * @returns
  400. */
  401. export async function delCampaignIdsApi(data: { list: string }) {
  402. return request(api + `/adq/campaign/del/${data.list}`, {
  403. method: 'DELETE'
  404. });
  405. }
  406. /**
  407. * 批量修改计划状态
  408. * @param data
  409. * @returns
  410. */
  411. export async function putConfigStatusApi(data: { list: string, configuredStatus: 'AD_STATUS_NORMAL' | 'AD_STATUS_SUSPEND' }) {
  412. return request(api + `/adq/campaign/configStatus/${data.list}/${data.configuredStatus}`, {
  413. method: 'PUT'
  414. });
  415. }
  416. export interface AduserTagProps {
  417. accountId: string,
  418. adgroupId: string,
  419. tagValue: number
  420. tagRemark: string
  421. }
  422. /**
  423. * 打标记
  424. * @param data
  425. * @returns
  426. */
  427. export async function adUserTagApi(data: AduserTagProps) {
  428. return request(api + `/tencentMonitor/adUserTag/doTag`, {
  429. method: 'POST',
  430. data
  431. });
  432. }
  433. /**
  434. * 删除标记
  435. * @param data
  436. * @returns
  437. */
  438. export async function delUserTagApi(data: { accountId: string, adgroupId: string }) {
  439. return request(api + `/tencentMonitor/adUserTag/removeTag/${data.accountId}/${data.adgroupId}`, {
  440. method: 'DELETE'
  441. });
  442. }