wcj 6 лет назад
Родитель
Сommit
c112af31e4

+ 11 - 5
src/jfw/modules/app/src/jfw/front/login.go

@@ -888,12 +888,18 @@ func checkRepeatLogin(user *map[string]interface{}, rid string) {
 		go func() {
 			phoneType := qutil.ObjToString((*user)["s_appponetype"])
 			log.Println("极光推送,踢出下线", phoneType, s_m_openid, jpushid)
-			if phoneType != "HUAWEI" {
-				return
+			signOutContent, _ := jgpush.Jgconfig.Title["signOut"].(string)
+			if phoneType == "HUAWEI" {
+				jyutil.AppPushServiceCall(map[string]interface{}{
+					"type":        "signOut",
+					"content":     signOutContent,
+					"deviceToken": jpushid,
+				})
+			} else {
+				options := jgpush.Jgconfig.Config.Options
+				options["time_to_live"] = 864000
+				jgpush.JgpushD_Msg("", signOutContent, "signOut", []string{jpushid}, nil, options, false)
 			}
-			options := jgpush.Jgconfig.Config.Options
-			options["time_to_live"] = 864000
-			jgpush.JgpushD_Msg("", jgpush.Jgconfig.Title["signOut"].(string), "signOut", []string{jpushid}, nil, options, false)
 		}()
 	}
 }

+ 27 - 0
src/jfw/modules/app/src/jfw/jyutil/rpccall.go

@@ -0,0 +1,27 @@
+package jyutil
+
+import (
+	"encoding/json"
+	"jfw/config"
+	"log"
+	"net/rpc"
+	"qfw/util"
+)
+
+func AppPushServiceCall(m map[string]interface{}) bool {
+	defer util.Catch()
+	var repl string
+	client, err := rpc.DialHTTP("tcp", config.Sysconfig["appPushServiceRpc"].(string))
+	if err != nil {
+		log.Println(err.Error())
+		return false
+	}
+	defer client.Close()
+	b, _ := json.Marshal(m)
+	err = client.Call("Rpc.Push", b, &repl)
+	if err != nil {
+		log.Println(err.Error())
+		return false
+	}
+	return repl == "y"
+}

+ 9 - 3
src/jfw/modules/weixin/src/jrpc/jrpc.go

@@ -31,13 +31,14 @@ func init() {
 }
 
 func (w *WeiXinRpc) SendPushMsg(param *qrpc.NotifyMsg, ret *qrpc.RpcResult) error {
-
+	*ret = "Y"
+	return nil
 	_, err := w.Wwx.PostTemplateMessage(param.Openid, TPL_PUSH_ID, param.Url,
 		weixin.TmplData{
-			"first":    weixin.TmplItem{param.Title, ""},
+			"first":    weixin.TmplItem{param.Title, util.If(param.Color != "", param.Color, "#0987FF").(string)},
 			"keyword1": weixin.TmplItem{param.Detail, ""},
 			"keyword2": weixin.TmplItem{param.Service, ""},
-			"remark":   weixin.TmplItem{param.Remark, util.If(param.Color != "", param.Color, "#0987FF").(string)},
+			"remark":   weixin.TmplItem{param.Remark, util.If(param.Color != "", param.DetailColor, "#0987FF").(string)},
 		})
 	if err != nil {
 		*ret = qrpc.RpcResult(err.Error())
@@ -50,6 +51,8 @@ func (w *WeiXinRpc) SendPushMsg(param *qrpc.NotifyMsg, ret *qrpc.RpcResult) erro
 }
 
 func (w *WeiXinRpc) SendBidOpenMsg(param *qrpc.NotifyMsg, ret *qrpc.RpcResult) error {
+	*ret = "Y"
+	return nil
 	_, err := w.Wwx.PostTemplateMessage(param.Openid, TPL_BIDOPEN_ID, param.Url,
 		weixin.TmplData{
 			"first":    weixin.TmplItem{param.Title, ""},
@@ -70,6 +73,8 @@ func (w *WeiXinRpc) SendBidOpenMsg(param *qrpc.NotifyMsg, ret *qrpc.RpcResult) e
 
 //发送保函消息
 func (w *WeiXinRpc) SendLOGApplyMsg(param *qrpc.NotifyMsg, ret *qrpc.RpcResult) error {
+	*ret = "Y"
+	return nil
 	_, err := w.Wwx.PostTemplateMessage(param.Openid, TPL_LOGAPPLY_ID, param.Url,
 		weixin.TmplData{
 			"first":    weixin.TmplItem{param.Title, ""},
@@ -214,6 +219,7 @@ func (w *WeiXinRpc) SaveAbnormal(openid string, ret *string) (err error) {
 
 //发送管理员通知
 func (w *WeiXinRpc) SendFeedbackNotifyMsg(param *qrpc.NotifyMsg, ret *qrpc.RpcResult) error {
+	return nil
 	_, err := w.Wwx.PostTemplateMessage(param.Openid, TPL_MANAGERNOTIFY_ID, param.Url,
 		weixin.TmplData{
 			"first":    weixin.TmplItem{param.Title, ""},