From d352184d3364e379da38e56d6aa53c1f53f517ca Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期日, 04 一月 2026 15:06:59 +0800
Subject: [PATCH] 最新版本541200007最新版本541200007

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                       |    2 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java     |   67 +++++++++++++++++++--------------
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java      |    2 -
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java            |   16 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |    2 -
 server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/request/MemberPushData.java           |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java           |   16 +++++---
 server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java                   |    8 +++-
 server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java                 |    3 +
 9 files changed, 74 insertions(+), 43 deletions(-)

diff --git a/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java b/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java
index 4152e7d..cccd383 100644
--- a/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java
+++ b/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java
@@ -4,7 +4,8 @@
  * http 鐩稿叧鐨勫父閲�
  */
 public class HttpConstant {
-    public static final String HOST = "https://api.jiandaoyun.com/api/";
+//    public static final String HOST = "https://api.jiandaoyun.com/api/";
+//    public static final String HOST = "https://lcdp.ahyc.com.cn:30443/api/";
 
     /**
      * 閮ㄩ棬鐩稿叧鐨勬帴鍙e墠缂�
diff --git a/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java b/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java
index 38e01d1..679cc20 100644
--- a/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java
+++ b/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java
@@ -1,5 +1,6 @@
 package com.doumee.core.jiandaoyun.model.http;
 
+import com.alibaba.fastjson.JSONObject;
 import com.doumee.core.jiandaoyun.util.LimitUtil;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
@@ -119,11 +120,12 @@
      */
     public Map<String, Object> sendPostRequest(HttpRequestParam param) throws Exception {
         if (param == null || StringUtils.isBlank(param.getPath())) {
-            throw new RuntimeException("缂哄け鍙傛暟锛�");
+            throw new Exception("缂哄け鍙傛暟锛�");
         }
         HttpClient client = getSSLHttpClient();
         Header[] headers = getHttpHeaders(this.getApiKey());
         String url = this.host + param.getPath();
+        log.error("===绠�閬撲簯鎺ュ彛url锛�"+url);
         HttpRequestBase request = new HttpPost(url);
 
         // 璇锋眰鍙傛暟
@@ -148,9 +150,11 @@
             result = (Map<String, Object>) mapper.readValue(response.getEntity().getContent(), Object.class);
         }
         if (statusCode >= 400) {
-            throw new RuntimeException("璇锋眰閿欒锛宻tatusCode:" + statusCode + ",Error Code: " + result.get("code") + ", Error Msg: " + result.get("msg"));
+            log.error("===绠�閬撲簯鎺ュ彛锛氳姹傞敊璇紝statusCode:" + statusCode + ",Error Code: " + result.get("code") + ", Error Msg: " + result.get("msg"));
+            throw new Exception("璇锋眰閿欒锛宻tatusCode:" + statusCode + ",Error Code: " + result.get("code") + ", Error Msg: " + result.get("msg"));
         } else {
             // 澶勭悊杩斿洖缁撴灉
+            log.error("===绠�閬撲簯鎺ュ彛锛氳姹傛垚鍔焤esult:" + JSONObject.toJSONString(result));
             return result;
         }
     }
diff --git a/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/request/MemberPushData.java b/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/request/MemberPushData.java
index 459f817..f3b992f 100644
--- a/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/request/MemberPushData.java
+++ b/server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/model/request/MemberPushData.java
@@ -16,6 +16,7 @@
     private String sex;
     private String job_date;
     private String can_visit;//鍙嫓璁� 涓嶅彲鎷滆
+    private String master;//鏄� 鍚�
     private String phone;
     private String name;
     private String idcardno;
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 7b93ec5..17320a3 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -65,6 +65,7 @@
     public static final String JDY_CAR_SECRET = " JDY_CAR_SECRET";
     public static final String JDY_SECRET ="JDY_SECRET";
     public static final String JDY_MEMBER_PUSH_STATUS_URL ="JDY_MEMBER_PUSH_STATUS_URL";
+    public static final String JDY_API_HOST = "API_HOST";
 
     /**
      * 鎿嶄綔绫诲瀷锛岀敤浜庡仛鎺ュ彛楠岃瘉鍒嗙粍
@@ -92,6 +93,7 @@
     public static final String LOCATION ="LOCATION" ;
     public static final String API_KEY ="API_KEY" ;
     public static final String JDY_CONFIG ="JDY_CONFIG" ;
+    public static final String JDY_COMPANY_ROOT_NO ="JDY_COMPANY_ROOT_NO" ;
     public static final String CABINET_CONFIG ="CABINET_CONFIG" ;
     public static final String BLOW_TIME ="BLOW_TIME" ;
     public static final String PRESSURE ="PRESSURE" ;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 10213d8..524f5b5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -891,12 +891,19 @@
     @Override
     public String syncJdyCompany() {
         //{
-        //  "dept_no": 1,//鏁板瓧 1 涓烘牴閮ㄩ棬缂栧彿銆�
+        //  "dept_no": 1,//鏁板瓧 1 涓烘牴閮ㄩ棬缂栧彿銆�483636217锛氳姕婀栧競鍏徃
         //  "has_child": true
         //}
-        DeptApiClient deptApiClient = new DeptApiClient(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.API_KEY).getCode(), HttpConstant.HOST);
+        DeptApiClient deptApiClient = new DeptApiClient(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.API_KEY).getCode()
+                ,systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_API_HOST).getCode());
         try {
-            Map<String, Object> result =  deptApiClient.deptList(1,true,deptApiClient.getDefaultVersion());
+            int root = 1;
+            try {
+                root = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_COMPANY_ROOT_NO).getCode());
+            }catch (Exception e){
+
+            }
+            Map<String, Object> result =  deptApiClient.deptList(root,true,deptApiClient.getDefaultVersion());
             if(result!=null && result.get("departments")!=null ){
                 TypeReference<List<DeptEntityModel>> typeReference =     new TypeReference<List<DeptEntityModel>>(){};
                 Object obj = result.get("departments");
@@ -920,7 +927,6 @@
             e.printStackTrace();
             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾鏁版嵁寮傚父锛�");
         }
-
         return null;
     }
 
@@ -977,7 +983,6 @@
         }
     }
 
-
     /**
      * 鏁寸悊閽夐拤鍚屾 鏂板缁勭粐瀵硅薄
      * @return
@@ -995,7 +1000,6 @@
     private Company getUpdateCompanyModel(Company param, Company company) {
         return syncDDEditCompanyModel(param,company);
     }
-
 
     /**
      * 鏍规嵁ERPID  鍒ゆ柇鏁版嵁鏄惁宸插湪闆嗗悎閲屽瓨鍦�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
index fd954d2..859b669 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -7,6 +7,9 @@
 import com.doumee.core.dingTalk.DingTalkStream;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.jiandaoyun.api.arch.DeptApiClient;
+import com.doumee.core.jiandaoyun.api.jdy.FormDataApiClient;
+import com.doumee.core.jiandaoyun.model.form.FormDataCreateParam;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.*;
@@ -715,8 +718,6 @@
                             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
                                 for (String ddUserId:ddUserIdList) {
                                     this.getJDYData(warningEvent,ddUserId,
-                                            systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
-                                            systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
                                             systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
                                     );
                                 }
@@ -758,34 +759,44 @@
      * 绠�閬撲簯娑堟伅鎺ㄩ�� 瀹氬埗
      * @param warningEvent
      * @param ddUserId 鎺ユ敹浜� 閽夐拤涓婚敭
-     * @param jdyApiKey  绠�鍗曚簯APIKEY
-     * @param appid  搴旂敤ID
      * @param entryId 琛ㄥ崟ID
      * @throws IOException
      */
-    public void getJDYData(WarningEvent warningEvent,String ddUserId,String jdyApiKey,String appid,String entryId) throws IOException {
-        Map<String,Object> map = new HashMap<>();
-        map.put("app_id",appid);
-        map.put("entry_id",entryId);
-        map.put("is_start_workflow","false");
-        map.put("is_start_trigger","true");
-        map.put("data",this.getJdyChildData(warningEvent,ddUserId));
-
-//        OkHttpClient client = new OkHttpClient().newBuilder()
-//                .build();
-//        MediaType mediaType = MediaType.parse("application/json");
-//        RequestBody body = RequestBody.create(mediaType, JSONObject.toJSONString(map));//"{\"data\":{\"notice_time\":{\"value\":\"2025-12-23 04:56:29\"},\"title\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"},\"user\":{\"value\":\"1568490244651036\"},\"content\":{\"value\":\"璺ㄨ秺鐢熶骇绾�-鑺滄箹鐗╂祦涓績鍖楀洿澧欒繃閬撲笢\"},\"notice_type\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"}},\"is_start_trigger\":\"true\",\"app_id\":\"6909d0fbdb93b068192dc4a9\",\"entry_id\":\"694a19ecf57e071788efc20b\",\"is_start_workflow\":\"false\"}");
-//        log.error("绠�閬撲簯鍙戦�侀�氱煡璇锋眰淇℃伅" + JSONObject.toJSONString(map));
-//        Request request = new Request.Builder()
-//                .url("https://api.jiandaoyun.com/api/v5/app/entry/data/create")
-//                .method("POST", body)
-//                .addHeader("Authorization", "Bearer "+jdyApiKey)
-//                .addHeader("Content-Type", "application/json")
-//                .build();
-//        Response response = client.newCall(request).execute();
-//
-//        log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅" + JSONObject.toJSONString(response));
-
+    public void getJDYData(WarningEvent warningEvent,String ddUserId , String entryId)  {
+        try {
+            log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅寮�濮�"  );
+            FormDataApiClient apiClient = new FormDataApiClient(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.API_KEY).getCode()
+                    ,systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_API_HOST).getCode());
+            FormDataCreateParam param  =new FormDataCreateParam();
+            param.setData(this.getJdyChildData(warningEvent,ddUserId));
+            param.setApp_id(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.APPID).getCode());
+            param.setEntry_id(entryId);
+            param.setIs_start_trigger(false);
+            param.setIs_start_trigger(true);
+            Map<String, Object>  response =  apiClient.singleDataCreate(param,apiClient.getDefaultVersion());
+            /*
+             Map<String,Object> map = new HashMap<>();
+            map.put("app_id",appid);
+            map.put("entry_id",entryId);
+            map.put("is_start_workflow","false");
+            map.put("is_start_trigger","true");
+            map.put("data",this.getJdyChildData(warningEvent,ddUserId));
+            OkHttpClient client = new OkHttpClient().newBuilder()
+                    .build();
+            MediaType mediaType = MediaType.parse("application/json");
+            RequestBody body = RequestBody.create(mediaType, JSONObject.toJSONString(map));//"{\"data\":{\"notice_time\":{\"value\":\"2025-12-23 04:56:29\"},\"title\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"},\"user\":{\"value\":\"1568490244651036\"},\"content\":{\"value\":\"璺ㄨ秺鐢熶骇绾�-鑺滄箹鐗╂祦涓績鍖楀洿澧欒繃閬撲笢\"},\"notice_type\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"}},\"is_start_trigger\":\"true\",\"app_id\":\"6909d0fbdb93b068192dc4a9\",\"entry_id\":\"694a19ecf57e071788efc20b\",\"is_start_workflow\":\"false\"}");
+            log.error("绠�閬撲簯鍙戦�侀�氱煡璇锋眰淇℃伅" + JSONObject.toJSONString(map));
+            Request request = new Request.Builder()
+                    .url(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_API_HOST).getCode()+"v5/app/entry/data/create")
+                    .method("POST", body)
+                    .addHeader("Authorization", "Bearer "+jdyApiKey)
+                    .addHeader("Content-Type", "application/json")
+                    .build();
+            Response response = client.newCall(request).execute();*/
+            log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅" + JSONObject.toJSONString(response));
+        }catch (Exception e){
+            log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅寮傚父锛�" + e.getMessage());
+        }
     }
 
 
@@ -1105,8 +1116,6 @@
                         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
                             for (String ddUserId:ddUserIdList) {
                                 this.getJDYData(warningEvent,ddUserId,
-                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
-                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
                                         systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
 
                                 );
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
index 6be46ef..7c812e5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -270,8 +270,6 @@
                                 if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
                                     for (String ddUserId:ddUserIdList) {
                                         impl.getJDYData(warningEvent,ddUserId,
-                                                systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
-                                                systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
                                                 systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
 
                                         );
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 3584cca..596f94d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2498,6 +2498,7 @@
                     .eq( Member::getType,Constants.TWO )
                     .last("limit 1"));
         }
+        boolean addOrEdit = false;
         if(member == null){
             //鏂板浜哄憳
             if(data.getDeleter()!=null){
@@ -2506,6 +2507,7 @@
             }
             member = getAddOrUpdateModelFromJDY(data,true);
             this.create(member);
+            addOrEdit=true;
         }else{
             //鏇存柊浜哄憳
             if(data.getDeleter()!=null){
@@ -2515,8 +2517,16 @@
                 //鏇存柊浜哄憳淇℃伅
                 Member updateMember =getAddOrUpdateModelFromJDY(data,false);
                 updateMember.setId(member.getId());
+                addOrEdit=true;
                 this.updateById(updateMember);
             }
+        }
+        if(addOrEdit && Constants.equalsInteger(member.getHeadStatus(),Constants.ONE) && member.getCompanyModel()!=null){
+            //濡傛灉鏄儴闂ㄤ富绠�
+            Company updateCom = new Company();
+            updateCom.setHeadId(member.getId());
+            updateCom.setId(member.getCompanyModel().getId());
+            companyMapper.updateById(updateCom);//鏇存柊閮ㄩ棬涓荤浜哄憳
         }
     }
 
@@ -2535,6 +2545,9 @@
         }
         if(StringUtils.isNotBlank(data.getCan_visit())){
             member.setCanVisit(StringUtils.equals(data.getCan_visit(),"鍙嫓璁�")?1:0);
+        }
+        if(StringUtils.isNotBlank(data.getMaster())){
+            member.setHeadStatus(StringUtils.equals(data.getMaster(),"鏄�")?1:0);
         }
         member.setErpId(data.getUsername());
         if(data.getDepartment()!=null){
@@ -2609,7 +2622,8 @@
 
     @Override
     public String syncJdyUserInfo() {
-        DeptApiClient deptApiClient = new DeptApiClient(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.API_KEY).getCode(), HttpConstant.HOST);
+        DeptApiClient deptApiClient = new DeptApiClient(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.API_KEY).getCode()
+                ,systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_API_HOST).getCode());
         try {
             Map<String, Object> result =  deptApiClient.deptMemberList(1,true,deptApiClient.getDefaultVersion());
             if(result!=null && result.get("users")!=null ){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 7360b5c..451c5f1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -546,8 +546,6 @@
                                         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
                                             for (String ddUserId:ddUserIdList) {
                                                 impl.getJDYData(warningEvent,ddUserId,
-                                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
-                                                        systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
                                                         systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
 
                                                 );

--
Gitblit v1.9.3