main.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package main
  2. import (
  3. "encoding/json"
  4. //"endless"
  5. "log"
  6. "net/http"
  7. //"net/http"
  8. "qfw/util"
  9. "qfw/util/elastic"
  10. "qfw/util/mongodb"
  11. "qfw/util/redis"
  12. "qfw/weixin"
  13. "qfw/weixin/rpc"
  14. wf "qfw/weixinconfig"
  15. )
  16. //初始化
  17. func init() {
  18. //读取配置
  19. util.ReadConfig(&wf.SysConfig)
  20. //
  21. mongodb.InitMongodbPool(wf.SysConfig.MongodbPoolSize, wf.SysConfig.Mongodbservers, wf.SysConfig.MongodbName)
  22. //redis配置
  23. redis.InitRedis(wf.SysConfig.Redisservers)
  24. //初始化elastic
  25. if wf.SysConfig.ElasticPoolSize > 0 {
  26. elastic.SIZE = wf.SysConfig.ElasticPoolSize
  27. }
  28. elastic.InitElasticSize(wf.SysConfig.Elasticsearch, wf.SysConfig.ElasticPoolSize)
  29. log.Printf("The web server listen on %s %s:%s \n AppContext:%s \n", "http://", wf.SysConfig.Domain, wf.SysConfig.Port, wf.SysConfig.Appcontext)
  30. //微信sdk配置
  31. weixin.InitWeixinSdk()
  32. //连接消息总线
  33. // go weixin.InitDgWork()
  34. //go kf()
  35. //weixin.GetKfMsg(1)
  36. // go weixin.GetKfMsgJob()
  37. // go weixin.GetOnlineKfJob()
  38. go weixin.GsYwxxBgPush()
  39. go weixin.GetGsYwxxBg()
  40. }
  41. func main() {
  42. rpc.InitTpl()
  43. //启动Rpc服务
  44. rpc.StartWeixinRpc(weixin.Mux)
  45. http.ListenAndServe(":"+wf.SysConfig.Port, nil) // 启动接收微信数据服务器
  46. /*
  47. endless.ListenAndServe(":"+wf.SysConfig.Port, nil, func() {
  48. rpc.DestoryRpc()
  49. })
  50. **/
  51. b := make(chan bool, 1)
  52. <-b
  53. }
  54. func kf() {
  55. defer util.Catch()
  56. http.HandleFunc("/wxkf/getkflist", func(w http.ResponseWriter, r *http.Request) {
  57. w.Header().Set("Content-Type", "application/json")
  58. //内存
  59. b, _ := json.Marshal(weixin.GetKfList(10))
  60. w.Write(b)
  61. })
  62. http.HandleFunc("/wxkf/getkflist0", func(w http.ResponseWriter, r *http.Request) {
  63. w.Header().Set("Content-Type", "application/json")
  64. //url
  65. b, _ := json.Marshal(weixin.GetKfList(0))
  66. w.Write(b)
  67. })
  68. http.HandleFunc("/wxkf/getkflist1", func(w http.ResponseWriter, r *http.Request) {
  69. w.Header().Set("Content-Type", "application/json")
  70. //url+客服信息
  71. b, _ := json.Marshal(weixin.GetKfList(1))
  72. w.Write(b)
  73. })
  74. http.HandleFunc("/msginit/init", func(w http.ResponseWriter, r *http.Request) {
  75. w.Header().Set("Content-Type", "application/json")
  76. weixin.GetKfMsg(1)
  77. b, _ := json.Marshal(map[string]interface{}{"res": true})
  78. w.Write(b)
  79. })
  80. http.ListenAndServe(":"+wf.SysConfig.Kfport, nil)
  81. }