User.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719
  1. package controllers
  2. import (
  3. "Cold_Api/conf"
  4. "Cold_Api/controllers/lib"
  5. "Cold_Api/models/Admin"
  6. "Cold_Api/models/System"
  7. "crypto/md5"
  8. "encoding/hex"
  9. "fmt"
  10. beego "github.com/beego/beego/v2/server/web"
  11. uuid "github.com/satori/go.uuid"
  12. "math"
  13. "strconv"
  14. "time"
  15. )
  16. type UserController struct {
  17. beego.Controller
  18. }
  19. // 管理员
  20. func (c *UserController) Admin_html() {
  21. // 验证登录
  22. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  23. if !b_ {
  24. c.Ctx.Redirect(302, "Login")
  25. return
  26. }
  27. if admin_r.Id != 1 {
  28. c.Ctx.Redirect(302, "Login")
  29. return
  30. }
  31. fmt.Println("登录OK")
  32. page, _ := c.GetInt("page")
  33. println(page)
  34. if page < 1 {
  35. page = 1
  36. }
  37. c.Data["Admin_Power"], _ = Admin.Read_AdminPower_ById(admin_r.Admin_power)
  38. Name := c.GetString("Name")
  39. c.Data["Name"] = Name
  40. c.Data["Power_List"] = Admin.Read_Power_List_ALL_Power_Administration(1)
  41. var cnt int64
  42. c.Data["List"], cnt = Admin.Read_Admin_List_ALL_Admin_master(page, Name, 0)
  43. fmt.Println("cnt:", cnt)
  44. page_size := math.Ceil(float64(cnt) / float64(conf.Page_size))
  45. c.Data["Page"] = page
  46. c.Data["Page_size"] = page_size
  47. c.Data["Pages"] = lib.Func_page(int64(page), int64(page_size))
  48. c.Data["cnt"] = cnt
  49. c.TplName = "User/Admin.html"
  50. }
  51. func (c *UserController) Admin_() {
  52. // 验证登录
  53. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  54. if !b_ {
  55. c.Ctx.Redirect(302, "Login")
  56. return
  57. }
  58. if admin_r.Id != 1 {
  59. c.Ctx.Redirect(302, "Login")
  60. return
  61. }
  62. if admin_r.Admin_master != 0 {
  63. c.Ctx.Redirect(302, "Login")
  64. return
  65. }
  66. id, _ := c.GetInt("id")
  67. c.Data["id"] = id
  68. c.Data["Power_List"] = Admin.Read_Power_List_ALL_Power_Administration(1)
  69. Admin_uuid := c.GetString("Admin_uuid")
  70. c.Data["Admin_uuid"] = Admin_uuid
  71. if len(Admin_uuid) > 0 {
  72. c.Data["Date"], _ = Admin.Read_Admin_ByUuid(Admin_uuid)
  73. }
  74. c.TplName = "User/Admin-.html"
  75. }
  76. func (c *UserController) Admin_Post() {
  77. // 验证登录
  78. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  79. if !b_ {
  80. c.Ctx.Redirect(302, "Login")
  81. return
  82. }
  83. if admin_r.Id != 1 {
  84. c.Ctx.Redirect(302, "Login")
  85. return
  86. }
  87. if admin_r.Admin_master != 0 {
  88. c.Ctx.Redirect(302, "Login")
  89. return
  90. }
  91. Admin_uuid := c.GetString("Admin_uuid")
  92. Admin_name := c.GetString("Admin_name")
  93. Admin_user := c.GetString("Admin_user")
  94. Admin_telephone := c.GetString("Admin_telephone")
  95. Admin_mail := c.GetString("Admin_mail")
  96. Admin_text := c.GetString("Admin_text")
  97. Admin_gender, _ := c.GetInt("Admin_gender")
  98. Admin_power, _ := c.GetInt("Admin_power")
  99. var_ := Admin.Admin{
  100. Admin_uuid: uuid.NewV4().String(),
  101. Admin_name: Admin_name,
  102. Admin_master: admin_r.Admin_master,
  103. Admin_user: Admin_user,
  104. Admin_telephone: Admin_telephone,
  105. Admin_mail: Admin_mail,
  106. Admin_text: Admin_text,
  107. Admin_gender: Admin_gender,
  108. Admin_power: Admin_power,
  109. Admin_panel_plan: "",
  110. Admin_panel_data: "",
  111. T_State: 1,
  112. }
  113. if len(Admin_uuid) > 0 {
  114. var_.Admin_uuid = Admin_uuid
  115. err := Admin.Update_Admin_ById_Basics(var_)
  116. if err != nil {
  117. c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"}
  118. c.ServeJSON()
  119. return
  120. }
  121. } else {
  122. s_pass := uuid.NewV4().String()[:6]
  123. h := md5.New()
  124. h.Write([]byte(s_pass))
  125. s := hex.EncodeToString(h.Sum(nil))
  126. fmt.Println(s)
  127. var_.Admin_pass = s
  128. var_.Admin_master = 0
  129. err, _ := Admin.Read_Admin_Admin_user(Admin_user)
  130. if err == nil {
  131. c.Data["json"] = lib.JSONS{Code: 302, Msg: "账户重复!"}
  132. c.ServeJSON()
  133. return
  134. }
  135. _, err = Admin.Add_Admin(var_)
  136. if err != nil {
  137. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  138. c.ServeJSON()
  139. return
  140. }
  141. var_.Admin_pass = "***********"
  142. System.Add_UserLogs_T(admin_r.Admin_uuid,"管理员", "管理员操作", var_)
  143. c.Data["json"] = lib.JSONS{Code: 210, Msg: "ok!", Data: s_pass}
  144. c.ServeJSON()
  145. return
  146. }
  147. var_.Admin_pass = "***********"
  148. System.Add_UserLogs_T(admin_r.Admin_uuid,"管理员", "管理员操作", var_)
  149. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  150. c.ServeJSON()
  151. return
  152. }
  153. func (c *UserController) Admin_Del() {
  154. // 验证登录
  155. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  156. if !b_ {
  157. c.Ctx.Redirect(302, "Login")
  158. return
  159. }
  160. if admin_r.Id != 1 {
  161. c.Ctx.Redirect(302, "Login")
  162. return
  163. }
  164. if admin_r.Admin_master != 0 {
  165. c.Ctx.Redirect(302, "Login")
  166. return
  167. }
  168. Admin_uuid := c.GetString("Admin_uuid")
  169. if len(Admin_uuid) > 0 {
  170. admin_r_lod, err := Admin.Read_Admin_ByUuid(Admin_uuid)
  171. if err != nil {
  172. c.Data["json"] = lib.JSONS{Code: 201, Msg: "e!"}
  173. c.ServeJSON()
  174. return
  175. }
  176. if admin_r_lod.Admin_master < admin_r.Admin_master {
  177. c.Data["json"] = lib.JSONS{Code: 202, Msg: "e!"}
  178. c.ServeJSON()
  179. return
  180. }
  181. Admin.Update_Delete_Admin_ByAdmin_uuid(Admin_uuid)
  182. } else {
  183. c.Data["json"] = lib.JSONS{Code: 203, Msg: "e!"}
  184. c.ServeJSON()
  185. return
  186. }
  187. System.Add_UserLogs(admin_r.Admin_uuid,"管理员", "管理员删除", Admin_uuid)
  188. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  189. c.ServeJSON()
  190. return
  191. }
  192. func (c *UserController) User_Entry() {
  193. // 验证登录
  194. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  195. if !b_ {
  196. c.Ctx.Redirect(302, "Login")
  197. return
  198. }
  199. //if(admin_r.Admin_master != 0){
  200. // c.Ctx.Redirect(302, "Login")
  201. // return
  202. //}
  203. Admin_uuid := c.GetString("Admin_uuid")
  204. if len(Admin_uuid) > 0 {
  205. admin_r_a, err := Admin.Read_Admin_ByUuid(Admin_uuid)
  206. if err != nil {
  207. c.Data["json"] = lib.JSONS{Code: 201, Msg: "e!"}
  208. c.ServeJSON()
  209. return
  210. }
  211. if admin_r.Id != admin_r_a.Admin_master {
  212. c.Data["json"] = lib.JSONS{Code: 202, Msg: "e!"}
  213. c.ServeJSON()
  214. return
  215. }
  216. User_tokey := Admin.Add_Tokey(admin_r_a.Admin_uuid)
  217. c.Ctx.SetCookie("User_tokey", User_tokey, time.Second*60*60)
  218. } else {
  219. c.Data["json"] = lib.JSONS{Code: 203, Msg: "e!"}
  220. c.ServeJSON()
  221. return
  222. }
  223. System.Add_UserLogs(admin_r.Admin_uuid,"用户管理", "无钥匙进入", Admin_uuid)
  224. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  225. c.ServeJSON()
  226. return
  227. }
  228. // 用户管理
  229. func (c *UserController) User_html() {
  230. // 验证登录
  231. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  232. if !b_ {
  233. c.Ctx.Redirect(302, "Login")
  234. return
  235. }
  236. page, _ := c.GetInt("page")
  237. println(page)
  238. if page < 1 {
  239. page = 1
  240. }
  241. Name := c.GetString("Name")
  242. c.Data["Name"] = Name
  243. c.Data["Power_List"] = Admin.Read_Power_List_ALL_Power_Administration(0)
  244. Adminpower, _ := Admin.Read_AdminPower_ById(admin_r.Admin_power)
  245. var cnt int64
  246. if Adminpower.Power_User_r != 1 {
  247. c.Ctx.Redirect(302, "Login")
  248. return
  249. }
  250. c.Data["List"], cnt = Admin.Read_Admin_List_ALL_User(page, Name, admin_r.Id)
  251. fmt.Println("cnt:", cnt)
  252. page_size := math.Ceil(float64(cnt) / float64(conf.Page_size))
  253. c.Data["Page"] = page
  254. c.Data["Page_size"] = page_size
  255. c.Data["Pages"] = lib.Func_page(int64(page), int64(page_size))
  256. c.Data["cnt"] = cnt
  257. c.TplName = "User/User.html"
  258. }
  259. func (c *UserController) User_() {
  260. // 验证登录
  261. b_, _ := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  262. if !b_ {
  263. c.Ctx.Redirect(302, "Login")
  264. return
  265. }
  266. id, _ := c.GetInt("id")
  267. c.Data["id"] = id
  268. c.Data["Power_List"] = Admin.Read_Power_List_ALL_Power_Administration(0)
  269. Admin_uuid := c.GetString("Admin_uuid")
  270. c.Data["Admin_uuid"] = Admin_uuid
  271. if len(Admin_uuid) > 0 {
  272. c.Data["Date"], _ = Admin.Read_Admin_ByUuid(Admin_uuid)
  273. }
  274. c.TplName = "User/User-.html"
  275. }
  276. func (c *UserController) User_Info() {
  277. // 验证登录
  278. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  279. if !b_ {
  280. c.Ctx.Redirect(302, "Login")
  281. return
  282. }
  283. c.Data["id"] = admin_r.Id
  284. c.Data["Date"] = admin_r
  285. c.TplName = "User/User-Info.html"
  286. }
  287. func (c *UserController) User_Info_() {
  288. // 验证登录
  289. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  290. if !b_ {
  291. c.Ctx.Redirect(302, "Login")
  292. return
  293. }
  294. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: admin_r}
  295. c.ServeJSON()
  296. return
  297. }
  298. func (c *UserController) User_Get() {
  299. // 验证登录
  300. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  301. if !b_ {
  302. c.Ctx.Redirect(302, "Login")
  303. return
  304. }
  305. type Admin_ struct {
  306. Admin_uuid string
  307. Admin_power int // 权限
  308. Admin_name string //
  309. Admin_telephone string // 电话
  310. Admin_mail string // 邮箱
  311. Admin_gender int // 性别 0未知 1男 2女
  312. Admin_text string // 详情
  313. Admin_rh int // 显示湿度
  314. }
  315. Admin_r := Admin_{}
  316. Admin_r.Admin_rh = admin_r.Admin_rh
  317. Admin_r.Admin_uuid = admin_r.Admin_uuid
  318. Admin_r.Admin_power = admin_r.Admin_power
  319. Admin_r.Admin_name = admin_r.Admin_name
  320. Admin_r.Admin_telephone = admin_r.Admin_telephone
  321. Admin_r.Admin_mail = admin_r.Admin_mail
  322. Admin_r.Admin_gender = admin_r.Admin_gender
  323. Admin_r.Admin_text = admin_r.Admin_text
  324. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Admin_r}
  325. c.ServeJSON()
  326. return
  327. }
  328. func (c *UserController) User_Post() {
  329. // 验证登录
  330. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  331. if !b_ {
  332. c.Ctx.Redirect(302, "Login")
  333. return
  334. }
  335. //Adminpower,_ := Admin.Read_AdminPower_ById(admin_r.Admin_power)
  336. //
  337. //if Adminpower.Power_User_r != 1 {
  338. // c.Data["json"] = lib.JSONS{Code: 307, Msg: "Adminpower.Power_User_r!"}
  339. // c.ServeJSON()
  340. // return
  341. //}
  342. Admin_uuid := c.GetString("Admin_uuid")
  343. Admin_name := c.GetString("Admin_name")
  344. Admin_user := c.GetString("Admin_user")
  345. Admin_pass := c.GetString("Admin_pass")
  346. Admin_telephone := c.GetString("Admin_telephone")
  347. Admin_mail := c.GetString("Admin_mail")
  348. Admin_text := c.GetString("Admin_text")
  349. Admin_gender, _ := c.GetInt("Admin_gender")
  350. Admin_power, _ := c.GetInt("Admin_power")
  351. var_ := Admin.Admin{
  352. Admin_uuid: uuid.NewV4().String(),
  353. Admin_name: Admin_name,
  354. Admin_master: admin_r.Id,
  355. Admin_user: Admin_user,
  356. Admin_telephone: Admin_telephone,
  357. Admin_mail: Admin_mail,
  358. Admin_text: Admin_text,
  359. Admin_pass: Admin_pass,
  360. Admin_gender: Admin_gender,
  361. Admin_power: Admin_power,
  362. T_State: 1,
  363. }
  364. if len(Admin_pass) > 0 && len(Admin_pass) < 7 {
  365. c.Data["json"] = lib.JSONS{Code: 302, Msg: "Admin_pass Err!"}
  366. c.ServeJSON()
  367. return
  368. }
  369. if len(Admin_uuid) > 0 {
  370. var_.Admin_uuid = Admin_uuid
  371. err, _ := Admin.ReadLogin_verification(var_.Admin_user, var_.Admin_pass)
  372. if err == nil {
  373. c.Data["json"] = lib.JSONS{Code: 307, Msg: "ReadLogin_verification !"}
  374. c.ServeJSON()
  375. return
  376. }
  377. err, r_u := Admin.Read_Admin_ByAdmin_uuid(Admin_uuid)
  378. if err != nil {
  379. c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"}
  380. c.ServeJSON()
  381. return
  382. }
  383. // 修改密码只有本人
  384. if len(Admin_pass) > 0 && r_u.Id != admin_r.Id {
  385. c.Data["json"] = lib.JSONS{Code: 302, Msg: "r_u != admin_r!"}
  386. c.ServeJSON()
  387. return
  388. }
  389. err = Admin.Update_Admin_ById_Basics(var_)
  390. if err != nil {
  391. c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"}
  392. c.ServeJSON()
  393. return
  394. }
  395. } else {
  396. s_pass := uuid.NewV4().String()[:6]
  397. h := md5.New()
  398. h.Write([]byte(s_pass))
  399. s := hex.EncodeToString(h.Sum(nil))
  400. fmt.Println(s)
  401. var_.Admin_pass = s
  402. // 是否 内部人员
  403. //Adminpower,_ := Admin.Read_AdminPower_ById(admin_r.Admin_power)
  404. //if Adminpower.Power_Administration == 1 {
  405. // var_.Admin_master = 1
  406. //}
  407. err, _ := Admin.Read_Admin_Admin_user(Admin_user)
  408. if err == nil {
  409. c.Data["json"] = lib.JSONS{Code: 302, Msg: "账户重复!"}
  410. c.ServeJSON()
  411. return
  412. }
  413. _, err = Admin.Add_Admin(var_)
  414. if err != nil {
  415. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  416. c.ServeJSON()
  417. return
  418. }
  419. var_.Admin_pass = "****************"
  420. System.Add_UserLogs_T(admin_r.Admin_uuid,"用户管理", "操作", var_)
  421. c.Data["json"] = lib.JSONS{Code: 210, Msg: "ok!", Data: s_pass}
  422. c.ServeJSON()
  423. return
  424. }
  425. var_.Admin_pass = "****************"
  426. System.Add_UserLogs_T(admin_r.Admin_uuid,"用户管理", "操作", var_)
  427. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  428. c.ServeJSON()
  429. return
  430. }
  431. func (c *UserController) User_Del() {
  432. // 验证登录
  433. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  434. if !b_ {
  435. c.Ctx.Redirect(302, "Login")
  436. return
  437. }
  438. Admin_uuid := c.GetString("Admin_uuid")
  439. if len(Admin_uuid) > 0 {
  440. admin_r_lod, err := Admin.Read_Admin_ByUuid(Admin_uuid)
  441. if err != nil {
  442. c.Data["json"] = lib.JSONS{Code: 201, Msg: "e!"}
  443. c.ServeJSON()
  444. return
  445. }
  446. if admin_r_lod.Admin_master < admin_r.Admin_master {
  447. c.Data["json"] = lib.JSONS{Code: 202, Msg: "e!"}
  448. c.ServeJSON()
  449. return
  450. }
  451. Admin.Update_Delete_Admin_ByAdmin_uuid(Admin_uuid)
  452. } else {
  453. c.Data["json"] = lib.JSONS{Code: 203, Msg: "e!"}
  454. c.ServeJSON()
  455. return
  456. }
  457. System.Add_UserLogs_T(admin_r.Admin_uuid,"用户管理", "删除", Admin_uuid)
  458. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  459. c.ServeJSON()
  460. return
  461. }
  462. // 权限管理
  463. func (c *UserController) Power_html() {
  464. // 验证登录
  465. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  466. if !b_ {
  467. c.Ctx.Redirect(302, "Login")
  468. return
  469. }
  470. if admin_r.Id != 1 {
  471. c.Ctx.Redirect(302, "Login")
  472. return
  473. }
  474. if admin_r.Admin_master != 0 {
  475. c.Ctx.Redirect(302, "Login")
  476. return
  477. }
  478. c.Data["Admin_Power"], _ = Admin.Read_AdminPower_ById(admin_r.Admin_power)
  479. fmt.Println("登录OK")
  480. page, _ := c.GetInt("page")
  481. println(page)
  482. if page < 1 {
  483. page = 1
  484. }
  485. Name := c.GetString("Name")
  486. c.Data["Name"] = Name
  487. var cnt int64
  488. c.Data["List"], cnt = Admin.Read_Power_List_ALL(page, Name)
  489. fmt.Println("cnt:", cnt)
  490. page_size := math.Ceil(float64(cnt) / float64(conf.Page_size))
  491. c.Data["Page"] = page
  492. c.Data["Page_size"] = page_size
  493. c.Data["Pages"] = lib.Func_page(int64(page), int64(page_size))
  494. c.Data["cnt"] = cnt
  495. c.TplName = "User/Power.html"
  496. }
  497. func (c *UserController) Power_() {
  498. // 验证登录
  499. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  500. if !b_ {
  501. c.Ctx.Redirect(302, "Login")
  502. return
  503. }
  504. if admin_r.Id != 1 {
  505. c.Ctx.Redirect(302, "Login")
  506. return
  507. }
  508. if admin_r.Admin_master != 0 {
  509. c.Ctx.Redirect(302, "Login")
  510. return
  511. }
  512. id, _ := c.GetInt("id")
  513. c.Data["id"] = id
  514. if id > 0 {
  515. c.Data["Date"], _ = Admin.Read_AdminPower_ById(id)
  516. }
  517. c.TplName = "User/Power-.html"
  518. }
  519. func (c *UserController) Power_Post() {
  520. var err error
  521. // 验证登录
  522. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  523. if !b_ {
  524. c.Ctx.Redirect(302, "Login")
  525. return
  526. }
  527. if admin_r.Id != 1 {
  528. c.Ctx.Redirect(302, "Login")
  529. return
  530. }
  531. if admin_r.Admin_master != 0 {
  532. c.Ctx.Redirect(302, "Login")
  533. return
  534. }
  535. id, _ := c.GetInt("id")
  536. c.Data["id"] = id
  537. Power_name := c.GetString("Power_name")
  538. Power_Administration, _ := c.GetInt("Power_Administration")
  539. Power_User_r, _ := c.GetInt("Power_User_r")
  540. Power_User_entry, _ := c.GetInt("Power_User_entry")
  541. Power_Device_r, _ := c.GetInt("Power_Device_r")
  542. Power_Device_a, _ := c.GetInt("Power_Device_a")
  543. Power_Device_Parameter_e, _ := c.GetInt("Power_Device_Parameter_e")
  544. Power_DeviceSensor_Parameter_e, _ := c.GetInt("Power_DeviceSensor_Parameter_e")
  545. Power_Device_Bind_e, _ := c.GetInt("Power_Device_Bind_e")
  546. Power_DeviceSensor_Compensate_e, _ := c.GetInt("Power_DeviceSensor_Compensate_e")
  547. Power_DeviceSensor_Class, _ := c.GetInt("Power_DeviceSensor_Class")
  548. Power_DataScreen_r, _ := c.GetInt("Power_DataScreen_r")
  549. Logs_Sys_r, _ := c.GetInt("Logs_Sys_r")
  550. Logs_User_r, _ := c.GetInt("Logs_User_r")
  551. var_ := Admin.AdminPower{
  552. Power_name: Power_name,
  553. Power_Administration: Power_Administration,
  554. Power_User_r: Power_User_r,
  555. Power_User_entry: Power_User_entry,
  556. Power_Device_r: Power_Device_r,
  557. Power_Device_a: Power_Device_a,
  558. Power_Device_Parameter_e: Power_Device_Parameter_e,
  559. Power_DeviceSensor_Parameter_e: Power_DeviceSensor_Parameter_e,
  560. Power_Device_Bind_e: Power_Device_Bind_e,
  561. Power_DeviceSensor_Class: Power_DeviceSensor_Class,
  562. Power_DeviceSensor_Compensate_e: Power_DeviceSensor_Compensate_e,
  563. Power_DataScreen_r: Power_DataScreen_r,
  564. Logs_Sys_r: Logs_Sys_r,
  565. Logs_User_r: Logs_User_r,
  566. T_State: 1,
  567. }
  568. if id > 0 {
  569. var_.Id = id
  570. fmt.Println("Power_DataScreen_r:", var_.Power_DataScreen_r)
  571. err = Admin.Update_AdminPower_ById_Basics(var_)
  572. if err != nil {
  573. c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"}
  574. c.ServeJSON()
  575. return
  576. }
  577. } else {
  578. _, err = Admin.Add_AdminPower(var_)
  579. if err != nil {
  580. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  581. c.ServeJSON()
  582. return
  583. }
  584. }
  585. System.Add_UserLogs_T(admin_r.Admin_uuid,"权限管理", "权限操作", var_)
  586. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  587. c.ServeJSON()
  588. return
  589. }
  590. func (c *UserController) Power_Del() {
  591. // 验证登录
  592. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  593. if !b_ {
  594. c.Ctx.Redirect(302, "Login")
  595. return
  596. }
  597. if admin_r.Id != 1 {
  598. c.Ctx.Redirect(302, "Login")
  599. return
  600. }
  601. if admin_r.Admin_master != 0 {
  602. c.Data["json"] = lib.JSONS{Code: 203, Msg: "没有权限!"}
  603. c.ServeJSON()
  604. return
  605. }
  606. id, _ := c.GetInt("Id")
  607. c.Data["id"] = id
  608. if id > 0 {
  609. admin_r_lod, err := Admin.Read_AdminPower_ById(id)
  610. if err != nil {
  611. c.Data["json"] = lib.JSONS{Code: 201, Msg: "e!"}
  612. c.ServeJSON()
  613. return
  614. }
  615. Admin_List_ALL_AdminPower := Admin.Read_Admin_List_ALL_AdminPower(admin_r_lod.Id)
  616. if len(Admin_List_ALL_AdminPower) > 0 {
  617. S_Msg := "无法删除!【"
  618. for _, v := range Admin_List_ALL_AdminPower {
  619. S_Msg += v.Admin_name + ","
  620. }
  621. c.Data["json"] = lib.JSONS{Code: 205, Msg: S_Msg + "】 属于该权限!删除这些账号后即可删除! "}
  622. c.ServeJSON()
  623. return
  624. }
  625. Admin.Update_Delete_AdminPower_Byid(admin_r_lod.Id)
  626. } else {
  627. c.Data["json"] = lib.JSONS{Code: 204, Msg: "e!"}
  628. c.ServeJSON()
  629. return
  630. }
  631. System.Add_UserLogs(admin_r.Admin_uuid,"权限管理", "权限删除", strconv.Itoa(id))
  632. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  633. c.ServeJSON()
  634. return
  635. }
  636. // 同步面板
  637. func (c *UserController) Panel_plan_Syn() {
  638. // 验证登录
  639. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  640. if !b_ {
  641. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  642. c.ServeJSON()
  643. return
  644. }
  645. s_, user_r := Admin.Read_Admin_ByAdmin_uuid(c.GetString("Admin_uuid"))
  646. if s_ != nil {
  647. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Admin_uuid Err!"}
  648. c.ServeJSON()
  649. return
  650. }
  651. user_r.Admin_panel_plan = admin_r.Admin_panel_plan
  652. Admin.Update_Admin(user_r,"Admin_panel_plan")
  653. System.Add_UserLogs(admin_r.Admin_uuid,"设备管理", "同步面板操作", "面板:"+admin_r.Admin_panel_plan+"|"+admin_r.Admin_uuid+"->"+user_r.Admin_uuid)
  654. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  655. c.ServeJSON()
  656. return
  657. }