jiangping
2024-01-10 7da512973b40df83aa48fa9b57b4f365466e253b
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
@@ -43,10 +43,13 @@
public class HkSyncOrgUserServiceImpl extends HkSyncBaseServiceImpl {
    @Autowired
    private CompanyMapper companyMapper;
    @Autowired
    private MemberRoleMapper memberRoleMapper;
    @Autowired
    private DeviceRoleMapper deviceRoleMapper;
    @Autowired
    private MemberRoleMapper memberRoleMapper;
    private DeviceMapper deviceMapper;
    @Autowired
    private EmpowerMapper empowerMapper;
    @Autowired
@@ -55,8 +58,6 @@
    private MemberJoinMapper memberMapper;
    @Autowired
    private ERPSyncService erpSyncService;
    @Autowired
    private DeviceMapper deviceMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
@@ -284,7 +285,7 @@
            Constants.DEALING_HK_USER =false;
        }
    }
    private   List<Integer>  getRoleIdByParam(  Member member) {
    public static   List<Integer>  getRoleIdByParam(  Member member,DeviceRoleMapper deviceRoleMapper) {
            //查询数据库存在的权限
            List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
                    .eq(DeviceRole::getType,Constants.TWO)
@@ -332,10 +333,14 @@
    private void dealMemberRoleEmpower(Member member ) {
        //处理新增的人员卡片数据(与海康同步)
        List<MemberCard> cards = dealMemberHkCard(member);
        dealMemberRoleEmpowerDo(cards,member,deviceRoleMapper,empowerMapper,deviceMapper);
    }
    public static void dealMemberRoleEmpowerDo(List<MemberCard> cards,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
        if(cards == null || cards.size() == 0){
            return;
        }
        List<Integer> doorIds = getRoleIdByParam(member);
        List<Integer> doorIds = getRoleIdByParam(member,deviceRoleMapper);
        if(doorIds==null || doorIds.size() == 0){
            return;
        }
@@ -402,10 +407,7 @@
                .eq(MemberCard::getHkStatus,Constants.ZERO)  );
        if(memberCards==null ||  memberCards.size()==0){
            //没有带处理的数据,直接跳过
            return    memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda()
                    .eq(MemberCard::getMemberId,member.getId())
                    .eq(MemberCard::getType,Constants.TWO)
                    .eq(MemberCard::getHkStatus,Constants.ONE)  );
            return  getNormalCardList(member,memberCardMapper);
        }
        List<Integer> allCodes = new ArrayList<>();
@@ -456,11 +458,18 @@
                .notIn(doneCodes.size()>0,MemberCard::getCode,doneCodes)
                .in(MemberCard::getId,allCodes));
       return   getNormalCardList(member,memberCardMapper);
    }
    public static   List<MemberCard> getNormalCardList(Member member,MemberCardMapper memberCardMapper) {
       return   memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda()
                .eq(MemberCard::getMemberId,member.getId())
                .eq(MemberCard::getType,Constants.TWO)
                .eq(MemberCard::getStatus,Constants.MemberCard.normal)
                .eq(MemberCard::getHkStatus,Constants.ONE)  );
    }
    /**
     *  如果之前已经和海康同步,则更新用户数据以及人脸数据(可能新增人脸 也可能更新人脸)
@@ -594,7 +603,7 @@
     */
    private boolean doHkDeleteUser(Integer  id,String delHkIds,  Date date ) {
        if(StringUtils.isBlank(delHkIds)){
            return false;
            return true;
        }
        UserDelRequest request = new UserDelRequest();
        request.setPersonIds(new String[]{delHkIds});