jiangping
2024-01-10 7da512973b40df83aa48fa9b57b4f365466e253b
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -224,7 +224,28 @@
        }
    }
    /**
     * 分段请求下发权限
     * @param list
     */
    private void dealDelListTask(List<Empower> list) {
        int sublistSize = 100;
        int startIndex = 0;
        int endIndex = sublistSize;
        while (startIndex < list.size()) {
            if (endIndex > list.size()) {
                endIndex = list.size();
            }
            List<Empower> sublist = list.subList(startIndex, endIndex);
            if(sublist.size()>0){
                dealDelListTaskDo(sublist);
            }
            startIndex = endIndex;
            endIndex += sublistSize;
        }
    }
    private void dealDelListTaskDo(List<Empower> list) {
        //按照父级申请分批处理每次申请数据
        if(list ==null || list.size()==0){
            return;
@@ -232,43 +253,41 @@
        Date date = new Date();
        //创建任务
        String taskId = hkTaskAddtion();
        List<Empower> successList = new ArrayList<>();
        List<Empower> errorList = new ArrayList<>();
        List<Integer> successList = new ArrayList<>();
        List<Integer> errorList = new ArrayList<>();
        for(Empower c : list) {
            //向任务添加人员、设备信息数据
            if(addTaskData(c,taskId,HKConstants.OPERA_TYPE.DEL.getKey())){
                successList.add(c);
                successList.add(c.getId());
            }else{
                errorList.add(c);
                errorList.add(c.getId());
            }
        }
        if(successList.size()>0){
            //开始执行下发
            boolean status = startTask(taskId);
            for(Empower model : successList){
                Empower update = new Empower();
                update.setId(model.getId());
                update.setSendDate(date);
                update.setEditDate(date);
                update.setHkId(taskId);
                update.setRemark(status?"下发任务执行成功":"下发任务执行失败");
                update.setSendInfo(status?"下发任务执行成功":"下发任务执行失败");
                //下发中
                update.setSendStatus(status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail);
                empowerMapper.updateById(update);
            }
            empowerMapper.update(null,new UpdateWrapper<Empower>()
                    .lambda()
                    .set(Empower::getSendDate,date)
                    .set(Empower::getEditDate,date)
                    .set(Empower::getSendStatus,status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail)
                    .set(Empower::getHkId,taskId)
                    .set(Empower::getSendInfo,status?"下发任务执行成功":"下发任务执行失败")
                    .set(Empower::getRemark,status?"下发任务执行成功":"下发任务执行失败")
                    .set(Empower::getEditDate,date)
                    .in(Empower::getId,successList));
        }
        for(Empower model : errorList){
            Empower update = new Empower();
            update.setId(model.getId());
            update.setSendDate(date);
            update.setEditDate(date);
            update.setHkId(taskId);
            update.setSendStatus(Constants.EmpowerStatus.fail);
            update.setSendInfo( "添加下发任务数据刪除授权失败");
            update.setRemark( "添加下发任务数据刪除授权失败");
            empowerMapper.updateById(update);
        }
        empowerMapper.update(null,new UpdateWrapper<Empower>()
                .lambda()
                .set(Empower::getSendStatus,Constants.EmpowerStatus.fail)
                .set(Empower::getSendDate,date)
                .set(Empower::getEditDate,date)
                .set(Empower::getHkId,taskId)
                .set(Empower::getSendInfo, "添加下发任务数据刪除授权失败")
                .set(Empower::getRemark, "添加下发任务数据刪除授权失败")
                .set(Empower::getEditDate,date)
                .in(Empower::getId,errorList));
    }
    private void dealNewListTask(List<Empower> list) {
@@ -407,13 +426,13 @@
        queryWrapper.selectAll(Empower.class);
        queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
        queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
        queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
        queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
        queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
        queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
        queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
        queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.downloaded);
        queryWrapper.isNotNull(Member::getHkId) ;
        queryWrapper.orderByAsc(Empower::getSendDate);
        queryWrapper.isNotNull(Empower::getMemberHkId) ;
        List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
        return list;
    }