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.YwConditionerGatewayLogMapper; import com.doumee.dao.business.YwConditionerGatewayMapper; import com.doumee.dao.business.model.YwConditionerGateway; import com.doumee.dao.business.model.YwConditionerGatewayLog; import com.doumee.service.business.ConditionerBizService; import com.doumee.service.business.YwConditionerGatewayService; 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 YwConditionerGatewayServiceImpl implements YwConditionerGatewayService { @Autowired private YwConditionerGatewayMapper gatewayMapper; @Autowired private YwConditionerGatewayLogMapper gatewayLogMapper; @Autowired private ConditionerBizService conditionerBizService; @Override public PageData findPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); YwConditionerGateway model = pageWrap.getModel() == null ? new YwConditionerGateway() : pageWrap.getModel(); Utils.MP.blankToNull(model); MPJLambdaWrapper qw = new MPJLambdaWrapper<>(); qw.selectAll(YwConditionerGateway.class) .eq(YwConditionerGateway::getIsdeleted, Constants.ZERO) .eq(StringUtils.isNotBlank(model.getOnlineStatus()), YwConditionerGateway::getOnlineStatus, model.getOnlineStatus()) .and(StringUtils.isNotBlank(model.getKeyword()), w -> w .like(YwConditionerGateway::getWgMac, model.getKeyword()) .or().like(YwConditionerGateway::getWgBz, model.getKeyword())) .orderByDesc(YwConditionerGateway::getId); return PageData.from(gatewayMapper.selectJoinPage(page, YwConditionerGateway.class, qw)); } @Override public PageData gatewayLogPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); YwConditionerGatewayLog model = pageWrap.getModel() == null ? new YwConditionerGatewayLog() : pageWrap.getModel(); Utils.MP.blankToNull(model); MPJLambdaWrapper qw = new MPJLambdaWrapper<>(); qw.selectAll(YwConditionerGatewayLog.class) .eq(YwConditionerGatewayLog::getIsdeleted, Constants.ZERO) .eq(model.getGatewayId() != null, YwConditionerGatewayLog::getGatewayId, model.getGatewayId()) .eq(StringUtils.isNotBlank(model.getWgMac()), YwConditionerGatewayLog::getWgMac, model.getWgMac()) .ge(model.getLogTimeBegin() != null, YwConditionerGatewayLog::getLogTime, model.getLogTimeBegin()) .le(model.getLogTimeEnd() != null, YwConditionerGatewayLog::getLogTime, model.getLogTimeEnd()) .orderByDesc(YwConditionerGatewayLog::getLogTime); return PageData.from(gatewayLogMapper.selectJoinPage(page, YwConditionerGatewayLog.class, qw)); } @Override public String syncAll() { return conditionerBizService.syncGateways("manual"); } }