pruple_boy 1 mēnesi atpakaļ
vecāks
revīzija
9d28b10d5a

+ 1 - 1
mjava-aiwei/src/main/java/com/malk/aiwei/controller/TBxYDController.java

@@ -511,7 +511,7 @@ public class TBxYDController {
     }
 
     /**
-     * 提供verifier数据读取服务
+     * 提供verifier数据回写服务
      */
     @PostMapping("verifier/back")
     McR backVerifier(@RequestBody Map data) {

+ 22 - 6
mjava-gewu/src/main/resources/application-dev.yml

@@ -47,17 +47,33 @@ logging:
   file:
     path: /Users/malk/server/_Tool/var/mjava/log
 
-# dingtalk
+## dingtalk - dev
+#dingtalk:
+#  agentId: 2691784047
+#  appKey: dinghbynhnd2dbgypmsa
+#  appSecret: Kl5Xw8x0TlEIlvcJuUkYZD18UTTShJmfdKrAIpY8oX-Q_tazyUKA28nQh7dG5-mq
+#  corpId: ding321c72787fffc78b35c2f4657eb6378f
+#  aesKey:
+#  token:
+#  operator: ""   # OA管理员账号
+#
+## aliwork - dev
+#aliwork:
+#  appType: APP_FX4PR3OWW4WCFOHI2ZSR
+#  systemToken: 2G766HA1RDHC1C2CCRY62544NL8L21T5786KL27
+
+
+# dingtalk - prod
 dingtalk:
-  agentId: 2691784047
-  appKey: dinghbynhnd2dbgypmsa
-  appSecret: Kl5Xw8x0TlEIlvcJuUkYZD18UTTShJmfdKrAIpY8oX-Q_tazyUKA28nQh7dG5-mq
-  corpId: ding321c72787fffc78b35c2f4657eb6378f
+  agentId: 2660236361
+  appKey: dinguuieqv4lkvp3vkaf
+  appSecret: N5JjPU9RDk77pTze5vRWmiWLDjPKeYJV3sQrmYgN_SC57nOALmj570rVB0SGGcQQ
+  corpId: dingec9ee223c2b3a671
   aesKey:
   token:
   operator: ""   # OA管理员账号
 
-# aliwork
+# aliwork - prod
 aliwork:
   appType: APP_FX4PR3OWW4WCFOHI2ZSR
   systemToken: 2G766HA1RDHC1C2CCRY62544NL8L21T5786KL27

+ 28 - 5
mjava-hake/src/main/java/com/malk/hake/controller/HKController.java

@@ -10,8 +10,9 @@ import com.malk.server.common.McR;
 import com.malk.server.common.McREnum;
 import com.malk.service.aliwork.YDClient;
 import com.malk.service.aliwork.YDService;
+import com.malk.service.dingtalk.DDClient;
+import com.malk.service.dingtalk.DDClient_Contacts;
 import com.malk.service.dingtalk.DDClient_Event;
-import com.malk.utils.UtilDateTime;
 import com.malk.utils.UtilMap;
 import com.malk.utils.UtilServlet;
 import lombok.SneakyThrows;
@@ -21,7 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.Date;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -159,10 +160,26 @@ public class HKController {
         return McR.success();
     }
 
+    @Autowired
+    private DDClient_Contacts ddClient_contacts;
+
+    @Autowired
+    private DDClient ddClient;
+
+    @GetMapping("tmp")
+    McR tmp_1() {
+
+        hkClient.test();
+//        return McR.success(hkClient.syncContact(true));
+        return McR.success();
+    }
+
     @GetMapping("test")
-    McR test() {
+    McR test(@RequestParam String id, @RequestBody Map data) {
 
-        log.info("测试, {}", UtilDateTime.formatDate(new Date(new Date().getTime() - 24 * 60 * 60 * 1000)));
+        log.info("xxxx, {}, {}", id, data);
+//        ddClient_contacts.getDepartmentInfo(ddClient.getAccessToken(), 369113480L);
+        return McR.success();
 
 //        List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
 //                .formUuid("FORM-96C8BF4B18044DF783ADFE1CF7931FE9P4BW")
@@ -204,7 +221,7 @@ public class HKController {
 //                    .updateFormDataJson(JSON.toJSONString(formData))
 //                    .build(), YDConf.FORM_OPERATION.update);
 //        });
-        return McR.success();
+//        return McR.success();
     }
 
     @GetMapping("test2")
@@ -260,4 +277,10 @@ public class HKController {
 
         return McR.success();
     }
+
+    @PostMapping("/approve")
+    McR approve() {
+
+        return McR.success(Arrays.asList("095358016629044412", "3044156512719746", "2534342040877632"));
+    }
 }

+ 2 - 0
mjava-hake/src/main/java/com/malk/hake/service/HKClient.java

@@ -47,4 +47,6 @@ public interface HKClient {
      */
     @Deprecated
     void _correctionAttendance();
+
+    void test();
 }

+ 30 - 9
mjava-hake/src/main/java/com/malk/hake/service/impl/HKImplClient.java

@@ -37,7 +37,8 @@ public class HKImplClient implements HKClient {
         if (UtilEnv.getActiveProfile().equals(UtilEnv.ENV_PROD)) {
             return "http://172.16.20.13:10002/api/public" + path;
         }
-        return "http://116.228.113.106:10001/api/public" + path;
+        return "http://116.228.113.106:10002/api/public" + path;
+//        return "http://116.228.113.106:10001/api/public" + path;
     }
 
     // monitor 考勤同步:001_1.1 测试环境;001.1 生产环境
@@ -197,11 +198,17 @@ public class HKImplClient implements HKClient {
     public List<String> syncContact(boolean isAttendance) {
 
         List<String> uIds = new ArrayList<>();
+        List<Long> deptList;
 
         // prd: 非全量同步: 总部\哈克\负责人
-        List<Long> deptList = UtilList.asList(DDConf.TOP_DEPARTMENT);
-        deptList.addAll(ddClient_contacts.getDepartmentId_all(ddClient.getAccessToken(), true, 129113277L)); // 总部
-        deptList.addAll(ddClient_contacts.getDepartmentId_all(ddClient.getAccessToken(), true, 128984162L)); // 哈克
+        if (!isAttendance) {
+            deptList = UtilList.asList(DDConf.TOP_DEPARTMENT);
+            deptList.addAll(ddClient_contacts.getDepartmentId_all(ddClient.getAccessToken(), true, 129113277L)); // 总部
+            deptList.addAll(ddClient_contacts.getDepartmentId_all(ddClient.getAccessToken(), true, 128984162L)); // 哈克
+        } else {
+            // prd 0529 上海考勤同步, 只需要生产车间人员
+            deptList = ddClient_contacts.getDepartmentId_all(ddClient.getAccessToken(), true, 369113480L);
+        }
         for (long deptId : deptList) {
             List<String> userIds = ddClient_contacts.listDepartmentUserId(ddClient.getAccessToken(), deptId);
             if (userIds.size() == 0) {
@@ -228,7 +235,9 @@ public class HKImplClient implements HKClient {
                 if (userInfo.containsKey("org_email")) {
                     data.put("email", userInfo.get("org_email"));
                 }
-                data.put("employeeStartDate", UtilDateTime.formatDate(new Date(UtilMap.getLong(userInfo, "hired_date"))));
+                if (userInfo.containsKey("hired_date")) {
+                    data.put("employeeStartDate", UtilDateTime.formatDate(new Date(UtilMap.getLong(userInfo, "hired_date"))));
+                }
                 data.put("employeeDept", deptName);
                 data.put("dtDepts", dpetCascade);
                 data.put("dtPersonGroup", "");
@@ -253,7 +262,7 @@ public class HKImplClient implements HKClient {
         }
 
         userIdReflect = null;
-        log.info("重新同步人员映射表", getUserIdReflect().size());
+        log.info("同步完成::重新同步人员映射表", getUserIdReflect().size());
         return uIds;
     }
 
@@ -344,7 +353,7 @@ public class HKImplClient implements HKClient {
     // ppExt: 基于 OkHttp 库实现, https带ip请求兼容性, 忽略证书校验 OkHttpUtil 类 [ 使用 HttpUtil 报异常 ]
     @SneakyThrows
     private Map okRequest(String url, String sessionId, Map data) {
-        log.info("ok request, {}, {}", url, data);
+        log.debug("ok request, {}, {}", url, data);
         OkHttpClient client = new OkHttpClient().newBuilder()
                 .sslSocketFactory(OkHttpUtil.getIgnoreInitedSslContext().getSocketFactory(), OkHttpUtil.IGNORE_SSL_TRUST_MANAGER_X509)
                 .hostnameVerifier(OkHttpUtil.getIgnoreSslHostnameVerifier())
@@ -359,9 +368,12 @@ public class HKImplClient implements HKClient {
 
         Response response = client.newCall(request).execute();
         String rsp = response.body().string();
-        log.info("ok response, {}", rsp);
+        log.debug("ok response, {}", rsp);
         try {
-            return JSON.parseObject(rsp);
+            // prd 25.06.25 monitor接口升级, 考勤认证取值从body移到header
+            Map result = JSON.parseObject(rsp);
+            result.put("SessionId", response.headers().get("X-Monitor-SessionId"));
+            return result;
         } catch (Exception e) {
             McException.exceptionAccess(rsp);
         }
@@ -561,5 +573,14 @@ public class HKImplClient implements HKClient {
             }
         }
     }
+
+    @Override
+    public void test() {
+
+//        String sId = _getAuthSessionId();
+//        _syncCheckingRecord(true, "2025-05-07 09:04:45", "1082855734708073203");
+//        log.info("xxx, {}", sId);
+    }
 }
 
+