adMonitor.ts 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. import { api } from '../api'
  2. import { request } from 'umi'
  3. export interface ListType {
  4. // startTime?: string,
  5. // endTime?: string,
  6. timeUnit?: 'minute' | 'hour' | 'day',//时间维度
  7. adgroup?: any,//广告ID
  8. campaign?: any,//计划ID
  9. accountId?: any,//广告账户
  10. sysUserId?: any,//投手
  11. pageNum?: number,//页数
  12. pageSize?: number//条数
  13. sortField?: string, // "排序字段"
  14. sort?: 'ASC' | 'DESC' // 排序方式
  15. }
  16. /** 获取起量广告列表总表 */
  17. export async function getPlanListApi(params: ListType) {
  18. Object.keys(params).forEach(key => {
  19. if (!params[key]) {
  20. delete params[key]
  21. }
  22. })
  23. return request(`${api}/tencentMonitor/adControl/up/ad/list`, {
  24. method: 'POST',
  25. data: params
  26. })
  27. }
  28. /** 获取起量广告列表明细 */
  29. export async function getDetailListApi(params: ListType) {
  30. Object.keys(params).forEach(key => {
  31. if (!params[key]) {
  32. delete params[key]
  33. }
  34. })
  35. return request(`${api}/tencentMonitor/adControl/up/ad/detail/list`, {
  36. method: 'POST',
  37. data: params
  38. })
  39. }
  40. /** 获取起量广告列表5min */
  41. export async function getMinuteListApi(params: ListType) {
  42. Object.keys(params).forEach(key => {
  43. if (!params[key]) {
  44. delete params[key]
  45. }
  46. })
  47. return request(`${api}/tencentMonitor/adControl/up/ad/detail/list/minute`, {
  48. method: 'POST',
  49. data: params
  50. })
  51. }
  52. /** 获取今日计划总消耗图谱 折线图 */
  53. export async function getTotalCostApi(params: ListType) {
  54. Object.keys(params).forEach(key => {
  55. if (!params[key]) {
  56. delete params[key]
  57. }
  58. })
  59. return request(`${api}/tencentMonitor/adControl/total/cost/list`, {
  60. method: 'GET',
  61. params
  62. })
  63. }
  64. /** 获取计划消耗图谱 z柱状图 */
  65. export async function getPlanCostApi(params: ListType) {
  66. Object.keys(params).forEach(key => {
  67. if (!params[key]) {
  68. delete params[key]
  69. }
  70. })
  71. return request(`${api}/tencentMonitor/adControl/ad/cost/list`, {
  72. method: 'GET',
  73. params
  74. })
  75. }
  76. /** 获取消耗速度详情(弹窗) */
  77. export async function getCostSpeedApi(params: ListType) {
  78. Object.keys(params).forEach(key => {
  79. if (!params[key]) {
  80. delete params[key]
  81. }
  82. })
  83. return request(`${api}/tencentMonitor/adControl/cost/speed/info`, {
  84. method: 'POST',
  85. data: params
  86. })
  87. }
  88. /** 获取组员 */
  89. export async function getUserGroupApi() {
  90. return request(`${api}/erp/userGroup/memberUser/`, {
  91. method: 'GET'
  92. })
  93. }
  94. export interface allPlanProps {
  95. pageNum?: number,
  96. pageSize?: number,
  97. adSeat?: any[],// 广告位置 1 : 朋友圈信息流, 2 : 公众号文章底部, 3 : 公众号文中广告, 4 : 公众号文章视频贴片, 5 : 小程序banner广告, 6 : 激励式广告
  98. createStartTime?: string, // 创建开始时间
  99. createEndTime?: string, // 创建结束时间
  100. adgroup?: string, // 广告ID & 广告名称
  101. creativeIdOrName?: string, // 创意ID & 创意名称
  102. creativeStatus?: 1 | 2 | 3, // 创意状态, 0或者null : 全部, 1 : 审核通过, 2 : 审核中, 3 : 未通过
  103. dataStartTime?: string, // 数据结束日期(格式 : yyyy-MM-dd)
  104. dataEndTime?: string, // 数据结束日期(格式 : yyyy-MM-dd)
  105. followStatus?: 1 | 2, // 关注状态, 0或者null : 全部, 1 : 已关注, 2 : 未关注
  106. mainBookList?: any[], // 主投书籍列表
  107. accountId?: any, // 投放计划数据源, 账号
  108. sysUserId?: any, // 投手id列表
  109. campaign?: string, // 计划id或者计划名称
  110. adStatus?: number, // 计划状态, 0或者null : 全部, 1 : 投放中, …依次递增
  111. sortField?: string, // "排序字段"
  112. sort?: 'ASC' | 'DESC', // 排序方式
  113. }
  114. /** 计划列表 */
  115. export async function getAllPlanListApi(data: allPlanProps) {
  116. Object.keys(data).forEach(key => {
  117. if (!data[key]) {
  118. delete data[key]
  119. }
  120. })
  121. return request(`${api}/tencentMonitor/adControl/all/ad/list`, {
  122. method: 'POST',
  123. data
  124. })
  125. }
  126. /** 获取所有书籍 */
  127. export async function getBookListAllApi() {
  128. return request(`${api}/erp/book/all`, {
  129. method: 'GET'
  130. })
  131. }
  132. /** 下载 */
  133. /** 下载起量广告总表 */
  134. export async function downLoadUpAdApi(params: ListType) {
  135. return request(`${api}/tencentMonitor/adExcel/up/ad/list`, {
  136. method: 'POST',
  137. data: params,
  138. responseType: 'blob'
  139. })
  140. }
  141. /** 下载单个广告明细表(小时) */
  142. export async function downLoadDetailApi(params: ListType) {
  143. return request(`${api}/tencentMonitor/adExcel/up/ad/detail/list`, {
  144. method: 'POST',
  145. data: params,
  146. responseType: 'blob'
  147. })
  148. }
  149. /** 下载单个广告明细表(5分钟) */
  150. export async function downLoadDetailMinuteApi(params: ListType) {
  151. return request(`${api}/tencentMonitor/adExcel/up/ad/detail/list/minute`, {
  152. method: 'POST',
  153. data: params,
  154. responseType: 'blob'
  155. })
  156. }
  157. /** 下载消耗速度详情(弹窗) */
  158. export async function downLoadSpeedApi(params: ListType) {
  159. return request(`${api}/tencentMonitor/adExcel/cost/speed/info`, {
  160. method: 'POST',
  161. data: params,
  162. responseType: 'blob'
  163. })
  164. }
  165. /** 下载计划列表 */
  166. export async function downLoadAllAdListApi(data: allPlanProps) {
  167. Object.keys(data).forEach(key => {
  168. if (!data[key]) {
  169. delete data[key]
  170. }
  171. })
  172. return request(`${api}/tencentMonitor/adExcel/all/ad/list`, {
  173. method: 'POST',
  174. data,
  175. responseType: 'blob'
  176. })
  177. }
  178. // 监控数据源
  179. // 查询分组
  180. export async function getAdGroupListApi() {
  181. return request(`${api}/tencentMonitor/adGroup/list`, {
  182. method: 'GET'
  183. })
  184. }
  185. // 查询分组
  186. export async function addEditGroupApi(data: { groupName: string, id?: number, remark?: string }) {
  187. return request(`${api}/tencentMonitor/adGroup/add/or/update`, {
  188. method: 'POST',
  189. data
  190. })
  191. }
  192. // 删除分组
  193. export async function deleteAdGroupApi(params: { id: number }) {
  194. return request(`${api}/tencentMonitor/adGroup/delete`, {
  195. method: 'DELETE',
  196. params
  197. })
  198. }
  199. // 分组账号查询
  200. export interface AccountListProps {
  201. // beginDate?: string,
  202. // endDate?: string,
  203. groupId?: number,
  204. mpAppIdList?: string[],
  205. pitcherIdList?: string[],
  206. pageNum: number,
  207. pageSize: number
  208. }
  209. export async function getAccountListApi(data: AccountListProps) {
  210. Object.keys(data).forEach(key => {
  211. if (!data[key]) {
  212. delete data[key]
  213. }
  214. })
  215. return request(`${api}/tencentMonitor/adGroup/accountList`, {
  216. method: 'POST',
  217. data
  218. })
  219. }
  220. // 账号绑定或者解绑分组
  221. export async function addDelAccountApi(data: { accountIdList: number[], groupId: number, type: 0 | 1 }) {
  222. return request(`${api}/tencentMonitor/adGroup/account/update`, {
  223. method: 'POST',
  224. data
  225. })
  226. }
  227. /**
  228. * 获取广告账户
  229. * @returns
  230. */
  231. export async function getAdqAccountListApi() {
  232. return request(`${api}/adq/adAccount/allOfUser`, {
  233. method: 'Get'
  234. })
  235. }