fix: 更新api路径时使用binary
区分大小写进行查询 (#1645)
* fix: 更新api路径时使用`binary`区分大小写进行查询 * fix: 修改相同api路径判断逻辑
This commit is contained in:
@@ -144,10 +144,17 @@ func (apiService *ApiService) UpdateApi(api system.SysApi) (err error) {
|
|||||||
var oldA system.SysApi
|
var oldA system.SysApi
|
||||||
err = global.GVA_DB.Where("id = ?", api.ID).First(&oldA).Error
|
err = global.GVA_DB.Where("id = ?", api.ID).First(&oldA).Error
|
||||||
if oldA.Path != api.Path || oldA.Method != api.Method {
|
if oldA.Path != api.Path || oldA.Method != api.Method {
|
||||||
if !errors.Is(global.GVA_DB.Where("path = ? AND method = ?", api.Path, api.Method).First(&system.SysApi{}).Error, gorm.ErrRecordNotFound) {
|
var duplicateApi system.SysApi
|
||||||
|
if err := global.GVA_DB.Where("path = ? AND method = ?", api.Path, api.Method).First(&duplicateApi).Error; err != nil {
|
||||||
|
if !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if duplicateApi.ID != api.ID {
|
||||||
return errors.New("存在相同api路径")
|
return errors.New("存在相同api路径")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user