admin.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package admin
  2. import (
  3. "html/template"
  4. . "jy/front"
  5. . "jy/mongodbutil"
  6. . "jy/router"
  7. qu "qfw/util"
  8. "strconv"
  9. "github.com/gin-gonic/gin"
  10. )
  11. var Admin = Router.Group("/admin")
  12. func init() {
  13. gin.SetMode("")
  14. Admin.Use(AuthMiddleWare())
  15. Router.SetFuncMap(template.FuncMap{
  16. "session": func(key string) string {
  17. return ""
  18. },
  19. "add": func(a, b int) int {
  20. return a + b
  21. },
  22. })
  23. Router.LoadHTMLGlob("web/templates/admin/*")
  24. //获取字段列表
  25. Admin.POST("/getfields", func(c *gin.Context) {
  26. list, b := Mgo.Find("fields", `{}`, `{"_id":-1}`, nil, false, -1, -1)
  27. if b && list != nil {
  28. for _, v := range *list {
  29. v["_id"] = v["s_field"]
  30. v["s_name"] = v["s_name"]
  31. }
  32. }
  33. data := []map[string]interface{}{map[string]interface{}{"_id": "", "s_name": ""}}
  34. data = append(data, *list...)
  35. c.JSON(200, gin.H{"data": data})
  36. })
  37. //获取城市列表
  38. Admin.POST("/getcitys", func(c *gin.Context) {
  39. list, b := Mgo.Find("citys", `{}`, `{"_id":-1}`, nil, false, -1, -1)
  40. if b && list != nil {
  41. for _, v := range *list {
  42. v["s_field"] = ""
  43. }
  44. }
  45. data := []map[string]interface{}{map[string]interface{}{"_id": "", "s_name": ""}}
  46. data = append(data, *list...)
  47. c.JSON(200, gin.H{"data": data})
  48. })
  49. //获取省份列表
  50. Admin.POST("/getprovinces", func(c *gin.Context) {
  51. list, b := Mgo.Find("province", `{}`, `{"_id":-1}`, nil, false, -1, -1)
  52. if b && list != nil {
  53. for _, v := range *list {
  54. v["s_field"] = ""
  55. }
  56. }
  57. data := []map[string]interface{}{map[string]interface{}{"_id": "", "s_name": ""}}
  58. data = append(data, *list...)
  59. c.JSON(200, gin.H{"data": data})
  60. })
  61. //获取抽取版本列表
  62. Admin.POST("/getversions", func(c *gin.Context) {
  63. list, b := Mgo.Find("version", `{"delete":false}`, `{"_id":-1}`, `{"version":1}`, false, -1, -1)
  64. if b && list != nil {
  65. for _, v := range *list {
  66. v["_id"] = qu.BsonIdToSId(v["_id"])
  67. v["s_name"] = v["version"]
  68. }
  69. }
  70. c.JSON(200, gin.H{"data": list})
  71. })
  72. //获取清理版本列表
  73. Admin.POST("/getclearversions", func(c *gin.Context) {
  74. list, b := Mgo.Find("clearversion", `{"delete":false}`, `{"_id":-1}`, `{"clearversion":1}`, false, -1, -1)
  75. if b && list != nil {
  76. for _, v := range *list {
  77. v["_id"] = qu.BsonIdToSId(v["_id"])
  78. v["s_name"] = v["clearversion"]
  79. }
  80. }
  81. c.JSON(200, gin.H{"data": list})
  82. })
  83. }
  84. func GetPostForm(c *gin.Context) map[string]interface{} {
  85. val := map[string]interface{}{}
  86. r := c.Request
  87. r.ParseForm()
  88. for k, _ := range r.Form {
  89. if len(k) < 2 {
  90. continue
  91. }
  92. if k != "_id" {
  93. v := r.FormValue(k)
  94. switch k[:2] {
  95. case "s_": //string型
  96. val[k] = v
  97. case "l_": //int64位
  98. val[k], _ = strconv.ParseInt(v, 10, 64)
  99. case "i_": //int型
  100. val[k], _ = strconv.Atoi(v)
  101. default:
  102. if v == "true" || v == "false" {
  103. b, _ := strconv.ParseBool(v)
  104. val[k] = b
  105. } else {
  106. val[k] = v
  107. }
  108. }
  109. }
  110. }
  111. return val
  112. }