jiangping
2024-01-09 d7e663d304a2ccb565a24362b116ddaa9da9941a
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -57,20 +57,84 @@
               return;
           }
           for(Empower c : list){
               TaskPersonDetailRequest param = new TaskPersonDetailRequest();
               param.setPageNo(1);
               param.setPageSize(100);
//               param.setPersonIds(new ArrayList<>());
               param.setPersonIds(new String[]{c.getMemberHkId()});
               param.setTaskId(c.getHkId());
               TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest();
               rec.setResourceIndexCode(c.getDeviceIndexCode());
               rec.setResourceType(c.getDeviceType());
//               rec.setChannelNos(c.getDeviceChannelNo().split(","));
               param.setResourceInfo(rec);
               //查询下发状态
               BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
               if(response!=null
                       && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
                       && response.getData()!=null
                       && response.getData().getList() != null
                       && response.getData().getList().size()>0 ){
                   TaskPersonDetailResponse model = response.getData().getList().get(0);
                   if(model != null && StringUtils.equals(model.getPersondownloadResult(),"0")){
                       //更新已完成下载任务
                       String remark = "";
                       String cardInfo = "卡片下发失败";
                       TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
                        if(d.getCards() !=null && d.getCards().size()>0){
                            cardInfo = "卡片:【" ;
                            for(TaskPersonDetailCardInfoResponse card : d.getCards()){
                                cardInfo +=card.getId()+" ";
                            }
                            cardInfo += "】下发成功";
                        }
                       if(d.getFaces() == null || d.getFaces().size() ==0){
                           remark  = cardInfo+", 不支持人脸设备!";
                       }else{
                           remark = ""+cardInfo+",人脸下发成功!";
                       }
                       empowerMapper.update(null,new UpdateWrapper<Empower>()
                               .lambda()
                               .eq(Empower::getId,c.getId() )
                               .set(Empower::getRemark,remark )
                               .set(Empower::getSendInfo,remark )
                               .set(Empower::getSendStatus,Constants.EmpowerStatus.pass) );
                   }
               }
           }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            Constants.DEALING_HK_EMPOWER_DETAIL=false;
        }
    }
    public  void syncEmpowerDetailDataOld(){
        if(Constants.DEALING_HK_EMPOWER_DETAIL){
            return   ;
        }
        Constants.DEALING_HK_EMPOWER_DETAIL = true;
        try {
            //查询所有完成下载,待查询结果的数据记录
            List<Empower>  list = getDealListDetail();
           if(list == null || list.size() ==0){
               return;
           }
           for(Empower c : list){
               AuthItemListRequest param = new AuthItemListRequest();
               param.setPageNo(1);
               param.setPageSize(100);
//               param.setPersonIds(new ArrayList<>());
//               AuthItemListPersonRequest p = new AuthItemListPersonRequest();
//               p.setPersonIds(c.getMemberHkId());
               param.setPersonIds(new String[]{c.getMemberHkId()});
                param.setQueryType(c.getDeviceType());
               param.setQueryType(c.getDeviceType());
               TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest();
               rec.setResourceIndexCode(c.getDeviceIndexCode());
               rec.setResourceType(c.getDeviceType());
               rec.setChannelNos(c.getDeviceChannelNo().split(","));
//               rec.setChannelNos(c.getDeviceChannelNo().split(","));
               List<TaskDataAdditionResourceRequest> resourceRequests = new ArrayList<>();
               resourceRequests.add(rec);
//               param.setResourceInfos(resourceRequests);
               //查询已下载
@@ -85,7 +149,7 @@
                   //更新已完成下载任务
                   empowerMapper.update(null,new UpdateWrapper<Empower>()
                           .lambda()
                           .eq(Empower::getHkId,c.getHkId() )
                           .eq(Empower::getId,c.getId() )
                           .set(Empower::getSendStatus,Constants.EmpowerStatus.pass) );
               }
           }
@@ -151,7 +215,7 @@
        try {
            //先删除所有需要取消授权的数据
            dealDelListTask(getDealList(Constants.ONE));
            //查询所有需要同步的数据
            //查询所有需要同步的数据,重新下发最新人员权限即可
            dealNewListTask(getDealList(Constants.ZERO));
        }catch (Exception e){
            e.printStackTrace();
@@ -188,6 +252,7 @@
                update.setEditDate(date);
                update.setHkId(taskId);
                update.setRemark(status?"下发任务执行成功":"下发任务执行失败");
                update.setSendInfo(status?"下发任务执行成功":"下发任务执行失败");
                //下发中
                update.setSendStatus(status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail);
                empowerMapper.updateById(update);
@@ -200,7 +265,8 @@
            update.setEditDate(date);
            update.setHkId(taskId);
            update.setSendStatus(Constants.EmpowerStatus.fail);
//            update.setRemark( "添加下发任务数据刪除授权失败");
            update.setSendInfo( "添加下发任务数据刪除授权失败");
            update.setRemark( "添加下发任务数据刪除授权失败");
            empowerMapper.updateById(update);
        }
    }
@@ -234,6 +300,7 @@
                update.setEditDate(date);
                update.setHkId(taskId);
                update.setRemark(status?"下发任务成功":"下发任务失败");
                update.setSendInfo(status?"下发任务成功":"下发任务失败");
                //下发中
                update.setSendStatus(status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail);
                empowerMapper.updateById(update);
@@ -248,6 +315,7 @@
            update.setHkId(taskId);
            update.setSendStatus(Constants.EmpowerStatus.fail);
            update.setRemark( "添加下发任务数据失败");
            update.setSendInfo( "添加下发任务数据失败");
            empowerMapper.updateById(update);
        }
@@ -272,6 +340,7 @@
                ||StringUtils.isBlank(c.getDeviceType())
                ||StringUtils.isBlank(c.getDeviceIndexCode())){
            //必填参数校验
            c.setSendInfo("设备信息不支持授权下发,检查人员是否已下发海康或者设备是否【设备类型、通道号】是否完善");
            c.setRemark("设备信息不支持授权下发,检查人员是否已下发海康或者设备是否【设备类型、通道号】是否完善");
            return  false;
        }
@@ -295,7 +364,7 @@
        param.setPersonInfos(personInfos);
        //--------------卡片添加----------
        if(StringUtils.isNotBlank(c.getCardNos())){
      /*  if(StringUtils.isNotBlank(c.getCardNos())){
            List<TaskDataAdditionCardRequest> cards = new ArrayList<>();
            for(String s : c.getCardNos().split(",")){
                TaskDataAdditionCardRequest tc = new TaskDataAdditionCardRequest();
@@ -305,13 +374,14 @@
                cards.add(tc);
            }
            param.setCards(cards);
        }
        }*/
        BaseResponse response =  HKService.taskDataAddition(param);
        if(response!=null
                && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
            return true;
        }else{
            c.setRemark("添加人员、设备通道权限下发数据失败"+(response!=null?response.getMsg():""));
            c.setSendInfo("添加人员、设备通道权限下发数据失败"+(response!=null?response.getMsg():""));
            return  false;
        }
    }
@@ -342,6 +412,8 @@
        queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
        queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
        queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.downloaded);
        queryWrapper.orderByAsc(Empower::getSendDate);
        queryWrapper.isNotNull(Empower::getMemberHkId) ;
        List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
        return list;
    }