/** * Copyright © 2015-2020 JeePlus All rights reserved. */ package com.jeeplus.modules.iim.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.jeeplus.common.persistence.Page; import com.jeeplus.common.service.CrudService; import com.jeeplus.common.utils.StringUtils; import com.jeeplus.modules.iim.dao.MailBoxDao; import com.jeeplus.modules.iim.dao.MailComposeDao; import com.jeeplus.modules.iim.dao.MailDao; import com.jeeplus.modules.iim.entity.Mail; import com.jeeplus.modules.iim.entity.MailBox; import com.jeeplus.modules.iim.entity.MailCompose; /** * 发件箱Service * @author jeeplus * @version 2015-11-15 */ @Service @Transactional(readOnly = true) public class MailService extends CrudService { @Autowired private MailBoxDao mailBoxDao; @Autowired private MailComposeDao mailComposeDao; public Mail get(String id) { Mail mail = super.get(id); mail.setMailBoxList(mailBoxDao.findList(new MailBox(mail))); mail.setMailComposeList(mailComposeDao.findList(new MailCompose(mail))); return mail; } public List findList(Mail mail) { return super.findList(mail); } public Page findPage(Page page, Mail mail) { return super.findPage(page, mail); } @Transactional(readOnly = false) public void save(Mail mail) { super.save(mail); for (MailBox mailBox : mail.getMailBoxList()){ if (mailBox.getId() == null){ continue; } if (MailBox.DEL_FLAG_NORMAL.equals(mailBox.getDelFlag())){ if (StringUtils.isBlank(mailBox.getId())){ mailBox.setMail(mail); mailBox.preInsert(); mailBoxDao.insert(mailBox); }else{ mailBox.preUpdate(); mailBoxDao.update(mailBox); } }else{ mailBoxDao.delete(mailBox); } } for (MailCompose mailCompose : mail.getMailComposeList()){ if (mailCompose.getId() == null){ continue; } if (MailCompose.DEL_FLAG_NORMAL.equals(mailCompose.getDelFlag())){ if (StringUtils.isBlank(mailCompose.getId())){ mailCompose.setMail(mail); mailCompose.preInsert(); mailComposeDao.insert(mailCompose); }else{ mailCompose.preUpdate(); mailComposeDao.update(mailCompose); } }else{ mailComposeDao.delete(mailCompose); } } } @Transactional(readOnly = false) public void saveOnlyMain(Mail mail) { super.save(mail); for (MailBox mailBox : mail.getMailBoxList()){ if (mailBox.getId() == null){ continue; } if (MailBox.DEL_FLAG_NORMAL.equals(mailBox.getDelFlag())){ if (StringUtils.isBlank(mailBox.getId())){ mailBox.setMail(mail); mailBox.preInsert(); mailBoxDao.insert(mailBox); }else{ mailBox.preUpdate(); mailBoxDao.update(mailBox); } }else{ mailBoxDao.delete(mailBox); } } for (MailCompose mailCompose : mail.getMailComposeList()){ if (mailCompose.getId() == null){ continue; } if (MailCompose.DEL_FLAG_NORMAL.equals(mailCompose.getDelFlag())){ if (StringUtils.isBlank(mailCompose.getId())){ mailCompose.setMail(mail); mailCompose.preInsert(); mailComposeDao.insert(mailCompose); }else{ mailCompose.preUpdate(); mailComposeDao.update(mailCompose); } }else{ mailComposeDao.delete(mailCompose); } } } @Transactional(readOnly = false) public void delete(Mail mail) { super.delete(mail); mailBoxDao.delete(new MailBox(mail)); mailComposeDao.delete(new MailCompose(mail)); } }