package com.doumee.service.business.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.YwConditionerActionsMapper; import com.doumee.dao.business.model.YwConditioner; import com.doumee.dao.business.model.YwConditionerActions; import com.doumee.service.business.YwConditionerActionsService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class YwConditionerActionsServiceImpl implements YwConditionerActionsService { @Autowired private YwConditionerActionsMapper actionsMapper; @Override public PageData findPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); YwConditionerActions model = pageWrap.getModel() == null ? new YwConditionerActions() : pageWrap.getModel(); Utils.MP.blankToNull(model); MPJLambdaWrapper qw = new MPJLambdaWrapper<>(); qw.selectAll(YwConditionerActions.class) .selectAs(YwConditioner::getOnline, YwConditionerActions::getOnlineFilter) .leftJoin(YwConditioner.class, YwConditioner::getId, YwConditionerActions::getConditionerId) .eq(YwConditionerActions::getIsdeleted, Constants.ZERO) .eq(model.getConditionerId() != null, YwConditionerActions::getConditionerId, model.getConditionerId()) .eq(model.getActionType() != null, YwConditionerActions::getActionType, model.getActionType()) .eq(StringUtils.isNotBlank(model.getWgMac()), YwConditionerActions::getWgMac, model.getWgMac()) .eq(StringUtils.isNotBlank(model.getOnlineFilter()), YwConditioner::getOnline, model.getOnlineFilter()) .and(StringUtils.isNotBlank(model.getDevKeyword()), w -> w .like(YwConditionerActions::getDevName, model.getDevKeyword()) .or().like(YwConditionerActions::getWgMac, model.getDevKeyword())) .ge(model.getOperateTimeBegin() != null, YwConditionerActions::getCreateDate, model.getOperateTimeBegin() != null ? Utils.Date.getStart(model.getOperateTimeBegin()) : null) .le(model.getOperateTimeEnd() != null, YwConditionerActions::getCreateDate, model.getOperateTimeEnd() != null ? Utils.Date.getEnd(model.getOperateTimeEnd()) : null) .orderByDesc(YwConditionerActions::getId); return PageData.from(actionsMapper.selectJoinPage(page, YwConditionerActions.class, qw)); } }