rpccall.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package public
  2. import (
  3. "encoding/json"
  4. "log"
  5. "net/rpc"
  6. util "app.yhyue.com/moapp/jybase/common"
  7. qrpc "app.yhyue.com/moapp/jybase/rpc"
  8. )
  9. var rpcserver string
  10. var followPushRpcServer string
  11. func InitRpcCall(Sysconfig map[string]interface{}) {
  12. rpcserver, _ = Sysconfig["weixinrpc"].(string)
  13. followPushRpcServer, _ = Sysconfig["followPushRpc"].(string)
  14. }
  15. //发送管理员模板消息
  16. func SendBidOpenMsg(p *qrpc.NotifyMsg) bool {
  17. ok, _ := qrpc.WxPush(rpcserver, "WeiXinRpc.SendBidOpenMsg", p)
  18. return ok
  19. }
  20. //发送数据报告模板消息
  21. func SendDataReportMsg(p *qrpc.NotifyMsg) bool {
  22. ok, _ := qrpc.WxPush(rpcserver, "WeiXinRpc.SendDataReportMsg", p)
  23. return ok
  24. }
  25. //发送保函申请消息
  26. func SendLOGApplyMsg(p *qrpc.NotifyMsg) bool {
  27. ok, _ := qrpc.WxPush(rpcserver, "WeiXinRpc.SendLOGApplyMsg", p)
  28. return ok
  29. }
  30. //发送年终活动消息
  31. func SendACTIVEApplyMsg(p *qrpc.NotifyMsg) bool {
  32. ok, _ := qrpc.WxPush(rpcserver, "WeiXinRpc.SendACTIVEApplyMsg", p)
  33. return ok
  34. }
  35. //项目更新推送
  36. func FollowPush(p *qrpc.FollowPush) (repls []*map[string]interface{}, err error) {
  37. util.Try(func() {
  38. client, e := rpc.DialHTTP("tcp", followPushRpcServer)
  39. defer client.Close()
  40. if e != nil {
  41. err = e
  42. log.Println(err.Error())
  43. return
  44. }
  45. var repl []byte
  46. err = client.Call("FollowPushRpc.FollowPush", p, &repl)
  47. if err == nil && repl != nil && len(repl) > 0 {
  48. var mp []*map[string]interface{}
  49. json.Unmarshal(repl, &mp)
  50. repls = mp
  51. }
  52. if err != nil {
  53. log.Println(err.Error())
  54. }
  55. }, func(e interface{}) {})
  56. return
  57. }
  58. //返回项目更新
  59. func FollowPushBack(p *qrpc.FollowPush) (err error) {
  60. util.Try(func() {
  61. client, e := rpc.DialHTTP("tcp", followPushRpcServer)
  62. defer client.Close()
  63. if e != nil {
  64. err = e
  65. log.Println(err.Error())
  66. return
  67. }
  68. var repl []byte
  69. err = client.Call("FollowPushRpc.FollowPush", p, &repl)
  70. if err != nil {
  71. log.Println(err.Error())
  72. }
  73. }, func(e interface{}) {})
  74. return
  75. }
  76. //分享二维码图片
  77. func GetShareQR(url uint32) string {
  78. var ret string
  79. util.Try(func() {
  80. client, err := rpc.DialHTTP("tcp", rpcserver)
  81. defer client.Close()
  82. if err != nil {
  83. log.Println(err.Error())
  84. return
  85. }
  86. err = client.Call("WeiXinRpc.GetShareQR", url, &ret)
  87. if err != nil {
  88. log.Println(err.Error())
  89. }
  90. }, func(e interface{}) {})
  91. return ret
  92. }
  93. //分享二维码图片
  94. func GetShareQRStr(url string) string {
  95. var ret string
  96. util.Try(func() {
  97. client, err := rpc.DialHTTP("tcp", rpcserver)
  98. defer client.Close()
  99. if err != nil {
  100. log.Println(err.Error())
  101. return
  102. }
  103. err = client.Call("WeiXinRpc.GetShareQRStr", url, &ret)
  104. if err != nil {
  105. log.Println(err.Error())
  106. }
  107. }, func(e interface{}) {})
  108. return ret
  109. }
  110. //获取未关注用户unionid
  111. func GetUnionid(openid string) string {
  112. var unionid string
  113. util.Try(func() {
  114. client, err := rpc.DialHTTP("tcp", rpcserver)
  115. defer client.Close()
  116. if err != nil {
  117. log.Println(err.Error())
  118. return
  119. }
  120. err = client.Call("WeiXinRpc.GetUnionid", openid, &unionid)
  121. if err != nil {
  122. log.Println(err.Error())
  123. }
  124. }, func(e interface{}) {})
  125. return unionid
  126. }