group.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package api
  2. import (
  3. "crazy-fox-backend-api/model"
  4. "crazy-fox-backend-api/service"
  5. "crazy-fox-backend-api/utils"
  6. "crazy-fox-backend-api/utils/answer"
  7. "github.com/gin-gonic/gin"
  8. )
  9. type groupApi struct{}
  10. // CreateGroup 创建分组
  11. func (Api *groupApi) CreateGroup(c *gin.Context) {
  12. var authority model.TGroups
  13. utils.Verify(&authority, utils.CreateGroupVerify, c)
  14. // 创建新分组
  15. service.Group.CreateGroup(authority)
  16. answer.OkWithMessage("创建成功", c)
  17. }
  18. // DeleteGroup 删除分组
  19. func (Api *groupApi) DeleteGroup(c *gin.Context) {
  20. var authority model.TGroups
  21. utils.Verify(&authority, utils.AuthorityIdVerify, c)
  22. // 删除角色之前需要判断是否有用户正在使用此角色
  23. if err := service.Group.DeleteGroup(&authority); err != nil {
  24. answer.FailWithMessage("删除失败", err, c)
  25. }
  26. answer.OkWithMessage("删除成功", c)
  27. }
  28. // UpdateGroupRouter 更新分组路由列表
  29. func (Api *groupApi) UpdateGroupRouter(c *gin.Context) {
  30. var auth model.GroupInfo
  31. utils.Verify(&auth, utils.UpdateGroupRouterVerify, c)
  32. //判断权限是否超过了父分组的权限
  33. if auth.ParentGid != 0 {
  34. service.Group.ParentGroupRouterListVerify(auth)
  35. }
  36. //更新自身以及子分组的权限
  37. service.Group.UpdateGroupRouterList(auth)
  38. answer.OkWithMessage("更新成功", c)
  39. }
  40. // UpdateGroup 更新分组
  41. func (Api *groupApi) UpdateGroup(c *gin.Context) {
  42. var auth model.TGroups
  43. utils.Verify(&auth, utils.AuthorityVerify, c)
  44. service.Group.UpdateGroup(auth)
  45. answer.OkWithMessage("更新成功", c)
  46. }
  47. // GetGroupList 获取分组列表
  48. func (Api *groupApi) GetGroupList(c *gin.Context) {
  49. var params model.GetByGid
  50. utils.Verify(&params, utils.UnVerify, c)
  51. list := service.Group.GetGroupInfoList(params.Gid)
  52. answer.OkWithDetailed(model.PageResult{
  53. List: list,
  54. }, "获取成功", c)
  55. }