wjx hace 5 días
padre
commit
2cc94fb693

+ 15 - 2
src/pages/launchSystemV3/account/index.tsx

@@ -10,7 +10,7 @@ import TableData from '@/pages/launchSystemNew/components/TableData'
 import GroupLeft from './groupLeft'
 import QQAuth from './qqAuto'
 import { ExclamationCircleOutlined, MenuFoldOutlined, MenuUnfoldOutlined, PlusOutlined, SafetyOutlined, SwapOutlined } from '@ant-design/icons'
-import { getAdAccountAllOfMember, getErpUserAll, getServiceProviderAll, putConfigServiceProvider, putRefreshTokenApi } from '@/services/launchAdq/adq'
+import { getAdAccountAllOfMember, getErpUserAll, getServiceProviderAll, putConfigServiceProvider, putRefreshTokenApi, syncByAccountIdsApi } from '@/services/launchAdq/adq'
 import AddAccountToGroup from './addAccountToGroup'
 import { delAccountToGroupApi } from '@/services/launchAdq/subgroup'
 import { useModel } from 'umi'
@@ -71,6 +71,7 @@ const AdAuthorize: React.FC = () => {
     const api_getServiceProviderAll = useAjax(() => getServiceProviderAll(), { formatResult: true })
     const api_putConfigServiceProvider = useAjax((params) => putConfigServiceProvider(params), { formatResult: true })
     const putRefreshToken = useAjax((params) => putRefreshTokenApi(params), { formatResult: true })
+    const syncByAccountIds = useAjax((params) => syncByAccountIdsApi(params), { formatResult: true })
     /*************************/
 
     useEffect(() => {
@@ -168,6 +169,18 @@ const AdAuthorize: React.FC = () => {
         setPuData(data)
         setPuShow(true)
     }
+
+    // 账户下广告同步
+    const syncAccount = (data: any) => {
+        const hide = message.loading('同步中,请稍后...', 0);
+        syncByAccountIds.run(data.accountId).then(res => {
+            hide();
+             if (res?.data) {
+                message.success('同步成功')
+                getAdAccountList.refresh()
+            }
+        }).catch(() => hide())
+    }
     // 批量配置服务商
     const setServiceProviderName = (accountIds: any) => {
         api_putConfigServiceProvider.run({ accountIds, serviceProviderName: serverName.label }).then(res => {
@@ -237,7 +250,7 @@ const AdAuthorize: React.FC = () => {
                     ajax={getAdAccountList}
                     dataSource={getAdAccountList?.data?.data?.records}
                     loading={getAdAccountList?.loading}
-                    columns={() => columnsMp(edit, setOpenServer, del, checkAccount, changeRecord, putUserHandle, () => getAdAccountList.refresh(), activeKey, userInfo?.userId?.toString(), queryForm?.groupId, getAdAccountList)}
+                    columns={() => columnsMp(edit, setOpenServer, del, checkAccount, changeRecord, putUserHandle, syncAccount, () => getAdAccountList.refresh(), activeKey, userInfo?.userId?.toString(), queryForm?.groupId, getAdAccountList)}
                     total={getAdAccountList?.data?.data?.total}
                     page={getAdAccountList?.data?.data?.current}
                     pageSize={getAdAccountList?.data?.data?.size}

+ 5 - 1
src/pages/launchSystemV3/account/tableConfig.tsx

@@ -1,5 +1,5 @@
 import { FundStatusEnum } from "@/services/launchAdq/enum"
-import { EditOutlined, FileSearchOutlined, SettingOutlined, SwapOutlined, UploadOutlined, UserSwitchOutlined } from "@ant-design/icons"
+import { EditOutlined, FileSearchOutlined, SettingOutlined, SwapOutlined, SyncOutlined, UploadOutlined, UserSwitchOutlined } from "@ant-design/icons"
 import { Badge, Button, Popconfirm, Space, Tooltip } from "antd"
 import React from "react"
 import DivideIntoGroups from "./divideIntoGroups"
@@ -15,6 +15,7 @@ export function columnsMp(
     checkAccount: (value: any[]) => void,
     changeRecord: (accountId: number, id: number) => void,
     putUserHandle: (data: any) => void,
+    syncAccount: (data: any) => void,
     v3Change: () => void,
     activeKey: string,
     userId: string | undefined,
@@ -263,6 +264,9 @@ export function columnsMp(
                             <Button size="small" style={{ color: 'red' }}><UploadOutlined /></Button>
                         </Tooltip>
                     </Popconfirm>}
+                    <Tooltip title="账号下广告同步">
+                        <Button size="small" style={{ color: "red" }} onClick={() => syncAccount(b)} icon={<SyncOutlined />}></Button>
+                    </Tooltip>
                 </Space>
             }
         },

+ 11 - 0
src/services/launchAdq/adq.ts

@@ -500,6 +500,17 @@ export async function openAllV3Api(accountId: string) {
   });
 }
 
+/**
+ * 同步账号下广告
+ * @param accountIds 
+ * @returns 
+ */
+export async function syncByAccountIdsApi(accountIds: string) {
+  return request(api + `/adq/adgroup/syncByAccountIds/${accountIds}`, {
+    method: 'PUT'
+  });
+}
+
 /**
  * 广告业务单元广告主账号全量转3.0
  * @param accountId