param.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package admin
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "strings"
  5. "zhiyuan/models"
  6. "zhiyuan/pkg/app"
  7. "zhiyuan/pkg/db"
  8. "zhiyuan/pkg/param"
  9. "zhiyuan/pkg/utils"
  10. "zhiyuan/services/aftersale"
  11. "zhiyuan/services/material/pkg"
  12. "zhiyuan/services/shop"
  13. )
  14. func ParamList(c *gin.Context) {
  15. params := c.Query("params")
  16. if params != "" {
  17. paramData := make(map[string]interface{})
  18. paramsList := strings.Split(params, ",")
  19. for _, v := range paramsList {
  20. res := utils.StructToMapViaReflect(param.Params, "json")[v]
  21. if res != nil {
  22. paramData[v] = res
  23. }
  24. }
  25. app.Success(c, paramData)
  26. return
  27. }
  28. typeList, _ := aftersale.GetTypeListByCache()
  29. param.Params.OrderTypeTree = utils.GenTree(typeList, "id", "pid", "children", 0)
  30. type PkgList struct {
  31. ID int `json:"id"`
  32. PkgName string `json:"pkg_name"`
  33. }
  34. pkgList := make([]*PkgList, 0)
  35. pkg.GetPkgs(nil, nil, app.Page{}, &pkgList)
  36. param.Params.PkgList = pkgList
  37. param.Params.ShopList, _ = shop.GetListByCache()
  38. var accepts []models.WorkQualityAccept
  39. db.GetModel(map[string]interface{}{"state": 1}, &accepts)
  40. param.Params.WorkQualityaccept = accepts
  41. app.Success(c, param.Params)
  42. }
  43. func ParamInfo(c *gin.Context) {
  44. paramsKey := c.Param("param")
  45. if paramsKey == "" {
  46. app.Error(c, "empty param")
  47. return
  48. }
  49. res := utils.StructToMapViaReflect(param.Params, "json")[paramsKey]
  50. if res == nil {
  51. app.Error(c, "invalid param")
  52. return
  53. }
  54. if paramsKey == "order_type" {
  55. typeList, _ := aftersale.GetTypeListByCache()
  56. app.Success(c, utils.GenTree(typeList, "id", "pid", "children", 0))
  57. return
  58. }
  59. app.Success(c, res)
  60. }