feat: able to delete mail config
This commit is contained in:
@@ -40,6 +40,18 @@ func (m *MailConfigApi) Save(context *gin.Context) {
|
||||
response.Result(errCode, nil, context)
|
||||
}
|
||||
|
||||
// 删除邮件服务配置
|
||||
func (m *MailConfigApi) Delete(context *gin.Context) {
|
||||
var param models.MailConfigDeleteParam
|
||||
if err := context.ShouldBind(¶m); err != nil {
|
||||
response.Result(response.ErrCodeParamInvalid, nil, context)
|
||||
log.Println(err)
|
||||
return
|
||||
}
|
||||
errCode := m.mailConfigService.Delete(¶m)
|
||||
response.Result(errCode, nil, context)
|
||||
}
|
||||
|
||||
// 开启或关闭邮件服务
|
||||
func (m *MailConfigApi) UpdateStatus(context *gin.Context) {
|
||||
var param models.MailConfigStatusParam
|
||||
|
||||
+11
-3
@@ -6,6 +6,10 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
Closed = 2
|
||||
)
|
||||
|
||||
type MailConfigDao struct {
|
||||
}
|
||||
|
||||
@@ -14,12 +18,16 @@ func NewMailConfigDao() *MailConfigDao {
|
||||
}
|
||||
|
||||
func (m *MailConfigDao) Save(param *models.MailConfigSaveParam) error {
|
||||
if !isExists(param.Creator) {
|
||||
if !m.IsExists(param.Creator) {
|
||||
return create(param)
|
||||
}
|
||||
return update(param)
|
||||
}
|
||||
|
||||
func (m *MailConfigDao) Delete(param *models.MailConfigDeleteParam) error {
|
||||
return global.Db.Delete(&models.MailConfig{}, param.Id).Error
|
||||
}
|
||||
|
||||
func (m *MailConfigDao) GetInfo(uid int64) (*models.MailConfig, error) {
|
||||
var mc models.MailConfig
|
||||
err := global.Db.Table(MAIL_CONFIG).Where("creator = ?", uid).First(&mc).Error
|
||||
@@ -41,7 +49,7 @@ func (m *MailConfigDao) UpdateStatus(param *models.MailConfigStatusParam) error
|
||||
return nil
|
||||
}
|
||||
|
||||
func isExists(uid int64) bool {
|
||||
func (m *MailConfigDao) IsExists(uid int64) bool {
|
||||
var mc models.MailConfig
|
||||
db := global.Db.Table(MAIL_CONFIG).Where("creator = ?", uid).First(&mc)
|
||||
return db.RowsAffected != NumberNull
|
||||
@@ -53,7 +61,7 @@ func create(param *models.MailConfigSaveParam) error {
|
||||
Port: param.Port,
|
||||
AuthCode: param.AuthCode,
|
||||
Email: param.Email,
|
||||
Status: 1,
|
||||
Status: Closed,
|
||||
Creator: param.Creator,
|
||||
Created: time.Now().Unix(),
|
||||
}
|
||||
|
||||
@@ -68,6 +68,7 @@ func Router() {
|
||||
route.GET("/config/check", api.NewMailConfigApi().Check)
|
||||
route.PUT("/config/save", api.NewMailConfigApi().Save)
|
||||
route.PUT("/config/status", api.NewMailConfigApi().UpdateStatus)
|
||||
route.DELETE("/config/delete", api.NewMailConfigApi().Delete)
|
||||
|
||||
// 订阅模块
|
||||
route.GET("/subscribe/info", api.NewSubscribeApi().GetInfo)
|
||||
|
||||
@@ -14,20 +14,24 @@ type MailConfig struct {
|
||||
|
||||
type MailConfigSaveParam struct {
|
||||
Id int64 `json:"id" binding:"omitempty,gt=0"`
|
||||
Stmp string `json:"stmp" binding:"omitempty,ip|hostname"`
|
||||
Port int `json:"port" binding:"omitempty,gt=0"`
|
||||
AuthCode string `json:"authCode" binding:"omitempty,gt=0"`
|
||||
Email string `json:"email" binding:"omitempty,email"`
|
||||
Stmp string `json:"stmp" binding:"required,ip|hostname"`
|
||||
Port int `json:"port" binding:"required,gt=0"`
|
||||
AuthCode string `json:"authCode" binding:"required,gt=0"`
|
||||
Email string `json:"email" binding:"required,email"`
|
||||
Status int `json:"status" binding:"omitempty,oneof=1 2"`
|
||||
Creator int64 `json:"creator" binding:"omitempty"`
|
||||
}
|
||||
|
||||
type MailConfigStatusParam struct {
|
||||
Id int64 `json:"id" binding:"required,gt=0"`
|
||||
Id int64 `json:"id" binding:"omitempty,gt=0"`
|
||||
Status int `json:"status" binding:"required,oneof=1 2"`
|
||||
Creator int64 `json:"creator" binding:"omitempty"`
|
||||
}
|
||||
|
||||
type MailConfigDeleteParam struct {
|
||||
Id int64 `json:"id" binding:"required,gt=0"`
|
||||
}
|
||||
|
||||
type MailConfigInfo struct {
|
||||
Id int64 `json:"id"`
|
||||
Stmp string `json:"stmp"`
|
||||
|
||||
@@ -31,6 +31,7 @@ const (
|
||||
ErrCodeMailConfigInvalid = 50001 // 邮件服务配置无效
|
||||
ErrCodeMailSendFailed = 50002 // 邮件发送失败
|
||||
ErrCodeMailSendUnEnable = 50003 // 邮件服务未开启
|
||||
ErrCodeMailConfigUnSet = 50004 // 邮件服务未配置
|
||||
)
|
||||
|
||||
var msg = map[int]string{
|
||||
@@ -54,4 +55,5 @@ var msg = map[int]string{
|
||||
ErrCodeMailConfigInvalid: "mail config invalid",
|
||||
ErrCodeMailSendFailed: "mail send failed",
|
||||
ErrCodeMailSendUnEnable: "mail send server unEnable",
|
||||
ErrCodeMailConfigUnSet: "mail config un set",
|
||||
}
|
||||
|
||||
@@ -25,8 +25,19 @@ func (m *MailConfigService) Save(param *models.MailConfigSaveParam) int {
|
||||
return response.ErrCodeSuccess
|
||||
}
|
||||
|
||||
// 删除邮件服务配置
|
||||
func (m *MailConfigService) Delete(param *models.MailConfigDeleteParam) int {
|
||||
if err := m.mailConfigDao.Delete(param); err != nil {
|
||||
return response.ErrCodeFailed
|
||||
}
|
||||
return response.ErrCodeSuccess
|
||||
}
|
||||
|
||||
// 开启或关闭邮件服务
|
||||
func (m *MailConfigService) UpdateStatus(param *models.MailConfigStatusParam) int {
|
||||
if !m.mailConfigDao.IsExists(param.Creator) {
|
||||
return response.ErrCodeMailConfigUnSet
|
||||
}
|
||||
if err := m.mailConfigDao.UpdateStatus(param); err != nil {
|
||||
return response.ErrCodeFailed
|
||||
}
|
||||
@@ -35,6 +46,9 @@ func (m *MailConfigService) UpdateStatus(param *models.MailConfigStatusParam) in
|
||||
|
||||
// 获取邮件配置信息
|
||||
func (m *MailConfigService) GetInfo(uid int64) (*models.MailConfigInfo, int) {
|
||||
if !m.mailConfigDao.IsExists(uid) {
|
||||
return nil, response.ErrCodeMailConfigUnSet
|
||||
}
|
||||
mc, err := m.mailConfigDao.GetInfo(uid)
|
||||
if err != nil {
|
||||
return nil, response.ErrCodeFailed
|
||||
|
||||
Reference in New Issue
Block a user