地质所 沉降监测网建设项目
zmk
2024-10-23 3f47c88e7cb4e53b3637620794420181f47b5a5e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
package com.javaweb.cms.service.impl;
 
import java.util.List;
 
import com.google.common.collect.Lists;
import com.javaweb.cms.config.CmsConfig;
import com.javaweb.cms.util.email.MailSenderInfo;
import com.javaweb.cms.util.email.SimpleMailSender;
import com.javaweb.common.utils.DateUtils;
import com.javaweb.common.utils.Guid;
import com.javaweb.framework.util.ShiroUtils;
import com.javaweb.system.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.javaweb.cms.mapper.EmailMapper;
import com.javaweb.cms.domain.Email;
import com.javaweb.cms.service.IEmailService;
import com.javaweb.common.core.text.Convert;
 
/**
 * 邮件Service业务层处理
 * 
 * @author wujiyue
 * @date 2019-11-04
 */
@Service
public class EmailServiceImpl implements IEmailService 
{
    @Autowired
    private EmailMapper emailMapper;
 
 
    /**
     * 查询邮件
     * 
     * @param id 邮件ID
     * @return 邮件
     */
    @Override
    public Email selectEmailById(String id)
    {
        return emailMapper.selectEmailById(id);
    }
 
    /**
     * 查询邮件列表
     * 
     * @param email 邮件
     * @return 邮件
     */
    @Override
    public List<Email> selectEmailList(Email email)
    {
        return emailMapper.selectEmailList(email);
    }
 
    /**
     * 新增邮件
     * 
     * @param email 邮件
     * @return 结果
     */
    @Override
    public int insertEmail(Email email)
    {
        email.setId(Guid.get());
        SysUser user=ShiroUtils.getSysUser();
        email.setFromEmail(CmsConfig.getFromEmail());
        email.setFromEmailPwd(CmsConfig.getFromEmailPwd());
        email.setUserId(user.getUserId().toString());
        email.setCreateBy(user.getUserName());
        email.setCreateTime(DateUtils.getNowDate());
 
        if(email.getSendType()==null){
            //off 为null 默认为0
            email.setSendType("0");
        }
        if("on".equals(email.getSendType().toString())){
            email.setSendType("1");
        }
        if("off".equals(email.getSendType().toString())){
            email.setSendType("0");
        }
 
        return emailMapper.insertEmail(email);
    }
 
    /**
     * 修改邮件
     * 
     * @param email 邮件
     * @return 结果
     */
    @Override
    public int updateEmail(Email email)
    {
        email.setUpdateTime(DateUtils.getNowDate());
        if(email.getSendType()==null){
            //off 为null 默认为0
            email.setSendType("0");
        }
        if("on".equals(email.getSendType().toString())){
            email.setSendType("1");
        }
        if("off".equals(email.getSendType().toString())){
            email.setSendType("0");
        }
        return emailMapper.updateEmail(email);
    }
 
    /**
     * 删除邮件对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteEmailByIds(String ids)
    {
        return emailMapper.deleteEmailByIds(Convert.toStrArray(ids));
    }
 
    /**
     * 删除邮件信息
     * 
     * @param id 邮件ID
     * @return 结果
     */
    @Override
    public int deleteEmailById(Long id)
    {
        return emailMapper.deleteEmailById(id);
    }
 
    /**
     * 发送邮件
     * @param ids 需要发送邮件的数据ID
     */
    @Override
    public void sendEmail(String ids) {
        String[] arr=Convert.toStrArray(ids);
        List<String>  list=Lists.newArrayList(arr);
        list.forEach(id->{
            Email e=this.selectEmailById(id);
            if(e!=null){
                MailSenderInfo info=new MailSenderInfo();
                info.setMailServiceHost(CmsConfig.getMailHost());//qq邮箱服务器
                info.setMailServicePort(CmsConfig.getMailPort());//端口号
                info.setFromAddress(CmsConfig.getFromEmail());
                info.setValidate(true);
                info.setUserName(CmsConfig.getFromEmail());
                info.setPassword(CmsConfig.getFromEmailPwd());
                String[] to={e.getToEmail()};
                info.setToAddress(to);
                info.setSubject(e.getSubject());
                info.setContent(e.getContent());
                //String[] attach={"D:\\1.jpg"};
                //info.setAttachs(attach);
                SimpleMailSender sender=new SimpleMailSender();
                boolean b=sender.sendHtmlMail(info);
                if(b){
                    e.setSendFlag(1);
                    e.setSendTime(DateUtils.getNowDate());
                    this.updateEmail(e);
                }
            }
        });
    }
}