adq.ts 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  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. /***
  10. * 无权限限制获取全部用户列表
  11. *
  12. */
  13. export async function getErpUserAll(){
  14. return request(api+`/erp/user/all`)
  15. }
  16. /**
  17. * 获取ADQ账号列表
  18. * @param adgroupName 广告名称
  19. * @param promotedObjectType 广告类型
  20. * @param accountId 账户ID
  21. * @param adgroupName 广告名称
  22. */
  23. export async function getAdqAdAccountList(params: {
  24. pageNum: number;
  25. pageSize: number;
  26. userId?: string;//用户ID
  27. accountIds?: string[];//账号本地ID
  28. }) {
  29. return request(api + '/adq/adAccount/list', {
  30. method: 'POST',
  31. data: params,
  32. });
  33. }
  34. /**
  35. * 按账号同步计划
  36. * @param adAccountId 本地ID
  37. */
  38. export async function putAdqAdAccountSyncByIds(data: any) {
  39. return request(api + `/adq/adAccount/syncByIds`, {
  40. method: 'PUT',
  41. data
  42. });
  43. }
  44. /**
  45. * 获取ADQ计划列表
  46. * @param adgroupName 广告名称
  47. * @param promotedObjectType 广告类型
  48. * @param accountId 账户ID
  49. * @param adgroupName 广告名称
  50. */
  51. export async function getAdqCampaignList(params: {
  52. pageNum: number;
  53. pageSize: number;
  54. userId?: string;//用户ID
  55. accountId?: string;//账号本地ID
  56. campaignName?: string;//计划名称
  57. configuredStatus?: string;//计划状态
  58. campaignType?: string;//计划类型
  59. promotedObjectType?: string;//推广目标类型
  60. }) {
  61. return request(api + '/adq/campaign/list', {
  62. method: 'POST',
  63. data: params,
  64. });
  65. }
  66. /**
  67. * 按账号同步计划
  68. * @param adAccountId 本地ID
  69. */
  70. export async function putAdqCampaignPage(data: any) {
  71. return request(api + `/adq/campaign/sync/all `, {
  72. method: 'PUT',
  73. data
  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: {
  99. accountIdList: any[]
  100. }) {
  101. return request(api + `/adq/adgroups/sync/all`, {
  102. method: 'PUT',
  103. data
  104. });
  105. }
  106. /**
  107. * 同步ADQ广告列表
  108. *@param adAccountId 本地ID
  109. */
  110. export async function putAdqAdgroupsSyncBatch(data: {
  111. adgroupIds: any[]
  112. }) {
  113. return request(api + `/adq/adgroups/sync/batch`, {
  114. method: 'PUT',
  115. data
  116. });
  117. }
  118. /**
  119. * 多选删除广告
  120. * @param data
  121. * @returns
  122. */
  123. export async function delListAdqAdgroupsApi(data: { adgroupIds: number[] }) {
  124. return request(api + `/adq/adgroups/delete/batch`, {
  125. method: 'POST',
  126. data
  127. });
  128. }
  129. /**
  130. * 删除广告
  131. * @param data
  132. * @returns
  133. */
  134. export async function delAdqAdgroupsApi({ adAccountId, adgroupId }: { adAccountId: number, adgroupId: number }) {
  135. return request(api + `/adq/adgroups/${adAccountId}/${adgroupId}`, {
  136. method: 'DELETE'
  137. });
  138. }
  139. export interface EditAdqAdgroupsProps {
  140. /** 广告组id列表 */
  141. adgroupIds: number[],
  142. /** 广告名称 */
  143. adgroupName?: string,
  144. /** 出价 */
  145. adgroupsUpdateBidAmountDTO?: {
  146. bidAmount: number, // 出价
  147. bidMode: string, // 出价方式
  148. bidStrategy: string,// 出价策略
  149. optimizationGoal: string, // 出价目标
  150. },
  151. /** 排期 */
  152. adgroupsUpdateDatetimeDTO?: {
  153. beginDate: string,
  154. endDate?: string,
  155. firstDayBeginTime?: string,
  156. timeSeries?: string
  157. },
  158. /** 深度优化 */
  159. deepConversionSpec?: {
  160. deepConversionType: string,
  161. deepConversionBehaviorSpec?: {
  162. bidAmount: number,
  163. goal: string
  164. },
  165. deepConversionWorthAdvancedSpec?: {
  166. expectedRoi: number,
  167. goal: string
  168. },
  169. deepConversionWorthSpec?: {
  170. expectedRoi: number,
  171. goal: string
  172. }
  173. },
  174. /** 启停状态 */
  175. configuredStatus?: string
  176. }
  177. export async function editAdqAdgroupsDataApi(data: EditAdqAdgroupsProps) {
  178. return request(api + `/adq/adgroups/update/batch`, {
  179. method: 'POST',
  180. data
  181. });
  182. }
  183. export async function newEditAdqAdgroupsDataApi(data: EditAdqAdgroupsProps) {
  184. return request(api + `/adq/adgroups/configStatus/update/batch`, {
  185. method: 'POST',
  186. data
  187. });
  188. }
  189. export interface CopyAdProps {
  190. adgroupIds: number[], // 广告组id列表
  191. beginDate: string,
  192. endDate: string,
  193. copyCount: number, // 复制数量
  194. firstDayBeginTime?: string
  195. timeSeries?: string
  196. }
  197. export async function copyAdAdApi(data: CopyAdProps) {
  198. return request(api + `/adq/adgroups/copy/batch`, {
  199. method: 'POST',
  200. data
  201. });
  202. }
  203. /**
  204. * 获取ADQ创意列表
  205. * @param adgroupName 广告名称
  206. * @param promotedObjectType 广告类型
  207. * @param accountId 账户ID
  208. * @param adcreativeName
  209. */
  210. export async function getAdqAdcreativeList(params: {
  211. pageNum: number;
  212. pageSize: number;
  213. accountId: string;
  214. adcreativeName?: string
  215. }) {
  216. return request(api + '/adq/adcreative/list', {
  217. method: 'POST',
  218. data: params,
  219. });
  220. }
  221. /**
  222. * 获取ADQ落地页列表
  223. * @param adgroupName 广告名称
  224. * @param promotedObjectType 广告类型
  225. * @param accountId 账户ID
  226. */
  227. export async function getAdqLandingPageList(params: {
  228. pageNum: number;
  229. pageSize: number;
  230. accountId: string;
  231. pageName: string;
  232. pageType: string;
  233. pageTemplateId: string;
  234. pageStatus: string;
  235. }) {
  236. return request(api + '/adq/landingPageWechat/list ', {
  237. method: 'POST',
  238. data: params,
  239. });
  240. }
  241. /**
  242. * 按账号同步落地页
  243. * @param adAccountId 本地ID
  244. */
  245. export async function putAdqLandingPage(data: any) {
  246. return request(api + `/adq/landingPageWechat/sync/all`, {
  247. method: 'PUT',
  248. data
  249. });
  250. }
  251. /**
  252. * 获取ADQ定向列表
  253. * @param adgroupName 广告名称
  254. * @param promotedObjectType 广告类型
  255. * @param accountId 账户ID
  256. */
  257. export async function getAdqTargetingList(params: {
  258. pageNum: number;
  259. pageSize: number;
  260. accountId: string;
  261. pageName: string;
  262. pageType: string;
  263. pageTemplateId: string;
  264. pageStatus: string;
  265. }) {
  266. return request(api + '/adq/targeting/list ', {
  267. method: 'POST',
  268. data: params,
  269. });
  270. }
  271. /**
  272. * 按账号同步ADQ定向列表
  273. * @param adAccountId 本地ID
  274. */
  275. export async function putAdqTargetingSyncAll(data: any) {
  276. return request(api + `/adq/targeting/sync/all `, {
  277. method: 'PUT',
  278. data
  279. });
  280. }
  281. // 同步创意
  282. export async function adcreativeSyncAll(data: {
  283. accountIdList: any[]
  284. }) {
  285. return request(api + `/adq/adcreative/sync/all `, {
  286. method: 'PUT',
  287. data
  288. });
  289. }
  290. /**
  291. * 计划启停
  292. * @param adAccountId 本地ID
  293. */
  294. export async function putAdqCampaignConfigStatus(params: any) {
  295. let { accountId, campaignId, configuredStatus } = params
  296. return request(api + `/adq/campaign/configStatus/${accountId}/${campaignId}/${configuredStatus}`, {
  297. method: 'PUT',
  298. });
  299. }
  300. /**
  301. * 广告启停
  302. * @param adAccountId 本地ID
  303. */
  304. export async function putAdqAdgroupsConfigStatus(params: any) {
  305. let { accountId, adgroupId, configuredStatus } = params
  306. return request(api + `/adq/adgroups/configStatus/${accountId}/${adgroupId}/${configuredStatus}`, {
  307. method: 'PUT',
  308. });
  309. }
  310. /**
  311. * log
  312. * @param data
  313. * @returns
  314. */
  315. export async function getLogListApi(data: { accountId?: number, adgroupId?: number, adgroupName?: string, pageNum: number, pageSize: number }) {
  316. return request(api + `/adq/adgroups/operate/log`, {
  317. method: 'POST',
  318. data
  319. });
  320. }
  321. /**
  322. * 获取推广目标列表
  323. * */
  324. export async function getPromotedObjectList(data: { accountId?: number, promotedObjectType?: string, promotedObjectName?: string, pageNum: number, pageSize: number }) {
  325. return request(api + `/adq/promotedObject/list`, {
  326. method: 'POST',
  327. data
  328. });
  329. }
  330. /**
  331. * 同步推广目标列表
  332. * */
  333. export async function putPromotedObjectSync(data: any) {
  334. return request(api + `/adq/promotedObject/sync/all`, {
  335. method: 'PUT',
  336. data
  337. });
  338. }