Leo il y a 2 ans
Parent
commit
8eb932db62

+ 1 - 2
src/component/CronSelect.jsx

@@ -128,7 +128,6 @@ const CronSelect = ({ cron_data }, ref) => {
 
   const onCronTypeChange = e => {
     setCronType(e.target.value)
-    console.log(e.target.value)
     switch (e.target.value) {
       case '0':
         setHourVal(1)
@@ -138,7 +137,7 @@ const CronSelect = ({ cron_data }, ref) => {
         setHourVal(0)
         break
       case '2':
-        setWeekVal(1)
+        setWeekVal('1')
         setMinVal(0)
         setHourVal(0)
         break

+ 55 - 12
src/module/datasource/component/DatasourceAdd.jsx

@@ -25,7 +25,7 @@ export default function DatasourceAdd({ updateDataSource }) {
   // 是否开启kerbsValid验证
   const [kerbsValid, setKerbsValid] = useState(KERBS_VALID_FALSE)
   const [kerberosServiceName, setKerberosServiceName] = useState('')
-  const [principal, setPrincipal] = useState(KERBS_VALID_FALSE)
+  const [principal, setPrincipal] = useState('')
   // Loading状态
   const [loading, setLoading] = useState(false)
 
@@ -67,12 +67,21 @@ export default function DatasourceAdd({ updateDataSource }) {
         params['krb5config'] = krb5config
         params['kerberos_service_name'] = kerberosServiceName
         params['principal'] = principal
-      }
-      const { data } = await testDataSourceConnection(params)
-      if (data.data) {
-        message.success('连接成功')
+        if (checkKrb(keytab, krb5config, kerberosServiceName, principal)) {
+          const { data } = await testDataSourceConnection(params)
+          if (data.data) {
+            message.success('连接成功')
+          } else {
+            message.error(data.msg)
+          }
+        }
       } else {
-        message.error('连接失败')
+        const { data } = await testDataSourceConnection(params)
+        if (data.data) {
+          message.success('连接成功')
+        } else {
+          message.error(data.msg)
+        }
       }
     } catch (error) {
       message.error('表单验证错误,请检查表单信息是否完整')
@@ -107,17 +116,51 @@ export default function DatasourceAdd({ updateDataSource }) {
       params['krb5config'] = krb5config
       params['kerberos_service_name'] = kerberosServiceName
       params['principal'] = principal
-    }
-    const { data } = await createDataSource(params)
-    if (data.code === 200) {
-      message.success('添加成功')
-      updateDataSource()
+      if (checkKrb(keytab, krb5config, kerberosServiceName, principal)) {
+        const { data } = await testDataSourceConnection(params)
+        if (data.data) {
+          message.success('添加成功')
+          updateDataSource()
+        } else {
+          message.error(data.msg)
+        }
+      }
     } else {
-      message.error(data.msg)
+      const { data } = await testDataSourceConnection(params)
+      if (data.data) {
+        message.success('连接成功')
+      } else {
+        message.error(data.msg)
+      }
     }
     return true
   }
 
+  // 校验krb
+  const checkKrb = (keytab, krb5config, kerberos_service_name, principal) => {
+    if (keytab) {
+      if (krb5config) {
+        if (kerberos_service_name) {
+          if (principal) {
+            return true
+          } else {
+            message.error('缺少principal')
+            return false
+          }
+        } else {
+          message.error('缺少kerberos_service_name')
+          return false
+        }
+      } else {
+        message.error('缺少krb5config')
+        return false
+      }
+    } else {
+      message.error('缺少keytab')
+      return false
+    }
+  }
+
   const uploadKerbFile = async fileList => {
     const file = new FormData()
     fileList.forEach(item => {

+ 61 - 15
src/module/datasource/component/DatasourceEdit.jsx

@@ -30,7 +30,7 @@ export default function DatasourceAdd({
   // 是否开启kerbsValid验证
   const [kerbsValid, setKerbsValid] = useState(KERBS_VALID_FALSE)
   const [kerberosServiceName, setKerberosServiceName] = useState('')
-  const [principal, setPrincipal] = useState(KERBS_VALID_FALSE)
+  const [principal, setPrincipal] = useState('')
   // Loading状态
   const [loading, setLoading] = useState(false)
 
@@ -58,14 +58,12 @@ export default function DatasourceAdd({
     setDataType(ds_info.datasource)
     setKerbsValid(ds_info.kerberos === 1)
     setUseSSL(ds_info.use_ssl === 1)
-    if (ds_info.kerberos) {
-      setKeytabFile([])
-      setKrb5File([])
-      setKeytabUrl(ds_info.keytab)
-      setKrb5Url(ds_info.krb5config)
-      setKerberosServiceName(ds_info.kerberos_service_name)
-      setPrincipal(ds_info.principal)
-    }
+    setKeytabFile([])
+    setKrb5File([])
+    setKeytabUrl(ds_info.keytab)
+    setKrb5Url(ds_info.krb5config)
+    setKerberosServiceName(ds_info.kerberos_service_name)
+    setPrincipal(ds_info.principal)
   }
   // 测试连接
   const testConnect = async () => {
@@ -95,7 +93,6 @@ export default function DatasourceAdd({
       if (kerbsValid) {
         let keytab = keytabUrl
         let krb5config = krb5Url
-        console.log(keytab, krb5config)
         if (keytabFile && keytabFile.length) {
           keytab = await uploadKerbFile(keytabFile)
         }
@@ -106,18 +103,51 @@ export default function DatasourceAdd({
         params['krb5config'] = krb5config
         params['kerberos_service_name'] = kerberosServiceName
         params['principal'] = principal
-      }
-      const { data } = await testDataSourceConnection(params)
-      if (data.data) {
-        message.success('连接成功')
+        if (checkKrb(keytab, krb5config, kerberosServiceName, principal)) {
+          const { data } = await testDataSourceConnection(params)
+          if (data.data) {
+            message.success('连接成功')
+          } else {
+            message.error(data.msg)
+          }
+        }
       } else {
-        message.error('连接失败')
+        const { data } = await testDataSourceConnection(params)
+        if (data.data) {
+          message.success('连接成功')
+        } else {
+          message.error(data.msg)
+        }
       }
     } catch (error) {
       message.error('表单验证错误,请检查表单信息是否完整')
     }
     setLoading(false)
   }
+  // 校验krb
+  const checkKrb = (keytab, krb5config, kerberos_service_name, principal) => {
+    if (keytab) {
+      if (krb5config) {
+        if (kerberos_service_name) {
+          if (principal) {
+            return true
+          } else {
+            message.error('缺少principal')
+            return false
+          }
+        } else {
+          message.error('缺少kerberos_service_name')
+          return false
+        }
+      } else {
+        message.error('缺少krb5config')
+        return false
+      }
+    } else {
+      message.error('缺少keytab')
+      return false
+    }
+  }
   // 完成添加
   const finishAdd = () => {
     form
@@ -145,6 +175,22 @@ export default function DatasourceAdd({
           params['krb5config'] = krb5config
           params['kerberos_service_name'] = kerberosServiceName
           params['principal'] = principal
+          if (checkKrb(keytab, krb5config, kerberosServiceName, principal)) {
+            const { data } = await testDataSourceConnection(params)
+            if (data.data) {
+              message.success('连接成功')
+            } else {
+              message.error(data.msg)
+            }
+          }
+        } else {
+          const { data } = await testDataSourceConnection(params)
+          if (data.data) {
+            message.success('添加成功')
+            updateDataSource()
+          } else {
+            message.error(data.msg)
+          }
         }
         const { data } = await updateDataSourceInfo(ds_id, params)
         if (data.code === 200) {

+ 1 - 1
src/module/datasource/component/StepThree.jsx

@@ -71,7 +71,7 @@ const StepThreeDiv = styled.div`
     align-items: center;
     height: 33px;
     font-size: 12px;
-    // margin-bottom: 1em;
+    margin-bottom: 1em;
   }
   .mapping__content {
     height: 500px;

+ 4 - 0
src/module/workmgmt/component/JobCreate.jsx

@@ -80,6 +80,10 @@ const CreContent = styled.div`
         }
       }
     }
+
+    .javaSelect {
+      width: 370px;
+    }
   }
   .DagInfo {
     .ant-steps-item-icon {