diff --git a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysMailLogServiceImpl.java b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysMailLogServiceImpl.java new file mode 100644 index 0000000..480d951 --- /dev/null +++ b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysMailLogServiceImpl.java @@ -0,0 +1,52 @@ +package net.maku.system.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.AllArgsConstructor; +import net.maku.framework.common.utils.PageResult; +import net.maku.framework.mybatis.service.impl.BaseServiceImpl; +import net.maku.system.convert.SysMailLogConvert; +import net.maku.system.dao.SysMailLogDao; +import net.maku.system.entity.SysMailLogEntity; +import net.maku.system.query.SysMailLogQuery; +import net.maku.system.service.SysMailLogService; +import net.maku.system.vo.SysMailLogVO; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 邮件日志 + * + * @author 阿沐 babamu@126.com + */ +@Service +@AllArgsConstructor +public class SysMailLogServiceImpl extends BaseServiceImpl implements SysMailLogService { + + @Override + public PageResult page(SysMailLogQuery query) { + IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); + + return new PageResult<>(SysMailLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); + } + + private LambdaQueryWrapper getWrapper(SysMailLogQuery query) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(query.getPlatform() != null, SysMailLogEntity::getPlatform, query.getPlatform()); + wrapper.like(StrUtil.isNotBlank(query.getMailFrom()), SysMailLogEntity::getMailFrom, query.getMailFrom()); + wrapper.orderByDesc(SysMailLogEntity::getId); + + return wrapper; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(List idList) { + removeByIds(idList); + } + +} \ No newline at end of file