server_option.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package service
  2. import (
  3. "fmt"
  4. "gadmin/config"
  5. "gadmin/internal/admin/forms"
  6. "gadmin/internal/gorm/model"
  7. "gadmin/internal/gorm/query"
  8. "gadmin/package/gmdata"
  9. "github.com/gin-gonic/gin"
  10. "github.com/sirupsen/logrus"
  11. )
  12. // ServerOption 渠道
  13. var ServerOption = new(sServerOption)
  14. type sServerOption struct{}
  15. func (s *sServerOption) GetServerIds() (ids []int) {
  16. var (
  17. lists []*model.ServerOption
  18. err error
  19. )
  20. if err = query.Use(config.DB).ServerOption.Scan(&lists); err != nil {
  21. logrus.Warnf("GetServerIds 查询出错 lists err:%+v", err)
  22. return nil
  23. }
  24. for _, v := range lists {
  25. ids = append(ids, int(v.ServerID))
  26. }
  27. return
  28. }
  29. func (s *sServerOption) ConfigOption(ctx *gin.Context) (list, simple, json []forms.Option) {
  30. var (
  31. q = query.Use(config.DB).ServerOption
  32. m = q.WithContext(ctx)
  33. lists []*model.ServerOption
  34. err error
  35. )
  36. // 加载json配置选项
  37. for _, server := range gmdata.Servers {
  38. json = append(json, forms.Option{
  39. Value: server.ServerId,
  40. Label: fmt.Sprintf("%v(%v)", server.ServerName, server.ServerId),
  41. Name: server.ServerName,
  42. })
  43. }
  44. if len(json) == 0 {
  45. json = make([]forms.Option, 0)
  46. }
  47. if err = m.Scan(&lists); err != nil {
  48. logrus.Warnf("查询出错 lists err:%+v", err)
  49. return
  50. }
  51. list = append(list, forms.Option{
  52. Value: 0,
  53. Label: "全服",
  54. Name: "全服",
  55. })
  56. for _, v := range lists {
  57. list = append(list, forms.Option{
  58. Value: v.ServerID,
  59. Label: fmt.Sprintf("%v(%v)", v.Name, v.ServerID),
  60. Name: v.Name,
  61. })
  62. simple = append(simple, forms.Option{
  63. Value: v.ServerID,
  64. Label: fmt.Sprintf("%v(%v)", v.Name, v.ServerID),
  65. Name: v.Name,
  66. })
  67. }
  68. return
  69. }
  70. // Option 选项
  71. func (s *sServerOption) Option(ctx *gin.Context) (list []forms.Option) {
  72. var (
  73. q = query.Use(config.DB).ServerOption
  74. m = q.WithContext(ctx)
  75. lists []*model.ServerOption
  76. err error
  77. )
  78. if err = m.Scan(&lists); err != nil {
  79. logrus.Warnf("查询出错 lists err:%+v", err)
  80. return list
  81. }
  82. list = append(list, forms.Option{
  83. Value: int32(0),
  84. Label: "全服",
  85. Name: "全服",
  86. })
  87. for _, v := range lists {
  88. list = append(list, forms.Option{
  89. Value: v.ServerID,
  90. Label: fmt.Sprintf("%v(%v)", v.Name, v.ServerID),
  91. Name: v.Name,
  92. })
  93. }
  94. return list
  95. }
  96. func (s *sServerOption) GetName(ctx *gin.Context, serverId int32) (name string, err error) {
  97. var (
  98. q = query.Use(config.DB).ServerOption
  99. m = q.WithContext(ctx)
  100. models *model.ServerOption
  101. )
  102. if err = m.Where(q.ServerID.Eq(serverId)).Scan(&models); err != nil {
  103. logrus.Warnf("GetName 查询出错 models err:%+v", err)
  104. return
  105. }
  106. if models == nil {
  107. name = "未知"
  108. return
  109. }
  110. name = models.Name
  111. return
  112. }