Files

78 lines
1.9 KiB
Go
Raw Permalink Normal View History

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
}