From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 11 九月 2025 18:43:14 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java |  105 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 83 insertions(+), 22 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
index 7765f13..8fe86fe 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -1,6 +1,5 @@
 package com.doumee.service.business.impl.hksync.ferp;
 
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
@@ -11,19 +10,23 @@
 import com.doumee.core.haikang.model.param.request.*;
 import com.doumee.core.haikang.model.param.respose.*;
 import com.doumee.core.haikang.service.HKService;
+import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DESUtil;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.ImageBase64Util;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.dao.MemberMapper;
 import com.doumee.dao.business.join.MemberJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.ext.ERPSyncService;
 import com.doumee.service.business.impl.hksync.HkSyncBaseServiceImpl;
 import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -63,16 +66,72 @@
     @Autowired
     private ERPSyncService erpSyncService;
     @Autowired
+    private SystemUserMapper systemUserMapper;
+    @Autowired
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private DataSyncConfig dataSyncConfig;
 
     /**
+     *  缁戝畾娴峰悍鐢ㄦ埛openId
+     *  {
+     * "openId" : "ovmre6R7w-vEQCHg52-UN2mV_abI",
+     * "userName" : "13856591439",
+     * "appKey" : "wx173e6caf5abc718a",
+     * "oaId" : "atwl",
+     * "platformName" : "瀹夋嘲鐗╂祦鍥尯",
+     *
+     * }
+     */
+    @Override
+    public    String syncHkUserOpenid(Integer id){
+        SystemUser user = systemUserMapper.selectById(id);
+        if(user == null ||StringUtils.isBlank(user.getOpenid()) ||Constants.equalsInteger(user.getOpenidHkStatus(),Constants.ONE)){
+            return null;
+        }
+        UserOpenidSaveRequest request = new UserOpenidSaveRequest();
+        request.setUserName(user.getUsername());
+        request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode());
+        request.setOaId("atwl");
+        request.setOpenId(user.getOpenid());
+        request.setPlatformName(user.getRealname());
+        BaseResponse<Integer>  response = HKService.userOpenidSave(request);
+        if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE) && Constants.equalsInteger(response.getData(),Constants.ONE)){
+            user.setOpenidHkStatus(Constants.ONE);
+            user.setOpenidHkInfo("缁戝畾鎴愬姛");
+        }else{
+            user.setOpenidHkStatus(Constants.TWO);
+            user.setOpenidHkInfo(response!=null?StringUtils.defaultString(response.getMsg(),"銆愭湭鐭ュけ璐ュ師鍥犮��"):"缁戝畾澶辫触");
+        }
+        user.setOpenidHkDate(new Date());
+        systemUserMapper.updateById(user);
+        return  "鎴愬姛";
+    }
+    @Override
+    public    String delHkUserOpenid(UserOpenidSaveRequest param){
+        UserOpenidSaveRequest request = new UserOpenidSaveRequest();
+        request.setUserName(param.getUserName());
+        request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode());
+        BaseResponse response = HKService.userOpenidDel(request);
+        if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE)){
+        }
+        request.setUserName(null);
+        request.setOpenId(param.getOpenId());
+        request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode());
+        response = HKService.userOpenidDel(request);
+        if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE)){
+        }
+        return  "鎴愬姛";
+    }
+
+    /**
      * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
      */
     @Override
-    public   void syncOrgData(){
-        if(Constants.DEALING_HK_ORG || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){
+    public   void syncOrgData(LoginUserInfo user){
+        if(Constants.DEALING_HK_ORG ||
+                !(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp
+                        || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self)){
             return   ;
         }
         Constants.DEALING_HK_ORG =true;
@@ -148,7 +207,7 @@
         if(addList!=null &&addList.size()>0){
             //澶勭悊鏂板
             BaseResponse<OrgOrUserAddResponse> result =  HKService.addBatchOrg(addList);
-            if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+            if(result !=null && StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE)){
                 OrgOrUserAddResponse data = result.getData();
                 if(data.getSuccesses()!=null && data.getSuccesses().size()>0){
                     //澶勭悊鏂板鎴愬姛鐨勬暟鎹紝淇敼娴峰悍鍚屾鐘舵��
@@ -261,8 +320,10 @@
      * @return
      */
     @Override
-    public   void syncUserData(){
-        if(Constants.DEALING_HK_USER  || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){
+    public   void syncUserData(LoginUserInfo user){
+        if(Constants.DEALING_HK_USER  ||
+                !(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp
+                || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self)){
             return   ;
         }
         Constants.DEALING_HK_USER =true;
@@ -282,7 +343,7 @@
                 return;
             }
             Date date = new Date();
-            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
                     +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
             for(Member c : list){
                 dealMemberInfoBiz(c,date,path) ;
@@ -299,7 +360,8 @@
      */
     @Override
     public   void syncMemberDelData(){
-        if(Constants.DEALING_HK_DEL_USER  || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){
+        if(Constants.DEALING_HK_DEL_USER
+                || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())== DataSyncConfig.origin.hk){
             return   ;
         }
         Constants.DEALING_HK_DEL_USER =true;
@@ -358,14 +420,16 @@
         }
         Date date = new Date();
         for(Member member : list){
+            //涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛   3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉�
             if(member!=null && Constants.equalsInteger(member.getIsdeleted(),Constants.ONE) ){
                 if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
                         .eq(Empower::getMemberId, member.getId())
                         .eq(Empower::getIsdeleted,Constants.ONE)
                         .ne(Empower::getFailFlag,Constants.ONE)
-                        .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0) {
-                    //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁
-
+                        .notIn(Empower::getSendStatus
+                                ,Constants.EmpowerStatus.pass
+                                ,Constants.EmpowerStatus.cancel )) ==0) {
+                    //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁�
                     HkSyncEmpowerServiceImpl.doHkDeleteUser(member.getId(),member.getHkId(),date,memberMapper1,memberCardMapper);
                 }
             }
@@ -392,12 +456,11 @@
                         for(String s :ss){
                             try {
                                 Integer ts =Integer.parseInt(s);
-                                 r.add(ts);
+                                r.add(ts);
                             }catch (Exception e){
                                 //鑴忔暟鎹笉澶勭悊
                             }
                         }
-
                     }
                 }
                 return  r;
@@ -475,9 +538,8 @@
             //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴�
             return;
         }
-
         if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)){
-//                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
+                // && Constants.equalsInteger(member.getHkStatus(),Constants.ONE)){
             List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚�
             List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚�
             //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄愶紙鍙鐞嗘柊澧炴垨鑰呯紪杈戠殑锛�
@@ -518,7 +580,7 @@
                         .eq(Empower::getMemberId,member.getId())
                         .eq(Empower::getIsdeleted,Constants.ZERO)
                         .in(Empower::getDeviceId,deviceIds) );
-                empowerMapper.insertBatchSomeColumn(list);
+                empowerMapper.insert(list);
             }
         }
     }
@@ -544,7 +606,7 @@
         List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚�
         List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚�
         if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)
-                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
+                && Constants.equalsInteger(member.getHkStatus(),Constants.ONE)){
             //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄愶紙鍙鐞嗘柊澧炴垨鑰呯紪杈戠殑锛�
             List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,addDoorIds));
             if(deviceList == null || deviceList.size() == 0){
@@ -577,7 +639,7 @@
                     .eq(Empower::getMemberId,member.getId())
                     .eq(Empower::getIsdeleted,Constants.ZERO)
                     .in(Empower::getDeviceId,deviceIds) );
-            empowerMapper.insertBatchSomeColumn(list);
+            empowerMapper.insert(list);
         }
     }
 
@@ -616,7 +678,6 @@
             cr.setCardType(m.getType());
             param.getCardList().add(cr);
         }
-
         //澶勭悊鏂板鏁版嵁
         BaseResponse<List<CardInfoResponse>> result =  HKService.cardBingding(param);
         if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){
@@ -652,7 +713,7 @@
     public static   List<MemberCard> getNormalCardList(Member member,MemberCardMapper memberCardMapper) {
        return memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda()
                 .eq(MemberCard::getMemberId,member.getId())
-//                .eq(MemberCard::getType,Constants.TWO)
+                // .eq(MemberCard::getType,Constants.TWO)
                 .eq(MemberCard::getStatus,Constants.MemberCard.normal)
                 .eq(MemberCard::getHkStatus,Constants.ONE)  );
 
@@ -687,7 +748,7 @@
             //澶勭悊鏂板鏁版嵁
             BaseResponse result =  HKService.editUser(addHkModel);
             if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){
-                if(StringUtils.isNotBlank(c.getFaceImg()) && Constants.equalsInteger(c.getFaceStatus(),Constants.ZERO)){
+                if(StringUtils.isNotBlank(c.getFaceImg()) && !Constants.equalsInteger(c.getFaceStatus(),Constants.TWO)){
                     //濡傛灉鏈変汉鑴哥収鐗囷紝澶勭悊浜鸿劯鐓х墖鍚屾
                     String faceid = dealMemberFace(c,path);
                     if(StringUtils.isBlank(faceid)){

--
Gitblit v1.9.3