jiangping
2024-02-28 de21f15d5b96a714b012337cf8c5d6a53548590f
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -200,9 +200,11 @@
            List<SystemDictData> list = systemDictDataMapper.list(codes);
            Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity()));
            retentionIPage.getRecords().stream().forEach(obj->{
                obj.setFaceImg(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
                        +dataMap.get(Constants.MEMBER_IMG).getCode()
                        +obj.getFaceImg());
                if(StringUtils.isNotBlank(obj.getFaceImg())){
                    obj.setFaceImgFull(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
                            +dataMap.get(Constants.MEMBER_IMG).getCode()
                            +obj.getFaceImg());
                }
            });
        }
        return PageData.from(retentionIPage);
@@ -250,17 +252,19 @@
        IPage<Retention> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Retention> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getId);
        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getCompanyId);
        queryWrapper.selectAll(Retention.class)
                .selectAs(Company::getName,Retention::getCompanyName);
                .selectAs(Company::getName,Retention::getCompanyName)
                .select(" ( SELECT v.company_name FROM visits v WHERE v.member_id = t.member_id and v.status = "+Constants.VisitStatus.signin+" ORDER BY create_date DESC limit 1 ) as visitCompanyName ");
        queryWrapper.like(number,Retention::getPhone,pageWrap.getModel().getKeyWords())
                .like((b||hasWord),Retention::getName,pageWrap.getModel().getKeyWords())
                .eq(Objects.nonNull(pageWrap.getModel().getType()),
                        Retention::getType,
                        pageWrap.getModel().getType())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                        Company::getName,
                        pageWrap.getModel().getCompanyName())
                .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                        p-> p.like(Company::getName, pageWrap.getModel().getCompanyName())
                                .or()
                                .exists(" select 1 from visits v where  v.member_id = t.member_id and v.company_name like '%"+pageWrap.getModel().getCompanyName()+"%' and v.status = "+Constants.VisitStatus.signin+""))
                .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
                        Retention::getEventDate,pageWrap.getModel().getStartTime())
                .le(Objects.nonNull(pageWrap.getModel().getEndTime()),