From 70577a6d6cf2bded29e71dcad11a0c2605193d20 Mon Sep 17 00:00:00 2001
From: lishuai <260038442@qq.com>
Date: 星期二, 26 十二月 2023 10:32:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java |  420 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 370 insertions(+), 50 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
index 610c3ff..8a22813 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
@@ -4,30 +4,32 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.erp.model.openapi.request.UserUpdateRequest;
+import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.HKTools;
 import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.core.haikang.model.param.request.OrgAddRequest;
-import com.doumee.core.haikang.model.param.request.OrgDelRequest;
-import com.doumee.core.haikang.model.param.request.ParkListRequest;
-import com.doumee.core.haikang.model.param.respose.OrgOrUserAddResponse;
-import com.doumee.core.haikang.model.param.respose.OrgOrUserAddSuccessResponse;
-import com.doumee.core.haikang.model.param.respose.OrgUpdateFailureResponse;
-import com.doumee.core.haikang.model.param.respose.ParkListResponse;
+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.core.utils.Constants;
+import com.doumee.core.utils.DESUtil;
 import com.doumee.core.utils.DateUtil;
-import com.doumee.dao.business.CompanyMapper;
-import com.doumee.dao.business.ParksMapper;
+import com.doumee.core.utils.ImageBase64Util;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.CompanyJoinMapper;
-import com.doumee.dao.business.model.Company;
-import com.doumee.dao.business.model.Parks;
+import com.doumee.dao.business.join.MemberJoinMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.service.business.ERPSyncService;
 import com.github.yulichang.query.MPJQueryWrapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -35,40 +37,50 @@
 import java.util.UUID;
 
 /**
- * 娴峰悍鍋滆溅搴撳悓姝ervice瀹炵幇
+ * 娴峰悍缁勭粐浜哄憳閫氳繃姝ervice瀹炵幇
  * @author 姹熻箘韫�
  * @date 2023/11/30 15:33
  */
 @Service
+@Slf4j
 public class HkSyncOrgUserServiceImpl extends HkSyncBaseServiceImpl {
-
     @Autowired
     private CompanyMapper companyMapper;
+    @Autowired
+    private MemberRoleMapper memberRoleMapper;
+    @Autowired
+    private EmpowerMapper empowerMapper;
+    @Autowired
+    private MemberJoinMapper memberMapper;
+    @Autowired
+    private ERPSyncService erpSyncService;
+    @Autowired
+    private DeviceMapper deviceMapper;
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
 
     /**
-     * 鍚屾娴峰悍缁勭粐淇℃伅
-     * @return
+     * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
      */
     @Override
     public   void syncOrgData(){
-        if(Constants.DEALING_HK_IMG){
+        if(Constants.DEALING_HK_ORG){
             return   ;
         }
-        Constants.DEALING_HK_IMG =true;
+        Constants.DEALING_HK_ORG =true;
         try {
             //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁
             String rootOrgId = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_ROOTORG_CODE).getCode();
             List<Company> list = companyMapper.selectList(new QueryWrapper<Company>()
-                    .select("*,(select b.hk_id from company b where company.erp_parent_id = b.id limit 1) as hkParentId")
+                    .select("*,(select b.hk_id from company b where company.erp_parent_id = b.erp_id limit 1) as hkParentId")
                     .lambda()
                     .eq(Company::getHkStatus,Constants.ZERO)
-                    .orderByDesc(Company::getErpDate));
+                    .orderByAsc(Company::getErpDate));
             if(list ==null || list.size()==0){
                 return;
             }
             Date date = new Date();
+            List<OrgEditRequest> editHkList = new ArrayList<>();
             List<OrgAddRequest> addList = new ArrayList<>();
             List<Company> updateList = new ArrayList<>();
             List<Integer> delIds = new ArrayList<>();
@@ -95,24 +107,25 @@
                     c.setHkId(m.getOrgIndexCode());
                     updateList.add(c);
                 }else{
-                    //鍒犻櫎鐨勬暟鎹紝杩涜鍒犻櫎
-                    delIds.add(c.getId());
-                    delHKIds.add(c.getHkId());
-                    //鍒犻櫎娴峰悍鍘熸湁鐨勬暟鎹紝鍐嶆柊澧炵粍缁�
-                    OrgAddRequest m = getOrgAddModel(c,rootOrgId);
-                    addList.add(m);
-                    c.setHkId(m.getOrgIndexCode());
+                    if(Constants.equalsInteger(c.getIsdeleted(),Constants.ONE)){
+                        //鍒犻櫎鐨勬暟鎹紝杩涜鍒犻櫎
+                        delIds.add(c.getId());
+                        delHKIds.add(c.getHkId());
+                    }else{
+                        //濡傛灉鏇存柊
+                        editHkList.add(getOrgHkEditModel(c,rootOrgId));
+                    }
                     updateList.add(c);
                 }
             }
             //澶勭悊鍒犻櫎鏁版嵁
             doHkDeleteOrg(delIds,delHKIds,date);
             //澶勭悊鏂板鏁版嵁
-            doHkAddOrg(updateList,addList);
+            doHkAddOrg(updateList,addList,editHkList);
         }catch (Exception e){
             e.printStackTrace();
         }finally {
-            Constants.DEALING_HK_IMG =false;
+            Constants.DEALING_HK_ORG =false;
         }
 
     }
@@ -122,23 +135,51 @@
      * @param updateList
      * @param addList
      */
-    private void doHkAddOrg(List<Company> updateList, List<OrgAddRequest> addList) {
+    private void doHkAddOrg(List<Company> updateList, List<OrgAddRequest> addList, List<OrgEditRequest> editHkList) {
         Date date = new Date();
-        BaseResponse<OrgOrUserAddResponse> result =  HKService.addBatchOrg(addList);
-        if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
-            OrgOrUserAddResponse data = result.getData();
-            if(data.getSuccesses()!=null && data.getSuccesses().size()>0){
-                //澶勭悊鏂板鎴愬姛鐨勬暟鎹紝淇敼娴峰悍鍚屾鐘舵��
-              for(OrgOrUserAddSuccessResponse r :data.getSuccesses()){
-                  Integer index = getCompanyId(updateList,r.getOrgIndexCode());
-                  if(index!=null){
-                      companyMapper.update(null,new UpdateWrapper<Company>().lambda()
-                              .set(Company::getHkStatus,Constants.ONE)
-                              .set(Company::getHkDate,date)
-                              .set(Company::getHkId,r.getOrgIndexCode())
-                              .eq(Company::getId, index) );
-                  }
-              }
+        if(addList!=null &&addList.size()>0){
+            //澶勭悊鏂板
+            BaseResponse<OrgOrUserAddResponse> result =  HKService.addBatchOrg(addList);
+            if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+                OrgOrUserAddResponse data = result.getData();
+                if(data.getSuccesses()!=null && data.getSuccesses().size()>0){
+                    //澶勭悊鏂板鎴愬姛鐨勬暟鎹紝淇敼娴峰悍鍚屾鐘舵��
+                    for(OrgOrUserAddSuccessResponse r :data.getSuccesses()){
+                        Integer index = getCompanyId(updateList,r.getOrgIndexCode());
+                        if(index!=null){
+                            companyMapper.update(null,new UpdateWrapper<Company>().lambda()
+                                    .set(Company::getHkStatus,Constants.ONE)
+                                    .set(Company::getHkDate,date)
+                                    .set(Company::getHkId,r.getOrgIndexCode())
+                                    .eq(Company::getId, index) );
+                        }
+                    }
+                }
+            }
+        }
+        if(editHkList!=null){
+            //鎵ц鏇存柊鎿嶄綔
+            List<String> success = new ArrayList<>();
+            List<String> error = new ArrayList<>();
+            for(OrgEditRequest param : editHkList){
+                BaseResponse  result =  HKService.editOrg(param);
+                if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+                    success.add(param.getOrgIndexCode());
+                }else{
+                    error.add(param.getOrgIndexCode());
+                }
+            }
+            if(success.size()>0){
+                companyMapper.update(null,new UpdateWrapper<Company>().lambda()
+                        .set(Company::getHkStatus,Constants.ONE)
+                        .set(Company::getHkDate,date)
+                        .in(Company::getHkId, success) );
+            }
+            if(error.size()>0){
+                companyMapper.update(null,new UpdateWrapper<Company>().lambda()
+                        .set(Company::getHkStatus,Constants.TWO)
+                        .set(Company::getHkDate,date)
+                        .in(Company::getHkId, error) );
             }
         }
     }
@@ -156,10 +197,17 @@
 
     private OrgAddRequest getOrgAddModel(Company c,String rootOrgId) {
         OrgAddRequest model = new OrgAddRequest();
-        model.setOrgIndexCode(HKConstants.RES_INDEX+UUID.randomUUID().toString());
+        model.setOrgIndexCode(HKConstants.RES_ORG_INDEX+UUID.randomUUID().toString().replace("-",""));
         model.setOrgName(c.getName());
-        model.setOrgCode(c.getCode());
-        model.setOrgIndexCode(c.getHkParentId());
+//        model.setOrgCode(c.getCode());
+        model.setParentIndexCode(c.getHkParentId());
+        return  model;
+
+    }
+    private OrgEditRequest getOrgHkEditModel(Company c,String rootOrgId) {
+        OrgEditRequest model = new OrgEditRequest();
+        model.setOrgIndexCode(c.getHkId());
+        model.setOrgName(c.getName());
         return  model;
 
     }
@@ -170,22 +218,34 @@
      * @param date
      */
     private void doHkDeleteOrg(List<Integer> delIds,List<String> delHkIds,  Date date) {
+       if(delHkIds.size() == 0){
+           return;
+       }
         OrgDelRequest request = new OrgDelRequest();
-        request.setIndexCodes((String[]) delHkIds.toArray());
+        request.setIndexCodes( delHkIds.toArray(new String[]{}));
         BaseResponse<List<OrgUpdateFailureResponse>> result =  HKService.delBatchOrg(request);
-        if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+        if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
             List<String> fIds = new ArrayList<>();
             if(result.getData()!=null){
                 for(OrgUpdateFailureResponse r : result.getData()){
-                    fIds.add(r.getOrgIndexCode());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚�
+                    if(!r.getCode().equals("0x00052102")){
+                        //涓嶅瓨鍦ㄧ殑涔熺畻鍒犻櫎鎴愬姛
+                        fIds.add(r.getOrgIndexCode());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚�
+                    }
                 }
             }
             //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
             companyMapper.update(null,new UpdateWrapper<Company>().lambda()
                     .set(Company::getHkStatus,Constants.ONE)
                     .set(Company::getHkDate,date)
+                    .set(Company::getHkId,null )
                     .in(Company::getId, delIds)
                     .notIn(fIds.size()>0,Company::getHkId, fIds));
+            companyMapper.update(null,new UpdateWrapper<Company>().lambda()
+                    .set(Company::getHkStatus,Constants.TWO)
+                    .set(Company::getHkDate,date)
+                    .in(Company::getId, delIds)
+                    .in(fIds.size()>0,Company::getHkId, fIds));
         }
     }
 
@@ -195,7 +255,267 @@
      */
     @Override
     public   void syncUserData(){
+        if(Constants.DEALING_HK_USER){
+            return   ;
+        }
+        Constants.DEALING_HK_USER =true;
+        try {
+            //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁
+            List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+                    .selectAll(Member.class )
+                    .selectAs(Company::getHkId,Member::getCompanyHkId)
+                    .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+                    .eq(Member::getHkStatus,Constants.ZERO)
+                    .orderByAsc(Member::getErpDate));
+            if(list ==null || list.size()==0){
+                return;
+            }
+            Date date = new Date();
+            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+            for(Member c : list){
+                dealMemberInfoBiz(c,date,path) ;
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            Constants.DEALING_HK_USER =false;
+        }
+    }
 
+    @Transactional
+    private boolean dealMemberInfoBiz(Member c, Date date, String path) {
+        if( c.getCompanyId() == null){
+            //濡傛灉娌℃湁缁勭粐涓嶅仛澶勭悊
+            return  false;
+        }
+        if(StringUtils.isBlank(c.getHkId())){
+            //濡傛灉鏂板鍚屾鏁告摎
+            dealUserHkAddBiz(c,date,path);
+        }else{
+            //濡傛灉涔嬪墠宸茬粡鍜屾捣搴峰悓姝ワ紝鍒欐洿鏂扮敤鎴锋暟鎹互鍙婁汉鑴告暟鎹紙鍙兘鏂板浜鸿劯 涔熷彲鑳芥洿鏂颁汉鑴革級
+            dealUserHkEditBiz(c,date,path);
+        }
+        return  false;
+    }
+
+    /**
+     *  濡傛灉涔嬪墠宸茬粡鍜屾捣搴峰悓姝ワ紝鍒欐洿鏂扮敤鎴锋暟鎹互鍙婁汉鑴告暟鎹紙鍙兘鏂板浜鸿劯 涔熷彲鑳芥洿鏂颁汉鑴革級
+     * @param c
+     * @param date
+     * @param path
+     */
+    private void dealUserHkEditBiz(Member c, Date date, String path) {
+        c.setHkStatus(Constants.ONE);
+        if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){
+            //澶勭悊鍒犻櫎鏁版嵁锛堝垹闄や箣鍓嶄笅鍙戠殑娴峰悍浜哄憳淇℃伅锛�
+            boolean r = doHkDeleteUser(c.getId(),c.getHkId(),date);
+            c.setHkStatus(r?Constants.ONE:Constants.TWO);
+            c.setRemark(r?null:"鍒犻櫎娴峰悍浜哄憳淇℃伅澶辫触锛�");
+        }else{
+            //澶勭悊淇敼鏁版嵁锛屽苟涓旀洿鏂颁汉鑴�
+            UserAddRequest  addHkModel = getUserAddModel(c,path,1);//淇敼
+            //澶勭悊鏂板鏁版嵁
+            BaseResponse result =  HKService.editUser(addHkModel);
+            if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){
+                if(StringUtils.isNotBlank(c.getFaceImg())){
+                    //濡傛灉鏈変汉鑴哥収鐗囷紝澶勭悊浜鸿劯鐓х墖鍚屾
+                    String faceid = dealMemberFace(c,path);
+                    if(StringUtils.isBlank(faceid)){
+                        noticeErpFail(c,Constants.ZERO,"浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒");
+                        c.setHkStatus(Constants.TWO);
+                        c.setRemark("浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒锛�"+result.getMsg());
+                    }else{
+                        c.setFaceId(faceid);
+                    }
+                }
+            }else{
+                noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒");
+                c.setHkStatus(Constants.TWO);
+                c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴鏇存柊澶辫触锛岃淇鍚庨噸璇曪紒锛�"+(result!=null?result.getCode()+result.getMsg():""));
+            }
+
+        }
+        c.setHkDate(date);
+        memberMapper.updateById(c);
+    }
+
+    /**
+     * 鏂扮敤鎴峰悓姝ュ埌娴峰悍骞冲彴
+     * @param c
+     * @param date
+     * @param path
+     * @return
+     */
+    private boolean dealUserHkAddBiz(Member c, Date date, String path) {
+        if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){
+            //鍒犻櫎鐨勭粍缁囷紝涓嶅仛澶勭悊,娴峰悍鐘舵�佹洿鏂颁负涓嶅鐞嗭紝涓嬫涓嶅啀澶勭悊杩欎釜璁板綍
+            c.setHkStatus(Constants.TWO);
+            c.setRemark("鏈悓姝ユ暟鎹紝鐩存帴鍒犻櫎");
+            c.setEditDate(date);
+            c.setErpId(c.getErpOrgId()+"_"+UUID.randomUUID().toString());
+            memberMapper.updateById(c);
+            return  false;
+        }
+        UserAddRequest addHkModel = getUserAddModel(c,path,0);//鏂板
+        if(addHkModel == null){
+            //濡傛灉浜鸿劯鏁版嵁涓嶆纭紝涓嬭浇澶辫触绛夊師鍥�
+            noticeErpFail(c,Constants.ZERO,"浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
+            c.setHkStatus(Constants.TWO);
+            c.setRemark("浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
+            memberMapper.updateById(c);
+            return  false;
+        }
+        //澶勭悊鏂板鏁版嵁
+        BaseResponse<UserAddResponse> result =  HKService.addUser(addHkModel);
+        if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
+            c.setFaceId(result.getData().getFaceId());
+            c.setHkStatus(Constants.ONE);
+            c.setHkId(addHkModel.getPersonId());
+            memberMapper.updateById(c);
+            return  true;
+        }else{
+            noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg());
+            c.setHkStatus(Constants.TWO);
+            c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+(result!=null?result.getMsg():""));
+            memberMapper.updateById(c);
+            return  false;
+        }
+    }
+
+    /**
+     * 澶勭悊鏂板鎴栬�呬慨鏀逛汉鑴镐俊鎭�
+     * @param c
+     * @param path
+     * @return
+     */
+    private String dealMemberFace(Member c,String path) {
+        if(StringUtils.isBlank(c.getFaceId())){
+            BaseResponse<FaceAddOrEditesponse> response = HKService.addFace(getFaceAddModel(c,path));
+            if(StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)&& response.getData()!=null ){
+                return  response.getData().getFaceId();
+            }
+        }else{
+            BaseResponse response = HKService.editFace(getFaceUpdateModel(c,path));
+            if(StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) ){
+                return  c.getFaceId();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 閫氱煡erp绯荤粺锛屼汉鍛樹笅鍙戝悓姝ヤ俊鎭姸鎬佸け璐�
+     * @param c
+     * @param type
+     * @param s
+     */
+    private void noticeErpFail(Member c, int type, String s) {
+        UserFailRequest r = new UserFailRequest();
+        r.setUserId(c.getErpId());
+        r.setInfo(s);
+        r.setType(type);
+        //閫氱煡ERP浜鸿劯鏁版嵁涓嶆纭�
+        erpSyncService.noticeUserFail(r);
+    }
+
+    /**
+     * 瀵规捣搴峰垹闄ょ粍缁囦俊鎭�
+     * @param id
+     * @param date
+     */
+    private boolean doHkDeleteUser(Integer  id,String delHkIds,  Date date ) {
+        if(StringUtils.isBlank(delHkIds)){
+            return false;
+        }
+        UserDelRequest request = new UserDelRequest();
+        request.setPersonIds(new String[]{delHkIds});
+        BaseResponse<List<UserDelResponse>> result =  HKService.delBatchUser(request);
+        if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+            List<String> fIds = new ArrayList<>();
+            //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
+            if(result.getData()!=null && result.getData().size()>0){
+                log.info("娴峰悍鍒犻櫎鐢ㄦ埛澶辫触锛�==============="+result.getData().get(0).getPersonId());
+                memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+                        .set(Member::getHkStatus,Constants.TWO)//鍚屾澶辫触
+                        .set(Member::getHkDate,date)
+                        .in(Member::getId, id));
+            }else{
+                //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
+                memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+                        .set(Member::getHkStatus,Constants.ONE)//鍚屾鎴愬姛
+                        .set(Member::getHkDate,date)
+                        .in(Member::getId, id));
+            }
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 鍒犻櫎浜哄憳鎵�鏈夎澶囦笂鐨勬潈闄愪俊鎭�
+     * @param userId
+     * @param allDevice
+     */
+    private void delUserHkRolle(String userId,List<Device> allDevice) {
+        //鍒涘缓浠诲姟
+        String taskId = hkTaskAddtion();
+        //
+       if(taskId!=null){
+           //鍒犻櫎鎵�鏈夎澶囦笂鐨勬潈闄�
+           addTaskDataAllDel(userId,taskId,allDevice);
+           startTask(taskId);
+       }
+    }
+
+    private UserAddRequest getUserAddModel(Member c,String path,int type) {
+        UserAddRequest model = new UserAddRequest();
+        model.setOrgIndexCode(c.getCompanyHkId());
+        model.setJobNo(c.getCode());
+        model.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo()));
+        model.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+"");
+        model.setPersonId(type == 0 ?UUID.randomUUID().toString().replace("-", ""):c.getHkId());
+        model.setGender(Constants.formatIntegerNum(c.getSex())+"");
+        model.setPersonName(c.getName());
+        if(type== 0 && StringUtils.isNotBlank(c.getFaceImg())){
+            model.setFaces(new ArrayList<>());
+            UserAddFaceRequest face = new UserAddFaceRequest();
+            String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg());
+            if(imageBase== null){
+                //浜鸿劯鏁版嵁涓嶆纭紝
+                return  null;
+            }
+            face.setFaceData(imageBase);
+            model.getFaces().add(face);
+
+        }
+        return  model;
+    }
+    private FaceAddRequest getFaceAddModel(Member c,String path) {
+        FaceAddRequest model = new FaceAddRequest();
+        model.setPersonId(c.getHkId());
+        if(StringUtils.isNotBlank(c.getFaceImg())){
+            String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg());
+            if(imageBase == null){
+                //浜鸿劯鏁版嵁涓嶆纭紝
+                return  null;
+            }
+            model.setFaceData(imageBase);
+        }
+        return  model;
+    }
+    private FaceEditRequest getFaceUpdateModel(Member c,String path) {
+        FaceEditRequest model = new FaceEditRequest();
+        model.setFaceId(c.getFaceId());
+        if(StringUtils.isNotBlank(c.getFaceImg())){
+            String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg());
+            if(imageBase == null){
+                //浜鸿劯鏁版嵁涓嶆纭紝
+                return  null;
+            }
+            model.setFaceData(imageBase);
+        }
+        return  model;
     }
 
 }

--
Gitblit v1.9.3