fix: ways edit bugs
This commit is contained in:
+1
-1
@@ -95,7 +95,7 @@ func GetWayByID(id string) (SendWays, error) {
|
||||
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) {
|
||||
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return way, err
|
||||
}
|
||||
return way, nil
|
||||
|
||||
@@ -174,7 +174,7 @@ func EditSendWay(c *gin.Context) {
|
||||
|
||||
err := sendWayService.Edit()
|
||||
if err != nil {
|
||||
appG.CResponse(http.StatusInternalServerError, "编辑渠道信息失败", nil)
|
||||
appG.CResponse(http.StatusInternalServerError, fmt.Sprintf("编辑渠道信息失败!原因:%s", err), nil)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -53,18 +53,37 @@ func (sw *SendWay) GetByID() (interface{}, error) {
|
||||
return models.GetWayByID(sw.ID)
|
||||
}
|
||||
|
||||
func (sw *SendWay) Add() error {
|
||||
func (sw *SendWay) NameIsExist(method string) 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))
|
||||
if method == "add" {
|
||||
if len(way.ID) > 0 {
|
||||
return errors.New(fmt.Sprintf("已经存在同名的渠道名:%s", way.Name))
|
||||
}
|
||||
} else {
|
||||
// 只允许当前的重名
|
||||
if len(way.ID) > 0 && way.ID != sw.ID {
|
||||
return errors.New(fmt.Sprintf("已经存在同名的渠道名:%s", way.Name))
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sw *SendWay) Add() error {
|
||||
err := sw.NameIsExist("add")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return models.AddSendWay(sw.Name, sw.Auth, sw.Type, sw.CreatedBy, sw.ModifiedBy)
|
||||
}
|
||||
|
||||
func (sw *SendWay) Edit() error {
|
||||
err := sw.NameIsExist("edit")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
data := make(map[string]interface{})
|
||||
data["modified_by"] = sw.ModifiedBy
|
||||
data["name"] = sw.Name
|
||||
|
||||
Reference in New Issue
Block a user