package com.doumee.service.business.impl; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.business.DiscountMapper; import com.doumee.dao.business.model.Discount; import com.doumee.service.business.DiscountService; 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; /** * 骑行套餐信息表Service实现 * @author 江蹄蹄 * @date 2025/02/17 09:43 */ @Service public class DiscountServiceImpl implements DiscountService { @Autowired private DiscountMapper discountMapper; @Override public String create(Discount discount) { discountMapper.insert(discount); return discount.getId(); } @Override public void deleteById(String id) { discountMapper.deleteById(id); } @Override public void delete(Discount discount) { UpdateWrapper deleteWrapper = new UpdateWrapper<>(discount); discountMapper.delete(deleteWrapper); } @Override public void deleteByIdInBatch(List ids) { if (CollectionUtils.isEmpty(ids)) { return; } discountMapper.deleteBatchIds(ids); } @Override public void updateById(Discount discount) { discountMapper.updateById(discount); } @Override public void updateByIdInBatch(List discounts) { if (CollectionUtils.isEmpty(discounts)) { return; } for (Discount discount: discounts) { this.updateById(discount); } } @Override public Discount findById(String id) { return discountMapper.selectById(id); } @Override public Discount findOne(Discount discount) { QueryWrapper wrapper = new QueryWrapper<>(discount); return discountMapper.selectOne(wrapper); } @Override public List findList(Discount discount) { QueryWrapper wrapper = new QueryWrapper<>(discount); return discountMapper.selectList(wrapper); } @Override public PageData findPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(Discount::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(Discount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(Discount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(Discount::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(Discount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(Discount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(Discount::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(Discount::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getInfo() != null) { queryWrapper.lambda().eq(Discount::getInfo, pageWrap.getModel().getInfo()); } if (pageWrap.getModel().getName() != null) { queryWrapper.lambda().eq(Discount::getName, pageWrap.getModel().getName()); } if (pageWrap.getModel().getType() != null) { queryWrapper.lambda().eq(Discount::getType, pageWrap.getModel().getType()); } if (pageWrap.getModel().getLimitType() != null) { queryWrapper.lambda().eq(Discount::getLimitType, pageWrap.getModel().getLimitType()); } if (pageWrap.getModel().getLimitTime() != null) { queryWrapper.lambda().eq(Discount::getLimitTime, pageWrap.getModel().getLimitTime()); } if (pageWrap.getModel().getPrice() != null) { queryWrapper.lambda().eq(Discount::getPrice, pageWrap.getModel().getPrice()); } if (pageWrap.getModel().getLinePrice() != null) { queryWrapper.lambda().eq(Discount::getLinePrice, pageWrap.getModel().getLinePrice()); } if (pageWrap.getModel().getChannel() != null) { queryWrapper.lambda().eq(Discount::getChannel, pageWrap.getModel().getChannel()); } if (pageWrap.getModel().getImgurl() != null) { queryWrapper.lambda().eq(Discount::getImgurl, pageWrap.getModel().getImgurl()); } if (pageWrap.getModel().getDescs() != null) { queryWrapper.lambda().eq(Discount::getDescs, pageWrap.getModel().getDescs()); } if (pageWrap.getModel().getContent() != null) { queryWrapper.lambda().eq(Discount::getContent, pageWrap.getModel().getContent()); } if (pageWrap.getModel().getStartDate() != null) { queryWrapper.lambda().ge(Discount::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())); queryWrapper.lambda().le(Discount::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate())); } if (pageWrap.getModel().getEndDate() != null) { queryWrapper.lambda().ge(Discount::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDate())); queryWrapper.lambda().le(Discount::getEndDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate())); } if (pageWrap.getModel().getUseType() != null) { queryWrapper.lambda().eq(Discount::getUseType, pageWrap.getModel().getUseType()); } if (pageWrap.getModel().getUseStartDate() != null) { queryWrapper.lambda().ge(Discount::getUseStartDate, Utils.Date.getStart(pageWrap.getModel().getUseStartDate())); queryWrapper.lambda().le(Discount::getUseStartDate, Utils.Date.getEnd(pageWrap.getModel().getUseStartDate())); } if (pageWrap.getModel().getUseEndDate() != null) { queryWrapper.lambda().ge(Discount::getUseEndDate, Utils.Date.getStart(pageWrap.getModel().getUseEndDate())); queryWrapper.lambda().le(Discount::getUseEndDate, Utils.Date.getEnd(pageWrap.getModel().getUseEndDate())); } if (pageWrap.getModel().getUseDays() != null) { queryWrapper.lambda().eq(Discount::getUseDays, pageWrap.getModel().getUseDays()); } if (pageWrap.getModel().getUseHoliday() != null) { queryWrapper.lambda().eq(Discount::getUseHoliday, pageWrap.getModel().getUseHoliday()); } if (pageWrap.getModel().getUseWorkday() != null) { queryWrapper.lambda().eq(Discount::getUseWorkday, pageWrap.getModel().getUseWorkday()); } if (pageWrap.getModel().getSaleLimit() != null) { queryWrapper.lambda().eq(Discount::getSaleLimit, pageWrap.getModel().getSaleLimit()); } if (pageWrap.getModel().getSaleDayLimit() != null) { queryWrapper.lambda().eq(Discount::getSaleDayLimit, pageWrap.getModel().getSaleDayLimit()); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(Discount::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getIsbike() != null) { queryWrapper.lambda().eq(Discount::getIsbike, pageWrap.getModel().getIsbike()); } if (pageWrap.getModel().getIselecbike() != null) { queryWrapper.lambda().eq(Discount::getIselecbike, pageWrap.getModel().getIselecbike()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(discountMapper.selectPage(page, queryWrapper)); } @Override public long count(Discount discount) { QueryWrapper wrapper = new QueryWrapper<>(discount); return discountMapper.selectCount(wrapper); } }