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.LoginUserInfo; 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.YwConditionerMeterMapper; import com.doumee.dao.business.model.YwConditionerMeter; import com.doumee.service.business.ConditionerBizService; import com.doumee.service.business.YwConditionerMeterService; 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 YwConditionerMeterServiceImpl implements YwConditionerMeterService { @Autowired private YwConditionerMeterMapper meterMapper; @Autowired private ConditionerBizService conditionerBizService; @Override public PageData findPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); YwConditionerMeter model = pageWrap.getModel() == null ? new YwConditionerMeter() : pageWrap.getModel(); Utils.MP.blankToNull(model); MPJLambdaWrapper qw = new MPJLambdaWrapper<>(); qw.selectAll(YwConditionerMeter.class) .eq(YwConditionerMeter::getIsdeleted, Constants.ZERO) .eq(StringUtils.isNotBlank(model.getWgMacFilter()), YwConditionerMeter::getWgMac, model.getWgMacFilter()) .and(StringUtils.isNotBlank(model.getKeyword()), w -> w .like(YwConditionerMeter::getDbName, model.getKeyword()) .or().like(YwConditionerMeter::getDbAdr, model.getKeyword()) .or().like(YwConditionerMeter::getWgMac, model.getKeyword())) .orderByDesc(YwConditionerMeter::getId); return PageData.from(meterMapper.selectJoinPage(page, YwConditionerMeter.class, qw)); } @Override public String syncAll() { return conditionerBizService.syncMeters(); } @Override public String queryEnergy(Integer meterId, LoginUserInfo user) { return conditionerBizService.queryMeterEnergy(meterId, user); } @Override public String queryPower(Integer meterId, LoginUserInfo user) { return conditionerBizService.queryMeterPower(meterId, user); } }