浏览代码

格屋开发完成

pruple_boy 2 年之前
父节点
当前提交
26359ac57f
共有 100 个文件被更改,包括 1949 次插入214 次删除
  1. 0 49
      mjava-cloudpure/src/main/java/com.malk.cloudpure/controller/DemoController.java
  2. 0 75
      mjava-cloudpure/src/main/java/com.malk.cloudpure/controller/FGGBase64.java
  3. 69 19
      mjava-cloudpure/src/main/java/com.malk.cloudpure/controller/XBBController.java
  4. 5 5
      mjava-cloudpure/src/main/resources/application-dev.yml
  5. 5 5
      mjava-cloudpure/target/classes/application-dev.yml
  6. 5 0
      mjava-cloudpure/target/maven-archiver/pom.properties
  7. 2 0
      mjava-cloudpure/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  8. 2 0
      mjava-cloudpure/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  9. 二进制
      mjava-cloudpure/target/mjava-cloudpure.jar.original
  10. 28 0
      mjava-fengkaili/pom.xml
  11. 32 0
      mjava-fengkaili/src/main/java/com/malk/fengkaili/Boot.java
  12. 23 0
      mjava-fengkaili/src/main/java/com/malk/fengkaili/controller/FKLController.java
  13. 72 0
      mjava-fengkaili/src/main/resources/application-dev.yml
  14. 45 0
      mjava-fengkaili/src/main/resources/application-prod.yml
  15. 39 0
      mjava-fengkaili/src/test/resource/server.sh
  16. 72 0
      mjava-fengkaili/target/classes/application-dev.yml
  17. 45 0
      mjava-fengkaili/target/classes/application-prod.yml
  18. 28 0
      mjava-gewu/pom.xml
  19. 32 0
      mjava-gewu/src/main/java/com/malk/gewu/Boot.java
  20. 130 0
      mjava-gewu/src/main/java/com/malk/gewu/controller/GWController.java
  21. 65 0
      mjava-gewu/src/main/resources/application-dev.yml
  22. 38 0
      mjava-gewu/src/main/resources/application-prod.yml
  23. 855 0
      mjava-gewu/src/main/resources/static/json/personnel
  24. 39 0
      mjava-gewu/src/test/resource/server.sh
  25. 65 0
      mjava-gewu/target/classes/application-dev.yml
  26. 38 0
      mjava-gewu/target/classes/application-prod.yml
  27. 5 0
      mjava-gewu/target/maven-archiver/pom.properties
  28. 0 0
      mjava-gewu/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  29. 2 0
      mjava-gewu/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  30. 4 4
      mjava-guyuan/src/main/resources/application-dev.yml
  31. 4 4
      mjava-guyuan/target/classes/application-dev.yml
  32. 32 0
      mjava-hangshi/src/main/java/com/malk/hangshi/controller/HSController.java
  33. 5 5
      mjava-hangshi/src/main/resources/application-dev.yml
  34. 5 5
      mjava-hangshi/target/classes/application-dev.yml
  35. 5 0
      mjava-hangshi/target/maven-archiver/pom.properties
  36. 0 0
      mjava-hangshi/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  37. 2 0
      mjava-hangshi/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  38. 二进制
      mjava-hangshi/target/mjava-hangshi.jar.original
  39. 5 5
      mjava-mcli/src/main/resources/application-dev.yml
  40. 5 5
      mjava-mcli/target/classes/application-dev.yml
  41. 10 14
      mjava-suodisi/src/main/java/com/malk/suodisi/controller/SDSController.java
  42. 5 5
      mjava-suodisi/src/main/resources/application-dev.yml
  43. 5 5
      mjava-suodisi/target/classes/application-dev.yml
  44. 2 2
      mjava-zhuogao/src/main/java/com/malk/zhuogao/controller/ZGController.java
  45. 2 2
      mjava-zhuogao/src/main/java/com/malk/zhuogao/service/impl/ZSDImplClient_File.java
  46. 5 5
      mjava-zhuogao/src/main/resources/application-dev.yml
  47. 48 0
      mjava-zhuogao/target/classes/application-dev.yml
  48. 33 0
      mjava-zhuogao/target/classes/application-prod.yml
  49. 1 0
      mjava-zhuogao/target/classes/static/web/css/app.1e205474.css
  50. 二进制
      mjava-zhuogao/target/classes/static/web/css/app.1e205474.css.gz
  51. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-020bde4f.8cd353de.css
  52. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-03803d04.d28c0d77.css
  53. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-09d432c5.08e92398.css
  54. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-0dc3c267.a04b5e6e.css
  55. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-115de532.efcd021e.css
  56. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-13e18d6c.29149725.css
  57. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-16622649.5f788a64.css
  58. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-1ee91c18.2c5e6b95.css
  59. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-241c9cfc.2ad4aee4.css
  60. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-2b3d1d97.3e61a36e.css
  61. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-34786a36.9b156963.css
  62. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-35d77297.5dd7accd.css
  63. 二进制
      mjava-zhuogao/target/classes/static/web/css/chunk-35d77297.5dd7accd.css.gz
  64. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-3f61e0f1.eef13e95.css
  65. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-4e109df4.b671580b.css
  66. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-5d241c38.e69d3699.css
  67. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-6279ca32.6c624d50.css
  68. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-65abd8c2.182cda6f.css
  69. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-6b83ef66.f91727df.css
  70. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-6d750ba2.b1127071.css
  71. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-723eb2cc.5ca1aba6.css
  72. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-767b9dea.7228e7cc.css
  73. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-87f1c134.0cd21f17.css
  74. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-b189ddd8.7a1576f4.css
  75. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-d773cad0.b7a55ecf.css
  76. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-de510a84.694e0ad8.css
  77. 1 0
      mjava-zhuogao/target/classes/static/web/css/chunk-fd2bf652.2e6b27df.css
  78. 1 0
      mjava-zhuogao/target/classes/static/web/css/npm.ant-design-vue.05a448c8.css
  79. 二进制
      mjava-zhuogao/target/classes/static/web/css/npm.ant-design-vue.05a448c8.css.gz
  80. 1 0
      mjava-zhuogao/target/classes/static/web/css/npm.element-ui.2fe571ab.css
  81. 二进制
      mjava-zhuogao/target/classes/static/web/css/npm.element-ui.2fe571ab.css.gz
  82. 1 0
      mjava-zhuogao/target/classes/static/web/css/npm.quasar.2415b056.css
  83. 1 0
      mjava-zhuogao/target/classes/static/web/css/npm.swiper.23437b54.css
  84. 二进制
      mjava-zhuogao/target/classes/static/web/css/npm.swiper.23437b54.css.gz
  85. 二进制
      mjava-zhuogao/target/classes/static/web/favicon.ico
  86. 二进制
      mjava-zhuogao/target/classes/static/web/fonts/element-icons.535877f5.woff
  87. 二进制
      mjava-zhuogao/target/classes/static/web/fonts/element-icons.732389de.ttf
  88. 二进制
      mjava-zhuogao/target/classes/static/web/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.29b882f0.woff
  89. 二进制
      mjava-zhuogao/target/classes/static/web/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.0509ab09.woff2
  90. 二进制
      mjava-zhuogao/target/classes/static/web/img/+pk-select.472d7dee.png
  91. 二进制
      mjava-zhuogao/target/classes/static/web/img/404.0a45bba9.jpg
  92. 二进制
      mjava-zhuogao/target/classes/static/web/img/link.038ba0a1.png
  93. 二进制
      mjava-zhuogao/target/classes/static/web/img/logo.a24f00e9.png
  94. 二进制
      mjava-zhuogao/target/classes/static/web/img/logo.f2cf67e8.png
  95. 二进制
      mjava-zhuogao/target/classes/static/web/img/look.68727e17.png
  96. 二进制
      mjava-zhuogao/target/classes/static/web/img/no-data-pk.fc4bd766.png
  97. 二进制
      mjava-zhuogao/target/classes/static/web/img/no-data-search.26341beb.png
  98. 二进制
      mjava-zhuogao/target/classes/static/web/img/pk-relation.05ad7b4b.png
  99. 二进制
      mjava-zhuogao/target/classes/static/web/img/player.a587f6e2.png
  100. 0 0
      mjava-zhuogao/target/classes/static/web/img/reset.e99a88b6.png

+ 0 - 49
mjava-cloudpure/src/main/java/com.malk.cloudpure/controller/DemoController.java

@@ -1,49 +0,0 @@
-package com.malk.cloudpure.controller;
-
-import com.malk.server.common.McR;
-import com.malk.service.xbongbong.XBBClient;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 错误抛出与拦截详见 CatchException
- */
-@Slf4j
-@RestController
-@RequestMapping("demo")
-public class DemoController {
-
-    @Autowired
-    private XBBClient xbbClient;
-
-    @PostMapping("test")
-    McR test() {
-
-        String SecretId = "AKIDcpy2c3np0dp8gv7k4590uneCsU6m9sdwf7N9";
-        String SecretKey = "cSm8vEkLTgd7a9GKUAohC60C9UgFq0i4UwYzg9Lj";
-        String source = "fagougou";
-
-        String auth = "hmac id=\"" + SecretId +
-                "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";
-//        var signStr = "x-date: " + dateTime + "\n" + "source: " + source;
-//        Map headers = UtilMap.map("Source, X-Date, Authorization", "fagougou", new Date().toGMTString(), );
-
-
-//        UtilHttp.doUpload("https://open.fagougou.com/release/api/contract-compare/auth/upload", headers, )
-
-//        return McR.success(xbbClient.getFormDefine(1003094, 0)); // 钉钉 864836 tb 1003094
-        return McR.success(xbbClient.getFormList("", 1, 100));
-//        return McR.success(likeCusterList("钉钉客户", "计算机", "16808499470903077"));
-
-//        return McR.success(xbbClient.getFormList("", 1, 601));
-//        return McR.success(xbbClient.getFormDefine(864840, 0));
-
-    }
-
-
-}
-
-

文件差异内容过多而无法显示
+ 0 - 75
mjava-cloudpure/src/main/java/com.malk.cloudpure/controller/FGGBase64.java


+ 69 - 19
mjava-cloudpure/src/main/java/com.malk.cloudpure/controller/XBBController.java

@@ -30,18 +30,6 @@ public class XBBController {
     @Autowired
     private XBBClient xbbClient;
 
-    @PostMapping("test")
-    McR test() {
-//        return McR.success(xbbClient.getFormDefine(1003094, 0)); // 钉钉 864836 tb 1003094
-        return McR.success(xbbClient.getFormList("", 1, 100));
-//        return McR.success(likeCusterList("钉钉客户", "计算机", "16808499470903077"));
-
-//        return McR.success(xbbClient.getFormList("", 1, 601));
-//        return McR.success(xbbClient.getFormDefine(864840, 0));
-
-    }
-
-
     /**
      * 模糊查询归属权限下客户列表
      */
@@ -52,28 +40,90 @@ public class XBBController {
         McException.assertParamException_Null(data, "name, userId");
 
         List<Map> customers = new ArrayList<>();
-        customers.addAll(likeCusterList("钉钉客户", data.get("name"), data.get("userId")));
-        customers.addAll(likeCusterList("Teambition客户", data.get("name"), data.get("userId")));
+        customers.addAll(_likeCustomerList(XBBConf.API_LIST_CUSTOMER, "钉钉", data.get("name"), data.get("userId")));
+        customers.addAll(_likeCustomerList(XBBConf.API_LIST_CUSTOMER, "Teambition", data.get("name"), data.get("userId")));
 
         log.info("客户响应, {}", customers);
         return McR.success(customers);
     }
 
     /**
-     * 模糊查询归属权限下客户列表
+     * 模糊查询归属权限下, 指定字段类型 [后置查询]
      */
-    private List<Map> likeCusterList(String type, String name, String userId) {
-        List<Map> rsp = xbbClient.getFormList(type, 1, 100); // 客户表单: 钉钉 864836 tb 1003094
+    private List<Map> _likeCustomerList(String url, String type, String name, String userId) {
+        List<Map> rsp = xbbClient.getFormList(type, 1, 100);
         long formId = UtilMap.getLong(rsp.get(0), "formId");
         rsp = xbbClient.getFormDefine(formId, 0); // 表单定义
         String nameField = (rsp.stream().filter(item -> item.get("attrName").equals("客户名称")).findAny().get()).get("attr").toString();
-        rsp = xbbClient.getCustomerList(formId, Arrays.asList(XBBConf.getConditionMap(nameField, "like", name)), null);
+        rsp = xbbClient.getDataList(url, formId, Arrays.asList(XBBConf.getConditionMap(nameField, "like", name)), null);
+        return rsp.stream().filter(item -> {
+            List<String> ownerId = (List<String>) JSON.parse(String.valueOf(((Map) item.get("data")).get("ownerId")));
+            List<String> coUserId = (List<String>) JSON.parse(String.valueOf(((Map) item.get("data")).get("coUserId")));
+            // 后置查询, 属于客户负责人和协同人
+            return ownerId.contains(userId) || coUserId.contains(userId);
+        }).map(item -> UtilMap.map("name", String.valueOf(((Map) item.get("data")).get(nameField)))).collect(Collectors.toList());
+    }
+
+    /**
+     * 模糊查询归属权限下, 指定字段类型 [后置查询]
+     */
+    private List<Map> _likeContractList(String url, String type, String name, String userId) {
+        List<Map> rsp = xbbClient.getFormList(type, 1, 201);
+        long formId = UtilMap.getLong(rsp.get(0), "formId");
+        rsp = xbbClient.getFormDefine(formId, 0); // 表单定义
+        String nameField = (rsp.stream().filter(item -> item.get("attrName").equals("合同名称")).findAny().get()).get("attr").toString();
+        String codeField = (rsp.stream().filter(item -> item.get("attrName").equals("合同编号")).findAny().get()).get("attr").toString();
+        String cashField = (rsp.stream().filter(item -> item.get("attrName").equals("合同金额")).findAny().get()).get("attr").toString();
+        rsp = xbbClient.getDataList(url, formId, Arrays.asList(XBBConf.getConditionMap(nameField, "like", name)), null);
         return rsp.stream().filter(item -> {
             List<String> ownerId = (List<String>) JSON.parse(String.valueOf(((Map) item.get("data")).get("ownerId")));
             List<String> coUserId = (List<String>) JSON.parse(String.valueOf(((Map) item.get("data")).get("coUserId")));
             // 后置查询, 属于客户负责人和协同人
             return ownerId.contains(userId) || coUserId.contains(userId);
-        }).map(item -> UtilMap.map("name", String.valueOf(((Map) item.get("data")).get(nameField)))).collect(Collectors.toList());  // 客户名称
+        }).map(item -> {
+            Map data = (Map) item.get("data");
+            return UtilMap.map("name, value", data.get(nameField), data.get(codeField) + "/" + data.get(cashField));
+        }).collect(Collectors.toList());
+    }
+
+    /**
+     * 模糊查询归属权限下合同列表
+     */
+    @PostMapping("list/contract")
+    McR contractList(@RequestBody Map<String, String> data) {
+
+        log.info("合同列表, {}", data);
+        McException.assertParamException_Null(data, "name, userId");
+
+        List<Map> customers = new ArrayList<>();
+        customers.addAll(_likeContractList(XBBConf.API_LIST_CONTRACT, "钉钉", data.get("name"), data.get("userId")));
+        customers.addAll(_likeContractList(XBBConf.API_LIST_CONTRACT, "Teambition", data.get("name"), data.get("userId")));
+
+        log.info("合同响应, {}", customers);
+        return McR.success(customers);
+    }
+
+    /**
+     * 自动填充合同编号/合同金额
+     */
+    @PostMapping("code/contract")
+    McR contractCode(@RequestBody Map<String, String> data) {
+
+        String[] content = data.get("code").split("/");
+        log.info("自动填充, {}, {}", content);
+        return McR.success(UtilMap.map("code, cash", content[0], content[1]));
+    }
+
+
+    @PostMapping("test")
+    McR test() {
+
+        return McR.success(xbbClient.getFormDefine(864843, 0)); // 钉钉 864836 tb 1003094
+//        return McR.success(xbbClient.getFormList("", 1, 201));
+//        return McR.success(likeCusterList("钉钉客户", "计算机", "16808499470903077"));
+
+//        return McR.success(xbbClient.getFormList("", 1, 601));
+//        return McR.success(xbbClient.getFormDefine(864840, 0));
     }
 }
 

+ 5 - 5
mjava-cloudpure/src/main/resources/application-dev.yml

@@ -38,14 +38,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file/
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/zhuogao/server/_Tool/var/mjava/tmp/
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 5 - 5
mjava-cloudpure/target/classes/application-dev.yml

@@ -38,14 +38,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file/
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/zhuogao/server/_Tool/var/mjava/tmp/
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 5 - 0
mjava-cloudpure/target/maven-archiver/pom.properties

@@ -0,0 +1,5 @@
+#Generated by Maven
+#Mon Jul 17 19:01:22 CST 2023
+version=1.0-SNAPSHOT
+groupId=com.malk
+artifactId=mjava-cloudpure

+ 2 - 0
mjava-cloudpure/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -0,0 +1,2 @@
+com/malk/cloudpure/controller/XBBController.class
+com/malk/cloudpure/Boot.class

+ 2 - 0
mjava-cloudpure/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -0,0 +1,2 @@
+/Users/malk/server/java-mcli-3/mjava-cloudpure/src/main/java/com.malk.cloudpure/Boot.java
+/Users/malk/server/java-mcli-3/mjava-cloudpure/src/main/java/com.malk.cloudpure/controller/XBBController.java

二进制
mjava-cloudpure/target/mjava-cloudpure.jar.original


+ 28 - 0
mjava-fengkaili/pom.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>java-mcli</artifactId>
+        <groupId>com.malk</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>mjava-fengkaili</artifactId>
+    <description>丰凯利钉钉考勤报表二开</description>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <!-- 核心模块-->
+        <dependency>
+            <groupId>com.malk</groupId>
+            <artifactId>mjava</artifactId>
+            <version>${mjava.version}</version>
+        </dependency>
+    </dependencies>
+</project>

+ 32 - 0
mjava-fengkaili/src/main/java/com/malk/fengkaili/Boot.java

@@ -0,0 +1,32 @@
+package com.malk.fengkaili;
+
+import com.querydsl.jpa.impl.JPAQueryFactory;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+
+import javax.persistence.EntityManager;
+
+/**
+ * corp项目: 扫描公共模块
+ * -
+ * 若是无需数据库模块, 配置无效地址也可启动, 引入mjava不支持直接 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) 配置
+ * 需要配置 jpa.hibernate.ddl-auto 为 none. 标识对表没有任何操作. 若不设置为 non, flyway.enabled 配置会无效, 在没有数库连接情况下程序无法启动
+ */
+@EnableJpaAuditing
+@SpringBootApplication(scanBasePackages = {"com.malk"})
+public class Boot {
+
+    public static void main(String... args) {
+        SpringApplication.run(Boot.class, args);
+    }
+
+    /**
+     * 让Spring管理JPAQueryFactory [不使用Qualifier详见mjava-Boot]
+     */
+    @Bean
+    public JPAQueryFactory jpaQueryFactory(EntityManager entityManager) {
+        return new JPAQueryFactory(entityManager);
+    }
+}

+ 23 - 0
mjava-fengkaili/src/main/java/com/malk/fengkaili/controller/FKLController.java

@@ -0,0 +1,23 @@
+package com.malk.fengkaili.controller;
+
+/**
+ * 错误抛出与拦截详见 CatchException
+ */
+
+import com.malk.server.common.McR;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@RestController
+@RequestMapping
+public class FKLController {
+
+
+    @PostMapping("test")
+    McR test() {
+        return McR.success();
+    }
+}

+ 72 - 0
mjava-fengkaili/src/main/resources/application-dev.yml

@@ -0,0 +1,72 @@
+# 环境配置
+server:
+  port: 9001
+  servlet:
+    context-path: /api/fengkaili
+
+# condition
+spel:
+  scheduling: false        # 定时任务是否执行
+  multiSource: false       # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: mu123
+    url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    # 主库
+    primary:
+      username: root
+      password: mu123
+      jdbc-url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    # 从库
+    slave:
+      username: root
+      password: mu123
+      jdbc-url: jdbc:mysql://127.0.0.1:3306/mjava_slave?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    hibernate:
+      ddl-auto: none      # JPA对表没有任何操作
+    show-sql: true
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# filepath
+file:
+  path:
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
+  source:
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+logging:
+  file:
+    path: /Users/malk/server/_Tool/var/mjava/log
+
+# dingtalk
+dingtalk:
+  agentId: 1963716187
+  appKey: ding8qyulwwmad6j7k6c
+  appSecret: e_hRHuubw-Xi0OuPJOYdXSElVzOC0IPgMrHQTBuAM9BqW-DFnrcsSyBHi7Me3xSv
+  corpId: ding321c72787fffc78b35c2f4657eb6378f
+  aesKey:
+  token:
+  operator: "095358016629044412"   # 牧语[开头需要转一下字符串], OA管理员账号
+
+# aliwork
+aliwork:
+  appType: APP_YH7W0E5637YUBU5UJ837
+  systemToken: IC766WA11EW8BMOPBEZZMBA4MPUQ214JDL7FLC9
+
+# xbongbong
+xbongbong:
+  corpid: dingcc1b1ffad0d5ca1d
+  token: f760ea3d154e45c839b2169f09b76f23
+  userId: 102314374732747224 # 汐瑶
+  callbackToken:
+
+

+ 45 - 0
mjava-fengkaili/src/main/resources/application-prod.yml

@@ -0,0 +1,45 @@
+# 环境配置
+server:
+  port: 9011
+  servlet:
+    context-path: /api/fengkaili
+
+# condition
+spel:
+  scheduling: true        # 定时任务是否执行
+  multiSource: false      # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: cp-root@2022++
+    url: jdbc:mysql://47.97.181.40:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# dingtalk
+dingtalk:
+  agentId: 1963716187
+  appKey: ding8qyulwwmad6j7k6c
+  appSecret: e_hRHuubw-Xi0OuPJOYdXSElVzOC0IPgMrHQTBuAM9BqW-DFnrcsSyBHi7Me3xSv
+  corpId: ding321c72787fffc78b35c2f4657eb6378f
+  aesKey:
+  token:
+  operator: "095358016629044412"   # 牧语[开头需要转一下字符串], OA管理员账号
+
+# aliwork
+aliwork:
+  appType: APP_YH7W0E5637YUBU5UJ837
+  systemToken: IC766WA11EW8BMOPBEZZMBA4MPUQ214JDL7FLC9
+
+# xbongbong
+xbongbong:
+  corpid: dingcc1b1ffad0d5ca1d
+  token: f760ea3d154e45c839b2169f09b76f23
+  userId: 102314374732747224 # 汐瑶
+  callbackToken:

+ 39 - 0
mjava-fengkaili/src/test/resource/server.sh

@@ -0,0 +1,39 @@
+#!/bin/bash
+
+appname='mjava-fengkaili'
+
+if [ "$1" == "dev" ]; then
+  java -Xms256m -Xmx256m -jar $appname.jar --spring.profiles.active=dev
+else
+  if [ "$1" == "start" ]; then
+    nohup java -Xms256m -Xmx256m -jar $appname.jar &
+    echo "server prod is starting"
+    tail -f log/info.log
+  else
+    if [ "$1" == "test" ]; then
+      nohup java -Xms256m -Xmx256m -jar $appname.jar --spring.profiles.active=test &
+      echo "server test is starting"
+      tail -f log/info.log
+    else
+      if [ "$1" == "stop" ]; then
+        PID=$(ps -ef | grep $appname.jar | grep -v grep | awk '{ print $2 }')
+        if [ -z "$PID" ]; then
+          echo "server is already stopped"
+        else
+          echo kill $PID
+          kill $PID
+        fi
+      else
+        if [ "$1" == "status" ]; then
+          PID=$(ps -ef | grep $appname.jar | grep -v grep | awk '{ print $2 }')
+          if [ -z "$PID" ]; then
+            echo "server is stopped"
+          else
+            echo "server is running"
+            echo $PID
+          fi
+        fi
+      fi
+    fi
+  fi
+fi

+ 72 - 0
mjava-fengkaili/target/classes/application-dev.yml

@@ -0,0 +1,72 @@
+# 环境配置
+server:
+  port: 9001
+  servlet:
+    context-path: /api/fengkaili
+
+# condition
+spel:
+  scheduling: false        # 定时任务是否执行
+  multiSource: false       # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: mu123
+    url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    # 主库
+    primary:
+      username: root
+      password: mu123
+      jdbc-url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    # 从库
+    slave:
+      username: root
+      password: mu123
+      jdbc-url: jdbc:mysql://127.0.0.1:3306/mjava_slave?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    hibernate:
+      ddl-auto: none      # JPA对表没有任何操作
+    show-sql: true
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# filepath
+file:
+  path:
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
+  source:
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+logging:
+  file:
+    path: /Users/malk/server/_Tool/var/mjava/log
+
+# dingtalk
+dingtalk:
+  agentId: 1963716187
+  appKey: ding8qyulwwmad6j7k6c
+  appSecret: e_hRHuubw-Xi0OuPJOYdXSElVzOC0IPgMrHQTBuAM9BqW-DFnrcsSyBHi7Me3xSv
+  corpId: ding321c72787fffc78b35c2f4657eb6378f
+  aesKey:
+  token:
+  operator: "095358016629044412"   # 牧语[开头需要转一下字符串], OA管理员账号
+
+# aliwork
+aliwork:
+  appType: APP_YH7W0E5637YUBU5UJ837
+  systemToken: IC766WA11EW8BMOPBEZZMBA4MPUQ214JDL7FLC9
+
+# xbongbong
+xbongbong:
+  corpid: dingcc1b1ffad0d5ca1d
+  token: f760ea3d154e45c839b2169f09b76f23
+  userId: 102314374732747224 # 汐瑶
+  callbackToken:
+
+

+ 45 - 0
mjava-fengkaili/target/classes/application-prod.yml

@@ -0,0 +1,45 @@
+# 环境配置
+server:
+  port: 9011
+  servlet:
+    context-path: /api/fengkaili
+
+# condition
+spel:
+  scheduling: true        # 定时任务是否执行
+  multiSource: false      # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: cp-root@2022++
+    url: jdbc:mysql://47.97.181.40:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# dingtalk
+dingtalk:
+  agentId: 1963716187
+  appKey: ding8qyulwwmad6j7k6c
+  appSecret: e_hRHuubw-Xi0OuPJOYdXSElVzOC0IPgMrHQTBuAM9BqW-DFnrcsSyBHi7Me3xSv
+  corpId: ding321c72787fffc78b35c2f4657eb6378f
+  aesKey:
+  token:
+  operator: "095358016629044412"   # 牧语[开头需要转一下字符串], OA管理员账号
+
+# aliwork
+aliwork:
+  appType: APP_YH7W0E5637YUBU5UJ837
+  systemToken: IC766WA11EW8BMOPBEZZMBA4MPUQ214JDL7FLC9
+
+# xbongbong
+xbongbong:
+  corpid: dingcc1b1ffad0d5ca1d
+  token: f760ea3d154e45c839b2169f09b76f23
+  userId: 102314374732747224 # 汐瑶
+  callbackToken:

+ 28 - 0
mjava-gewu/pom.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>java-mcli</artifactId>
+        <groupId>com.malk</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>mjava-gewu</artifactId>
+    <description>格屋, 钉钉智能人事花名册信息同步</description>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <!-- 核心模块-->
+        <dependency>
+            <groupId>com.malk</groupId>
+            <artifactId>mjava</artifactId>
+            <version>${mjava.version}</version>
+        </dependency>
+    </dependencies>
+</project>

+ 32 - 0
mjava-gewu/src/main/java/com/malk/gewu/Boot.java

@@ -0,0 +1,32 @@
+package com.malk.gewu;
+
+import com.querydsl.jpa.impl.JPAQueryFactory;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+
+import javax.persistence.EntityManager;
+
+/**
+ * corp项目: 扫描公共模块
+ * -
+ * 若是无需数据库模块, 配置无效地址也可启动, 引入mjava不支持直接 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) 配置
+ * 需要配置 jpa.hibernate.ddl-auto 为 none. 标识对表没有任何操作. 若不设置为 non, flyway.enabled 配置会无效, 在没有数库连接情况下程序无法启动
+ */
+@EnableJpaAuditing
+@SpringBootApplication(scanBasePackages = {"com.malk"})
+public class Boot {
+
+    public static void main(String... args) {
+        SpringApplication.run(Boot.class, args);
+    }
+
+    /**
+     * 让Spring管理JPAQueryFactory [不使用Qualifier详见mjava-Boot]
+     */
+    @Bean
+    public JPAQueryFactory jpaQueryFactory(EntityManager entityManager) {
+        return new JPAQueryFactory(entityManager);
+    }
+}

+ 130 - 0
mjava-gewu/src/main/java/com/malk/gewu/controller/GWController.java

@@ -0,0 +1,130 @@
+package com.malk.gewu.controller;
+
+/**
+ * 错误抛出与拦截详见 CatchException
+ */
+
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.common.McR;
+import com.malk.server.dingtalk.DDConf;
+import com.malk.service.aliwork.YDClient;
+import com.malk.service.dingtalk.DDClient;
+import com.malk.service.dingtalk.DDClient_Contacts;
+import com.malk.service.dingtalk.DDClient_Personnel;
+import com.malk.utils.UtilFile;
+import com.malk.utils.UtilMap;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+@Slf4j
+@RestController
+@RequestMapping
+public class GWController {
+
+
+    @Autowired
+    private DDClient ddClient;
+
+    @Autowired
+    private DDConf ddConf;
+
+    @Autowired
+    private DDClient_Contacts ddClient_contacts;
+
+    @Autowired
+    private DDClient_Personnel ddClient_personnel;
+
+    @Autowired
+    private YDClient ydClient;
+
+    /**
+     * 同步花名册信息
+     */
+    @PostMapping("sync")
+    McR syncRoster() {
+
+        // 花名册元数据
+        List<Map> metaList = (List<Map>) UtilFile.readJsonObjectFromFile("static/json/personnel"); // 本地匹配了宜搭组件ID
+//        List<Map> metaList = ddClient_personnel.getPersonnelMeta(ddClient.getAccessToken(), ddConf.getAgentId());
+        // 同步全量人员
+        ddClient_contacts.getDepartmentId_all(ddClient.getAccessToken(), true).forEach(deptId -> {
+            List<String> userIds = ddClient_contacts.listDepartmentUserId(ddClient.getAccessToken(), deptId);
+            log.info("dept, {}, userIds, {}", deptId, userIds.size());
+            // 员工花名册信息
+            ddClient_personnel.getEmployeeInfos(ddClient.getAccessToken(), userIds, ddConf.getAgentId(), null).forEach(employeeInfo -> {
+                // 通过元数据字段code, 匹配员工花名册value
+                List<Map> employeeField = (List<Map>) employeeInfo.get("field_data_list");
+                // 宜搭表单数据
+                Map formData = UtilMap.map("employeeField_limrznyp", Arrays.asList(employeeInfo.get("userid"))); // 成员权限
+                metaList.forEach(meta -> {
+                    boolean isDetail = UtilMap.getBoolean(meta, "detail");
+                    List<Map> metaField = (List<Map>) meta.get("field_meta_info_list");
+                    Map detail = new HashMap(); // 明细行
+                    metaField.forEach(field -> {
+                        // 元数据内一些系统字段无 field_code, sys00 基本信息分组下 使用 field_name
+                        Optional optional = employeeField.stream().filter(employee -> field.get("field_code").equals(employee.get("field_code")) || employee.get("field_name").equals(field.get("field_name"))).findAny();
+                        if (optional.isPresent()) {
+                            // 数据组装
+                            Map employee = (Map) optional.get();
+                            String value = UtilMap.getString(((List<Map>) employee.get("field_value_list")).get(0), "label");
+                            log.info("分组 -> {}, 是否明细 -> {}; 字段 -> {}, 值 -> {}", meta.get("group_name"), meta.get("detail"), field.get("field_name"), value);
+                            // 值处理
+                            if (field.containsKey("comp_id")) {
+                                if (isDetail) {
+                                    detail.put(field.get("comp_id"), value);
+                                } else {
+                                    formData.put(field.get("comp_id"), value);
+                                }
+                            }
+                        }
+                    });
+                    // 明细表
+                    if (isDetail && meta.containsKey("comp_id")) {
+                        formData.put(meta.get("comp_id"), Arrays.asList(detail));
+                    }
+                });
+                // 宜搭更新
+                YDParam ydParam = YDParam.builder()
+                        .searchFieldJson(JSON.toJSONString(UtilMap.map("employeeField_limrznyp", formData.get("employeeField_limrznyp"))))
+                        .formUuid("FORM-EA866E71M5ICA9TSABIFG9V1QMRN2PFL786KL8")
+                        .build();
+                List<String> formInstIds = (List<String>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form_id).getData();
+                if (formInstIds.size() > 0) {
+                    ydParam.setFormInstanceId(formInstIds.get(0));
+                    ydParam.setUpdateFormDataJson(JSON.toJSONString(formData));
+                    ydClient.operateData(ydParam, YDConf.FORM_OPERATION.update);
+                } else {
+                    ydParam.setFormDataJson(JSON.toJSONString(formData));
+                    ydClient.operateData(ydParam, YDConf.FORM_OPERATION.create);
+                }
+            });
+        });
+        return McR.success();
+    }
+
+    /**
+     * test
+     */
+    @PostMapping("test")
+    McR test() {
+
+        String path = JSONUtil.class.getClassLoader().getResource("static/json/personnel").getPath();
+        String json = UtilFile.readJsonStringFromFile(path);
+
+//        return McR.success(JSON.parse(json));
+
+        return McR.success(UtilFile.readJsonObjectFromFile("static/json/personnel"));
+
+//        return McR.success(ddClient_personnel.getPersonnelMeta(ddClient.getAccessToken(), ddConf.getAgentId()));
+    }
+
+
+}

+ 65 - 0
mjava-gewu/src/main/resources/application-dev.yml

@@ -0,0 +1,65 @@
+# 环境配置
+server:
+  port: 9001
+  servlet:
+    context-path: /api/gewu
+
+# condition
+spel:
+  scheduling: false        # 定时任务是否执行
+  multiSource: false       # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: mu123
+    url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    # 主库
+    primary:
+      username: root
+      password: mu123
+      jdbc-url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    # 从库
+    slave:
+      username: root
+      password: mu123
+      jdbc-url: jdbc:mysql://127.0.0.1:3306/mjava_slave?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    hibernate:
+      ddl-auto: none      # JPA对表没有任何操作
+    show-sql: true
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# filepath
+file:
+  path:
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
+  source:
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+logging:
+  file:
+    path: /Users/malk/server/_Tool/var/mjava/log
+
+# dingtalk
+dingtalk:
+  agentId: 2660236361
+  appKey: dinguuieqv4lkvp3vkaf
+  appSecret: N5JjPU9RDk77pTze5vRWmiWLDjPKeYJV3sQrmYgN_SC57nOALmj570rVB0SGGcQQ
+  corpId: dingec9ee223c2b3a671
+  aesKey:
+  token:
+  operator: ""   # OA管理员账号
+
+# aliwork
+aliwork:
+  appType: APP_FX4PR3OWW4WCFOHI2ZSR
+  systemToken: 2G766HA1RDHC1C2CCRY62544NL8L21T5786KL27
+
+

+ 38 - 0
mjava-gewu/src/main/resources/application-prod.yml

@@ -0,0 +1,38 @@
+# 环境配置
+server:
+  port: 9010
+  servlet:
+    context-path: /api/gewu
+
+# condition
+spel:
+  scheduling: true        # 定时任务是否执行
+  multiSource: false      # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: cp-root@2022++
+    url: jdbc:mysql://47.97.181.40:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# dingtalk
+dingtalk:
+  agentId: 2660236361
+  appKey: dinguuieqv4lkvp3vkaf
+  appSecret: N5JjPU9RDk77pTze5vRWmiWLDjPKeYJV3sQrmYgN_SC57nOALmj570rVB0SGGcQQ
+  corpId: dingec9ee223c2b3a671
+  aesKey:
+  token:
+  operator: ""   # OA管理员账号
+
+# aliwork
+aliwork:
+  appType: APP_FX4PR3OWW4WCFOHI2ZSR
+  systemToken: 2G766HA1RDHC1C2CCRY62544NL8L21T5786KL27

文件差异内容过多而无法显示
+ 855 - 0
mjava-gewu/src/main/resources/static/json/personnel


+ 39 - 0
mjava-gewu/src/test/resource/server.sh

@@ -0,0 +1,39 @@
+#!/bin/bash
+
+appname='mjava-gewu'
+
+if [ "$1" == "dev" ]; then
+  java -Xms256m -Xmx256m -jar $appname.jar --spring.profiles.active=dev
+else
+  if [ "$1" == "start" ]; then
+    nohup java -Xms256m -Xmx256m -jar $appname.jar &
+    echo "server prod is starting"
+    tail -f log/info.log
+  else
+    if [ "$1" == "test" ]; then
+      nohup java -Xms256m -Xmx256m -jar $appname.jar --spring.profiles.active=test &
+      echo "server test is starting"
+      tail -f log/info.log
+    else
+      if [ "$1" == "stop" ]; then
+        PID=$(ps -ef | grep $appname.jar | grep -v grep | awk '{ print $2 }')
+        if [ -z "$PID" ]; then
+          echo "server is already stopped"
+        else
+          echo kill $PID
+          kill $PID
+        fi
+      else
+        if [ "$1" == "status" ]; then
+          PID=$(ps -ef | grep $appname.jar | grep -v grep | awk '{ print $2 }')
+          if [ -z "$PID" ]; then
+            echo "server is stopped"
+          else
+            echo "server is running"
+            echo $PID
+          fi
+        fi
+      fi
+    fi
+  fi
+fi

+ 65 - 0
mjava-gewu/target/classes/application-dev.yml

@@ -0,0 +1,65 @@
+# 环境配置
+server:
+  port: 9001
+  servlet:
+    context-path: /api/gewu
+
+# condition
+spel:
+  scheduling: false        # 定时任务是否执行
+  multiSource: false       # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: mu123
+    url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    # 主库
+    primary:
+      username: root
+      password: mu123
+      jdbc-url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    # 从库
+    slave:
+      username: root
+      password: mu123
+      jdbc-url: jdbc:mysql://127.0.0.1:3306/mjava_slave?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    hibernate:
+      ddl-auto: none      # JPA对表没有任何操作
+    show-sql: true
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# filepath
+file:
+  path:
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
+  source:
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+logging:
+  file:
+    path: /Users/malk/server/_Tool/var/mjava/log
+
+# dingtalk
+dingtalk:
+  agentId: 2660236361
+  appKey: dinguuieqv4lkvp3vkaf
+  appSecret: N5JjPU9RDk77pTze5vRWmiWLDjPKeYJV3sQrmYgN_SC57nOALmj570rVB0SGGcQQ
+  corpId: dingec9ee223c2b3a671
+  aesKey:
+  token:
+  operator: ""   # OA管理员账号
+
+# aliwork
+aliwork:
+  appType: APP_FX4PR3OWW4WCFOHI2ZSR
+  systemToken: 2G766HA1RDHC1C2CCRY62544NL8L21T5786KL27
+
+

+ 38 - 0
mjava-gewu/target/classes/application-prod.yml

@@ -0,0 +1,38 @@
+# 环境配置
+server:
+  port: 9010
+  servlet:
+    context-path: /api/gewu
+
+# condition
+spel:
+  scheduling: true        # 定时任务是否执行
+  multiSource: false      # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: cp-root@2022++
+    url: jdbc:mysql://47.97.181.40:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# dingtalk
+dingtalk:
+  agentId: 2660236361
+  appKey: dinguuieqv4lkvp3vkaf
+  appSecret: N5JjPU9RDk77pTze5vRWmiWLDjPKeYJV3sQrmYgN_SC57nOALmj570rVB0SGGcQQ
+  corpId: dingec9ee223c2b3a671
+  aesKey:
+  token:
+  operator: ""   # OA管理员账号
+
+# aliwork
+aliwork:
+  appType: APP_FX4PR3OWW4WCFOHI2ZSR
+  systemToken: 2G766HA1RDHC1C2CCRY62544NL8L21T5786KL27

+ 5 - 0
mjava-gewu/target/maven-archiver/pom.properties

@@ -0,0 +1,5 @@
+#Generated by Maven
+#Tue Jul 18 16:33:46 CST 2023
+version=1.0-SNAPSHOT
+groupId=com.malk
+artifactId=mjava-gewu

+ 0 - 0
mjava-gewu/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst


+ 2 - 0
mjava-gewu/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -0,0 +1,2 @@
+/Users/malk/server/java-mcli-3/mjava-gewu/src/main/java/com/malk/gewu/controller/GWController.java
+/Users/malk/server/java-mcli-3/mjava-gewu/src/main/java/com/malk/gewu/Boot.java

+ 4 - 4
mjava-guyuan/src/main/resources/application-dev.yml

@@ -28,14 +28,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image
     tmp: /Users/mcli/server/_Tool/var/mjava/tmp
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 4 - 4
mjava-guyuan/target/classes/application-dev.yml

@@ -28,14 +28,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image
     tmp: /Users/mcli/server/_Tool/var/mjava/tmp
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 32 - 0
mjava-hangshi/src/main/java/com/malk/hangshi/controller/HSController.java

@@ -1,14 +1,25 @@
 package com.malk.hangshi.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
 import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
 import com.malk.service.dingtalk.DDClient;
 import com.malk.service.dingtalk.DDClient_Contacts;
+import com.malk.utils.UtilMap;
+import com.malk.utils.UtilServlet;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * 错误抛出与拦截详见CatchException
  */
@@ -30,5 +41,26 @@ public class HSController {
     McR queryCount() {
         return McR.success(ddClient_contacts.getUserCount(ddClient.getAccessToken(), true));
     }
+
+
+    @Autowired
+    private YDClient ydClient;
+
+    /**
+     * 自愿上报动态审批
+     */
+    @PostMapping("user/approve")
+    List<String> approveFKGL(HttpServletRequest request) {
+
+        Map param = UtilServlet.getParamMap(request);
+        log.info("自愿上报动态审批, {}", param);
+
+        List<Map> list = (List<Map>) ydClient.queryData(YDParam.builder()
+                .formUuid("FORM-3C866TC1RA29KJXD7XF4N4ZXW9932Z69W6CFLR")
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_lfw8yizv, selectField_lfw82zh0", "子公司安全部人员", param.get("corpName"))))
+                .build(), YDConf.FORM_QUERY.retrieve_search_form).getData();
+        List<String> userIds = list.stream().map(item -> String.valueOf(((Map) item.get("formData")).get("textField_lfw8yizu"))).collect(Collectors.toList());
+        return userIds;
+    }
 }
 

+ 5 - 5
mjava-hangshi/src/main/resources/application-dev.yml

@@ -28,14 +28,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file/
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/zhuogao/server/_Tool/var/mjava/tmp/
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 5 - 5
mjava-hangshi/target/classes/application-dev.yml

@@ -28,14 +28,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file/
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/zhuogao/server/_Tool/var/mjava/tmp/
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 5 - 0
mjava-hangshi/target/maven-archiver/pom.properties

@@ -0,0 +1,5 @@
+#Generated by Maven
+#Tue Jul 18 20:19:31 CST 2023
+version=1.0-SNAPSHOT
+groupId=com.malk
+artifactId=mjava-hangshi

+ 0 - 0
mjava-hangshi/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst


+ 2 - 0
mjava-hangshi/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -0,0 +1,2 @@
+/Users/malk/server/java-mcli-3/mjava-hangshi/src/main/java/com/malk/hangshi/controller/HSController.java
+/Users/malk/server/java-mcli-3/mjava-hangshi/src/main/java/com/malk/hangshi/Boot.java

二进制
mjava-hangshi/target/mjava-hangshi.jar.original


+ 5 - 5
mjava-mcli/src/main/resources/application-dev.yml

@@ -32,14 +32,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file/
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/zhuogao/server/_Tool/var/mjava/tmp/
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 5 - 5
mjava-mcli/target/classes/application-dev.yml

@@ -32,14 +32,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file/
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/zhuogao/server/_Tool/var/mjava/tmp/
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 10 - 14
mjava-suodisi/src/main/java/com/malk/suodisi/controller/SDSController.java

@@ -1,16 +1,13 @@
 package com.malk.suodisi.controller;
 
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.log.Log;
 import com.alibaba.fastjson.JSON;
 import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
 import com.malk.server.common.McException;
-import com.malk.server.common.McR;
 import com.malk.server.dingtalk.DDConf;
 import com.malk.service.aliwork.YDClient;
 import com.malk.utils.UtilServlet;
-import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -27,7 +24,7 @@ import java.util.*;
 @RestController
 @RequestMapping
 public class SDSController {
-    
+
     @Autowired
     private YDClient ydClient;
 
@@ -41,7 +38,6 @@ public class SDSController {
     List<String> sdsTest(HttpServletRequest request) {
         Map param = UtilServlet.getParamMap(request);
 
-
         if (true) {
             return Arrays.asList(ddConf.getOperator());
         }
@@ -52,8 +48,8 @@ public class SDSController {
         String compId = param.get("compId").toString();
         //数据条件参数
         condition.put("textField_lisbeacj", param.get("BusinessType"));
-        condition.put("selectField_lisbeack",param.get("City"));
-        condition.put("selectField_lisbeacm",param.get("CompanyCode"));
+        condition.put("selectField_lisbeack", param.get("City"));
+        condition.put("selectField_lisbeacm", param.get("CompanyCode"));
         //宜搭参数赋值
         YDParam ydParam = YDParam.builder()
                 .formUuid("FORM-PR8667D1QWKB5AYJEKDJ18IKE6IE3JUNDBSIL2")
@@ -61,18 +57,18 @@ public class SDSController {
                 .build();
         List<Map> list = (List<Map>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getData();
 
-        return emailList(list,ydParam,compId);
+        return emailList(list, ydParam, compId);
     }
 
     //获取人员ID的公用方法
-    List<String> emailList(List<Map> list,YDParam ydParam,String ProcessCoding){
-        List<String> userIds = new ArrayList<>() ;
-        for (Map row: list)  {
-            Map  mailCondition = new HashMap();
+    List<String> emailList(List<Map> list, YDParam ydParam, String ProcessCoding) {
+        List<String> userIds = new ArrayList<>();
+        for (Map row : list) {
+            Map mailCondition = new HashMap();
             Map formData = (Map) row.get("formData");
             //String mail1 = String.valueOf(formData.get("textField_lisbeacp"));
             String mail1 = String.valueOf(formData.get(ProcessCoding));
-            for (String mail: mail1.split(";#")) {
+            for (String mail : mail1.split(";#")) {
                 if (mail.contains("@")) {
                     mailCondition.put("textField_lg22sfep", mail);
                     ydParam.setFormUuid("FORM-MFA66S91RAO8YAB1CUTCED77NK9133TR5XQEL8");
@@ -81,7 +77,7 @@ public class SDSController {
                     List<Map> users = (List<Map>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getData();
                     if (users.size() > 0) {
                         Map userData = (Map) users.get(0).get("formData");
-                        List<String> userId =  (List<String>) userData.get("employeeField_lisbbxca_id");
+                        List<String> userId = (List<String>) userData.get("employeeField_lisbbxca_id");
                         userIds.addAll(userId);
                     }
                 }

+ 5 - 5
mjava-suodisi/src/main/resources/application-dev.yml

@@ -28,14 +28,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file/
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/zhuogao/server/_Tool/var/mjava/tmp/
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 5 - 5
mjava-suodisi/target/classes/application-dev.yml

@@ -28,14 +28,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file/
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/zhuogao/server/_Tool/var/mjava/tmp/
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 2 - 2
mjava-zhuogao/src/main/java/com/malk/zhuogao/controller/ZGController.java

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.malk.server.common.McException;
 import com.malk.server.common.McR;
 import com.malk.service.dingtalk.DDClient;
-import com.malk.service.dingtalk.DDClient_ORGAPP;
+import com.malk.service.dingtalk.DDClient_Dedicated;
 import com.malk.utils.UtilDateTime;
 import com.malk.utils.UtilExcel;
 import com.malk.utils.UtilMap;
@@ -36,7 +36,7 @@ public class ZGController {
     private DDClient ddClient;
 
     @Autowired
-    private DDClient_ORGAPP ddClient_orgapp;
+    private DDClient_Dedicated ddClient_orgapp;
 
     @Autowired
     private ZSDClient_File zsdFileClient;

+ 2 - 2
mjava-zhuogao/src/main/java/com/malk/zhuogao/service/impl/ZSDImplClient_File.java

@@ -2,7 +2,7 @@ package com.malk.zhuogao.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.malk.service.dingtalk.DDClient;
-import com.malk.service.dingtalk.DDClient_ORGAPP;
+import com.malk.service.dingtalk.DDClient_Dedicated;
 import com.malk.utils.UtilMap;
 import com.malk.zhuogao.repository.dao.ZSDFileRecordDao;
 import com.malk.zhuogao.repository.entity.ZSDFileRecordPo;
@@ -69,7 +69,7 @@ public class ZSDImplClient_File implements ZSDClient_File {
     private DDClient ddClient;
 
     @Autowired
-    private DDClient_ORGAPP ddClient_orgapp;
+    private DDClient_Dedicated ddClient_orgapp;
 
     @Autowired
     private ZSDFileRecordDao zsdFileRecordDao;

+ 5 - 5
mjava-zhuogao/src/main/resources/application-dev.yml

@@ -28,14 +28,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/zhuogao/server/_Tool/var/mjava/tmp/file
-    image: /Users/zhuogao/server/_Tool/var/mjava/tmp/image
-    tmp: /Users/mcli/server/_Tool/var/mjava/tmp
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp
   source:
-    fonts: /Users/zhuogao/server/_Tool/fonts/simsun.ttc
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/zhuogao/server/_Tool/var/mjava/log
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

+ 48 - 0
mjava-zhuogao/target/classes/application-dev.yml

@@ -0,0 +1,48 @@
+# 环境配置
+server:
+  port: 9001
+  servlet:
+    context-path: /api/zhuogao
+
+# condition
+spel:
+  scheduling: false        # 定时任务是否执行
+  multiSource: false       # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: zg-data2023
+    url: jdbc:mysql://106.14.201.187:3306/zsd_file?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    hibernate:
+      ddl-auto: none      # JPA对表没有任何操作
+    show-sql: true
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# filepath
+file:
+  path:
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp
+  source:
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+logging:
+  file:
+    path: /Users/malk/server/_Tool/var/mjava/log
+
+# dingtalk
+dingtalk:
+  agentId: 2637590343
+  appKey: dingpf58d8stvjmlmeum
+  appSecret: aEk90YBnlXl8Kn1rOhtuq8igxVwR6VKUdVZhngks-0SBR6ySy5j9HRqaFCEMlH8n
+  corpId: dingd5d648cdd1e2518635c2f4657eb6378f
+  aesKey:
+  token:
+  operator: ""   # OA管理员账号 [首字符若为0需要转一下字符串]

+ 33 - 0
mjava-zhuogao/target/classes/application-prod.yml

@@ -0,0 +1,33 @@
+# 环境配置
+server:
+  port: 9011
+  servlet:
+    context-path: /api/zhuogao
+
+# condition
+spel:
+  scheduling: true        # 定时任务是否执行
+  multiSource: false      # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: zg-data2023
+    url: jdbc:mysql://106.14.201.187:3306/zsd_file?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# dingtalk
+dingtalk:
+  agentId: 2637590343
+  appKey: dingpf58d8stvjmlmeum
+  appSecret: aEk90YBnlXl8Kn1rOhtuq8igxVwR6VKUdVZhngks-0SBR6ySy5j9HRqaFCEMlH8n
+  corpId: dingd5d648cdd1e2518635c2f4657eb6378f
+  aesKey:
+  token:
+  operator: ""   # OA管理员账号 [首字符若为0需要转一下字符串]

文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/app.1e205474.css


二进制
mjava-zhuogao/target/classes/static/web/css/app.1e205474.css.gz


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-020bde4f.8cd353de.css


+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-03803d04.d28c0d77.css

@@ -0,0 +1 @@
+[data-v-100f05f3]:export{colorTheme:#2663f4}.main[data-v-100f05f3]{background-color:#f0f2f5}.swiper[data-v-100f05f3]{--swiper-theme-color:#f60}.swiper-image[data-v-100f05f3]{width:100%}

文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-09d432c5.08e92398.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-0dc3c267.a04b5e6e.css


+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-115de532.efcd021e.css

@@ -0,0 +1 @@
+[data-v-6b9ce74d]:export{colorTheme:#2663f4}.main[data-v-6b9ce74d]{max-width:108rem}[data-v-6b9ce74d] .q-tab__icon{width:3.8rem;height:3.8rem;margin:-1rem}

文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-13e18d6c.29149725.css


+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-16622649.5f788a64.css

@@ -0,0 +1 @@
+[data-v-2cbd7a50]:export{colorTheme:#2663f4}.webview[data-v-2cbd7a50]{width:100%}

文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-1ee91c18.2c5e6b95.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-241c9cfc.2ad4aee4.css


+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-2b3d1d97.3e61a36e.css

@@ -0,0 +1 @@
+[data-v-55a7af65]:export{colorTheme:#2663f4}.comp .el-input[data-v-55a7af65]{width:20rem}.comp-form-oper[data-v-55a7af65]{margin-top:7rem;text-align:center}.comp-form-oper .el-button[data-v-55a7af65]{margin:0 1.5rem;width:40%}

文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-34786a36.9b156963.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-35d77297.5dd7accd.css


二进制
mjava-zhuogao/target/classes/static/web/css/chunk-35d77297.5dd7accd.css.gz


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-3f61e0f1.eef13e95.css


+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-4e109df4.b671580b.css

@@ -0,0 +1 @@
+.comp-department{color:#435a99;margin-right:1rem;margin-left:2rem}.comp .el-input{width:20rem}.comp-department{cursor:pointer}.comp-department:hover{text-decoration:underline}.comp-department i{margin-left:.3rem}

文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-5d241c38.e69d3699.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-6279ca32.6c624d50.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-65abd8c2.182cda6f.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-6b83ef66.f91727df.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-6d750ba2.b1127071.css


+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-723eb2cc.5ca1aba6.css

@@ -0,0 +1 @@
+[data-v-512e95e0]:export{colorTheme:#2663f4}.comp[data-v-512e95e0]{background-color:#fff}.comp-pagination[data-v-512e95e0]{padding:3rem 0 1rem 0}[data-v-512e95e0] .tableStyle{background-color:#f5f7fa!important;color:#333;font-weight:700}.paginationStyle[data-v-512e95e0]{text-align:center}

文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-767b9dea.7228e7cc.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-87f1c134.0cd21f17.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-b189ddd8.7a1576f4.css


+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-d773cad0.b7a55ecf.css

@@ -0,0 +1 @@
+[data-v-76591bca]:export{colorTheme:#2663f4}.main[data-v-76591bca]{text-align:center;background-color:#fff;height:100%}.guide[data-v-76591bca]{width:100%}.guide img[data-v-76591bca]{width:5rem;height:5rem;margin:auto;margin-top:7%}h2[data-v-76591bca]{padding-top:4rem;font-size:2.4rem;text-align:justify-all}

文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-de510a84.694e0ad8.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/chunk-fd2bf652.2e6b27df.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/npm.ant-design-vue.05a448c8.css


二进制
mjava-zhuogao/target/classes/static/web/css/npm.ant-design-vue.05a448c8.css.gz


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/npm.element-ui.2fe571ab.css


二进制
mjava-zhuogao/target/classes/static/web/css/npm.element-ui.2fe571ab.css.gz


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/npm.quasar.2415b056.css


文件差异内容过多而无法显示
+ 1 - 0
mjava-zhuogao/target/classes/static/web/css/npm.swiper.23437b54.css


二进制
mjava-zhuogao/target/classes/static/web/css/npm.swiper.23437b54.css.gz


二进制
mjava-zhuogao/target/classes/static/web/favicon.ico


二进制
mjava-zhuogao/target/classes/static/web/fonts/element-icons.535877f5.woff


二进制
mjava-zhuogao/target/classes/static/web/fonts/element-icons.732389de.ttf


二进制
mjava-zhuogao/target/classes/static/web/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.29b882f0.woff


二进制
mjava-zhuogao/target/classes/static/web/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.0509ab09.woff2


二进制
mjava-zhuogao/target/classes/static/web/img/+pk-select.472d7dee.png


二进制
mjava-zhuogao/target/classes/static/web/img/404.0a45bba9.jpg


二进制
mjava-zhuogao/target/classes/static/web/img/link.038ba0a1.png


二进制
mjava-zhuogao/target/classes/static/web/img/logo.a24f00e9.png


二进制
mjava-zhuogao/target/classes/static/web/img/logo.f2cf67e8.png


二进制
mjava-zhuogao/target/classes/static/web/img/look.68727e17.png


二进制
mjava-zhuogao/target/classes/static/web/img/no-data-pk.fc4bd766.png


二进制
mjava-zhuogao/target/classes/static/web/img/no-data-search.26341beb.png


二进制
mjava-zhuogao/target/classes/static/web/img/pk-relation.05ad7b4b.png


二进制
mjava-zhuogao/target/classes/static/web/img/player.a587f6e2.png


+ 0 - 0
mjava-zhuogao/target/classes/static/web/img/reset.e99a88b6.png


部分文件因为文件数量过多而无法显示