jiangping
2023-12-14 e2f8fb1fbe26ba6d92f3e5dfcaeb0c69abe76b25
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -21,6 +21,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -197,27 +198,21 @@
        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)
                    .leftJoin(Member.class,Member::getId,Retention::getMemberId)
                    .leftJoin(DeviceEvent.class,DeviceEvent::getEventId,Retention::getEventCode);
        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getId);
        queryWrapper.selectAll(Retention.class)
                    .selectAs(Company::getName,Retention::getCompanyName)
                    .selectAs(Member::getType,Retention::getMemberType)
                    .selectAs(DeviceEvent::getSrcName,Retention::getSrcName);
        queryWrapper.like(number,Member::getPhone,pageWrap.getModel().getKeyWords())
                    .like((b||hasWord),Member::getName,pageWrap.getModel().getKeyWords())
                    .selectAs(Company::getName,Retention::getCompanyName);
        queryWrapper.like(number,Retention::getPhone,pageWrap.getModel().getKeyWords())
                    .like((b||hasWord),Retention::getName,pageWrap.getModel().getKeyWords())
                    .eq(Objects.nonNull(pageWrap.getModel().getType()),
                            Member::getType,
                            Retention::getType,
                            pageWrap.getModel().getType())
                    .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                            Company::getName,
                            pageWrap.getModel().getCompanyName())
                    .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
                            Retention::getEventDate,
                            Utils.Date.getStart(pageWrap.getModel().getStartTime()))
                            Retention::getEventDate,pageWrap.getModel().getStartTime())
                    .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
                            Retention::getEventDate,
                            Utils.Date.getDayEnd(pageWrap.getModel().getEndTime()));
                            Retention::getEventDate,pageWrap.getModel().getStartTime());
        queryWrapper.orderByDesc(Retention::getCreateDate);
        IPage<Retention> retentionIPage = retentionJoinMapper.selectJoinPage(page, Retention.class, queryWrapper);
        return PageData.from(retentionIPage);