main.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "log"
  6. "app.yhyue.com/moapp/jybase/common"
  7. elastic "app.yhyue.com/moapp/jybase/es"
  8. "app.yhyue.com/moapp/jybase/mongodb"
  9. "app.yhyue.com/moapp/jybase/mysql"
  10. "app.yhyue.com/moapp/jybase/redis"
  11. "github.com/robfig/cron"
  12. )
  13. var (
  14. cfg = new(Config)
  15. Mysql *mysql.Mysql
  16. TiDb *mysql.Mysql
  17. TiDbData *mysql.Mysql
  18. TiDbPower *mysql.Mysql
  19. Base *mysql.Mysql
  20. Es elastic.Es
  21. Mgo *mongodb.MongodbSim
  22. MgoLog *mongodb.MongodbSim
  23. // configFile = flag.String("c", "./config.yaml", "配置文件")
  24. mode = flag.Int("m", 1, "")
  25. )
  26. func main() {
  27. flag.Parse()
  28. common.ReadConfig(&cfg)
  29. // _ = config.LoadConfigWithYaml(*configFile, cfg)
  30. log.Println("cfg ", cfg)
  31. TiDb = &mysql.Mysql{
  32. Address: cfg.TiDb.Host + ":" + fmt.Sprint(cfg.TiDb.Port),
  33. UserName: cfg.TiDb.User,
  34. PassWord: cfg.TiDb.Password,
  35. DBName: cfg.TiDb.Database,
  36. MaxOpenConns: cfg.TiDb.PollSize,
  37. MaxIdleConns: cfg.TiDb.MaxIdle,
  38. }
  39. TiDb.Init()
  40. TiDbData = &mysql.Mysql{
  41. Address: cfg.TiDbData.Host + ":" + fmt.Sprint(cfg.TiDbData.Port),
  42. UserName: cfg.TiDbData.User,
  43. PassWord: cfg.TiDbData.Password,
  44. DBName: cfg.TiDbData.Database,
  45. MaxOpenConns: cfg.TiDbData.PollSize,
  46. MaxIdleConns: cfg.TiDbData.MaxIdle,
  47. }
  48. TiDbData.Init()
  49. TiDbPower = &mysql.Mysql{
  50. Address: cfg.TiDbPower.Host + ":" + fmt.Sprint(cfg.TiDbPower.Port),
  51. UserName: cfg.TiDbPower.User,
  52. PassWord: cfg.TiDbPower.Password,
  53. DBName: cfg.TiDbPower.Database,
  54. MaxOpenConns: cfg.TiDbPower.PollSize,
  55. MaxIdleConns: cfg.TiDbPower.MaxIdle,
  56. }
  57. TiDbPower.Init()
  58. Mysql = &mysql.Mysql{
  59. Address: cfg.Mysql.Host + ":" + fmt.Sprint(cfg.Mysql.Port),
  60. UserName: cfg.Mysql.User,
  61. PassWord: cfg.Mysql.Password,
  62. DBName: cfg.Mysql.Database,
  63. MaxOpenConns: cfg.Mysql.PollSize,
  64. MaxIdleConns: cfg.Mysql.MaxIdle,
  65. }
  66. Mysql.Init()
  67. Base = &mysql.Mysql{
  68. Address: cfg.BaseService.Host + ":" + fmt.Sprint(cfg.BaseService.Port),
  69. UserName: cfg.BaseService.User,
  70. PassWord: cfg.BaseService.Password,
  71. DBName: cfg.BaseService.Database,
  72. MaxOpenConns: cfg.BaseService.PollSize,
  73. MaxIdleConns: cfg.BaseService.MaxIdle,
  74. }
  75. Base.Init()
  76. Es = elastic.NewEs(cfg.Es.Version, cfg.Es.Address, cfg.Es.DbSize, cfg.Es.UserName, cfg.Es.Password)
  77. redis.InitRedis(cfg.RedisServer)
  78. Mgo = mongodb.NewMgo(cfg.Mgo.Address, cfg.Mgo.DbName, cfg.Mgo.DbSize)
  79. MgoLog = mongodb.NewMgoWithUser(cfg.MgoLog.Address, cfg.MgoLog.DbName, cfg.MgoLog.User, cfg.MgoLog.Password, cfg.MgoLog.DbSize)
  80. InitArea()
  81. if *mode == 1 {
  82. // 未支付订单 30分钟一次
  83. // orders()
  84. a := cron.New()
  85. a.AddFunc(cfg.CornExp1, func() {
  86. orders()
  87. messageSync()
  88. })
  89. a.Start()
  90. // 新注册用户 5分钟一次
  91. // users()
  92. // saleLeads()
  93. b := cron.New()
  94. b.AddFunc(cfg.CornExp2, func() {
  95. users()
  96. saleLeads()
  97. })
  98. b.Start()
  99. // 每天8点30
  100. c := cron.New()
  101. c.AddFunc(cfg.CornExp3, func() {
  102. users()
  103. saleLeads()
  104. })
  105. c.Start()
  106. // userbase()
  107. cc := cron.New()
  108. cc.AddFunc(cfg.CornExp1, func() {
  109. userbase()
  110. })
  111. cc.Start()
  112. // 用户标签一天一次
  113. // tagAllSync()
  114. d := cron.New()
  115. d.AddFunc(cfg.CornExp4, func() {
  116. tagAllSync()
  117. })
  118. d.Start()
  119. // 用户标签增量 5分钟一次
  120. ordersClue()
  121. kcSync()
  122. tagAddSync()
  123. e := cron.New()
  124. e.AddFunc(cfg.CornExp5, func() {
  125. tagAddSync()
  126. ordersClue()
  127. kcSync()
  128. kcAuto()
  129. })
  130. e.Start()
  131. //订阅增量 5分钟一次
  132. subscribeAddSync()
  133. f := cron.New()
  134. f.AddFunc(cfg.CornExp6, func() {
  135. subscribeAddSync()
  136. })
  137. f.Start()
  138. //自动进入任务车 1天一次
  139. // autoTask()
  140. // autoTasks()
  141. g := cron.New()
  142. g.AddFunc(cfg.CornExp7, func() {
  143. autoTask()
  144. autoTasks()
  145. })
  146. g.Start()
  147. h := cron.New()
  148. h.AddFunc(cfg.CornExp5, func() {
  149. autoExitSea()
  150. })
  151. h.Start()
  152. select {}
  153. } else if *mode == 2 {
  154. users()
  155. } else if *mode == 3 {
  156. saleLeads()
  157. } else if *mode == 4 {
  158. saleLeads()
  159. users()
  160. } else if *mode == 5 {
  161. tagAllSync()
  162. } else if *mode == 6 {
  163. tagAddSync()
  164. e := cron.New()
  165. e.AddFunc(cfg.CornExp5, func() {
  166. tagAddSync()
  167. })
  168. e.Start()
  169. select {}
  170. } else if *mode == 7 {
  171. subscribeAddSync()
  172. e := cron.New()
  173. e.AddFunc(cfg.CornExp6, func() {
  174. subscribeAddSync()
  175. })
  176. e.Start()
  177. select {}
  178. } else if *mode == 8 {
  179. subscribeAllSync()
  180. } else if *mode == 9 {
  181. autoTask()
  182. } else if *mode == 10 {
  183. getAreaCode("6447753fb4f3c077da9d5336")
  184. } else if *mode == 11 {
  185. trail()
  186. } else if *mode == 12 {
  187. userbase()
  188. } else if *mode == 13 {
  189. eventSync()
  190. } else if *mode == 14 {
  191. getXlsx()
  192. } else if *mode == 15 {
  193. getXlsx2()
  194. } else if *mode == 16 {
  195. uidSync()
  196. } else if *mode == 17 {
  197. privateClueSync()
  198. } else if *mode == 18 {
  199. clueInfoSync()
  200. } else if *mode == 19 {
  201. app_xzcyh_sync()
  202. } else if *mode == 20 {
  203. kcHistorySync()
  204. } else if *mode == 21 {
  205. kcHistorySyncs()
  206. } else if *mode == 22 {
  207. kcVisitSync()
  208. } else if *mode == 23 {
  209. hlyjSync()
  210. } else if *mode == 24 {
  211. hlyjSync2()
  212. } else if *mode == 25 {
  213. hlyjSync3()
  214. }
  215. }