2023-01-24 20:03:35 +08:00
|
|
|
package service
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"crm/common"
|
|
|
|
|
"crm/dao"
|
|
|
|
|
"crm/models"
|
|
|
|
|
"crm/response"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type MailConfigService struct {
|
|
|
|
|
mailConfigDao *dao.MailConfigDao
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewMailConfigService() *MailConfigService {
|
|
|
|
|
return &MailConfigService{
|
|
|
|
|
mailConfigDao: dao.NewMailConfigDao(),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 保存邮件服务配置
|
|
|
|
|
func (m *MailConfigService) Save(param *models.MailConfigSaveParam) int {
|
|
|
|
|
if err := m.mailConfigDao.Save(param); err != nil {
|
|
|
|
|
return response.ErrCodeFailed
|
|
|
|
|
}
|
|
|
|
|
return response.ErrCodeSuccess
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-26 11:25:49 +08:00
|
|
|
// 删除邮件服务配置
|
|
|
|
|
func (m *MailConfigService) Delete(param *models.MailConfigDeleteParam) int {
|
|
|
|
|
if err := m.mailConfigDao.Delete(param); err != nil {
|
|
|
|
|
return response.ErrCodeFailed
|
|
|
|
|
}
|
|
|
|
|
return response.ErrCodeSuccess
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-24 20:03:35 +08:00
|
|
|
// 开启或关闭邮件服务
|
|
|
|
|
func (m *MailConfigService) UpdateStatus(param *models.MailConfigStatusParam) int {
|
2023-01-26 11:25:49 +08:00
|
|
|
if !m.mailConfigDao.IsExists(param.Creator) {
|
|
|
|
|
return response.ErrCodeMailConfigUnSet
|
|
|
|
|
}
|
2023-01-24 20:03:35 +08:00
|
|
|
if err := m.mailConfigDao.UpdateStatus(param); err != nil {
|
|
|
|
|
return response.ErrCodeFailed
|
|
|
|
|
}
|
|
|
|
|
return response.ErrCodeSuccess
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取邮件配置信息
|
|
|
|
|
func (m *MailConfigService) GetInfo(uid int64) (*models.MailConfigInfo, int) {
|
2023-01-26 11:25:49 +08:00
|
|
|
if !m.mailConfigDao.IsExists(uid) {
|
|
|
|
|
return nil, response.ErrCodeMailConfigUnSet
|
|
|
|
|
}
|
2023-01-24 20:03:35 +08:00
|
|
|
mc, err := m.mailConfigDao.GetInfo(uid)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, response.ErrCodeFailed
|
|
|
|
|
}
|
|
|
|
|
mailConfig := models.MailConfigInfo{
|
|
|
|
|
Id: mc.Id,
|
|
|
|
|
Stmp: mc.Stmp,
|
|
|
|
|
Port: mc.Port,
|
|
|
|
|
AuthCode: mc.AuthCode,
|
|
|
|
|
Email: mc.Email,
|
|
|
|
|
Status: mc.Status,
|
|
|
|
|
}
|
|
|
|
|
return &mailConfig, response.ErrCodeSuccess
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 检查邮件配置的有效性
|
|
|
|
|
func (m *MailConfigService) Check(uid int64) int {
|
|
|
|
|
mc, err := m.mailConfigDao.GetInfo(uid)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return response.ErrCodeMailConfigInvalid
|
|
|
|
|
}
|
|
|
|
|
if err = common.DialMail(mc.Stmp, mc.Port, mc.Email, mc.AuthCode); err != nil {
|
|
|
|
|
return response.ErrCodeMailConfigInvalid
|
|
|
|
|
}
|
|
|
|
|
return response.ErrCodeSuccess
|
|
|
|
|
}
|