diff --git a/business/jxstore/cms/permission.go b/business/jxstore/cms/permission.go index 4f1059c5f..76e94a31b 100644 --- a/business/jxstore/cms/permission.go +++ b/business/jxstore/cms/permission.go @@ -100,3 +100,36 @@ func AddRole(ctx *jxcontext.Context, name string) (err error) { dao.Commit(db) return err } + +func UpdateRole(ctx *jxcontext.Context, roleID int, name string, isDelete bool) (num int64, err error) { + var ( + db = dao.GetDB() + ) + if roleID == 1 { + return 0, fmt.Errorf("管理员不允许修改!") + } + role := &model.Role{} + role.ID = roleID + err = dao.GetEntity(db, role) + if err != nil { + return 0, err + } + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() + if !isDelete { + role.Name = name + role.UpdatedAt = time.Now() + role.LastOperator = ctx.GetUserName() + num, err = dao.UpdateEntity(db, role, "Name", "UpdatedAt", "LastOperator") + } else { + role.DeletedAt = time.Now() + num, err = dao.UpdateEntity(db, role, "DeletedAt") + } + dao.Commit(db) + return num, err +} diff --git a/controllers/permission.go b/controllers/permission.go index 73ac9f95c..4e3bf3f3a 100644 --- a/controllers/permission.go +++ b/controllers/permission.go @@ -86,3 +86,19 @@ func (c *PowerController) GetRole() { return retVal, "", err }) } + +// @Title 修改角色 +// @Description 修改角色 +// @Param token header string true "认证token" +// @Param name formData string true "角色名" +// @Param roleID formData int true "角色ID" +// @Param isDelete formData bool true "是否是删除" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UpdateRole [put] +func (c *PowerController) UpdateRole() { + c.callUpdateRole(func(params *tPowerUpdateRoleParams) (retVal interface{}, errCode string, err error) { + retVal, err = cms.UpdateRole(params.Ctx, params.RoleID, params.Name, params.IsDelete) + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index c50969fb3..45d426519 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1476,6 +1476,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"], + beego.ControllerComments{ + Method: "UpdateRole", + Router: `/UpdateRole`, + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ReportController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ReportController"], beego.ControllerComments{ Method: "AutoFocusStoreSkus",