From 4167298accee956c10ed1b5e3d6ce909cad38edd Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期二, 02 四月 2024 16:37:26 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java |   88 ++++++++++++++++++++++++-------------------
 1 files changed, 49 insertions(+), 39 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
index b3f28f6..d3606b1 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -305,14 +305,15 @@
                     String doorids =deviceRole.getDoorIds();
                     if(StringUtils.isNotBlank(doorids)){
                         String[] ss = doorids.split(",");
-                        try {
-                            for(String s :ss){
+                        for(String s :ss){
+                            try {
                                 Integer ts =Integer.parseInt(s);
                                  r.add(ts);
+                            }catch (Exception e){
+                                //鑴忔暟鎹笉澶勭悊
                             }
-                        }catch (Exception e){
-                            //鑴忔暟鎹笉澶勭悊
                         }
+
                     }
                 }
                 return  r;
@@ -365,7 +366,7 @@
         dealMemberRoleEmpowerDo(cards,member,deviceRoleMapper,empowerMapper,deviceMapper);
     }
 
-    public static void dealMemberRoleEmpowerDo(List<MemberCard> cards,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
+    public static void dealMemberRoleEmpowerDo(List<MemberCard> cards1,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
         List<Integer> doorIds = getRoleIdByParam(member,deviceRoleMapper);
         if(doorIds==null || doorIds.size() == 0){
             //濡傛灉鏉冮檺娓呯┖锛屽垯娓呯┖浜哄憳鎺堟潈鐨勬潈闄愭暟鎹�
@@ -376,15 +377,16 @@
                     .set(Empower::getSendStatus,Constants.ZERO));
             return;
         }
-        if((cards == null || cards.size() == 0) && StringUtils.isBlank(member.getFaceId())){
+//        if((cards == null || cards.size() == 0) && StringUtils.isBlank(member.getFaceId())){
+        if( StringUtils.isBlank(member.getFaceId())){
             //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴�
             return;
         }
 
-        List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚�
-        List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚�
-        if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)
-                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
+        if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)){
+//                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
+            List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚�
+            List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚�
             //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄愶紙鍙鐞嗘柊澧炴垨鑰呯紪杈戠殑锛�
             List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,doorIds));
             if(deviceList == null || deviceList.size() == 0){
@@ -400,6 +402,7 @@
                 model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�");
                 model.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
                 model.setStartTime(member.getStartTime());
+                model.setFailFlag(Constants.ZERO);
                 model.setEndTime(member.getEndTime());
                 //榛樿缁欎簬铏氭嫙鍗�
                 model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId());
@@ -408,22 +411,22 @@
                 deviceIds.add(deviceRole.getId());
                 list.add(model);
             }
-        }
-        //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
-        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
-                .eq(Empower::getMemberId,member.getId())
-                .set(Empower::getIsdeleted,Constants.ONE)
-                .eq(Empower::getIsdeleted,Constants.ZERO)
-                .notIn(deviceIds.size()>0,Empower::getDeviceId,deviceIds)
-                .set(Empower::getSendStatus,Constants.ZERO));
-        //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
-        if(list.size()>0){
-            //鐩存帴瑕嗙洊閲嶅鐨勮澶囨潈闄愶紝鐩存帴鍒犻櫎鍗冲彲
-            empowerMapper.delete(new UpdateWrapper<Empower>().lambda()
+            //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
+            empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
                     .eq(Empower::getMemberId,member.getId())
+                    .set(Empower::getIsdeleted,Constants.ONE)
                     .eq(Empower::getIsdeleted,Constants.ZERO)
-                    .in(Empower::getDeviceId,deviceIds) );
-            empowerMapper.insertBatchSomeColumn(list);
+                    .notIn(deviceIds.size()>0,Empower::getDeviceId,deviceIds)
+                    .set(Empower::getSendStatus,Constants.ZERO));
+            //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
+            if(list.size()>0){
+                //鐩存帴瑕嗙洊閲嶅鐨勮澶囨潈闄愶紝鐩存帴鍒犻櫎鍗冲彲
+                empowerMapper.delete(new UpdateWrapper<Empower>().lambda()
+                        .eq(Empower::getMemberId,member.getId())
+                        .eq(Empower::getIsdeleted,Constants.ZERO)
+                        .in(Empower::getDeviceId,deviceIds) );
+                empowerMapper.insertBatchSomeColumn(list);
+            }
         }
     }
     public static void dealChangeDeviceRoleEmpower( Member member ,List<Integer> addDoorIds,List<Integer> delDoorIds, DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
@@ -435,6 +438,10 @@
                     .eq(Empower::getIsdeleted,Constants.ZERO)
                     .in(Empower::getDeviceId,delDoorIds)
                     .set(Empower::getSendStatus,Constants.ZERO));
+        }
+        if(addDoorIds==null || addDoorIds.size()==0){
+            //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
+           return;
         }
         if(StringUtils.isBlank(member.getFaceId())){
             //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴�
@@ -455,6 +462,7 @@
                 model.setCreateDate(new Date());
                 model.setMemberId(member.getId());
                 model.setIsdeleted(Constants.ZERO);
+                model.setFailFlag(Constants.ZERO);
                 model.setDeviceId(deviceRole.getId());
                 model.setSendStatus(Constants.ZERO);
                 model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�");
@@ -469,13 +477,6 @@
                 list.add(model);
             }
         }
-        //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
-        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
-                .eq(Empower::getMemberId,member.getId())
-                .set(Empower::getIsdeleted,Constants.ONE)
-                .eq(Empower::getIsdeleted,Constants.ZERO)
-                .notIn(deviceIds.size()>0,Empower::getDeviceId,deviceIds)
-                .set(Empower::getSendStatus,Constants.ZERO));
         //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
         if(list.size()>0){
             //鐩存帴瑕嗙洊閲嶅鐨勮澶囨潈闄愶紝鐩存帴鍒犻櫎鍗冲彲
@@ -589,22 +590,26 @@
                 //鍒犻櫎鎵�鏈夌粦瀹氱殑鍗$墖淇℃伅
                 memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,c.getId()));
             }
-
         }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())){
+                if(StringUtils.isNotBlank(c.getFaceImg()) && Constants.equalsInteger(c.getFaceStatus(),Constants.ZERO)){
                     //濡傛灉鏈変汉鑴哥収鐗囷紝澶勭悊浜鸿劯鐓х墖鍚屾
                     String faceid = dealMemberFace(c,path);
                     if(StringUtils.isBlank(faceid)){
                         noticeErpFail(c,Constants.ZERO,"浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒");
                         c.setHkStatus(Constants.TWO);
+                        c.setFaceStatus(Constants.TWO);
                         c.setRemark("浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒锛�"+result.getMsg());
                     }else{
                         c.setFaceId(faceid);
+                        c.setFaceStatus(Constants.ONE);
+                        //濡傛灉浜鸿劯璺熶綘锛岄噸鏂颁笅鍙戞潈闄愭暟鎹�
+                        c.setRemark("浜哄憳鍜屼汉鑴镐俊鎭悓姝ユ垚鍔�"+result.getMsg());
+                        dealMemberRoleEmpower(c);
                     }
                 }
             }else{
@@ -612,8 +617,7 @@
                 c.setHkStatus(Constants.TWO);
                 c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴鏇存柊澶辫触锛岃淇鍚庨噸璇曪紒锛�"+(result!=null?result.getCode()+result.getMsg():""));
             }
-            //閲嶆柊涓嬪彂鏉冮檺鏁版嵁
-            dealMemberRoleEmpower(c);
+
         }
         c.setHkDate(date);
         memberMapper.updateById(c);
@@ -641,6 +645,7 @@
             //濡傛灉浜鸿劯鏁版嵁涓嶆纭紝涓嬭浇澶辫触绛夊師鍥�
             noticeErpFail(c,Constants.ZERO,"浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
             c.setHkStatus(Constants.TWO);
+            c.setFaceStatus(Constants.TWO);
             c.setRemark("浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
             c.setHkDate(new Date());
             memberMapper.updateById(c);
@@ -650,11 +655,16 @@
         BaseResponse<UserAddResponse> result =  HKService.addUser(addHkModel);
         if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
             c.setFaceId(result.getData().getFaceId());
+            if(StringUtils.isNotBlank(c.getFaceId())){
+                c.setFaceStatus(Constants.ONE);
+            }else{
+                c.setFaceStatus(Constants.ZERO);
+            }
             c.setHkStatus(Constants.ONE);
             c.setHkId(addHkModel.getPersonId());
             c.setHkDate(new Date());
             memberMapper.updateById(c);
-            dealMemberRoleEmpower(c);
+//            dealMemberRoleEmpower(c);
             return  true;
         }else{
             noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg());
@@ -672,7 +682,7 @@
      * @param path
      * @return
      */
-    private String dealMemberFace(Member c,String path) {
+    public static String dealMemberFace(Member c,String path) {
         if(StringUtils.isBlank(c.getFaceId())){
             BaseResponse<FaceAddOrEditesponse> response = HKService.addFace(getFaceAddModel(c,path));
             if(response !=null && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)&& response.getData()!=null ){
@@ -777,7 +787,7 @@
         }
         return  model;
     }
-    private FaceAddRequest getFaceAddModel(Member c,String path) {
+    public static FaceAddRequest getFaceAddModel(Member c,String path) {
         FaceAddRequest model = new FaceAddRequest();
         model.setPersonId(c.getHkId());
         if(StringUtils.isNotBlank(c.getFaceImg())){
@@ -790,7 +800,7 @@
         }
         return  model;
     }
-    private FaceEditRequest getFaceUpdateModel(Member c,String path) {
+    public static FaceEditRequest getFaceUpdateModel(Member c,String path) {
         FaceEditRequest model = new FaceEditRequest();
         model.setFaceId(c.getFaceId());
         if(StringUtils.isNotBlank(c.getFaceImg())){

--
Gitblit v1.9.3