jiangping
2024-08-13 6765787baa5e0b771d71f865c4deb776367410c4
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
@@ -66,24 +66,25 @@
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public Integer create(MemberCard memberCard) {
        LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(Objects.isNull(memberCard.getMemberId())){
        if(Objects.isNull(memberCard.getMemberId())
        || StringUtils.isBlank(memberCard.getCode())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(memberCard.getCode().length()<8){
           throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"卡号需要大于8位");
        }
        memberCard.setCreator(userInfo.getId());
        memberCard.setCreateDate(new Date());
        memberCard.setStatus(Constants.ONE);
        memberCard.setIsdeleted(Constants.ZERO);
        memberCard.setHkStatus(Constants.ZERO);
        memberCardMapper.insert(memberCard);
        dealMemberRoleEmpower(memberMapper.selectById(memberCard.getMemberId()));
        Member member = memberMapper.selectById(memberCard.getMemberId());
        if(Objects.isNull(member)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到用户信息");
        }
        CardBingdingRequest param = new CardBingdingRequest();
        if(member.getStartTime() !=null && member.getEndTime()!=null){
            param.setStartDate(DateUtil.getISO8601Timestamp(member.getStartTime()));
            param.setEndDate(DateUtil.getISO8601Timestamp(member.getEndTime()));
            param.setStartDate(DateUtil.getShortTime(member.getStartTime()));
            param.setEndDate(DateUtil.getShortTime(member.getEndTime()));
        }
        CardInfoRequest cr = new CardInfoRequest();
        cr.setCardNo(memberCard.getCode());
@@ -97,6 +98,10 @@
        if(response==null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null){
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg());
        }
        memberCard.setHkStatus(Constants.ONE);
        memberCardMapper.insert(memberCard);
        //更新用户权限
        dealMemberRoleEmpower(memberMapper.selectById(memberCard.getMemberId()));
        return memberCard.getId();
    }
@@ -232,6 +237,20 @@
        List<MemberCard> cards = HkSyncOrgUserToHKServiceImpl.getNormalCardList(member,memberCardMapper);
        HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(cards,member,deviceRoleMapper,empowerMapper,deviceMapper);
    }
    /**
     * 更细人员全部门禁权限
     * @param
     */
    @Override
    public void dealMemberRoleEmpowerById(Integer memberId ) {
        //处理新增的人员卡片数据(与海康同步)
        Member member = memberMapper.selectById(memberId);
        if(member==null){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        List<MemberCard> cards = HkSyncOrgUserToHKServiceImpl.getNormalCardList(member,memberCardMapper);
        HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(cards,member,deviceRoleMapper,empowerMapper,deviceMapper);
    }
    @Override
    public PageData<MemberCard> findPage(PageWrap<MemberCard> pageWrap) {