From ea99caed5d6eb9ee93256f8bee0ebefeebdeb40e Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 14 八月 2025 17:10:54 +0800
Subject: [PATCH] feat: 接口对接

---
 packages/services/apiV2/index.ts                                 |    4 
 apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue |    5 
 apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue |    3 
 packages/services/apiV2/enterpriseEmployee.ts                    |   19 ++-
 packages/services/apiV2/task.ts                                  |   15 +++
 packages/services/apiV2/typings.d.ts                             |  128 +++++++++++++++++++++++++
 apps/cMiniApp/src/pages/task/InnerPage.vue                       |    2 
 packages/services/apiV2/taskUser.ts                              |   15 +++
 packages/services/apiV2/userResume.ts                            |   15 +++
 apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue |   40 ++++++-
 packages/services/apiV2/user.ts                                  |   18 +++
 packages/hooks/task.ts                                           |    2 
 12 files changed, 244 insertions(+), 22 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
index 0bcc458..f9e1391 100644
--- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -74,7 +74,10 @@
       url: `${RouterPath.taskCheckedDetail}?id=${item.id}`,
     });
   }
-  if (item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive) {
+  if (
+    item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive ||
+    item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitSubmit
+  ) {
     Taro.navigateTo({
       url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}`,
     });
diff --git a/apps/cMiniApp/src/pages/task/InnerPage.vue b/apps/cMiniApp/src/pages/task/InnerPage.vue
index a022624..842cac1 100644
--- a/apps/cMiniApp/src/pages/task/InnerPage.vue
+++ b/apps/cMiniApp/src/pages/task/InnerPage.vue
@@ -48,7 +48,7 @@
 function goSubmitTaskDetail(item: API.GetCheckReceiveTasksQueryResultItem) {
   if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitSubmit) {
     Taro.navigateTo({
-      url: `${RouterPath.taskSubmitCheck}?id=${item.id}`,
+      url: `${RouterPath.taskSubmitCheck}?id=${item.id}&date=${queryState.date}`,
     });
   }
   if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed) {
diff --git a/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
index 7c1f311..0d5db2f 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
@@ -30,17 +30,34 @@
 
 <script setup lang="ts">
 import { TaskCard } from '@12333/components';
-import { useUserStore } from '@/stores/modules/user';
-import { useTaskList } from '@12333/hooks';
+import * as taskServices from '@12333/services/apiV2/task';
+import * as taskUserServices from '@12333/services/apiV2/taskUser';
+import { useInfiniteLoading, useTaskList } from '@12333/hooks';
 import Taro from '@tarojs/taro';
+import { Message } from '@12333/utils';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const { infiniteLoadingProps } = useTaskList({
-  defaultQueryMenuState: {},
-});
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
+  ({ pageParam }) => {
+    let params: API.GetTaskInfosQuery = {
+      pageModel: {
+        rows: 20,
+        page: pageParam,
+      },
+      isCollected: true,
+    };
+
+    return taskServices.getTaskInfos(params, {
+      showLoading: false,
+    });
+  },
+  {
+    queryKey: ['taskServices/getTaskInfos'],
+  }
+);
 
 function goTaskDetail(id: string) {
   Taro.navigateTo({
@@ -48,7 +65,18 @@
   });
 }
 
-function clearExpiredTask() {}
+async function clearExpiredTask() {
+  try {
+    await Message.confirm({
+      message: '纭畾瑕佹竻绌哄凡澶辨晥浠诲姟鍚楋紵',
+    });
+    let res = await taskUserServices.clearTaskCollect({});
+    if (res) {
+      Message.success('娓呯┖鎴愬姛');
+      invalidateQueries();
+    }
+  } catch (error) {}
+}
 </script>
 
 <style lang="scss">
diff --git a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
index bc40ba1..f4853a2 100644
--- a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
@@ -25,6 +25,7 @@
 import Taro from '@tarojs/taro';
 import { goBack } from '@/utils';
 import { useQueryClient } from '@tanstack/vue-query';
+import dayjs from 'dayjs';
 
 defineOptions({
   name: 'InnerPage',
@@ -32,6 +33,7 @@
 
 const route = Taro.useRouter();
 const id = route.params?.id as string;
+const date = route.params?.date as string;
 const queryClient = useQueryClient();
 
 const form = reactive({
@@ -57,6 +59,7 @@
   try {
     let params: API.SubmitCheckReceiveTaskCommand = {
       taskInfoId: id,
+      date: dayjs(date).format('YYYY-MM-DD'),
       files: form.files.map((x) => x.path),
     };
     let res = await taskCheckReceiveServices.submitCheckReceiveTask(params);
diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index 474681a..a29fbb1 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -161,7 +161,7 @@
           rows: 20,
           page: pageParam,
         },
-        taskInfoId: id,
+        id: id,
       };
 
       return taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params, {
diff --git a/packages/services/apiV2/enterpriseEmployee.ts b/packages/services/apiV2/enterpriseEmployee.ts
index cb2c49a..dfe7822 100644
--- a/packages/services/apiV2/enterpriseEmployee.ts
+++ b/packages/services/apiV2/enterpriseEmployee.ts
@@ -58,12 +58,15 @@
   body: API.ImportEnterpriseEmployeesCommand,
   options?: API.RequestConfig
 ) {
-  return request<number>('/api/user/enterpriseEmployee/importEnterpriseEmployees', {
-    method: 'POST',
-    headers: {
-      'Content-Type': 'application/json-patch+json',
-    },
-    data: body,
-    ...(options || {}),
-  });
+  return request<API.ImportEnterpriseEmployeesCommandResult>(
+    '/api/user/enterpriseEmployee/importEnterpriseEmployees',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
 }
diff --git a/packages/services/apiV2/index.ts b/packages/services/apiV2/index.ts
index 679903f..9cabf40 100644
--- a/packages/services/apiV2/index.ts
+++ b/packages/services/apiV2/index.ts
@@ -7,10 +7,10 @@
 import * as role from './role';
 import * as enterprise from './enterprise';
 import * as task from './task';
-import * as taskCheckReceive from './taskCheckReceive';
 import * as dictionary from './dictionary';
 import * as userResume from './userResume';
 import * as auth from './auth';
+import * as taskCheckReceive from './taskCheckReceive';
 import * as resource from './resource';
 import * as taskUser from './taskUser';
 import * as menu from './menu';
@@ -20,10 +20,10 @@
   role,
   enterprise,
   task,
-  taskCheckReceive,
   dictionary,
   userResume,
   auth,
+  taskCheckReceive,
   resource,
   taskUser,
   menu,
diff --git a/packages/services/apiV2/task.ts b/packages/services/apiV2/task.ts
index 9488ff3..8f85a31 100644
--- a/packages/services/apiV2/task.ts
+++ b/packages/services/apiV2/task.ts
@@ -2,6 +2,21 @@
 // @ts-ignore
 import { request } from '@/utils/request';
 
+/** 鎸夋棩鏈熶慨璁换鍔$姸鎬� POST /api/flexjob/task/autoTaskStatusByDate */
+export async function autoTaskStatusByDate(
+  body: API.AutoTaskStatusByDateCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/flexjob/task/autoTaskStatusByDate', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鍒犻櫎浠诲姟 DELETE /api/flexjob/task/deleteTaskInfo */
 export async function deleteTaskInfo(body: API.DeleteTaskInfoCommand, options?: API.RequestConfig) {
   return request<number>('/api/flexjob/task/deleteTaskInfo', {
diff --git a/packages/services/apiV2/taskUser.ts b/packages/services/apiV2/taskUser.ts
index a23742d..0edd5de 100644
--- a/packages/services/apiV2/taskUser.ts
+++ b/packages/services/apiV2/taskUser.ts
@@ -14,6 +14,21 @@
   });
 }
 
+/** 娓呯┖宸插仠姝㈢殑浠诲姟鏀惰棌 DELETE /api/flexjob/taskUser/clearTaskCollect */
+export async function clearTaskCollect(
+  body: API.ClearTaskCollectCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/flexjob/taskUser/clearTaskCollect', {
+    method: 'DELETE',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鏀惰棌浠诲姟 POST /api/flexjob/taskUser/collectTask */
 export async function collectTask(body: API.CollectTaskCommand, options?: API.RequestConfig) {
   return request<number>('/api/flexjob/taskUser/collectTask', {
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 2fd750a..e2b61f5 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -189,6 +189,8 @@
     ids?: string[];
   }
 
+  type AutoTaskStatusByDateCommand = Record<string, any>;
+
   interface BindWxmpUserInfoCommand {
     /** 璁块棶浠ょ墝 */
     accessToken: string;
@@ -212,6 +214,8 @@
     id?: string;
     checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
   }
+
+  type ClearTaskCollectCommand = Record<string, any>;
 
   interface CollectTaskCommand {
     /** 浠诲姟Id */
@@ -254,11 +258,11 @@
 
   interface EditEnterpriseEmployeeCommand {
     /** 濮撳悕 */
-    name?: string;
+    name: string;
     /** 韬唤璇佸彿 */
-    identity?: string;
+    identity: string;
     /** 鎵嬫満鍙� */
-    contactPhoneNumber?: string;
+    contactPhoneNumber: string;
     gender?: EnumUserGender;
     /** 骞撮緞 */
     age?: number;
@@ -848,6 +852,24 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultGetPersonalUserInfoSignContractsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetPersonalUserInfoSignContractsQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultGetPersonalUserInfosQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -1091,6 +1113,24 @@
     errorCode?: string;
     /** 鏁版嵁 */
     data?: string;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultImportEnterpriseEmployeesCommandResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: ImportEnterpriseEmployeesCommandResult;
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -1900,6 +1940,7 @@
     avatar?: string;
     /** 濮撳悕 */
     name?: string;
+    gender?: EnumUserGender;
     /** 浼佷笟鍏ㄧО */
     enterpriseName?: string;
     /** 瑙掕壊 */
@@ -2128,6 +2169,27 @@
     pageModel?: PagedListQueryPageModel;
   }
 
+  interface GetOpenUserResumesQuery {
+    /** 浠诲姟Id */
+    taskInfoId?: string;
+    /** 鏈熸湜宀椾綅缂栧彿 */
+    userExpectJobs?: string[];
+    gender?: EnumUserGender;
+    /** 韬唤缂栧彿 */
+    personalIdentityCode?: string;
+    /** 骞撮緞鑼冨洿鏈�灏� */
+    ageMin?: number;
+    /** 骞撮緞鑼冨洿澶� */
+    ageMax?: number;
+    /** 璧勬牸璇佷功缂栧彿 */
+    userCredentials?: string[];
+    /** 鏄惁宸叉敹钘� */
+    isCollected?: boolean;
+    /** 鏄惁宸茶仈绯� */
+    isContacted?: boolean;
+    pageModel?: PagedListQueryPageModel;
+  }
+
   interface GetOperationUserInfosQuery {
     /** 鍏抽敭瀛� */
     keywords?: string;
@@ -2267,6 +2329,8 @@
   interface GetPersonalLoginInfoQueryResult {
     /** Id */
     id?: string;
+    /** 澶村儚 */
+    avatar?: string;
     /** 濮撳悕 */
     name?: string;
     /** 鏄惁瀹炲悕 */
@@ -2278,6 +2342,36 @@
     hirePassTaskCount?: number;
     /** 宸插彇娑� */
     hireRefuseTaskCount?: number;
+  }
+
+  interface GetPersonalUserInfoSignContractsQuery {
+    /** 鐢ㄦ埛Id */
+    id?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetPersonalUserInfoSignContractsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetPersonalUserInfoSignContractsQueryResultItem[];
+  }
+
+  interface GetPersonalUserInfoSignContractsQueryResultItem {
+    /** 鐏靛伐Id */
+    id?: string;
+    /** 鎵�灞炲晢鎴� */
+    enterpriseName?: string;
+    /** 鎶ュ悕鏃堕棿 */
+    applyTime?: string;
+    hireStatus?: EnumTaskUserHireStatus;
+    /** 褰曠敤鏃堕棿 */
+    hireTime?: string;
+    userSignContractStatus?: EnumTaskUserSignContractStatus;
+    enterpriseSignContractStatus?: EnumTaskUserSignContractStatus;
+    /** 浼佷笟绛剧害鏃堕棿 */
+    enterpriseSignContractTime?: string;
+    /** 鐢靛瓙鍚堝悓 */
+    contractUrl?: string;
   }
 
   interface GetPersonalUserInfosQuery {
@@ -2311,6 +2405,10 @@
     contactPhoneNumber?: string;
     /** 韬唤璇佸彿 */
     identity?: string;
+    /** 韬唤璇佷汉鍍忛潰 */
+    identityImg?: string;
+    /** 韬唤璇佸浗寰介潰 */
+    identityBackImg?: string;
     gender?: EnumUserGender;
     /** 骞撮緞 */
     age?: number;
@@ -2939,6 +3037,28 @@
     excelUrl?: string;
   }
 
+  interface ImportEnterpriseEmployeesCommandResult {
+    /** 鎬绘暟 */
+    totalCount?: number;
+    /** 鎴愬姛鏁伴噺 */
+    successCount?: number;
+    /** 澶辫触鏁伴噺 */
+    failCount?: number;
+    /** 閿欒淇℃伅 */
+    errors?: ImportEnterpriseEmployeesCommandResultError[];
+  }
+
+  interface ImportEnterpriseEmployeesCommandResultError {
+    /** 閿欒淇℃伅 */
+    errorMessage?: string;
+    /** 濮撳悕 */
+    name?: string;
+    /** 鎵嬫満鍙� */
+    contactPhoneNumber?: string;
+    /** 韬唤璇佸彿 */
+    identity?: string;
+  }
+
   interface LoginCommandCallback {
     /** 鐢ㄦ埛Id */
     id?: string;
@@ -3465,6 +3585,8 @@
   interface SubmitCheckReceiveTaskCommand {
     /** 浠诲姟Id */
     taskInfoId?: string;
+    /** 鏃ユ湡 */
+    date?: string;
     /** 闄勪欢 */
     files?: string[];
   }
diff --git a/packages/services/apiV2/user.ts b/packages/services/apiV2/user.ts
index 7e0df87..83fdcbf 100644
--- a/packages/services/apiV2/user.ts
+++ b/packages/services/apiV2/user.ts
@@ -35,6 +35,24 @@
   });
 }
 
+/** 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹� POST /api/user/user/getPersonalUserInfoSignContracts */
+export async function getPersonalUserInfoSignContracts(
+  body: API.GetPersonalUserInfoSignContractsQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetPersonalUserInfoSignContractsQueryResult>(
+    '/api/user/user/getPersonalUserInfoSignContracts',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
 /** 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃 GET /api/user/user/getUserInfoRoles */
 export async function getUserInfoRoles(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/packages/services/apiV2/userResume.ts b/packages/services/apiV2/userResume.ts
index 8edd703..2557cb6 100644
--- a/packages/services/apiV2/userResume.ts
+++ b/packages/services/apiV2/userResume.ts
@@ -47,6 +47,21 @@
   });
 }
 
+/** 鏌ヨ寮�鏀剧畝鍘嗗垎椤靛垪琛ㄦ暟鎹� POST /api/user/userResume/getOpenUserResumes */
+export async function getOpenUserResumes(
+  body: API.GetOpenUserResumesQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetUserResumesQueryResult>('/api/user/userResume/getOpenUserResumes', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鏌ヨ鐢ㄦ埛绠�鍘� GET /api/user/userResume/getUserResume */
 export async function getUserResume(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)

--
Gitblit v1.9.1