Bläddra i källkod

定时任务cron表达式非必填,默认告警配置调整

weijianghai 3 veckor sedan
förälder
incheckning
83e5b2691b

+ 1 - 1
src/constants/rules.ts

@@ -27,7 +27,7 @@ export const userIdList = {
 /** cron表达式校验 */
 export const validCron = {
   validator: (rule: RuleObject, value: StoreValue) => {
-    if (isValidCronExpression(value)) {
+    if (!value || isValidCronExpression(value)) {
       return Promise.resolve();
     }
     return Promise.reject('cron表达式错误');

+ 16 - 3
src/pages/AlertConfig/index.tsx

@@ -1,8 +1,10 @@
-import {ProCard, ProForm, ProFormText} from "@ant-design/pro-components";
+import {ProCard, ProForm, ProFormSelect, ProFormText} from "@ant-design/pro-components";
 import {isEmpty} from "lodash-es";
 import {getAlertConfig, updateAlertConfig} from "@/services/api/alertConfig";
 import {App} from "antd";
 import {phoneList, userIdList} from "@/constants/rules";
+import React from "react";
+import {getRobotOptions} from "@/services/api/robot";
 
 /** 告警配置页面 */
 export default () => {
@@ -25,8 +27,19 @@ export default () => {
   return (
     <ProCard layout="center">
       <ProForm size="large" onFinish={onFinish} request={getData}>
-        <ProFormText name="robotCode" label="机器人编码" width={800} />
-        <ProFormText name="robotSecret" label="机器人密钥" width={800} />
+        <ProFormSelect
+          name="robotCode"
+          label="机器人"
+          showSearch
+          debounceTime={1000}
+          // @ts-ignore
+          request={async ({ keyWords = '' }) => {
+            const res = await getRobotOptions({});
+            return res?.data?.filter(({ value, label }) => {
+              return value?.includes(keyWords) || label?.includes(keyWords);
+            });
+          }}
+        />
         <ProFormText name="openConversationId" label="群id" width={800} />
         <ProFormText name="phones" label="手机号列表" width={800} rules={[phoneList]} />
         <ProFormText name="userIds" label="userId列表" width={800} rules={[userIdList]} />

+ 2 - 4
src/pages/AppManage/components/AddAppTask/index.tsx

@@ -19,6 +19,7 @@ import {
 } from '@/constants/enums';
 import { getAppRobotOptions } from '@/services/api/appRobot';
 import { getAppSftpOptions } from '@/services/api/appSftp';
+import {getRobotOptions} from "@/services/api/robot";
 
 /** 添加修改应用任务组件 */
 const UpdateAppTask: React.FC<{
@@ -78,9 +79,6 @@ const UpdateAppTask: React.FC<{
         label="cron表达式"
         initialValue={record?.cron}
         rules={[
-          {
-            required: true,
-          },
           validCron,
         ]}
       />
@@ -356,7 +354,7 @@ const UpdateAppTask: React.FC<{
                   debounceTime={1000}
                   // @ts-ignore
                   request={async ({ keyWords = '' }) => {
-                    const res = await getAppRobotOptions({ appId });
+                    const res = await getRobotOptions();
                     return res?.data?.filter(({ value, label }) => {
                       return value?.includes(keyWords) || label?.includes(keyWords);
                     });

+ 1 - 1
src/services/api/alertConfig.ts

@@ -4,7 +4,7 @@ import { request } from '@umijs/max';
 
 /** 获取默认告警配置 POST /api/alertConfig/getAlertConfig */
 export async function getAlertConfig(options?: { [key: string]: any }) {
-  return request<API.RAlertConfigPo>('/api/alertConfig/getAlertConfig', {
+  return request<API.RGetAlertConfigVo>('/api/alertConfig/getAlertConfig', {
     method: 'POST',
     ...(options || {}),
   });

+ 8 - 0
src/services/api/robot.ts

@@ -26,6 +26,14 @@ export async function deleteRobot(body: API.DeleteRobotDto, options?: { [key: st
   });
 }
 
+/** 查询机器人选项 POST /api/robot/getRobotOptions */
+export async function getRobotOptions(options?: { [key: string]: any }) {
+  return request<API.RListGetRobotOptionsVo>('/api/robot/getRobotOptions', {
+    method: 'POST',
+    ...(options || {}),
+  });
+}
+
 /** 查询机器人列表 POST /api/robot/listRobot */
 export async function listRobot(body: API.ListRobotDto, options?: { [key: string]: any }) {
   return request<API.RPageVoListRobotVo>('/api/robot/listRobot', {

+ 51 - 30
src/services/api/typings.d.ts

@@ -49,7 +49,7 @@ declare namespace API {
     /** 任务描述 */
     description?: string;
     /** cron表达式 */
-    cron: string;
+    cron?: string;
     /** 机器人编码 */
     robotCode: string;
     /** 会话类型:1:单聊,2:群聊 */
@@ -114,22 +114,6 @@ declare namespace API {
   type AlertConfigDto = {
     /** 机器人编码 */
     robotCode?: string;
-    /** 机器人密钥 */
-    robotSecret?: string;
-    /** 群id */
-    openConversationId?: string;
-    /** 接收机器人消息的用户的手机号列表 */
-    phones?: string;
-    /** 接收机器人消息的用户的userId列表 */
-    userIds?: string;
-  };
-
-  type AlertConfigPo = {
-    id?: number;
-    /** 机器人编码 */
-    robotCode?: string;
-    /** 机器人密钥 */
-    robotSecret?: string;
     /** 群id */
     openConversationId?: string;
     /** 接收机器人消息的用户的手机号列表 */
@@ -293,6 +277,23 @@ declare namespace API {
     taskId: string;
   };
 
+  type GetAlertConfigVo = {
+    /** id */
+    id?: number;
+    /** 机器人编码 */
+    robotCode?: string;
+    /** 机器人名称 */
+    robotName?: string;
+    /** 机器人密钥 */
+    robotSecret?: string;
+    /** 群id */
+    openConversationId?: string;
+    /** 接收机器人消息的用户的手机号列表 */
+    phones?: string;
+    /** 接收机器人消息的用户的userId列表 */
+    userIds?: string;
+  };
+
   type GetAppRobotOptionsDto = {
     /** 应用编码 */
     appId: string;
@@ -317,6 +318,13 @@ declare namespace API {
     label?: string;
   };
 
+  type GetRobotOptionsVo = {
+    /** 机器人编码 */
+    value?: string;
+    /** 机器人名称 */
+    label?: string;
+  };
+
   type GetUserIdByMobileDto = {
     /** 机器人的编码 */
     robotCode: string;
@@ -765,18 +773,6 @@ declare namespace API {
     list?: ListRobotVo[];
   };
 
-  type RAlertConfigPo = {
-    /** 是否成功 */
-    success?: boolean;
-    /** 错误码 */
-    code?: number;
-    /** 提示信息 */
-    message?: string;
-    data?: AlertConfigPo;
-    /** 请求跟踪id */
-    traceId?: string;
-  };
-
   type RBatchRecallOtoMessagesVo = {
     /** 是否成功 */
     success?: boolean;
@@ -822,6 +818,18 @@ declare namespace API {
     appId: string;
   };
 
+  type RGetAlertConfigVo = {
+    /** 是否成功 */
+    success?: boolean;
+    /** 错误码 */
+    code?: number;
+    /** 提示信息 */
+    message?: string;
+    data?: GetAlertConfigVo;
+    /** 请求跟踪id */
+    traceId?: string;
+  };
+
   type RGetUserIdByMobileVo = {
     /** 是否成功 */
     success?: boolean;
@@ -872,6 +880,19 @@ declare namespace API {
     traceId?: string;
   };
 
+  type RListGetRobotOptionsVo = {
+    /** 是否成功 */
+    success?: boolean;
+    /** 错误码 */
+    code?: number;
+    /** 提示信息 */
+    message?: string;
+    /** 数据 */
+    data?: GetRobotOptionsVo[];
+    /** 请求跟踪id */
+    traceId?: string;
+  };
+
   type RLoginVo = {
     /** 是否成功 */
     success?: boolean;
@@ -1118,7 +1139,7 @@ declare namespace API {
     /** 任务描述 */
     description?: string;
     /** cron表达式 */
-    cron: string;
+    cron?: string;
     /** 机器人编码 */
     robotCode: string;
     /** 会话类型:1:单聊,2:群聊 */