123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package com.fjhx.service.impl;
- import cn.hutool.core.lang.Assert;
- import cn.hutool.core.util.ObjectUtil;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fjhx.entity.EmailMailboxLink;
- import com.fjhx.entity.EmailMessage;
- import com.fjhx.mapper.EmailMailboxLinkMapper;
- import com.fjhx.service.IEmailMailboxLinkService;
- import com.fjhx.vo.GetMailboxMassageListVo;
- import org.springframework.stereotype.Service;
- import java.util.Date;
- /**
- * <p>
- * 邮箱文件夹 服务实现类
- * </p>
- *
- * @author zlj
- * @since 2023-01-13
- */
- @Service
- public class EmailMailboxLinkServiceImpl extends ServiceImpl<EmailMailboxLinkMapper, EmailMailboxLink> implements IEmailMailboxLinkService {
- @Override
- public Page<EmailMessage> getMassageList(GetMailboxMassageListVo vo) {
- Long mailboxId = vo.getMailboxId();
- Assert.notNull(mailboxId, "文件夹id不能为空");
- String fromName = vo.getFromName();
- String fromAddress = vo.getFromAddress();
- String subject = vo.getSubject();
- Integer sortType = ObjectUtil.defaultIfNull(vo.getSortType(), 1);
- String sortName = sortType == 1 ? "em.from_date" : "eml.create_time";
- Date beginTime = vo.getBeginTime();
- Date endTime = vo.getEndTime();
- QueryWrapper<Object> query = Wrappers.query()
- .eq("eml.mailbox_id", mailboxId)
- .like(ObjectUtil.isNotEmpty(fromName), "em.from_name", fromName)
- .like(ObjectUtil.isNotEmpty(fromAddress), "em.from_address", fromAddress)
- .like(ObjectUtil.isNotEmpty(subject), "em.subject", subject)
- .between(ObjectUtil.isAllNotEmpty(beginTime, endTime), sortName, beginTime, endTime)
- .orderByDesc(sortName);
- return baseMapper.getMassageList(vo.getPage(), query);
- }
- @Override
- public void bindMassage(EmailMailboxLink emailMailboxLink) {
- Long mailboxId = emailMailboxLink.getMailboxId();
- Assert.notNull(mailboxId, "邮箱id不能为空");
- String messageId = emailMailboxLink.getMessageId();
- Assert.notNull(messageId, "邮件id不能为空");
- EmailMailboxLink one = getOne(q ->
- q.eq(EmailMailboxLink::getMailboxId, mailboxId).eq(EmailMailboxLink::getMessageId, messageId));
- Assert.isNull(one, "邮件已存在");
- save(emailMailboxLink);
- }
- @Override
- public void unbindMassage(EmailMailboxLink emailMailboxLink) {
- Long mailboxId = emailMailboxLink.getMailboxId();
- Assert.notNull(mailboxId, "邮箱id不能为空");
- String messageId = emailMailboxLink.getMessageId();
- Assert.notNull(messageId, "邮件id不能为空");
- remove(q -> q.eq(EmailMailboxLink::getMailboxId, mailboxId).eq(EmailMailboxLink::getMessageId, messageId));
- }
- }
|