From 2766ee4da962a242328b8751c7d73cbdbce23694 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 11 十二月 2023 09:11:55 +0800 Subject: [PATCH] 11111 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 63 +++++++++++++++++++++++++++++-- 1 files changed, 59 insertions(+), 4 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index fd71f8c..9a28a50 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -2,8 +2,11 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.PatternPool; +import cn.hutool.core.lang.Validator; import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.PhoneUtil; +import cn.hutool.core.util.ReUtil; import com.alibaba.fastjson.JSONObject; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.Jwt.JwtPayLoad; @@ -20,14 +23,12 @@ import com.doumee.core.wx.WXConstant; import com.doumee.dao.admin.request.LaborEmpowerDTO; import com.doumee.dao.admin.request.LaborMemberDTO; +import com.doumee.dao.admin.request.MemberQuery; import com.doumee.dao.admin.response.MemberInfoDTO; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.TrainTimeMapper; import com.doumee.dao.business.join.MemberJoinMapper; -import com.doumee.dao.business.model.Company; -import com.doumee.dao.business.model.Empower; -import com.doumee.dao.business.model.Member; -import com.doumee.dao.business.model.TrainTime; +import com.doumee.dao.business.model.*; import com.doumee.dao.web.response.WxAuthorizeVO; import com.doumee.service.business.MemberService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -383,8 +384,43 @@ } + @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 "); + + queryWrapper.in(Objects.nonNull(model.getCompanyIds()),Member::getCompanyId,model.getCompanyIds()) + .like(number,Member::getPhone,model.getKeyWords()) + .like((b||hasWord),Member::getPhone,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()))); + } + return PageData.from(memberIPage); + } /********************************************鍏紬鍙锋帴鍙�***********************************************************************/ @@ -412,6 +448,25 @@ } + @Override + public MemberVO getVisitedMember(CheckVisitedDTO checkVisitedDTO){ + Integer validType = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.BEVISITED_USER_VALID).getCode()); + if(Objects.isNull(checkVisitedDTO)||StringUtils.isBlank(checkVisitedDTO.getMobile())||(validType.equals(Constants.ONE)&&StringUtils.isBlank(checkVisitedDTO.getName()))){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() + .eq(Member::getPhone,checkVisitedDTO.getMobile()) + .eq(validType.equals(Constants.ONE),Member::getName,checkVisitedDTO.getName()) + .eq(Member::getIsdeleted,Constants.ZERO) + .eq(Member::getStatus,Constants.ZERO) + .eq(Member::getCanVisit,Constants.ONE) + .eq(Member::getType,Constants.memberType.internal) + .last(" limit 1 ") + ); + MemberVO memberVO = new MemberVO(); + BeanUtils.copyProperties(member,memberVO); + return memberVO; + } -- Gitblit v1.9.3