浏览代码

群任务列表添加获取拉群预估人数逻辑

shenwu 1 周之前
父节点
当前提交
3dd1306a1e
共有 2 个文件被更改,包括 71 次插入4 次删除
  1. 13 1
      src/pages/weComTask/API/groupChat/index.ts
  2. 58 3
      src/pages/weComTask/page/groupChat/create/index.tsx

+ 13 - 1
src/pages/weComTask/API/groupChat/index.ts

@@ -186,4 +186,16 @@ export async function cancelProjectApi(data: { projectIds: number[], pause: bool
 //         url: api + `/corpOperation/corp/create/project/selectById/${projectId}`,
 //         method: 'POST',
 //     });
-// }
+// }
+
+/**
+ * 获取拉群预估人数
+ * */ 
+
+export async function getPullGroupEstimateNumApi(data: any) {
+    return request({
+        url: api + `/corpOperation/corpPullGroupTask/task/create/predictUser/count`,
+        method: 'POST',
+        data
+    });
+}

+ 58 - 3
src/pages/weComTask/page/groupChat/create/index.tsx

@@ -16,7 +16,7 @@ import { getBindMpListApi } from '@/pages/weComTask/API/corpUserAssign';
 import { getCorpAllListApi } from '@/API/global';
 import { removeEmptyValues } from '@/utils/utils';
 import SubmitModal from '../../businessPlan/create/submitModal';
-import { addPullGroupTaskApi, getCreateDetailsApi, updateGroupTaskApi } from '@/pages/weComTask/API/groupChat';
+import { addPullGroupTaskApi, getCreateDetailsApi, getPullGroupEstimateNumApi, updateGroupTaskApi } from '@/pages/weComTask/API/groupChat';
 import { useNavigate } from 'react-router-dom';
 import { getPullGroupData } from './const';
 import SelectGroupLeader from '../../groupLeaderManage/selectGroupLeader';
@@ -49,6 +49,7 @@ const GroupChatCreate: React.FC<{ weComTaskStore: { data: { bookList: TASK_CREAT
     const addPullGroupTask = useAjax((params) => addPullGroupTaskApi(params))
     const updateGroupTask = useAjax((params) => updateGroupTaskApi(params))
     const getCreateDetails = useAjax((params) => getCreateDetailsApi(params))
+    const getPullGroupEstimateNum = useAjax((params) => getPullGroupEstimateNumApi(params))
     /***********************************************/
     console.log('settings--->', settings)
 
@@ -172,7 +173,7 @@ const GroupChatCreate: React.FC<{ weComTaskStore: { data: { bookList: TASK_CREAT
             })
             return pre
         }, [])
-
+        console.log('dto-->', dto)
         let id = 1
         const list = corpUsers.reduce((pre, corpUser) => {
             return pre.concat(dto.map(item => {
@@ -191,6 +192,7 @@ const GroupChatCreate: React.FC<{ weComTaskStore: { data: { bookList: TASK_CREAT
         console.log('==================>', list)
         setPreviewData(list)
         setPreviewDataOld(list)
+        getPullGroupEstimateNumFn()
     }
 
     // 重置表格
@@ -218,6 +220,59 @@ const GroupChatCreate: React.FC<{ weComTaskStore: { data: { bookList: TASK_CREAT
         }
     }, [previewDataOld, previewData])
 
+    //获取拉群预估人数
+    const getPullGroupEstimateNumFn = useCallback(() => {
+        //获取form数据
+        const { bizType, platform, templateProductId, corpUsers, corpUserChat, robotCorpUsers, strategyDTO } = settings
+        const params: { [x: string]: any } = {
+            bizType,
+            platform,
+            templateProductId,
+            corpChatUserIds: corpUserChat.map(item => item.value),
+            corpRobots: robotCorpUsers?.map(item => ({
+                corpId: item.corpId,
+                corpUserId: item.corpUserId,
+                corpUserName: item.name,
+                corpName: item.corpName
+            })),
+            corpUsers: corpUsers.map(item => ({
+                corpId: item.corpId,
+                corpUserId: item.corpUserId,
+                corpUserName: item.name,
+                corpName: item.corpName
+            })),
+            strategyList: strategyDTO.strategyList.map(({ groupObjectList, ...item }) => {
+                return {
+                    ...item,
+                    taskDetail: groupObjectList.map(go => {
+
+                        const { externalUserType, externalUserFilter, groupObjectName, tagDTO, weChatAppid, ...itgo } = go
+                        const detail = {
+                            ...itgo,
+                            groupName: groupObjectName,
+                            msgTagDTO: tagDTO
+                        }
+                        if (externalUserType === 'specify') {
+                            detail.externalUserFilter = {
+                                configName: externalUserFilter.configName,
+                                ...externalUserFilter.configContent
+                            }
+                        }
+                        if (weChatAppid) {
+                            detail.mpAccountId = weChatAppid.split('_')[1]
+                        }
+                        return detail
+                    })
+                }
+            })
+        }
+        console.log('getPullGroupEstimateNumApi--->', params)
+        getPullGroupEstimateNum.run(params).then(res => {
+            console.log('getPullGroupEstimateNumApi--->', res)
+        })
+    }, [settings])
+
+    //提交任务
     const onSubmit = (values: any) => {
         const { bizType, platform, templateProductId, corpUsers, corpUserChat, robotCorpUsers, strategyDTO } = settings
         console.log('--->', values)
@@ -306,7 +361,7 @@ const GroupChatCreate: React.FC<{ weComTaskStore: { data: { bookList: TASK_CREAT
                 <Space wrap>
                     <Space.Compact>
                         <Button>群主号</Button>
-                        <SelectGroupLeader 
+                        <SelectGroupLeader
                             value={settings?.corpUserChat}
                             onChange={(corpUserChat) => {
                                 setSettings({ ...settings, corpUserChat: corpUserChat, corpUsers: undefined, robotCorpUsers: undefined })