From 568e38a95cb6fb20fe16b53d17f610aefc6f744f Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 09 十月 2025 18:29:29 +0800
Subject: [PATCH] 钉钉通知 与钥匙柜开发

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 deletions(-)

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 624ce03..40f62c5 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
@@ -78,6 +78,7 @@
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -221,9 +222,9 @@
 
     private Member initAddMemberModel(Member member, LoginUserInfo loginUserInfo) {
         Member insert=  new Member();
-        insert.setCreator(Objects.nonNull(loginUserInfo.getId())?loginUserInfo.getId():null);
+        insert.setCreator(Objects.nonNull(loginUserInfo)?loginUserInfo.getId():null);
         insert.setCreateDate(new Date());
-        insert.setEditor(Objects.nonNull(loginUserInfo.getId())?loginUserInfo.getId():null);
+        insert.setEditor(Objects.nonNull(loginUserInfo)?loginUserInfo.getId():null);
         insert.setEditDate(new Date());
         insert.setHkOrgId(member.getHkOrgId());
         insert.setIsdeleted(Constants.ZERO);
@@ -233,6 +234,8 @@
         insert.setCode(member.getCode());
         insert.setType(Constants.TWO);
         insert.setHkDate(new Date());
+        insert.setDdId(member.getDdId());
+        insert.setErpId(member.getErpId());
         insert.setWorkStatus(Constants.ZERO);//榛樿鍦ㄨ亴
         insert.setCanVisit(Constants.ZERO);//榛樿涓嶅彲璁块棶
         insert.setAuthStatus(Constants.ZERO);
@@ -2138,7 +2141,7 @@
         if(importing!=null && importing){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝宸插瓨鍦ㄥ憳宸ュ鍏ヤ换鍔℃鍦ㄦ墽琛屼腑锛岃绋嶅悗鍐嶈瘯锛�");
         }
-        redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_MEMBER,true);
+        redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_MEMBER,true,30, TimeUnit.MINUTES);
         try {
             ExcelImporter ie = null;
             List<MemberImport> dataList =null;
@@ -2391,6 +2394,7 @@
     /**
      * 鍚屾閽夐拤鍐呴儴鍛樺伐淇℃伅
      */
+    @Override
     public void syncDDUserInfo() throws ApiException {
         List<OapiV2UserGetResponse.UserGetResponse>  list = dingTalk.syncAllUserInfo();
         if(CollectionUtils.isEmpty(list)){
@@ -2456,10 +2460,11 @@
 
     private Member syncDDAddMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member member) {
         member.setCreateDate(new Date());
-        member.setErpId(deptGetResponse.getUserid());
+        member.setErpId(deptGetResponse.getUnionid());
         member.setPhone(deptGetResponse.getMobile());
         member.setName(deptGetResponse.getName());
         member.setCode(deptGetResponse.getJobNumber());
+        member.setDdId(deptGetResponse.getUserid());
         isMemberParamValidDetail(member,deptGetResponse.getDeptIdList());
         //鑾峰彇鍑虹敓鏃ユ湡
         //鑴辨晱鎿嶄綔
@@ -2486,7 +2491,7 @@
         if(Objects.nonNull(deptIdList)){
             List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda().in(Company::getErpId,deptIdList)
                     .eq(Company::getType,Constants.ONE).eq(Company::getIsdeleted,Constants.ZERO)
-                    .isNotNull(Company::getHkId)
+//                    .isNotNull(Company::getHkId) 鏆傛椂鏃犳硶鍚屾娴峰悍 鍏堟敞閲�
             );
             if(CollectionUtils.isNotEmpty(companyList)){
                 member.setHkOrgId(companyList.get(Constants.ZERO).getHkId());
@@ -2515,11 +2520,11 @@
     
     public Member syncDDEditMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member updateMember) { 
         updateMember.setEditDate(new Date());
-        updateMember.setErpId(deptGetResponse.getUserid());
+        updateMember.setErpId(deptGetResponse.getUnionid());
         updateMember.setPhone(deptGetResponse.getMobile());
         updateMember.setName(deptGetResponse.getName());
         updateMember.setCode(deptGetResponse.getJobNumber());
-       
+        updateMember.setDdId(deptGetResponse.getUserid());
         updateMember.setHkId(null);
         updateMember.setAuthStatus(Constants.ZERO);
         Boolean hkFlag = dealHkUserForUpdateBiz(updateMember);
@@ -2541,6 +2546,7 @@
                 .set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate())
                 .set(StringUtils.isNotBlank(updateMember.getRemark()),Member::getRemark,updateMember.getRemark())
                 .set(StringUtils.isNotBlank(updateMember.getFaceImg()),Member::getFaceImg,updateMember.getFaceImg())
+                .set(StringUtils.isNotBlank(updateMember.getDdId()),Member::getDdId,updateMember.getDdId())
                 .set(updateMember.getFaceId()!=null,Member::getFaceId,updateMember.getFaceId())
                 .set(updateMember.getCompanyId()!=null,Member::getCompanyId,updateMember.getCompanyId())
                 .set(Member::getCode,updateMember.getCode())
@@ -2582,6 +2588,7 @@
     }
 
 
+    @Override
     public void ddPushMemberInfo(String eventType, shade.com.alibaba.fastjson2.JSONObject eventData) throws ApiException {
         JSONArray jsonArray = eventData.getJSONArray("userId");
         if(jsonArray.isEmpty()){
@@ -2599,16 +2606,17 @@
             }
         }else if(eventType.equals("user_add_org")||eventType.equals("user_modify_org")){
             for (int i = 0; i < jsonArray.size(); i++) {
+                OapiV2UserGetResponse.UserGetResponse userGetResponse =  dingTalk.syncUserInfo(jsonArray.getString(i));
                 Member member  = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
                         .eq(Member::getIsdeleted,Constants.ZERO)
-                        .eq(Member::getErpId,jsonArray.getLong(i))
+                        .eq(Member::getErpId,userGetResponse.getUnionid())
                         .last(" limit 1")
                 );
-                OapiV2UserGetResponse.UserGetResponse deptGetResponse = dingTalk.syncUserInfo(jsonArray.getString(i));
                 if(Objects.isNull(member)){
-                    getAddMemberModel(deptGetResponse,member);
+                    member = new Member();
+                    getAddMemberModel(userGetResponse,member);
                 }else{
-                    getUpdateMemberModel(deptGetResponse,member);
+                    getUpdateMemberModel(userGetResponse,member);
                 }
             }
         }

--
Gitblit v1.9.3