initTable.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package util
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/os/gcache"
  5. "github.com/gogf/gf/os/gfile"
  6. "github.com/gogf/gf/util/gconv"
  7. "github.com/jszwec/csvutil"
  8. "gmanager/library/mongo/gameinfo"
  9. "io/ioutil"
  10. "strings"
  11. )
  12. // 删除零宽度无分隔符空间
  13. func DelPrefix(data []byte) []byte {
  14. if data == nil || len(data) < 4 {
  15. return nil
  16. }
  17. UTF8_BOM := "\uFEFF"
  18. if strings.HasPrefix(string(data), UTF8_BOM) {
  19. data = data[3:]
  20. }
  21. return data
  22. }
  23. // item
  24. func GetItemConfig() *gcache.Cache {
  25. var c = gcache.New()
  26. csvInput := gfile.GetBytes("./config/server/item.csv")
  27. csvInput = DelPrefix(csvInput)
  28. var itemConfigs []gameinfo.ItemConfig
  29. if err := csvutil.Unmarshal(csvInput, &itemConfigs); err != nil {
  30. fmt.Println("error:", err)
  31. }
  32. for _, itemConfig := range itemConfigs {
  33. c.Set(gconv.String(itemConfig.Id), itemConfig.Note, 0)
  34. }
  35. return c
  36. }
  37. // RechargeCommodity
  38. func GetRechargeCommodityConfig() *gcache.Cache {
  39. var c = gcache.New()
  40. csvInput := gfile.GetBytes("./config/server/RechargeCommodityConfig.csv")
  41. csvInput = DelPrefix(csvInput)
  42. var rechargeCommodityConfigs []gameinfo.RechargeCommodityConfig
  43. if err := csvutil.Unmarshal(csvInput, &rechargeCommodityConfigs); err != nil {
  44. fmt.Println("error:", err)
  45. }
  46. for _, rechargeCommodityConfig := range rechargeCommodityConfigs {
  47. c.Set(gconv.String(rechargeCommodityConfig.Id), rechargeCommodityConfig, 0)
  48. }
  49. return c
  50. }
  51. // Reason
  52. func GetReasonConfig() *gcache.Cache {
  53. var c = gcache.New()
  54. csvInput := gfile.GetBytes("./config/server/reason.csv")
  55. csvInput = DelPrefix(csvInput)
  56. var reasonConfigs []gameinfo.ReasonConfig
  57. if err := csvutil.Unmarshal(csvInput, &reasonConfigs); err != nil {
  58. fmt.Println("error:", err)
  59. }
  60. for _, reasonConfig := range reasonConfigs {
  61. c.Set(gconv.String(reasonConfig.Id), reasonConfig, 0)
  62. }
  63. return c
  64. }
  65. func LoadAllFiles() {
  66. path := "./config/server/"
  67. fs,_:= ioutil.ReadDir(path)
  68. for _,file:=range fs{
  69. if !file.IsDir(){
  70. name := file.Name()
  71. fmt.Println(path+name)
  72. }
  73. }
  74. }