SystemController.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package controllers
  2. import (
  3. "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
  4. "fmt"
  5. )
  6. //https://www.kancloud.cn/xormplus/xorm/167077
  7. // _Login
  8. // @Title _Login
  9. // @Description 用户登录
  10. // @Param logininfo false "登录信息"
  11. // @Success 200 {object} models.Account
  12. // @Failure 403 :id is empty
  13. func System_Login(c *SystemController) {
  14. var logininfo models.LoginInfo
  15. c.Ctx.BindJSON(&logininfo)
  16. __none_func__(logininfo)
  17. fmt.Println(logininfo)
  18. var user models.SysUser
  19. //pm := map[string]string{"login_id": logininfo.Account}
  20. ret, err:=c.Db.SQL(models.SqlUserLogin, logininfo.Account).Get(&user)
  21. if ret && err ==nil{
  22. //TODO check password
  23. data:=models.LoginReturnInfo{user.Id,user.LoginId,user.Id}
  24. c.Ctx.JSON(200, models.SysReturn{200, "", data})
  25. }else {
  26. //fmt.Println(err.Error())
  27. c.Ctx.JSON(200, models.SysReturn{400, "username or passowrd incorrect!", nil})
  28. }
  29. }
  30. // _Logout
  31. // @Title _Logout
  32. // @Description 用户退出
  33. // @Success 200 {object} models.Account
  34. // @Failure 403 :id is empty
  35. func System_Logout(c *SystemController) {
  36. ret := __none_func__()
  37. if ret {
  38. c.Ctx.JSON(200, models.SysReturn{200, "", nil})
  39. }else{
  40. c.Ctx.JSON(200, models.SysReturn{500, "", nil})
  41. }
  42. }
  43. // _GetMenuTree
  44. // @Title _GetMenuTree
  45. // @Description 获取系统菜单
  46. // @Param user string false "用户id"
  47. // @Success 200 {object} models.Account
  48. // @Failure 403 :id is empty
  49. func System_GetMenuTree(c *SystemController) {
  50. user := c.Ctx.Param(":user")
  51. ret := __none_func__(user)
  52. var menus []models.SysMenuTree
  53. c.Db.SQL(models.Selectall_sys_menu).Find(&menus)
  54. var menutree []models.SysMenuTree
  55. finChildrenMenu( &menus, "", nil, &menutree)
  56. for i:=0;i<len(menutree);i++{
  57. finChildrenMenu( &menus, menutree[i].Id, &menutree[i], &menutree)
  58. }
  59. if ret{
  60. c.Ctx.JSON(200, models.SysReturn{200, "", menutree})
  61. }
  62. }
  63. func finChildrenMenu(menus *[]models.SysMenuTree, parent string, parent_menu* models.SysMenuTree, menutree *[]models.SysMenuTree) {
  64. for _,m:= range *menus{
  65. if m.Parent == parent {
  66. if parent_menu == nil{
  67. *menutree = append(*menutree, m)
  68. //finChildrenMenu(menus, m.Id, menutree[len(*menutree)-1], menutree)
  69. }else {
  70. parent_menu.Children = append(parent_menu.Children,m)
  71. finChildrenMenu(menus, m.Id, &parent_menu.Children[len(parent_menu.Children)-1], menutree)
  72. }
  73. }
  74. }
  75. }
  76. // _FindUserPage
  77. // @Title _FindUserPage
  78. // @Description 获取用户分布数据
  79. // @Param page false "分页参数"
  80. // @Success 200 {object} models.Account
  81. // @Failure 403 :id is empty
  82. func System_FindUserPage(c *SystemController) {
  83. var getpageinfo models.GetPageInfo
  84. c.Ctx.BindJSON(&getpageinfo)
  85. __none_func__(getpageinfo)
  86. fmt.Println(getpageinfo)
  87. var users []models.SysUser
  88. err := c.Db.SQL(models.Selectall_sys_user).Limit(getpageinfo.PageSize, (getpageinfo.PageNum -1)*getpageinfo.PageSize).Find(&users)
  89. if err==nil{
  90. c.Ctx.JSON(200, models.SysReturn{200, "", users})
  91. }else {
  92. fmt.Println(err.Error())
  93. c.Ctx.JSON(200, models.SysReturn{500, "", nil})
  94. }
  95. }
  96. // _FindPermissions
  97. // @Title _FindPermissions
  98. // @Description 查找用户的菜单权限标识集合
  99. // @Param user string false "用户id"
  100. // @Success 200 {object} models.Account
  101. // @Failure 403 :id is empty
  102. func System_FindPermissions(c *SystemController) {
  103. user := c.Ctx.Param(":user")
  104. ret := __none_func__(user)
  105. if ret {
  106. c.Ctx.JSON(200, models.SysReturn{200, "", nil})
  107. }else{
  108. c.Ctx.JSON(200, models.SysReturn{500, "", nil})
  109. }
  110. }
  111. // _AddPermission
  112. // @Title _AddPermission
  113. // @Description 查找用户的菜单权限标识集合
  114. // @Param user string false "用户id"
  115. // @Success 200 {object} models.Account
  116. // @Failure 403 :id is empty
  117. func System_AddPermission(c *SystemController) {
  118. user := c.Ctx.Param(":user")
  119. ret := __none_func__(user)
  120. if ret {
  121. c.Ctx.JSON(200, models.SysReturn{200, "", nil})
  122. }else{
  123. c.Ctx.JSON(200, models.SysReturn{500, "", nil})
  124. }
  125. }
  126. func __none_func__(params ... interface{}) bool{
  127. return true
  128. }