Browse Source

修复可能产生数据库锁死的事务错误
修复菜单参数无法修改的错误

pixel 4 years ago
parent
commit
22b0f33312

+ 1 - 1
server/api/v1/sys_system.go

@@ -72,7 +72,7 @@ func GetServerInfo(c *gin.Context) {
 		global.GVA_LOG.Error("获取失败!", zap.Any("err", err))
 		response.FailWithMessage("获取失败", c)
 		return
-	}else {
+	} else {
 		response.OkWithDetailed(gin.H{"server": server}, "获取成功", c)
 	}
 

+ 3 - 3
server/model/sys_base_menu.go

@@ -29,7 +29,7 @@ type Meta struct {
 type SysBaseMenuParameter struct {
 	global.GVA_MODEL
 	SysBaseMenuID uint
-	Type          string `json:"type" gorm:"commit:'地址栏携带参数为params还是query'"`
-	Key           string `json:"key" gorm:"commit:'地址栏携带参数的key'"`
-	Value         string `json:"value" gorm:"commit:'地址栏携带参数的值'"`
+	Type          string `json:"type" gorm:"comment:地址栏携带参数为params还是query"`
+	Key           string `json:"key" gorm:"comment:地址栏携带参数的key"`
+	Value         string `json:"value" gorm:"comment:地址栏携带参数的值"`
 }

+ 1 - 1
server/service/sys_api.go

@@ -46,7 +46,7 @@ func AutoCreateApi(api model.SysApi) (err error) {
 		fxErr := tx.Where("path = ? AND method = ?", api.Path, api.Method).First(&fApi).Error
 		if errors.Is(fxErr, gorm.ErrRecordNotFound) {
 			txErr = tx.Create(&api).Error
-			if txErr != nil{
+			if txErr != nil {
 				return txErr
 			}
 		}

+ 12 - 12
server/service/sys_base_menu.go

@@ -58,26 +58,26 @@ func UpdateBaseMenu(menu model.SysBaseMenu) (err error) {
 				return errors.New("存在相同name修改失败")
 			}
 		}
-		err = tx.Delete(&model.SysBaseMenuParameter{}, "sys_base_menu_id = ?", menu.ID).Error
-		if err != nil {
-			global.GVA_LOG.Debug(err.Error())
-			return err
+		txErr := tx.Unscoped().Delete(&model.SysBaseMenuParameter{}, "sys_base_menu_id = ?", menu.ID).Error
+		if txErr != nil {
+			global.GVA_LOG.Debug(txErr.Error())
+			return txErr
 		}
 		if len(menu.Parameters) > 0 {
 			for k, _ := range menu.Parameters {
 				menu.Parameters[k].SysBaseMenuID = menu.ID
 			}
-			err = tx.Create(&menu.Parameters).Error
-			if err != nil {
-				global.GVA_LOG.Debug(err.Error())
-				return err
+			txErr = tx.Create(&menu.Parameters).Error
+			if txErr != nil {
+				global.GVA_LOG.Debug(txErr.Error())
+				return txErr
 			}
 		}
 
-		err = db.Updates(upDateMap).Error
-		if err != nil {
-			global.GVA_LOG.Debug(err.Error())
-			return err
+		txErr = db.Updates(upDateMap).Error
+		if txErr != nil {
+			global.GVA_LOG.Debug(txErr.Error())
+			return txErr
 		}
 		return nil
 	})