package controllers import ( "LAPP_GAAS_GFrame_BACKEND/utils" "LAPP_GAAS_GFrame_BACKEND/web/middleware/jwts" "LAPP_GAAS_GFrame_BACKEND/web/models" "LAPP_GAAS_GFrame_BACKEND/web/supports" "github.com/kataras/iris/v12" "log" "time" ) // @Summary 角色列表数据 // @Description Get JSON // @Tags 角色/Role // @Param roleName query string false "roleName" // @Param status query string false "status" // @Param roleKey query string false "roleKey" // @Param pageSize query int false "页条数" // @Param pageIndex query int false "页码" // @Success 200 {object} app.Response "{"code": 200, "data": [...]}" // @Router /api/v1/rolelist [get] // @Security func GetRoleList(ctx iris.Context) { var data models.Roletab var err error var pageSize = 10 var pageIndex = 1 if size := ctx.URLParam("pageSize"); size != "" { pageSize = utils.ValueToInt(size,0) } if index := ctx.URLParam("pageIndex"); index != "" { pageIndex = utils.ValueToInt(index,0) } data.Rolename = ctx.URLParam("rolename") data.Status = ctx.URLParam("status") result, count, err := data.GetPage(pageSize, pageIndex) if err != nil{ supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } res := make(map[string]interface{}) res["data"] = result res["count"] = count res["pageIndex"] = pageIndex res["pageSize"] = pageSize supports.Ok(ctx, supports.OptionSuccess, res) } // @Summary 获取Role数据 // @Description 获取JSON // @Tags 角色/Role // @Param roleId path string false "roleId" // @Success 200 {string} string "{"code": 200, "data": [...]}" // @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}" // @Router /api/v1/role [get] // @Security Bearer func GetRole(ctx iris.Context) { var Role models.Roletab roleId, _ := ctx.URLParamInt("roleId") Role.RoleId = roleId result, err := Role.Get() if err !=nil{ supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } result.Clipped() var menuIds []int menuIds, err = Role.GetRoleMeunId() if err != nil{ supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } result.MenuIds = menuIds supports.Ok(ctx, supports.OptionSuccess, result) } // @Summary 创建角色 // @Description 获取JSON // @Tags 角色/Role // @Accept application/json // @Product application/json // @Param data body models.SysRole true "data" // @Success 200 {string} string "{"code": 200, "message": "添加成功"}" // @Success 200 {string} string "{"code": -1, "message": "添加失败"}" // @Router /api/v1/role [post] func InsertRole(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user,*user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } data := new(models.Roletab) data.Lastmodify = user.Userid data.Createtime = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") data.Lastmodifytime = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") if err := ctx.ReadJSON(data); err != nil { supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil) return } id, err := data.Insert() data.RoleId = id if err != nil{ supports.Error(ctx, iris.StatusBadRequest,"角色标识已经存在!", nil) return } var t models.RoleMenu _, err = t.Insert(id, data.MenuIds) if err != nil{ supports.Error(ctx, iris.StatusBadRequest, "插入失败2", nil) return } supports.Ok(ctx, supports.OptionSuccess, data) } // @Summary 修改用户角色 // @Description 获取JSON // @Tags 角色/Role // @Accept application/json // @Product application/json // @Param data body models.SysRole true "body" // @Success 200 {string} string "{"code": 200, "message": "修改成功"}" // @Success 200 {string} string "{"code": -1, "message": "修改失败"}" // @Router /api/v1/role [put] func UpdateRole(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user,*user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } data := new(models.Roletab) data.Lastmodify = user.Userid if err := ctx.ReadJSON(data); err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } result, err := data.Update(data.RoleId) if err != nil{ log.Println("角色更新失败!") supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } var t models.RoleMenu _, err = t.DeleteRoleMenu(data.RoleId) if err != nil{ supports.Error(ctx, iris.StatusBadRequest, "添加失败1", nil) return } if !utils.ValueIsEmpty(data.MenuIds){ _, err2 := t.Insert(data.RoleId, data.MenuIds) if err2 != nil{ supports.Error(ctx, iris.StatusBadRequest, "添加失败2", nil) return } } supports.Ok(ctx, "修改成功", result) } // @Summary 删除用户角色 // @Description 删除数据 // @Tags 角色/Role // @Param roleId path int true "roleId" // @Success 200 {string} string "{"code": 200, "message": "删除成功"}" // @Success 200 {string} string "{"code": -1, "message": "删除失败"}" // @Router /api/v1/role/{roleId} [delete] func DeleteRole(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user,*user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } Role:=new(models.Roletab) Role.Lastmodify = user.Userid roleId := ctx.Params().Get("roleId") IDS := utils.IdsStrToIdsIntGroup(roleId) //查询rolekey集合 rolekeys ,err :=Role.GetRoles(IDS) if err != nil{ supports.Error(ctx, iris.StatusBadRequest, "roleIds不存在", nil) return } _, err = Role.BatchDelete(IDS) if err != nil{ supports.Error(ctx, iris.StatusBadRequest, "删除失败1", nil) return } var t models.RoleMenu _, err = t.BatchDeleteRoleMenu(IDS,rolekeys) if err != nil{ supports.Error(ctx, iris.StatusBadRequest, "删除失败2", nil) return } supports.Ok(ctx, "删除成功", "") }