| | |
| | | } |
| | | |
| | | @Override |
| | | public void batchBlock(List<Integer> ids) { |
| | | public void batchBlock(List<Integer> ids,Integer type) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | |
| | | for (Integer id:ids) { |
| | | member = memberMapper.selectById(id); |
| | | if(!Objects.isNull(member)&&member.getStatus()==Constants.ZERO){ |
| | | UserAction userAction=new UserAction(); |
| | | userAction.setBeforeStatus(member.getStatus()); |
| | | member.setStatus(Constants.TWO); |
| | | member.setEditor(loginUserInfo.getId()); |
| | | member.setEditDate(new Date()); |
| | | memberMapper.updateById(member); |
| | | |
| | | userAction.setIsdeleted(Constants.ZERO); |
| | | userAction.setCreateDate(new Date()); |
| | | userAction.setCreator(loginUserInfo.getId()); |
| | | if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | userAction.setType(Constants.ONE); |
| | | userAction.setRemark("由【"+loginUserInfo.getUsername()+"】于【操作时间"+new Date()+"】,进行【冻结】"); |
| | | } |
| | | if(Constants.equalsInteger(type,Constants.TWO)){ |
| | | userAction.setType(Constants.TWO); |
| | | userAction.setRemark("由【"+loginUserInfo.getUsername()+"】于【操作时间"+new Date()+"】,进行【拉黑】"); |
| | | |
| | | } |
| | | userAction.setMemberId(id+""); |
| | | |
| | | userActionJoinMapper.insert(userAction); |
| | | } |
| | | } |
| | | /* memberMapper.deleteBatchIds(ids);*/ |
| | |
| | | |
| | | @Override |
| | | public PageData<MemberInfoDTO> findMemberInfoPage(PageWrap<MemberQuery> pageWrap) { |
| | | /* //是否是数字 |
| | | boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); |
| | | //是否包含中文 |
| | | boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); |
| | | //是否包含英文 |
| | | boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords());*/ |
| | | |
| | | /* IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); |
| | | MemberQuery model = pageWrap.getModel(); |
| | | Utils.MP.blankToNull(model); |
| | | |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .leftJoin(DeviceRole.class,DeviceRole::getId,Member::getRoleId); |
| | | *//* .leftJoin(MemberCard.class,MemberCard::getMemberId,Member::getId);*//* |
| | | |
| | | queryWrapper.selectAll(Member.class) |
| | | .selectAs(Company::getName,MemberInfoDTO::getCompanyName) |
| | | .selectAs(DeviceRole::getName,MemberInfoDTO::getRoleName) |
| | | *//* .select("count(t3.id) as memberCardCount ");*//* |
| | | .select(""); |
| | | |
| | | queryWrapper.in(Objects.nonNull(model.getCompanyIds()),Member::getCompanyId,model.getCompanyIds()) |
| | | *//* .like(number,Member::getPhone,model.getKeyWords()) |
| | | .like((b||hasWord),Member::getPhone,model.getKeyWords())*//* |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),ms->ms.like(Member::getPhone,model.getKeyWords()) |
| | | .or().like(Member::getName,model.getKeyWords()) |
| | | .or().like(Member::getCode,model.getKeyWords())) |
| | | |
| | | .isNull(Constants.equalsInteger(model.getHasFace(),Constants.ZERO),Member::getFaceId) |
| | | .isNotNull(Constants.equalsInteger(model.getHasFace(),Constants.ONE),Member::getFaceId) |
| | | .eq(Objects.nonNull(model.getCanVisit()),Member::getCanVisit,model.getCanVisit()) |
| | | .eq(Objects.nonNull(model.getStatus()),Member::getStatus,model.getStatus()); |
| | | IPage<MemberInfoDTO> memberIPage = memberJoinMapper.selectJoinPage(page, MemberInfoDTO.class,queryWrapper); |
| | | if (!CollectionUtils.isEmpty(memberIPage.getRecords())){ |
| | | memberIPage.getRecords().forEach(s->s.setSex(IdcardUtil.getGenderByIdCard(s.getIdcardDecode()))); |
| | | }*/ |
| | | IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); |
| | | |
| | |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | queryWrapper.in(Objects.nonNull(pageWrap.getModel().getCompanyIds())&&pageWrap.getModel().getCompanyIds().size()>0, |
| | | Member::getCompanyId,pageWrap.getModel().getCompanyIds()) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),ms->ms.like(Member::getPhone,pageWrap.getModel().getKeyWords()) |
| | | .or().like(Member::getName,pageWrap.getModel().getKeyWords()) |
| | | .or().like(Member::getCode,pageWrap.getModel().getKeyWords())) |
| | | .isNull(Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ZERO),Member::getFaceId) |
| | | .isNotNull(Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ONE),Member::getFaceId) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyword()),ms->ms |
| | | .like(Member::getPhone,pageWrap.getModel().getKeyword()) |
| | | .or().like(Member::getName,pageWrap.getModel().getKeyword()) |
| | | .or().like(Member::getCode,pageWrap.getModel().getKeyword())) |
| | | .isNull(!Objects.isNull(pageWrap.getModel().getHasFace())&&Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ZERO),Member::getFaceId) |
| | | .isNotNull(!Objects.isNull(pageWrap.getModel().getHasFace())&&Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ONE),Member::getFaceId) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getCanVisit()),Member::getCanVisit,pageWrap.getModel().getCanVisit()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Member::getCanVisit,pageWrap.getModel().getStatus()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Member::getStatus,pageWrap.getModel().getStatus()) |
| | | .eq(StringUtils.isNotBlank(pageWrap.getModel().getErpOrgId()),Member::getErpOrgId,pageWrap.getModel().getErpOrgId()) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Member::getStatus,Constants.Status.ENABLE.getValue()) |
| | | // .eq(Member::getStatus,Constants.Status.ENABLE.getValue()) |
| | | .eq(Member::getType,Constants.memberType.internal) |
| | | .orderByDesc(Member::getCreateDate); |
| | | |
| | | IPage<MemberInfoDTO> memberIPage = memberJoinMapper.selectJoinPage(page, MemberInfoDTO.class,queryWrapper); |
| | | |
| | | if(CollectionUtils.isNotEmpty(memberIPage.getRecords())){ |
| | | //FTP文件访问前缀 |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | //门禁组信息 |
| | | List<DeviceRole> deviceRoleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() |
| | | .select(DeviceRole::getId,DeviceRole::getName) |
| | | .eq(DeviceRole::getIsdeleted,Constants.ZERO)); |
| | | for (MemberInfoDTO memberInfoDTO:memberIPage.getRecords()) { |
| | | //获得门禁组名称数组 |
| | | memberInfoDTO.setRoleNames(this.dealRoleDatas(memberInfoDTO.getRoleId(),deviceRoleList)); |
| | | //拼接前缀 |
| | | if(StringUtils.isNotBlank(memberInfoDTO.getFaceImg())){ |
| | | memberInfoDTO.setFaceImg(prefixUrl + memberInfoDTO.getFaceImg()); |
| | | } |
| | | if(StringUtils.isNotBlank(memberInfoDTO.getImgurl())){ |
| | | memberInfoDTO.setImgurl(prefixUrl + memberInfoDTO.getImgurl()); |
| | | } |
| | | } |
| | | } |
| | | return PageData.from(memberIPage); |
| | | } |
| | | |
| | | |
| | | public List<String> dealRoleDatas(String roleIds,List<DeviceRole> deviceRoleList){ |
| | | List<String> stringList = new ArrayList<>(); |
| | | if(StringUtils.isNotBlank(roleIds)){ |
| | | roleIds = roleIds.replace("[","").replace("]",""); |
| | | List<String> ids = Arrays.asList(roleIds.split(",")); |
| | | ids.forEach(i->{ |
| | | DeviceRole deviceRole = deviceRoleList.stream().filter(m->m.getId().toString().equals(i)).findFirst().get(); |
| | | if(!Objects.isNull(deviceRole)){ |
| | | stringList.add(deviceRole.getName()); |
| | | } |
| | | }); |
| | | } |
| | | return stringList; |
| | | } |
| | | |
| | | @Override |
| | | public PageData<MemberInfoDTO> findVisitPage(PageWrap<MemberQuery> pageWrap) { |
| | |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | queryWrapper.selectAll(Member.class) |
| | | .selectAs(Company::getName,MemberInfoDTO::getCompanyName) |
| | | .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0) as visitsCount") |
| | | .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 order by CREATE_DATE limit 1) as visitsLastDate"); |
| | | .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 and v.status = 2 ) as visitsCount") |
| | | .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 and v.status = 2 order by CREATE_DATE limit 1) as visitsLastDate"); |
| | | |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Member::getName,pageWrap.getModel().getName()) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getPhone()),Member::getPhone,pageWrap.getModel().getPhone()) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), ms->ms.like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName()) |
| | | .or().like(Company::getName,pageWrap.getModel().getCompanyName())) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo,pageWrap.getModel().getIdcardNo()) |
| | | .eq(StringUtils.isNotBlank(pageWrap.getModel().getErpOrgId()),Member::getErpOrgId,pageWrap.getModel().getErpOrgId()) |
| | | .eq(Objects.isNull(pageWrap.getModel().getStatus()),Member::getStatus,Constants.Status.ENABLE.getValue()) |
| | | .eq(!Objects.isNull(pageWrap.getModel().getStatus()),Member::getStatus,pageWrap.getModel().getStatus()) |
| | | .eq(Member::getType,Constants.memberType.visitor) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .orderByDesc(Member::getCreateDate); |
| | | |
| | | |
| | | IPage<MemberInfoDTO> memberIPage = memberJoinMapper.selectJoinPage(page, MemberInfoDTO.class,queryWrapper); |
| | | return PageData.from(memberIPage); |
| | |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | queryWrapper.selectAll(Member.class) |
| | | .selectAs(Company::getName,MemberInfoDTO::getCompanyName) |
| | | .select(" (select ua.CREATE_DATE from user_action ua where ua.MEMBER_ID=t.id and ua.ISDELETED=0 and ua.type=1 order by ua.CREATE_DATE limit 1) as userActionType1") |
| | | .select(" (select uac.remark from user_action uac where uac.MEMBER_ID=t.id and uac.ISDELETED=0 and uac.type=1 order by uac.CREATE_DATE limit 1) as creatorName") |
| | | /* .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0) as visitsCount")*/ |
| | | .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 order by CREATE_DATE limit 1) as visitsLastDate"); |
| | | .select(" (select ua.CREATE_DATE from user_action ua where ua.MEMBER_ID=t.id and ua.ISDELETED=0 order by ua.CREATE_DATE desc limit 1) as optTime") |
| | | .select(" (select s.REALNAME from user_action uac left join system_user s on uac.CREATOR = s.ID where uac.MEMBER_ID=t.id and uac.ISDELETED=0 order by uac.CREATE_DATE desc limit 1) as creatorName") |
| | | .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 order by CREATE_DATE desc limit 1) as visitsLastDate"); |
| | | |
| | | queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCreaterId()),Member::getEditor,pageWrap.getModel().getCreaterId()); |
| | | queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Member::getType,pageWrap.getModel().getType()); |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Member::getName,pageWrap.getModel().getName()) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),ms->ms.like(Member::getPhone,pageWrap.getModel().getName()) |
| | | queryWrapper |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Member::getPhone,pageWrap.getModel().getName()) |
| | | .or().like(Member::getName,pageWrap.getModel().getName())) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), |
| | | ms->ms.like(Company::getName,pageWrap.getModel().getCompanyName()) |
| | | .or().like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName())) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo,pageWrap.getModel().getIdcardNo()) |
| | | .eq(Member::getStatus,Constants.Status.FREEZE.getValue()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getCode()),Member::getCode,pageWrap.getModel().getCode()) |
| | |
| | | .ne(Member::getType,Constants.memberType.visitor) |
| | | ); |
| | | //非访客用户 进行判断是否存在用户 |
| | | if(Objects.isNull(member)&&!member.getType().equals(Constants.memberType.visitor)){ |
| | | if(!Objects.isNull(member)&&!member.getType().equals(Constants.memberType.visitor)){ |
| | | if(member.getIsdeleted() == Constants.ONE){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); |
| | | } |