/** 
 | 
 * Copyright (c) 2018 人人开源 All rights reserved. 
 | 
 * 
 | 
 * https://www.renren.io 
 | 
 * 
 | 
 * 版权所有,侵权必究! 
 | 
 */ 
 | 
  
 | 
package com.zt.modules.message.service; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
import org.apache.commons.lang3.StringUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
  
 | 
import com.alibaba.fastjson.JSON; 
 | 
import com.zt.common.db.query.QueryFilter; 
 | 
import com.zt.common.exception.ErrorCode; 
 | 
import com.zt.common.exception.RenException; 
 | 
import com.zt.common.service.BaseService; 
 | 
import com.zt.modules.message.channel.email.EmailUtils; 
 | 
import com.zt.modules.message.dao.SysMailTemplateDao; 
 | 
import com.zt.modules.message.model.SysMailTemplate; 
 | 
  
 | 
/** 
 | 
 * 邮件模板 
 | 
 * 
 | 
 * @author Mark sunlightcs@gmail.com 
 | 
 */ 
 | 
@Service 
 | 
public class SysMailTemplateService extends BaseService<SysMailTemplateDao, SysMailTemplate> { 
 | 
    @Autowired 
 | 
    private EmailUtils emailUtils; 
 | 
  
 | 
    public List<SysMailTemplate> page(QueryFilter queryFilter) { 
 | 
        return this.query(queryFilter); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 发送邮件 
 | 
     * 
 | 
     * @param id 
 | 
     *            邮件模板ID 
 | 
     * @param mailTo 
 | 
     *            收件人 
 | 
     * @param mailCc 
 | 
     *            抄送 
 | 
     * @param params 
 | 
     *            模板参数 
 | 
     */ 
 | 
    public boolean sendMail(Long id, String mailTo, String mailCc, String params) throws Exception { 
 | 
        Map<String, Object> map = null; 
 | 
        try { 
 | 
            if (StringUtils.isNotEmpty(params)) { 
 | 
                map = JSON.parseObject(params, Map.class); 
 | 
            } 
 | 
        } catch (Exception e) { 
 | 
            throw new RenException(ErrorCode.JSON_FORMAT_ERROR.getCode()); 
 | 
        } 
 | 
        String[] to = new String[] { mailTo }; 
 | 
        String[] cc = StringUtils.isBlank(mailCc) ? null : new String[] { mailCc }; 
 | 
  
 | 
        return emailUtils.sendMail(id, to, cc, map); 
 | 
    } 
 | 
} 
 |