Account.go 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. package controllers
  2. import (
  3. "bzd_server/conf"
  4. "bzd_server/lib"
  5. "bzd_server/models/Account"
  6. "bzd_server/models/System"
  7. beego "github.com/beego/beego/v2/server/web"
  8. uuid "github.com/satori/go.uuid"
  9. "math"
  10. "time"
  11. )
  12. type AccountController struct {
  13. beego.Controller
  14. }
  15. func (c *AccountController) Login_html() {
  16. c.TplName = "login.html"
  17. }
  18. // 验证登录
  19. func (c *AccountController) Login_verification() {
  20. Admin_user := c.GetString("bzd_username")
  21. Admin_pass := c.GetString("bzd_password")
  22. println("Login_verification", Admin_user, Admin_pass)
  23. err, user_r := Account.Read_User_verification(Admin_user, Admin_pass)
  24. if err != nil {
  25. c.Data["json"] = lib.JSONS{Code: 202, Msg: "E!"}
  26. } else {
  27. User_tokey := Account.Add_Tokey(user_r.T_uuid)
  28. c.Ctx.SetCookie("User_tokey", User_tokey, time.Second*60*60)
  29. c.Data["json"] = lib.JSONS{Code: 200, Msg: "OK!", Data: User_tokey}
  30. System.Add_UserLogs(user_r.T_uuid, "登陆", "用户登陆", "")
  31. }
  32. c.ServeJSON()
  33. return
  34. }
  35. // 验证登录
  36. func (c *AccountController) Login_Admin_verification() {
  37. Admin_user := c.GetString("bzd_username")
  38. Admin_pass := c.GetString("bzd_password")
  39. println("Login_Admin_verification", Admin_user, Admin_pass)
  40. err, user_r := Account.Read_Admin_verification(Admin_user, Admin_pass)
  41. if err != nil {
  42. c.Data["json"] = lib.JSONS{Code: 202, Msg: "E!"}
  43. } else {
  44. User_tokey := Account.Add_Tokey(user_r.T_uuid)
  45. c.Ctx.SetCookie("User_tokey", User_tokey, time.Second*60*60)
  46. c.Data["json"] = lib.JSONS{Code: 200, Msg: "OK!", Data: User_tokey}
  47. System.Add_UserLogs(user_r.T_uuid, "登陆", "管理员登陆", "")
  48. }
  49. c.ServeJSON()
  50. return
  51. }
  52. // --------------------------------------------------------------------------------------------------------------
  53. // 管理员-列表-
  54. func (c *AccountController) List() {
  55. // 验证登录 User_is, User_r
  56. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  57. if !User_is {
  58. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  59. c.ServeJSON()
  60. return
  61. }
  62. if User_r.T_power > 2 {
  63. c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权操作!"}
  64. c.ServeJSON()
  65. return
  66. }
  67. var r_jsons lib.R_JSONS
  68. page, _ := c.GetInt("page")
  69. if page < 1 {
  70. page = 1
  71. }
  72. page_z, _ := c.GetInt("page_z")
  73. if page_z < 1 {
  74. page_z = conf.Page_size
  75. }
  76. T_name := c.GetString("T_name")
  77. var cnt int
  78. List, cnt := Account.Read_Admin_List(T_name, page, page_z)
  79. page_size := math.Ceil(float64(cnt) / float64(page_z))
  80. r_jsons.List = List
  81. r_jsons.Page = page
  82. r_jsons.Page_size = int(page_size)
  83. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  84. r_jsons.Num = cnt
  85. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  86. c.ServeJSON()
  87. return
  88. }
  89. // 管理员-添加-
  90. func (c *AccountController) Add() {
  91. // 验证登录 User_is, User_r
  92. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  93. if !User_is {
  94. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  95. c.ServeJSON()
  96. return
  97. }
  98. if User_r.T_power > 2 {
  99. c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权操作!"}
  100. c.ServeJSON()
  101. return
  102. }
  103. T_uuid := uuid.NewV4().String()
  104. T_power, _ := c.GetInt("T_power")
  105. T_name := c.GetString("T_name")
  106. T_user := c.GetString("T_user")
  107. T_pass := c.GetString("T_pass")
  108. var_ := Account.Admin{
  109. T_uuid: T_uuid,
  110. T_power: T_power,
  111. T_name: T_name,
  112. T_user: T_user,
  113. T_pass: T_pass,
  114. T_State: 1,
  115. }
  116. if err, _ := Account.Read_Admin_ByT_user(T_user); err == nil {
  117. c.Data["json"] = lib.JSONS{Code: 202, Msg: "用户名已存在!"}
  118. c.ServeJSON()
  119. return
  120. }
  121. Id, err := Account.Add_Admin(var_)
  122. if err != nil {
  123. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  124. c.ServeJSON()
  125. return
  126. }
  127. System.Add_UserLogs_T(User_r.T_uuid, "管理员用户", "添加", var_)
  128. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  129. c.ServeJSON()
  130. return
  131. }
  132. // 管理员-修改-
  133. func (c *AccountController) Up() {
  134. // 验证登录 User_is, User_r
  135. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  136. if !User_is {
  137. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  138. c.ServeJSON()
  139. return
  140. }
  141. if User_r.T_power > 2 {
  142. c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权操作!"}
  143. c.ServeJSON()
  144. return
  145. }
  146. T_uuid := c.GetString("T_uuid")
  147. T_power, _ := c.GetInt("T_power")
  148. T_name := c.GetString("T_name")
  149. T_user := c.GetString("T_user")
  150. T_pass := c.GetString("T_pass")
  151. err, r := Account.Read_Admin_ByT_uuid(T_uuid)
  152. if err != nil {
  153. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  154. c.ServeJSON()
  155. return
  156. }
  157. err, r2 := Account.Read_Admin_ByT_user(T_user)
  158. if err == nil && T_uuid != r2.T_uuid {
  159. c.Data["json"] = lib.JSONS{Code: 202, Msg: "用户名已存在!"}
  160. c.ServeJSON()
  161. return
  162. }
  163. if T_power > 0 {
  164. r.T_power = T_power
  165. }
  166. if len(T_name) > 0 {
  167. r.T_name = T_name
  168. }
  169. if len(T_user) > 0 {
  170. r.T_user = T_user
  171. }
  172. if len(T_pass) > 0 {
  173. r.T_pass = T_pass
  174. }
  175. if !Account.Update_Admin(r, "T_power", "T_name", "T_user", "T_pass") {
  176. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  177. c.ServeJSON()
  178. return
  179. }
  180. System.Add_UserLogs_T(User_r.T_uuid, "管理员用户", "修改", r)
  181. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  182. c.ServeJSON()
  183. return
  184. }
  185. // 管理员-删除-
  186. func (c *AccountController) Del() {
  187. // 验证登录 User_is, User_r
  188. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  189. if !User_is {
  190. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  191. c.ServeJSON()
  192. return
  193. }
  194. if User_r.T_power > 2 {
  195. c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权操作!"}
  196. c.ServeJSON()
  197. return
  198. }
  199. T_uuid := c.GetString("T_uuid")
  200. if User_r.T_uuid == T_uuid {
  201. c.Data["json"] = lib.JSONS{Code: 202, Msg: "禁止删除自己!"}
  202. c.ServeJSON()
  203. return
  204. }
  205. if err, r := Account.Read_Admin_ByT_uuid(T_uuid); err == nil {
  206. if !Account.Delete_Admin_(r) {
  207. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  208. c.ServeJSON()
  209. return
  210. }
  211. System.Add_UserLogs_T(User_r.T_uuid, "管理员用户", "删除", r)
  212. }
  213. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  214. c.ServeJSON()
  215. return
  216. }
  217. // 用户权限-所有列表-
  218. func (c *AccountController) UserPower_List_All() {
  219. // 验证登录 User_is, User_r
  220. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  221. if !User_is {
  222. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  223. c.ServeJSON()
  224. return
  225. }
  226. if User_r.T_power > 2 {
  227. c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权操作!"}
  228. c.ServeJSON()
  229. return
  230. }
  231. var r_jsons lib.R_JSONS
  232. r_jsons.List = Account.Read_Power_List_ALL_1()
  233. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  234. c.ServeJSON()
  235. return
  236. }
  237. // 管理员-全部列表-
  238. func (c *AccountController) List_All() {
  239. // 验证登录 User_is, User_r
  240. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  241. if !User_is {
  242. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  243. c.ServeJSON()
  244. return
  245. }
  246. if User_r.T_power > 2 {
  247. c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权操作!"}
  248. c.ServeJSON()
  249. return
  250. }
  251. PowerList := Account.Read_Power_List_ALL_1()
  252. PowerMap := Account.UserPowerListToPowerMap(PowerList)
  253. var r_jsons lib.R_JSONS
  254. r_jsons.List = Account.Read_Admin_List_ALL_Power(PowerMap)
  255. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  256. c.ServeJSON()
  257. return
  258. }