common.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package model
  2. import "math"
  3. const (
  4. MaterilaId_Coin = 2001 // 金币道具id
  5. MaterilaId_Diamond = 2002 // 钻石道具id
  6. CommonHeroTicket = 4301 // 普通抽奖劵
  7. MythHeroTicket = 4401 // 神话抽奖劵
  8. TreasuresTicket = 4501 // 宝物抽奖劵
  9. HeroCoin = 5301 // 英雄金币
  10. )
  11. const (
  12. LoginPlatAccount = "h5"
  13. LoginPlatWeiXin = "wx"
  14. LoginPlatQQ = "qq"
  15. LoginPlatTouTiao = "tt"
  16. LoginPlatMgc = "mt"
  17. LoginPlatQuick = "QuickSDK"
  18. )
  19. const (
  20. CostSourceFortLevel = 1 //联盟升级
  21. CostSourceEnterChapter = 2 //进入章节
  22. CostSourcePartRuneLevel = 3 //符文升级
  23. CostSourcePartRuneRecast = 4 //符文重铸
  24. CostSourceHeroLevel = 5 //英雄升级
  25. CostSourceTreasureLevel = 6 //宝物升级
  26. CostSourceTreasureStar = 7 //宝物升星
  27. CostSourceHeroRecruit = 8 //英雄招募
  28. CostSourceTreasureRecruit = 9 //宝物招募
  29. CostSourceEpigraphRecruit = 10 //铭文招募
  30. CostSourcePointsRecruit = 11 //积分招募
  31. CostSourceRuneDisintegration = 12 //符文分解
  32. CostSourceHeroBuy = 13 //购买英雄
  33. CostSourceHeroSkinActive = 14 //英雄皮肤兑换
  34. CostSourceAdmin = 15 //后台添加
  35. )
  36. const (
  37. LineBit = 12
  38. LineMask = 0x0fff
  39. )
  40. func CalcDocId2(dbId int64, line int64) int64 {
  41. return (dbId << LineBit) + int64(line)
  42. }
  43. func SplitDocId(docId int64) (dbId int64, line int) {
  44. // 分离出 dbId 和 line
  45. dbId = (docId >> LineBit) & math.MaxInt64 // 这里使用右移和位与操作来提取 dbId
  46. line = int(docId & LineMask)
  47. return
  48. }
  49. type VersionControl struct {
  50. Version string `json:"version"`
  51. }
  52. type PlatGroup struct {
  53. GId int `json:"id"`
  54. Plats []string `json:"group"`
  55. ChangeItems [][]int64 `json:"change"`
  56. }
  57. // func ExtractLineId(docId int64) int {
  58. // return int(docId & LineMask)
  59. // }
  60. // 合并同种材料
  61. // func MergeSameMaterials(lst []*MaterialData) []*MaterialData {
  62. // ret := make([]*MaterialData, 0)
  63. // for _, v := range lst {
  64. // isOk := false
  65. // for _, vv := range ret {
  66. // if vv.ID == v.ID {
  67. // vv.Count += v.Count
  68. // isOk = true
  69. // break
  70. // }
  71. // }
  72. // if !isOk {
  73. // tmp := &MaterialData{ID: v.ID, Count: v.Count}
  74. // ret = append(ret, tmp)
  75. // }
  76. // }
  77. // return ret
  78. // }