diff --git a/models/send_ways.go b/models/send_ways.go index 1367864..4d00b6a 100644 --- a/models/send_ways.go +++ b/models/send_ways.go @@ -92,6 +92,15 @@ func GetWayByID(id string) (SendWays, error) { return way, nil } +func GetWayByName(name string) (SendWays, error) { + var way SendWays + err := db.Where("name = ? ", name).Find(&way).Error + if err != nil && errors.Is(err, gorm.ErrRecordNotFound) { + return way, err + } + return way, nil +} + func DeleteMsgWay(id string) error { if err := db.Where("id = ?", id).Delete(&SendWays{}).Error; err != nil { return err diff --git a/routers/api/v1/send_ways.go b/routers/api/v1/send_ways.go index 66f1435..1abb9f5 100644 --- a/routers/api/v1/send_ways.go +++ b/routers/api/v1/send_ways.go @@ -129,7 +129,7 @@ func AddMsgSendWay(c *gin.Context) { err := sendWayService.Add() if err != nil { - appG.CResponse(http.StatusBadRequest, "添加渠道失败!", nil) + appG.CResponse(http.StatusBadRequest, fmt.Sprintf("添加渠道失败!原因:%s", err), nil) return } diff --git a/service/send_way_service/send_way.go b/service/send_way_service/send_way.go index 05ebe8f..70b4ff3 100644 --- a/service/send_way_service/send_way.go +++ b/service/send_way_service/send_way.go @@ -54,6 +54,13 @@ func (sw *SendWay) GetByID() (interface{}, error) { } func (sw *SendWay) Add() error { + way, err := models.GetWayByName(sw.Name) + if err != nil { + return err + } + if len(way.ID) > 0 { + return errors.New(fmt.Sprintf("已经存在同名的渠道名:%s", way.Name)) + } return models.AddSendWay(sw.Name, sw.Auth, sw.Type, sw.CreatedBy, sw.ModifiedBy) } diff --git a/web/src/views/tabsTools/sendTasks/view/addTaskPopUp.vue b/web/src/views/tabsTools/sendTasks/view/addTaskPopUp.vue index 43a14b0..8591c12 100644 --- a/web/src/views/tabsTools/sendTasks/view/addTaskPopUp.vue +++ b/web/src/views/tabsTools/sendTasks/view/addTaskPopUp.vue @@ -25,9 +25,8 @@