server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java
@@ -7,6 +7,7 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.core.utils.Constants; import com.doumee.dao.admin.response.CompanyDTO; import com.doumee.dao.business.model.Company; import com.doumee.service.business.CompanyService; import io.swagger.annotations.Api; @@ -107,4 +108,18 @@ company.setCategoryId(query.getCategoryId()); return ApiResponse.success(companyService.findList(company)); } /** * æ¥è¯¢é¨é¨åå ¶åé¨é¨ä¿¡æ¯ * @param type 0 æ¥è¯¢ææä¿¡æ¯ 1 æ¥è¯¢å é¨ä¿¡æ¯ * @return */ @ApiOperation("æ ¹æ®ç±»åæ¥è¯¢ç»ç»ä¿¡æ¯") @GetMapping("/findCompanyTreePage") // @RequiresPermissions("business:company:query") public ApiResponse<List<CompanyDTO>> findCompanyTreePage(Integer type){ return ApiResponse.success(companyService.findCompanyTreePage(type)); } } server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java
@@ -7,6 +7,7 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; 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.model.Member; import com.doumee.service.business.MemberService; @@ -112,4 +113,18 @@ public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(memberService.findById(id)); } /** * * å页æ¥è¯¢å é¨äººåä¿¡æ¯ * @param pageWrap * @return */ @ApiOperation("å页æ¥è¯¢å é¨äººåä¿¡æ¯") @GetMapping("/findMemberInfoPage") @RequiresPermissions("business:member:query") public ApiResponse<PageData<MemberInfoDTO>> findMemberInfoPage(@RequestBody PageWrap<MemberQuery> pageWrap){ return ApiResponse.success(memberService.findMemberInfoPage(pageWrap)); } } server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/MemberQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,32 @@ package com.doumee.dao.admin.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import io.swagger.models.auth.In; import lombok.Data; import java.util.List; /** * @author T14 */ @Data @ApiModel("äººåæ¥è¯¢ åæ°") public class MemberQuery { @ApiModelProperty(value = "å§å/ææºå·/å·¥å·") private String keyWords; @ApiModelProperty(value = "æ¯å¦æäººè¸ 0 å¦ 1 æ¯") private Integer hasFace; @ApiModelProperty(value = "å¯æè®¿") private Integer canVisit; @ApiModelProperty(value = "ç¶æ") private Integer status; @ApiModelProperty(value = "å ¬å¸IDs") private List<Integer> companyIds; } server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CompanyDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,58 @@ package com.doumee.dao.admin.response; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @author T14 */ @Data @ApiModel("ç»ç»æ¨¡å") public class CompanyDTO { @ApiModelProperty(value = "åç§°") private String name; @ApiModelProperty(value = "夿³¨") private String remark; @ApiModelProperty(value = "ç¶æ 0å¯ç¨ 1ç¦ç¨") private Integer status; @ApiModelProperty(value = "æåºç ") private Integer sortnum; @ApiModelProperty(value = "å³å¡äººæ°") private Integer countNum; @ApiModelProperty(value = "徿 ") private String imgurl; @ApiModelProperty(value = "ç±»å 0å³å¡å ¬å¸ 1å é¨ç»ç»") private Integer type; @ApiModelProperty(value = "åç±»ç¼ç (å ³ècategory)") private Integer categoryId; @ApiModelProperty(value = "åç±»ç¼ç åç§°") private String categoryName; @ApiModelProperty(value = "ä¼ä¸ä»£ç ") private Integer code; @ApiModelProperty(value = "ä¸çº§ç»ç»ç¼ç ï¼èªå ³èï¼") private Integer parentId; @ApiModelProperty(value = "è系人å§å") private String linkName; @ApiModelProperty(value = "èç³»çµè¯") private String linkPhone; @ApiModelProperty(value = "åé¨é¨") private List<CompanyDTO> companyDTOList; } server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
@@ -82,6 +82,19 @@ @ApiModelProperty(value = "微信openid") private String openid; @ApiModelProperty(value = "é¨ç¦è§è²ç¼ç ") private Integer roleId; @ApiModelProperty(value = "é¨ç¦è§è²åç§°") private String roleName; @ApiModelProperty(value = "æ¯å¦å¯æè®¿äºº 0å¦ 1æ¯") private String canVisit; @ApiModelProperty(value = "å¡çæ°") private Integer memberCardCount; @ApiModelProperty(value = "å¹è®æææç»ææ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date trainTimeEndTime; server/dmvisit_service/src/main/java/com/doumee/dao/business/join/MemberCardJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.doumee.dao.business.join; import com.doumee.dao.business.model.DeviceEvent; import com.doumee.dao.business.model.MemberCard; import com.github.yulichang.base.mapper.MPJJoinMapper; import org.springframework.stereotype.Repository; /** * @author T14 */ @Repository public interface MemberCardJoinMapper extends MPJJoinMapper<MemberCard> { } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -21,11 +22,11 @@ public class MemberCard { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @ApiModelProperty(value = "主é®") @ExcelColumn(name="主é®") private Integer id; @ApiModelProperty(value = "å建人ç¼ç ", example = "1") @ApiModelProperty(value = "å建人ç¼ç ") @ExcelColumn(name="å建人ç¼ç ") private Integer creator; @@ -34,7 +35,7 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ApiModelProperty(value = "æ´æ°äººç¼ç ") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer editor; @@ -43,7 +44,7 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @@ -51,9 +52,24 @@ @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "ç¨æ·ç¼ç ï¼å ³èmember表)", example = "1") @ApiModelProperty(value = "ç¨æ·ç¼ç ï¼å ³èmember表)") @ExcelColumn(name="ç¨æ·ç¼ç ï¼å ³èmember表)") private Integer memberId; @ApiModelProperty(value = "ç¨æ·ç¼ç åç§°") @ExcelColumn(name="ç¨æ·ç¼ç åç§°") @TableField(exist = false) private String memberName; @ApiModelProperty(value = "ç¨æ·çµè¯") @ExcelColumn(name="ç¨æ·çµè¯") @TableField(exist = false) private String memberPhone; @ApiModelProperty(value = "å ¬å¸ç»ç»åç§°") @ExcelColumn(name="å ¬å¸ç»ç»åç§°") @TableField(exist = false) private String companyName; @ApiModelProperty(value = "å¡å·") @ExcelColumn(name="å¡å·") @@ -63,11 +79,11 @@ @ExcelColumn(name="å¡å¯") private String passward; @ApiModelProperty(value = "海康æ è¯", example = "1") @ApiModelProperty(value = "海康æ è¯") @ExcelColumn(name="海康æ è¯") private String hkId; @ApiModelProperty(value = "æµ·åº·åæ¥ç¶æ 0æªåæ¥ 1已忥", example = "1") @ApiModelProperty(value = "æµ·åº·åæ¥ç¶æ 0æªåæ¥ 1已忥") @ExcelColumn(name="æµ·åº·åæ¥ç¶æ 0æªåæ¥ 1已忥") private Integer hkStatus; @@ -76,8 +92,12 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date hkDate; @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨") @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") private Integer status; @ApiModelProperty(value = "å ³é®å") @TableField(exist = false) private String KeyWords; } server/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
@@ -2,6 +2,7 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.admin.response.CompanyDTO; import com.doumee.dao.business.model.Company; import java.util.List; @@ -110,4 +111,11 @@ * @return long */ long count(Company company); /** * æ¥è¯¢é¨é¨åå ¶åé¨é¨ä¿¡æ¯ * @param type 0 æ¥è¯¢ææä¿¡æ¯ 1 æ¥è¯¢å é¨ä¿¡æ¯ * @return */ List<CompanyDTO> findCompanyTreePage(Integer type); } server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -5,6 +5,7 @@ import com.doumee.core.model.PageWrap; 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.model.Member; import com.doumee.dao.web.response.WxAuthorizeVO; @@ -136,6 +137,14 @@ void importMemberBatch(LaborEmpowerDTO laborEmpowerDTO); /** * * å页æ¥è¯¢å é¨äººåä¿¡æ¯ * @param pageWrap * @return */ PageData<MemberInfoDTO> findMemberInfoPage(PageWrap<MemberQuery> pageWrap); /********************************************å ¬ä¼å·æ¥å£***********************************************************************/ server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -1,5 +1,7 @@ package com.doumee.service.business.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; @@ -7,6 +9,7 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.admin.response.CompanyDTO; import com.doumee.dao.business.CompanyMapper; import com.doumee.dao.business.join.CompanyJoinMapper; import com.doumee.dao.business.model.Category; @@ -18,13 +21,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import io.swagger.annotations.ApiModelProperty; import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * ä¼ä¸ä¿¡æ¯è¡¨Serviceå®ç° @@ -245,6 +253,41 @@ return companyMapper.selectCount(wrapper); } @Override public List<CompanyDTO> findCompanyTreePage(Integer type) { LambdaQueryWrapper<Company> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Company::getIsdeleted,Constants.ZERO) .eq(Constants.equalsInteger(type,Constants.ONE),Company::getType,type); List<Company> companies = companyMapper.selectList(wrapper); return getCompanyTree( companies, null); } private List<CompanyDTO> getCompanyTree(List<Company> companies, Integer parentId){ if (CollectionUtils.isEmpty(companies)){ return null; } List<Company> collect = companies.stream() .filter(s -> Constants.equalsInteger(s.getParentId(), parentId)) .collect(Collectors.toList()); if (CollectionUtils.isEmpty(companies)){ return null; } List<CompanyDTO> companyDTOList = new ArrayList<>(); for (int i = 0; i < collect.size(); i++) { Company company = collect.get(i); CompanyDTO companyDTO = new CompanyDTO(); BeanUtils.copyProperties(company,companyDTO); companyDTO.setCompanyDTOList(getCompanyTree(companies, company.getId())); companyDTOList.add(companyDTO); } return companyDTOList; } /** * å³å¡å ¬å¸å¯ä¸æ§æ ¡éª * @param company server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
@@ -1,20 +1,28 @@ package com.doumee.service.business.impl; import cn.hutool.core.lang.PatternPool; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.ReUtil; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.business.MemberCardMapper; import com.doumee.dao.business.join.MemberCardJoinMapper; import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.MemberCard; import com.doumee.service.business.MemberCardService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; /** * ç¨æ·å¡çç»å®ä¿¡æ¯è¡¨Serviceå®ç° @@ -26,6 +34,9 @@ @Autowired private MemberCardMapper memberCardMapper; @Autowired private MemberCardJoinMapper memberCardJoinMapper; @Override public Integer create(MemberCard memberCard) { @@ -83,65 +94,79 @@ QueryWrapper<MemberCard> wrapper = new QueryWrapper<>(memberCard); return memberCardMapper.selectList(wrapper); } @Override public PageData<MemberCard> findPage(PageWrap<MemberCard> pageWrap) { IPage<MemberCard> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<MemberCard> queryWrapper = new QueryWrapper<>(); MPJLambdaWrapper<MemberCard> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(MemberCard::getId, pageWrap.getModel().getId()); queryWrapper.eq(MemberCard::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(MemberCard::getCreator, pageWrap.getModel().getCreator()); queryWrapper.eq(MemberCard::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(MemberCard::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(MemberCard::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); queryWrapper.ge(MemberCard::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.le(MemberCard::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(MemberCard::getEditor, pageWrap.getModel().getEditor()); queryWrapper.eq(MemberCard::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(MemberCard::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(MemberCard::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); queryWrapper.ge(MemberCard::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.le(MemberCard::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(MemberCard::getIsdeleted, pageWrap.getModel().getIsdeleted()); queryWrapper.eq(MemberCard::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(MemberCard::getRemark, pageWrap.getModel().getRemark()); queryWrapper.eq(MemberCard::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getMemberId() != null) { queryWrapper.lambda().eq(MemberCard::getMemberId, pageWrap.getModel().getMemberId()); queryWrapper.eq(MemberCard::getMemberId, pageWrap.getModel().getMemberId()); } if (pageWrap.getModel().getCode() != null) { queryWrapper.lambda().eq(MemberCard::getCode, pageWrap.getModel().getCode()); queryWrapper.eq(MemberCard::getCode, pageWrap.getModel().getCode()); } if (pageWrap.getModel().getPassward() != null) { queryWrapper.lambda().eq(MemberCard::getPassward, pageWrap.getModel().getPassward()); queryWrapper.eq(MemberCard::getPassward, pageWrap.getModel().getPassward()); } if (pageWrap.getModel().getHkId() != null) { queryWrapper.lambda().eq(MemberCard::getHkId, pageWrap.getModel().getHkId()); queryWrapper.eq(MemberCard::getHkId, pageWrap.getModel().getHkId()); } if (pageWrap.getModel().getHkStatus() != null) { queryWrapper.lambda().eq(MemberCard::getHkStatus, pageWrap.getModel().getHkStatus()); queryWrapper.eq(MemberCard::getHkStatus, pageWrap.getModel().getHkStatus()); } if (pageWrap.getModel().getHkDate() != null) { queryWrapper.lambda().ge(MemberCard::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate())); queryWrapper.lambda().le(MemberCard::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate())); queryWrapper.ge(MemberCard::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate())); queryWrapper.le(MemberCard::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate())); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(MemberCard::getStatus, pageWrap.getModel().getStatus()); queryWrapper.eq(MemberCard::getStatus, pageWrap.getModel().getStatus()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(memberCardMapper.selectPage(page, queryWrapper)); queryWrapper.orderByDesc(MemberCard::getCreateDate); //æ¯å¦æ¯æ°å boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); //æ¯å¦å å«ä¸æ boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); //æ¯å¦å å«è±æ boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); queryWrapper.leftJoin(Member.class,Member::getId,MemberCard::getMemberId) .leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.selectAll(MemberCard.class) .selectAs(Member::getName,MemberCard::getMemberName) .selectAs(Member::getPhone,MemberCard::getMemberPhone) .selectAs(Company::getName,MemberCard::getCompanyName); queryWrapper.like(Objects.nonNull(pageWrap.getModel().getCode()),MemberCard::getCode,pageWrap.getModel().getCode()) .eq(Objects.nonNull(pageWrap.getModel().getStatus()),MemberCard::getStatus,pageWrap.getModel().getStatus()) .eq(Objects.nonNull(pageWrap.getModel().getStatus()),MemberCard::getStatus,pageWrap.getModel().getStatus()) .like(number,Member::getPhone,pageWrap.getModel().getKeyWords()) .like((b||hasWord),Member::getName,pageWrap.getModel().getKeyWords()); IPage<MemberCard> memberCardIPage = memberCardJoinMapper.selectJoinPage(page, MemberCard.class,queryWrapper); return PageData.from(memberCardIPage); } @Override 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); } /********************************************å ¬ä¼å·æ¥å£***********************************************************************/