User.go 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948
  1. package controllers
  2. import (
  3. "Cold_Api/conf"
  4. "Cold_Api/controllers/lib"
  5. "Cold_Api/models/Account"
  6. "Cold_Api/models/System"
  7. beego "github.com/beego/beego/v2/server/web"
  8. uuid "github.com/satori/go.uuid"
  9. "math"
  10. "strconv"
  11. )
  12. type UserController struct {
  13. beego.Controller
  14. }
  15. // 公司管理
  16. func (c *UserController) Company_List() {
  17. // 验证登录
  18. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  19. if !b_ {
  20. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  21. c.ServeJSON()
  22. return
  23. }
  24. var r_jsons lib.R_JSONS
  25. T_name := c.GetString("T_name")
  26. r_jsons.Data, r_jsons.Num = Account.Read_Company_List(admin_r, T_name)
  27. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  28. c.ServeJSON()
  29. return
  30. }
  31. func (c *UserController) Company_Add() {
  32. // 验证登录
  33. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  34. if !b_ {
  35. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  36. c.ServeJSON()
  37. return
  38. }
  39. T_mid, _ := c.GetInt("T_mid")
  40. T_name := c.GetString("T_name")
  41. var_ := Account.Company{
  42. T_mid: T_mid,
  43. T_name: T_name,
  44. T_State: 1,
  45. }
  46. id, err := Account.Add_Company(var_)
  47. if err != nil {
  48. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  49. c.ServeJSON()
  50. return
  51. }
  52. System.Add_UserLogs_T(admin_r.T_uuid, "公司管理", "添加", var_)
  53. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: id}
  54. c.ServeJSON()
  55. return
  56. }
  57. func (c *UserController) Company_Edit() {
  58. // 验证登录
  59. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  60. if !b_ {
  61. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  62. c.ServeJSON()
  63. return
  64. }
  65. Id, Id_err := c.GetInt("Id")
  66. if Id_err != nil {
  67. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"}
  68. c.ServeJSON()
  69. return
  70. }
  71. Company_r, err := Account.Read_Company_ById(Id)
  72. if err != nil {
  73. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"}
  74. c.ServeJSON()
  75. return
  76. }
  77. T_mid, T_mid_err := c.GetInt("T_mid")
  78. T_name := c.GetString("T_name")
  79. if len(T_name) > 0 {
  80. Company_r.T_name = T_name
  81. }
  82. if T_mid_err == nil {
  83. Company_r.T_mid = T_mid
  84. }
  85. is := Account.Update_Company(Company_r, "T_mid", "T_name")
  86. if !is {
  87. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  88. c.ServeJSON()
  89. return
  90. }
  91. System.Add_UserLogs_T(admin_r.T_uuid, "公司管理", "修改", Company_r)
  92. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  93. c.ServeJSON()
  94. return
  95. }
  96. func (c *UserController) Company_Del() {
  97. // 验证登录
  98. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  99. if !b_ {
  100. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  101. c.ServeJSON()
  102. return
  103. }
  104. Id, Id_err := c.GetInt("Id")
  105. if Id_err != nil {
  106. c.Data["json"] = lib.JSONS{Code: 204, Msg: "Id Err!"}
  107. c.ServeJSON()
  108. return
  109. }
  110. Company_r, err := Account.Read_Company_ById(Id)
  111. if err != nil {
  112. c.Data["json"] = lib.JSONS{Code: 204, Msg: "Id Err!"}
  113. c.ServeJSON()
  114. return
  115. }
  116. is := Account.Delete_Company(Company_r)
  117. if !is {
  118. c.Data["json"] = lib.JSONS{Code: 204, Msg: "删除失败!"}
  119. c.ServeJSON()
  120. return
  121. }
  122. System.Add_UserLogs_T(admin_r.T_uuid, "公司管理", "删除", Company_r)
  123. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  124. c.ServeJSON()
  125. return
  126. }
  127. // 检查 Tokey 是否过期
  128. // 用户管理
  129. func (c *UserController) User_List() {
  130. // 验证登录
  131. b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  132. if !b_ {
  133. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  134. c.ServeJSON()
  135. return
  136. }
  137. var r_jsons lib.R_JSONS
  138. page, _ := c.GetInt("page")
  139. println(page)
  140. if page < 1 {
  141. page = 1
  142. }
  143. page_z, _ := c.GetInt("page_z")
  144. if page_z < 1 {
  145. page_z = conf.Page_size
  146. }
  147. T_name := c.GetString("T_name")
  148. T_pid, T_pid_err := c.GetInt("T_pid")
  149. if T_pid_err != nil || T_pid == 0 {
  150. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_pid Err!"}
  151. c.ServeJSON()
  152. return
  153. }
  154. r_jsons.Data, r_jsons.Num = Account.Read_Admin_List(T_pid, T_name, page, page_z)
  155. r_jsons.Page = page
  156. r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
  157. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  158. c.ServeJSON()
  159. return
  160. }
  161. func (c *UserController) User_Get() {
  162. // 验证登录
  163. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  164. if !b_ {
  165. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  166. c.ServeJSON()
  167. return
  168. }
  169. T_uuid := c.GetString("T_uuid")
  170. if len(T_uuid) < 8 {
  171. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  172. c.ServeJSON()
  173. return
  174. }
  175. admin_r, err := Account.Read_Admin_ByUuid(T_uuid)
  176. if err != nil {
  177. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  178. c.ServeJSON()
  179. return
  180. }
  181. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Account.AdminToAdmin_R(admin_r)}
  182. c.ServeJSON()
  183. return
  184. }
  185. func (c *UserController) User_Info() {
  186. // 验证登录
  187. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  188. if !b_ {
  189. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  190. c.ServeJSON()
  191. return
  192. }
  193. T_pid := admin_r.T_pid
  194. if T_pid == 0 {
  195. T_pid, _ = c.GetInt("T_pid")
  196. }
  197. type User_ struct {
  198. T_uuid string
  199. T_pid int
  200. T_power int
  201. T_user string
  202. T_name string
  203. T_phone string
  204. T_mail string
  205. T_wx string
  206. Power Account.Power // 权限
  207. //Menu map[string]Account.Menu_R // 菜单
  208. Menu []Account.Menu // 菜单
  209. }
  210. Admin_r := User_{}
  211. Admin_r.T_uuid = admin_r.T_uuid
  212. Admin_r.T_pid = admin_r.T_pid
  213. Admin_r.T_power = admin_r.T_power
  214. Admin_r.T_user = admin_r.T_user
  215. Admin_r.T_name = admin_r.T_name
  216. Admin_r.T_phone = admin_r.T_phone
  217. Admin_r.T_mail = admin_r.T_mail
  218. Admin_r.T_wx = admin_r.T_wx
  219. Power, _ := Account.Read_Power_ById(admin_r.T_power)
  220. Admin_r.Power = Power
  221. Admin_r.Menu = Account.Read_Menu_Tree(Power.T_Menu_Bind, T_pid)
  222. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Admin_r}
  223. c.ServeJSON()
  224. return
  225. }
  226. func (c *UserController) User_Add() {
  227. // 验证登录
  228. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  229. if !b_ {
  230. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  231. c.ServeJSON()
  232. return
  233. }
  234. T_power, _ := c.GetInt("T_power")
  235. T_pid, _ := c.GetInt("T_pid")
  236. T_name := c.GetString("T_name")
  237. T_user := c.GetString("T_user")
  238. T_pass := c.GetString("T_pass")
  239. T_phone := c.GetString("T_phone")
  240. T_mail := c.GetString("T_mail")
  241. T_wx := c.GetString("T_wx")
  242. T_uuid := uuid.NewV4().String()
  243. var_ := Account.Admin{
  244. T_uuid: T_uuid,
  245. T_pid: T_pid,
  246. T_name: T_name,
  247. T_user: T_user,
  248. T_phone: T_phone,
  249. T_mail: T_mail,
  250. T_wx: T_wx,
  251. T_pass: T_pass,
  252. T_power: T_power,
  253. T_State: 1,
  254. }
  255. if T_pid == 0 {
  256. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_pid Err!"}
  257. c.ServeJSON()
  258. return
  259. }
  260. if len(T_pass) < 8 {
  261. c.Data["json"] = lib.JSONS{Code: 202, Msg: "密码异常!"}
  262. c.ServeJSON()
  263. return
  264. }
  265. _, err := Account.Read_Admin_T_user(T_user)
  266. if err == nil {
  267. c.Data["json"] = lib.JSONS{Code: 302, Msg: "账户重复!"}
  268. c.ServeJSON()
  269. return
  270. }
  271. _, err = Account.Add_Admin(var_)
  272. if err != nil {
  273. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  274. c.ServeJSON()
  275. return
  276. }
  277. var_.T_pass = "******"
  278. System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "添加", var_)
  279. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  280. c.ServeJSON()
  281. return
  282. }
  283. func (c *UserController) User_Edit() {
  284. // 验证登录
  285. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  286. if !b_ {
  287. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  288. c.ServeJSON()
  289. return
  290. }
  291. T_uuid := c.GetString("T_uuid")
  292. if len(T_uuid) < 8 {
  293. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  294. c.ServeJSON()
  295. return
  296. }
  297. r, err := Account.Read_Admin_ByUuid(T_uuid)
  298. if err != nil {
  299. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  300. c.ServeJSON()
  301. return
  302. }
  303. T_power, T_power_err := c.GetInt("T_power")
  304. T_name := c.GetString("T_name")
  305. T_pass := c.GetString("T_pass")
  306. T_phone := c.GetString("T_phone")
  307. T_mail := c.GetString("T_mail")
  308. T_wx := c.GetString("T_wx")
  309. if T_power_err == nil {
  310. r.T_power = T_power
  311. }
  312. if len(T_name) > 0 {
  313. r.T_name = T_name
  314. }
  315. if len(T_pass) > 0 {
  316. r.T_pass = T_pass
  317. }
  318. if len(T_phone) > 0 {
  319. r.T_phone = T_phone
  320. }
  321. if len(T_mail) > 0 {
  322. r.T_mail = T_mail
  323. }
  324. if len(T_wx) > 0 {
  325. r.T_wx = T_wx
  326. }
  327. if len(T_pass) < 8 {
  328. c.Data["json"] = lib.JSONS{Code: 203, Msg: "Admin_pass Err!"}
  329. c.ServeJSON()
  330. return
  331. }
  332. is := Account.Update_Admin(r, "T_power", "T_pid", "T_name", "T_pass", "T_phone", "T_mail", "T_wx")
  333. if !is {
  334. c.Data["json"] = lib.JSONS{Code: 204, Msg: "修改失败!"}
  335. c.ServeJSON()
  336. return
  337. }
  338. r.T_pass = "******"
  339. System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "编辑", r)
  340. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  341. c.ServeJSON()
  342. return
  343. }
  344. func (c *UserController) User_Del() {
  345. // 验证登录
  346. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  347. if !b_ {
  348. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  349. c.ServeJSON()
  350. return
  351. }
  352. T_uuid := c.GetString("T_uuid")
  353. if len(T_uuid) <= 0 {
  354. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  355. c.ServeJSON()
  356. return
  357. }
  358. admin_r_lod, err := Account.Read_Admin_ByUuid(T_uuid)
  359. if err != nil {
  360. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  361. c.ServeJSON()
  362. return
  363. }
  364. if is := Account.Delete_Admin(admin_r_lod); !is {
  365. c.Data["json"] = lib.JSONS{Code: 200, Msg: "删除失败!"}
  366. c.ServeJSON()
  367. return
  368. }
  369. System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "删除", T_uuid)
  370. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  371. c.ServeJSON()
  372. return
  373. }
  374. // 内部用户管理
  375. func (c *UserController) Admin_List() {
  376. // 验证登录
  377. b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  378. if !b_ {
  379. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  380. c.ServeJSON()
  381. return
  382. }
  383. var r_jsons lib.R_JSONS
  384. page, _ := c.GetInt("page")
  385. println(page)
  386. if page < 1 {
  387. page = 1
  388. }
  389. page_z, _ := c.GetInt("page_z")
  390. if page_z < 1 {
  391. page_z = conf.Page_size
  392. }
  393. T_name := c.GetString("T_name")
  394. T_pid := 0
  395. r_jsons.Data, r_jsons.Num = Account.Read_Admin_List(T_pid, T_name, page, page_z)
  396. r_jsons.Page = page
  397. r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
  398. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  399. c.ServeJSON()
  400. return
  401. }
  402. func (c *UserController) Admin_Get() {
  403. // 验证登录
  404. b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  405. if !b_ {
  406. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  407. c.ServeJSON()
  408. return
  409. }
  410. T_uuid := c.GetString("T_uuid")
  411. if len(T_uuid) < 8 {
  412. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  413. c.ServeJSON()
  414. return
  415. }
  416. admin_r, err := Account.Read_Admin_ByUuid(T_uuid)
  417. if err != nil {
  418. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  419. c.ServeJSON()
  420. return
  421. }
  422. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Account.AdminToAdmin_R(admin_r)}
  423. c.ServeJSON()
  424. return
  425. }
  426. func (c *UserController) Admin_Add() {
  427. // 验证登录
  428. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  429. if !b_ {
  430. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  431. c.ServeJSON()
  432. return
  433. }
  434. T_power, _ := c.GetInt("T_power")
  435. T_name := c.GetString("T_name")
  436. T_user := c.GetString("T_user")
  437. T_pass := c.GetString("T_pass")
  438. T_phone := c.GetString("T_phone")
  439. T_mail := c.GetString("T_mail")
  440. T_wx := c.GetString("T_wx")
  441. var_ := Account.Admin{
  442. T_uuid: uuid.NewV4().String(),
  443. T_pid: 0,
  444. T_name: T_name,
  445. T_user: T_user,
  446. T_phone: T_phone,
  447. T_mail: T_mail,
  448. T_wx: T_wx,
  449. T_pass: T_pass,
  450. T_power: T_power,
  451. T_State: 1,
  452. }
  453. if len(T_pass) < 8 {
  454. c.Data["json"] = lib.JSONS{Code: 202, Msg: "密码异常!"}
  455. c.ServeJSON()
  456. return
  457. }
  458. _, err := Account.Read_Admin_T_user(T_user)
  459. if err == nil {
  460. c.Data["json"] = lib.JSONS{Code: 302, Msg: "账户重复!"}
  461. c.ServeJSON()
  462. return
  463. }
  464. _, err = Account.Add_Admin(var_)
  465. if err != nil {
  466. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  467. c.ServeJSON()
  468. return
  469. }
  470. var_.T_pass = "******"
  471. System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "添加", var_)
  472. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  473. c.ServeJSON()
  474. return
  475. }
  476. func (c *UserController) Admin_Edit() {
  477. // 验证登录
  478. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  479. if !b_ {
  480. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  481. c.ServeJSON()
  482. return
  483. }
  484. T_uuid := c.GetString("T_uuid")
  485. if len(T_uuid) < 8 {
  486. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  487. c.ServeJSON()
  488. return
  489. }
  490. r, err := Account.Read_Admin_ByUuid(T_uuid)
  491. if err != nil {
  492. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  493. c.ServeJSON()
  494. return
  495. }
  496. T_power, T_power_err := c.GetInt("T_power")
  497. T_name := c.GetString("T_name")
  498. T_pass := c.GetString("T_pass")
  499. T_phone := c.GetString("T_phone")
  500. T_mail := c.GetString("T_mail")
  501. T_wx := c.GetString("T_wx")
  502. if T_power_err == nil {
  503. r.T_power = T_power
  504. }
  505. if len(T_name) > 0 {
  506. r.T_name = T_name
  507. }
  508. if len(T_pass) > 0 {
  509. r.T_pass = T_pass
  510. }
  511. if len(T_phone) > 0 {
  512. r.T_phone = T_phone
  513. }
  514. if len(T_mail) > 0 {
  515. r.T_mail = T_mail
  516. }
  517. if len(T_wx) > 0 {
  518. r.T_wx = T_wx
  519. }
  520. if len(T_pass) < 8 {
  521. c.Data["json"] = lib.JSONS{Code: 202, Msg: "密码异常!"}
  522. c.ServeJSON()
  523. return
  524. }
  525. is := Account.Update_Admin(r, "T_power", "T_name", "T_pass", "T_phone", "T_mail", "T_wx")
  526. if !is {
  527. c.Data["json"] = lib.JSONS{Code: 204, Msg: "修改失败!"}
  528. c.ServeJSON()
  529. return
  530. }
  531. r.T_pass = "******"
  532. System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "编辑", r)
  533. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  534. c.ServeJSON()
  535. return
  536. }
  537. func (c *UserController) Admin_Del() {
  538. // 验证登录
  539. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  540. if !b_ {
  541. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  542. c.ServeJSON()
  543. return
  544. }
  545. T_uuid := c.GetString("T_uuid")
  546. if len(T_uuid) <= 0 {
  547. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  548. c.ServeJSON()
  549. return
  550. }
  551. admin_r_lod, err := Account.Read_Admin_ByUuid(T_uuid)
  552. if err != nil {
  553. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  554. c.ServeJSON()
  555. return
  556. }
  557. if is := Account.Delete_Admin(admin_r_lod); !is {
  558. c.Data["json"] = lib.JSONS{Code: 200, Msg: "删除失败!"}
  559. c.ServeJSON()
  560. return
  561. }
  562. System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "删除", T_uuid)
  563. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  564. c.ServeJSON()
  565. return
  566. }
  567. // 绑定公司
  568. func (c *UserController) Admin_Bind_Company() {
  569. // 验证登录
  570. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  571. if !b_ {
  572. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  573. c.ServeJSON()
  574. return
  575. }
  576. T_uuid := c.GetString("T_uuid")
  577. if len(T_uuid) < 8 {
  578. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  579. c.ServeJSON()
  580. return
  581. }
  582. T_pids := c.GetString("T_pids")
  583. r, err := Account.Read_Admin_ByUuid(T_uuid)
  584. if err != nil {
  585. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid Err!"}
  586. c.ServeJSON()
  587. return
  588. }
  589. if len(T_pids) > 0 {
  590. r.T_pids = T_pids
  591. }
  592. if is := Account.Update_Admin(r, "T_pids"); !is {
  593. c.Data["json"] = lib.JSONS{Code: 200, Msg: "绑定失败!"}
  594. c.ServeJSON()
  595. return
  596. }
  597. System.Add_UserLogs_T(admin_r.T_uuid, "用户管理", "绑定公司", T_uuid)
  598. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  599. c.ServeJSON()
  600. return
  601. }
  602. // 权限管理
  603. func (c *UserController) Power_List() {
  604. // 验证登录
  605. b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  606. if !b_ {
  607. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  608. c.ServeJSON()
  609. return
  610. }
  611. var r_jsons lib.R_JSONS
  612. page, _ := c.GetInt("page")
  613. println(page)
  614. if page < 1 {
  615. page = 1
  616. }
  617. page_z, _ := c.GetInt("page_z")
  618. if page_z < 1 {
  619. page_z = conf.Page_size
  620. }
  621. Name := c.GetString("T_name")
  622. r_jsons.Data, r_jsons.Num = Account.Read_Power_List(Name, page, page_z)
  623. r_jsons.Page = page
  624. r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
  625. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  626. c.ServeJSON()
  627. return
  628. }
  629. // 权限管理
  630. func (c *UserController) Power_List_All() {
  631. // 验证登录
  632. b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  633. if !b_ {
  634. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  635. c.ServeJSON()
  636. return
  637. }
  638. var r_jsons lib.R_JSONS
  639. r_jsons.Data, r_jsons.Num = Account.Read_Power_List_ALL()
  640. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  641. c.ServeJSON()
  642. return
  643. }
  644. func (c *UserController) Power_Get() {
  645. // 验证登录
  646. b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  647. if !b_ {
  648. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  649. c.ServeJSON()
  650. return
  651. }
  652. id, id_err := c.GetInt("T_id")
  653. if id_err != nil || id == 0 {
  654. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_id Err!"}
  655. c.ServeJSON()
  656. return
  657. }
  658. Data, err := Account.Read_Power_ById(id)
  659. if err != nil {
  660. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_id Err!"}
  661. c.ServeJSON()
  662. return
  663. }
  664. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Data}
  665. c.ServeJSON()
  666. return
  667. }
  668. func (c *UserController) Power_Add() {
  669. // 验证登录
  670. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  671. if !b_ {
  672. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  673. c.ServeJSON()
  674. return
  675. }
  676. T_name := c.GetString("T_name")
  677. T_role, T_role_err := c.GetInt("T_role")
  678. if T_role_err != nil || T_role == 0 {
  679. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_role Err!"}
  680. c.ServeJSON()
  681. return
  682. }
  683. T_warning, T_warning_err := c.GetInt("T_warning")
  684. if T_warning_err != nil || T_warning == 0 {
  685. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_warning Err!"}
  686. c.ServeJSON()
  687. return
  688. }
  689. T_Menu_Bind := c.GetString("T_Menu_Bind")
  690. var_ := Account.Power{
  691. T_name: T_name,
  692. T_role: T_role,
  693. T_warning: T_warning,
  694. T_Menu_Bind: T_Menu_Bind,
  695. T_State: 1,
  696. }
  697. _, err := Account.Add_Power(var_)
  698. if err != nil {
  699. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  700. c.ServeJSON()
  701. return
  702. }
  703. System.Add_UserLogs_T(admin_r.T_uuid, "权限管理", "添加", var_)
  704. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  705. c.ServeJSON()
  706. return
  707. }
  708. func (c *UserController) Power_Edit() {
  709. // 验证登录
  710. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  711. if !b_ {
  712. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  713. c.ServeJSON()
  714. return
  715. }
  716. Id, Id_err := c.GetInt("T_id")
  717. if Id_err != nil || Id == 0 {
  718. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"}
  719. c.ServeJSON()
  720. return
  721. }
  722. r, err := Account.Read_Power_ById(Id)
  723. if err != nil {
  724. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"}
  725. c.ServeJSON()
  726. return
  727. }
  728. T_name := c.GetString("T_name")
  729. T_role, T_role_err := c.GetInt("T_role")
  730. T_warning, T_warning_err := c.GetInt("T_warning")
  731. T_Menu_Bind := c.GetString("T_Menu_Bind")
  732. if len(T_name) > 0 {
  733. r.T_name = T_name
  734. }
  735. if T_role_err == nil && T_role > 0 {
  736. r.T_role = T_role
  737. }
  738. if T_warning_err == nil && T_warning > 0 {
  739. r.T_warning = T_warning
  740. }
  741. if len(T_Menu_Bind) > 0 {
  742. r.T_Menu_Bind = T_Menu_Bind
  743. }
  744. is := Account.Update_Power(r, "T_name", "T_role", "T_warning", "T_Menu_Bind")
  745. if !is {
  746. c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"}
  747. c.ServeJSON()
  748. return
  749. }
  750. System.Add_UserLogs_T(admin_r.T_uuid, "权限管理", "修改", r)
  751. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  752. c.ServeJSON()
  753. return
  754. }
  755. func (c *UserController) Power_Del() {
  756. // 验证登录
  757. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  758. if !b_ {
  759. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  760. c.ServeJSON()
  761. return
  762. }
  763. id, id_err := c.GetInt("T_id")
  764. if id_err != nil || id == 0 {
  765. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"}
  766. c.ServeJSON()
  767. return
  768. }
  769. r, err := Account.Read_Power_ById(id)
  770. if err != nil {
  771. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id Err!"}
  772. c.ServeJSON()
  773. return
  774. }
  775. is := Account.Delete_Power(r)
  776. if !is {
  777. c.Data["json"] = lib.JSONS{Code: 302, Msg: "删除失败!"}
  778. c.ServeJSON()
  779. return
  780. }
  781. System.Add_UserLogs(admin_r.T_uuid, "权限管理", "删除", strconv.Itoa(id))
  782. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  783. c.ServeJSON()
  784. return
  785. }
  786. // 菜单列表
  787. func (c *UserController) Menu_List() {
  788. // 验证登录
  789. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  790. if !b_ {
  791. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  792. c.ServeJSON()
  793. return
  794. }
  795. var r_jsons lib.R_JSONS
  796. power, err := Account.Read_Power_ById(admin_r.T_power)
  797. if err != nil {
  798. c.Data["json"] = lib.JSONS{Code: 200, Msg: "获取菜单失败"}
  799. c.ServeJSON()
  800. return
  801. }
  802. r_jsons.Data = Account.Read_Menu_List(power.T_Menu_Grant)
  803. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  804. c.ServeJSON()
  805. return
  806. }
  807. // 权限菜单列表
  808. func (c *UserController) Bind_Menu_List() {
  809. // 验证登录
  810. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  811. if !b_ {
  812. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  813. c.ServeJSON()
  814. return
  815. }
  816. var r_jsons lib.R_JSONS
  817. power, err := Account.Read_Power_ById(admin_r.T_power)
  818. if err != nil {
  819. c.Data["json"] = lib.JSONS{Code: 200, Msg: "获取菜单失败"}
  820. c.ServeJSON()
  821. return
  822. }
  823. r_jsons.Data = Account.Read_Menu_Bind_List(power.T_Menu_Grant, power.T_Menu_Bind)
  824. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  825. c.ServeJSON()
  826. return
  827. }