fix数据插入更新获取返回id和影响数

This commit is contained in:
TsMask
2023-09-05 19:25:39 +08:00
parent ffe4545386
commit d782595d8c
6 changed files with 100 additions and 49 deletions

View File

@@ -317,13 +317,18 @@ func (r *RepoSysMenu) InsertMenu(sysMenu model.SysMenu) string {
sql := "insert into sys_menu (" + strings.Join(keys, ",") + ")values(" + placeholder + ")" sql := "insert into sys_menu (" + strings.Join(keys, ",") + ")values(" + placeholder + ")"
// 执行插入 // 执行插入
rows, err := datasource.ExecDB("", sql, values) results, err := datasource.ExecDB("", sql, values)
if err != nil { if err != nil {
log.Errorf("insert row : %v", err.Error()) log.Errorf("insert row : %v", err.Error())
return "" return ""
} }
return fmt.Sprint(rows) insertId, err := results.LastInsertId()
if err != nil {
log.Errorf("insert row : %v", err.Error())
return ""
}
return fmt.Sprint(insertId)
} }
// UpdateMenu 修改菜单信息 // UpdateMenu 修改菜单信息
@@ -400,12 +405,17 @@ func (r *RepoSysMenu) UpdateMenu(sysMenu model.SysMenu) int64 {
// 执行更新 // 执行更新
values = append(values, sysMenu.MenuID) values = append(values, sysMenu.MenuID)
rows, err := datasource.ExecDB("", sql, values) results, err := datasource.ExecDB("", sql, values)
if err != nil { if err != nil {
log.Errorf("update row : %v", err.Error()) log.Errorf("update row : %v", err.Error())
return 0 return 0
} }
return rows affected, err := results.RowsAffected()
if err != nil {
log.Errorf("update err => %v", err)
return 0
}
return affected
} }
// DeleteMenuById 删除菜单管理信息 // DeleteMenuById 删除菜单管理信息
@@ -416,7 +426,12 @@ func (r *RepoSysMenu) DeleteMenuById(menuId string) int64 {
log.Errorf("delete err => %v", err) log.Errorf("delete err => %v", err)
return 0 return 0
} }
return results affected, err := results.RowsAffected()
if err != nil {
log.Errorf("delete err => %v", err)
return 0
}
return affected
} }
// CheckUniqueMenu 校验菜单是否唯一 // CheckUniqueMenu 校验菜单是否唯一

View File

@@ -244,12 +244,17 @@ func (r *RepoSysRole) UpdateRole(sysRole model.SysRole) int64 {
// 执行更新 // 执行更新
values = append(values, sysRole.RoleID) values = append(values, sysRole.RoleID)
rows, err := datasource.ExecDB("", sql, values) results, err := datasource.ExecDB("", sql, values)
if err != nil { if err != nil {
log.Errorf("update row : %v", err.Error()) log.Errorf("update row : %v", err.Error())
return 0 return 0
} }
return rows affected, err := results.RowsAffected()
if err != nil {
log.Errorf("update err => %v", err)
return 0
}
return affected
} }
// InsertRole 新增角色信息 // InsertRole 新增角色信息
@@ -290,24 +295,17 @@ func (r *RepoSysRole) InsertRole(sysRole model.SysRole) string {
sql := "insert into sys_role (" + strings.Join(keys, ",") + ")values(" + placeholder + ")" sql := "insert into sys_role (" + strings.Join(keys, ",") + ")values(" + placeholder + ")"
// 执行插入 // 执行插入
rows, err := datasource.ExecDB("", sql, values) results, err := datasource.ExecDB("", sql, values)
if err != nil { if err != nil {
log.Errorf("insert row : %v", err.Error()) log.Errorf("insert row : %v", err.Error())
return "" return ""
} }
//取插入ID insertId, err := results.LastInsertId()
if rows > 0 { if err != nil {
results, err := datasource.RawDB("", "SELECT MAX(role_id) AS str FROM sys_role;", nil) log.Errorf("insert row : %v", err.Error())
if err != nil { return ""
log.Errorf("query err %v", err)
return ""
}
if len(results) > 0 {
return fmt.Sprintf("%v", results[0]["str"])
}
} }
return fmt.Sprint(insertId)
return ""
} }
// DeleteRoleByIds 批量删除角色信息 // DeleteRoleByIds 批量删除角色信息
@@ -320,7 +318,12 @@ func (r *RepoSysRole) DeleteRoleByIds(roleIds []string) int64 {
log.Errorf("delete err => %v", err) log.Errorf("delete err => %v", err)
return 0 return 0
} }
return results affected, err := results.RowsAffected()
if err != nil {
log.Errorf("delete err => %v", err)
return 0
}
return affected
} }
// CheckUniqueRole 校验角色是否唯一 // CheckUniqueRole 校验角色是否唯一

View File

@@ -39,7 +39,12 @@ func (r *RepoSysRoleMenu) DeleteRoleMenu(roleIds []string) int64 {
log.Errorf("delete err => %v", err) log.Errorf("delete err => %v", err)
return 0 return 0
} }
return results affected, err := results.RowsAffected()
if err != nil {
log.Errorf("delete err => %v", err)
return 0
}
return affected
} }
// DeleteMenuRole 批量删除菜单和角色关联 // DeleteMenuRole 批量删除菜单和角色关联
@@ -52,7 +57,12 @@ func (r *RepoSysRoleMenu) DeleteMenuRole(menuIds []string) int64 {
log.Errorf("delete err => %v", err) log.Errorf("delete err => %v", err)
return 0 return 0
} }
return results affected, err := results.RowsAffected()
if err != nil {
log.Errorf("delete err => %v", err)
return 0
}
return affected
} }
// BatchRoleMenu 批量新增角色菜单信息 // BatchRoleMenu 批量新增角色菜单信息
@@ -64,8 +74,13 @@ func (r *RepoSysRoleMenu) BatchRoleMenu(sysRoleMenus []SysRoleMenu) int64 {
sql := "insert into sys_role_menu(role_id, menu_id) values " + strings.Join(keyValues, ",") sql := "insert into sys_role_menu(role_id, menu_id) values " + strings.Join(keyValues, ",")
results, err := datasource.ExecDB("", sql, nil) results, err := datasource.ExecDB("", sql, nil)
if err != nil { if err != nil {
log.Errorf("delete err => %v", err) log.Errorf("insert err => %v", err)
return 0 return 0
} }
return results insertId, err := results.LastInsertId()
if err != nil {
log.Errorf("insert row : %v", err.Error())
return 0
}
return insertId
} }

View File

@@ -436,24 +436,17 @@ func (r *RepoSysUser) InsertUser(sysUser sysUserModel.SysUser) string {
sql := "insert into user (" + strings.Join(keys, ",") + ")values(" + placeholder + ")" sql := "insert into user (" + strings.Join(keys, ",") + ")values(" + placeholder + ")"
// 执行插入 // 执行插入
rows, err := datasource.ExecDB("", sql, values) results, err := datasource.ExecDB("", sql, values)
if err != nil { if err != nil {
log.Errorf("insert row : %v", err.Error()) log.Errorf("insert row : %v", err.Error())
return "" return ""
} }
//取插入ID insertId, err := results.LastInsertId()
if rows > 0 { if err != nil {
results, err := datasource.RawDB("", "SELECT MAX(id) AS str FROM user;", nil) log.Errorf("insert row : %v", err.Error())
if err != nil { return ""
log.Errorf("query err %v", err)
return ""
}
if len(results) > 0 {
return fmt.Sprintf("%v", results[0]["str"])
}
} }
return fmt.Sprint(insertId)
return ""
} }
// UpdateUser 修改用户信息 // UpdateUser 修改用户信息
@@ -519,12 +512,17 @@ func (r *RepoSysUser) UpdateUser(sysUser sysUserModel.SysUser) int64 {
// 执行更新 // 执行更新
values = append(values, sysUser.Id) values = append(values, sysUser.Id)
rows, err := datasource.ExecDB("", sql, values) results, err := datasource.ExecDB("", sql, values)
if err != nil { if err != nil {
log.Errorf("update row : %v", err.Error()) log.Errorf("update row : %v", err.Error())
return 0 return 0
} }
return rows affected, err := results.RowsAffected()
if err != nil {
log.Errorf("update err => %v", err)
return 0
}
return affected
} }
// DeleteUserByIds 批量删除用户信息 // DeleteUserByIds 批量删除用户信息
@@ -534,10 +532,15 @@ func (r *RepoSysUser) DeleteUserByIds(userIds []string) int64 {
parameters := datasource.ConvertIdsSlice(userIds) parameters := datasource.ConvertIdsSlice(userIds)
results, err := datasource.ExecDB("", sql, parameters) results, err := datasource.ExecDB("", sql, parameters)
if err != nil { if err != nil {
log.Errorf("update err => %v", err) log.Errorf("delete err => %v", err)
return 0 return 0
} }
return results affected, err := results.RowsAffected()
if err != nil {
log.Errorf("delete err => %v", err)
return 0
}
return affected
} }
// CheckUniqueUser 校验用户信息是否唯一 // CheckUniqueUser 校验用户信息是否唯一

View File

@@ -41,7 +41,12 @@ func (r *RepoSysUserRole) BatchUserRole(sysUserRoles []SysUserRole) int64 {
log.Errorf("delete err => %v", err) log.Errorf("delete err => %v", err)
return 0 return 0
} }
return results affected, err := results.RowsAffected()
if err != nil {
log.Errorf("delete err => %v", err)
return 0
}
return affected
} }
// DeleteUserRole 批量删除用户和角色关联 // DeleteUserRole 批量删除用户和角色关联
@@ -54,7 +59,12 @@ func (r *RepoSysUserRole) DeleteUserRole(userIds []string) int64 {
log.Errorf("delete err => %v", err) log.Errorf("delete err => %v", err)
return 0 return 0
} }
return results affected, err := results.RowsAffected()
if err != nil {
log.Errorf("delete err => %v", err)
return 0
}
return affected
} }
// DeleteUserRoleByRoleId 批量取消授权用户角色 // DeleteUserRoleByRoleId 批量取消授权用户角色
@@ -68,5 +78,10 @@ func (r *RepoSysUserRole) DeleteUserRoleByRoleId(roleId string, userIds []string
log.Errorf("delete err => %v", err) log.Errorf("delete err => %v", err)
return 0 return 0
} }
return results affected, err := results.RowsAffected()
if err != nil {
log.Errorf("delete err => %v", err)
return 0
}
return affected
} }

View File

@@ -1,6 +1,7 @@
package datasource package datasource
import ( import (
"database/sql"
"regexp" "regexp"
"ems.agt/lib/dborm" "ems.agt/lib/dborm"
@@ -33,7 +34,7 @@ func RawDB(source string, sql string, parameters []any) ([]map[string]any, error
} }
// ExecDB 原生执行语句 // ExecDB 原生执行语句
func ExecDB(source string, sql string, parameters []any) (int64, error) { func ExecDB(source string, sql string, parameters []any) (sql.Result, error) {
// 数据源 // 数据源
db := DefaultDB() db := DefaultDB()
@@ -42,8 +43,7 @@ func ExecDB(source string, sql string, parameters []any) (int64, error) {
// 执行结果 // 执行结果
res, err := db.Exec(append([]any{fmtSql}, parameters...)...) res, err := db.Exec(append([]any{fmtSql}, parameters...)...)
if err != nil { if err != nil {
return 0, err return nil, err
} }
affected, err := res.RowsAffected() return res, err
return affected, err
} }