package com.doumee.service.business.impl; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.YwElectricalCharge; import com.doumee.core.utils.Utils; import com.doumee.dao.business.YwElectricalChargeMapper; import com.doumee.service.business.YwElectricalChargeService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.core.utils.Constants; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.doumee.core.model.LoginUserInfo; import java.util.List; /** * 电表充值记录Service实现 * @author doumee * @date 2026-05-20 14:59:06 */ @Service public class YwElectricalChargeServiceImpl implements YwElectricalChargeService { @Autowired private YwElectricalChargeMapper ywElectricalChargeMapper; @Override public Integer create(YwElectricalCharge ywElectricalCharge) { ywElectricalChargeMapper.insert(ywElectricalCharge); return ywElectricalCharge.getId(); } @Override public void deleteById(Integer id) { ywElectricalChargeMapper.deleteById(id); } @Override public void deleteByIdInBatch(List ids ) { if (CollectionUtils.isEmpty(ids)) { return; } for(Integer id :ids){ deleteById(id); } } @Override public void deleteById(Integer id, LoginUserInfo user) { ywElectricalChargeMapper.deleteById(id); } @Override public void deleteByIdInBatch(List ids, LoginUserInfo user) { if (CollectionUtils.isEmpty(ids)) { return; } for(Integer id :ids){ deleteById(id,user); } } @Override public void delete(YwElectricalCharge ywElectricalCharge) { UpdateWrapper deleteWrapper = new UpdateWrapper<>(ywElectricalCharge); ywElectricalChargeMapper.delete(deleteWrapper); } @Override public void updateById(YwElectricalCharge ywElectricalCharge) { ywElectricalChargeMapper.updateById(ywElectricalCharge); } @Override public void updateByIdInBatch(List ywElectricalCharges) { if (CollectionUtils.isEmpty(ywElectricalCharges)) { return; } for (YwElectricalCharge ywElectricalCharge: ywElectricalCharges) { this.updateById(ywElectricalCharge); } } @Override public YwElectricalCharge findById(Integer id) { return ywElectricalChargeMapper.selectById(id); } @Override public YwElectricalCharge findOne(YwElectricalCharge ywElectricalCharge) { QueryWrapper wrapper = new QueryWrapper<>(ywElectricalCharge).last("limit 1"); return ywElectricalChargeMapper.selectOne(wrapper); } @Override public List findList(YwElectricalCharge ywElectricalCharge) { QueryWrapper wrapper = new QueryWrapper<>(ywElectricalCharge); return ywElectricalChargeMapper.selectList(wrapper); } @Override public PageData findPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); queryWrapper.eq(YwElectricalCharge::getIsdeleted, Constants.ZERO); queryWrapper.eq(YwElectricalCharge::getType, Constants.ZERO); if (StringUtils.isNotBlank(pageWrap.getModel().getMeterKeyword())) { String kw = pageWrap.getModel().getMeterKeyword().trim(); queryWrapper.and(w -> w.like(YwElectricalCharge::getName, kw).or().like(YwElectricalCharge::getAddress, kw)); } queryWrapper.eq(pageWrap.getModel().getId() != null,YwElectricalCharge::getId, pageWrap.getModel().getId()); queryWrapper.eq(pageWrap.getModel().getCreator() != null,YwElectricalCharge::getCreator, pageWrap.getModel().getCreator()); if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.ge(YwElectricalCharge::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.le(YwElectricalCharge::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } queryWrapper.eq(pageWrap.getModel().getEditor() != null,YwElectricalCharge::getEditor, pageWrap.getModel().getEditor()); if (pageWrap.getModel().getEditDate() != null) { queryWrapper.ge(YwElectricalCharge::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.le(YwElectricalCharge::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } queryWrapper.eq(pageWrap.getModel().getIsdeleted() != null,YwElectricalCharge::getIsdeleted, pageWrap.getModel().getIsdeleted()); queryWrapper.eq(pageWrap.getModel().getRemark() != null,YwElectricalCharge::getRemark, pageWrap.getModel().getRemark()); queryWrapper.eq(pageWrap.getModel().getType() != null,YwElectricalCharge::getType, pageWrap.getModel().getType()); queryWrapper.eq(pageWrap.getModel().getRoomIds() != null,YwElectricalCharge::getRoomIds, pageWrap.getModel().getRoomIds()); queryWrapper.eq(pageWrap.getModel().getObjId() != null,YwElectricalCharge::getObjId, pageWrap.getModel().getObjId()); queryWrapper.eq(pageWrap.getModel().getAddress() != null,YwElectricalCharge::getAddress, pageWrap.getModel().getAddress()); queryWrapper.eq(pageWrap.getModel().getName() != null,YwElectricalCharge::getName, pageWrap.getModel().getName()); queryWrapper.eq(pageWrap.getModel().getCompanyId() != null,YwElectricalCharge::getCompanyId, pageWrap.getModel().getCompanyId()); queryWrapper.eq(pageWrap.getModel().getCustomerId() != null,YwElectricalCharge::getCustomerId, pageWrap.getModel().getCustomerId()); if (pageWrap.getModel().getIncomeTime() != null) { queryWrapper.ge(YwElectricalCharge::getIncomeTime, Utils.Date.getStart(pageWrap.getModel().getIncomeTime())); queryWrapper.le(YwElectricalCharge::getIncomeTime, Utils.Date.getEnd(pageWrap.getModel().getIncomeTime())); } queryWrapper.eq(pageWrap.getModel().getMoney() != null,YwElectricalCharge::getMoney, pageWrap.getModel().getMoney()); queryWrapper.eq(pageWrap.getModel().getStatus() != null,YwElectricalCharge::getStatus, pageWrap.getModel().getStatus()); queryWrapper.eq(pageWrap.getModel().getOprId() != null,YwElectricalCharge::getOprId, pageWrap.getModel().getOprId()); queryWrapper.eq(pageWrap.getModel().getCId() != null,YwElectricalCharge::getCId, pageWrap.getModel().getCId()); queryWrapper.eq(pageWrap.getModel().getParams() != null,YwElectricalCharge::getParams, pageWrap.getModel().getParams()); if (pageWrap.getModel().getStatusTime() != null) { queryWrapper.ge(YwElectricalCharge::getStatusTime, Utils.Date.getStart(pageWrap.getModel().getStatusTime())); queryWrapper.le(YwElectricalCharge::getStatusTime, Utils.Date.getEnd(pageWrap.getModel().getStatusTime())); } queryWrapper.eq(pageWrap.getModel().getStatusInfo() != null,YwElectricalCharge::getStatusInfo, pageWrap.getModel().getStatusInfo()); queryWrapper.eq(pageWrap.getModel().getRoomNames() != null,YwElectricalCharge::getRoomNames, pageWrap.getModel().getRoomNames()); queryWrapper.eq(pageWrap.getModel().getAccountId() != null,YwElectricalCharge::getAccountId, pageWrap.getModel().getAccountId()); queryWrapper.eq(pageWrap.getModel().getBanlance() != null,YwElectricalCharge::getBanlance, pageWrap.getModel().getBanlance()); queryWrapper.eq(pageWrap.getModel().getParamId() != null,YwElectricalCharge::getParamId, pageWrap.getModel().getParamId()); queryWrapper.orderByDesc(YwElectricalCharge::getId); IPage result = ywElectricalChargeMapper.selectJoinPage(page, YwElectricalCharge.class,queryWrapper); return PageData.from(result); } @Override public long count(YwElectricalCharge ywElectricalCharge) { QueryWrapper wrapper = new QueryWrapper<>(ywElectricalCharge); return ywElectricalChargeMapper.selectCount(wrapper); } }