nidapeng
2024-03-18 67dfeea84fcf92e11e07eaf2eb0e235387287813
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -22,6 +22,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -326,6 +327,18 @@
            Constants.DEALING_HK_EMPOWER =false;
        }
    }
    @Override
    public  void syncEmpowerDataNew(int start,int end) {
        try {
            //先删除所有需要取消授权的数据
            dealDelListTask(getDealList(Constants.ONE,start,end));
            //查询所有需要同步的数据,重新下发最新人员权限即可
            dealNewListTask(getDealList(Constants.ZERO,start,end));
        }catch (Exception e){
            e.printStackTrace();
        }finally {
        }
    }
    /**
     * 分段请求下发权限
@@ -507,9 +520,7 @@
            return  false;
        }
    }
    private List<Empower> getDealList(int del ) {
    private List<Empower> getDealList(int del  ) {
        MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Empower.class);
        queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
@@ -521,7 +532,27 @@
        queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
        queryWrapper.eq( Empower::getIsdeleted,del);
        queryWrapper.orderByAsc(Empower::getId );
        queryWrapper.orderByAsc(Empower::getCreateDate );
//        queryWrapper.orderByAsc(Empower::getCreateDate );
        queryWrapper.last("limit 100");//每次限制下发100个
        List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
        return list;
    }
    private List<Empower> getDealList(int del ,int start,int end) {
        MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Empower.class);
        queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
        queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
        queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
        queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
        queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
        queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
        queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
        queryWrapper.eq( Empower::getIsdeleted,del);
        queryWrapper.gt( Empower::getId,start);
        queryWrapper.le( Empower::getId,end);
        queryWrapper.orderByDesc(Empower::getId );
//        queryWrapper.orderByAsc(Empower::getCreateDate );
        queryWrapper.last("limit 100");//每次限制下发100个
        List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
        return list;