Просмотр исходного кода

fix:代用户下单app端个人身份切换

duxin 2 лет назад
Родитель
Сommit
6d8610df85

+ 0 - 23
src/jfw/front/vipsubscribe.go

@@ -1,14 +1,10 @@
 package front
 
 import (
-	"app.yhyue.com/moapp/jybase/encrypt"
-	"app.yhyue.com/moapp/jypkg/identity"
 	"encoding/hex"
-	"encoding/json"
 	"fmt"
 	"jy/src/jfw/config"
 	"jy/src/jfw/wx"
-	"log"
 	"net/url"
 	"strings"
 	"time"
@@ -333,14 +329,6 @@ func (s *Subscribepay) ToChooseIndustry() {
 
 // 订阅收费支付订单详情页面
 func (s *Subscribepay) ToOrderDetailPage() {
-	token := s.GetString("token")
-	if token != "" { //代用户下单app push跳转而来 切换身份为个人身份
-		identityInfo := decode(token)
-		if identityInfo != nil {
-			identityInfo.Switch(s.Session(), &mongodb)
-		}
-	}
-
 	s.T["signature"] = wx.SignJSSDK(s.Site() + s.Url()) //微信支付准备参数
 	s.T["liveActiveStartTime"] = liveActiveStartTime
 	s.T["liveActiveEndTime"] = liveActiveEndTime
@@ -348,17 +336,6 @@ func (s *Subscribepay) ToOrderDetailPage() {
 	s.Render("/weixin/vipsubscribe/vip_order_detail.html")
 }
 
-// 解密
-func decode(v string) *identity.IdentityInfo {
-	i := &identity.IdentityInfo{}
-	err := json.Unmarshal([]byte(encrypt.SE.Decode4Hex(v)), &i)
-	if err != nil {
-		log.Println("身份切换,解密token出错", err)
-		return nil
-	}
-	return i
-}
-
 // 订阅收费设置关键词
 func (s *Subscribepay) ToSetKeyWordPage() {
 	myopenid := util.ObjToString(s.GetSession("s_m_openid"))

+ 322 - 297
src/jfw/modules/app/src/app/front/vipsubscribe.go

@@ -1,376 +1,401 @@
 package front
 
 import (
-    util "app.yhyue.com/moapp/jybase/common"
-    "app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
-    "app.yhyue.com/moapp/jypkg/public"
-    "encoding/hex"
-    "jy/src/jfw/modules/app/src/app/jyutil"
-    utils "jy/src/jfw/modules/app/src/app/jyutil"
-    "jy/src/jfw/modules/app/src/jfw/config"
-    "net/url"
-    "strings"
-    "time"
-
-    "app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	util "app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	mgo "app.yhyue.com/moapp/jybase/mongodb"
+	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
+	"app.yhyue.com/moapp/jypkg/identity"
+	"app.yhyue.com/moapp/jypkg/public"
+	"encoding/hex"
+	"encoding/json"
+	"jy/src/jfw/modules/app/src/app/jyutil"
+	utils "jy/src/jfw/modules/app/src/app/jyutil"
+	"jy/src/jfw/modules/app/src/jfw/config"
+	"log"
+	"net/url"
+	"strings"
+	"time"
+
+	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
 )
 
 type Subscribepay struct {
-    *xweb.Action
-    introduce         xweb.Mapper `xweb:"/jyapp/vipsubscribe/introducePage"`     //订阅收费介绍页
-    trialInfo         xweb.Mapper `xweb:"/jyapp/vipsubscribe/trialInfo"`         //vip订阅服务-用户信息录入页面
-    toPurchasePage    xweb.Mapper `xweb:"/jyapp/vipsubscribe/vipsubscribe_(.*)"` //订阅收费购买页面(试用用户)
-    toChooseArea      xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChooseArea"`      //订阅收费地区筛选
-    toChooseIndustry  xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChooseIndustry"`  //订阅收费行业筛选
-    toOrderDetailPage xweb.Mapper `xweb:"/jyapp/vipsubscribe/toOrderDetailPage"` //订阅收费支付订单详情页面
-    toSetKeyWordPage  xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSetKeyWordPage"`  //订阅收费设置关键词
-
-    //toSetPageOld         xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSetPage"`         //订阅收费设置
-    toSetInfoTypePage xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSetInfoTypePage"` //订阅收费设置信息类型
-    toSetOtherKwsPage xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSet(.*)Page"`     //订阅收费附加词和排除词设置
-    toVIPViewPage     xweb.Mapper `xweb:"/jyapp/vipsubscribe/toVIPViewPage"`     //订阅收费预览
-
-    upgradeDetail xweb.Mapper `xweb:"/jyapp/vipsubscribe/upgradeDetail"` //新超级订阅介绍页
-    upgradePage   xweb.Mapper `xweb:"/jyapp/vipsubscribe/upgradePage"`   //升级页面
-
-    //修改升级
-    toSetPage        xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSubVipSetPage"`  //订阅收费设置
-    toChangeArea     xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChangeArea"`     //修改区域
-    toChangeIndustry xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChangeIndustry"` //修改行业
-    toChangeTime     xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChangeTime"`     //修改时间
-    toSetPushSetPage xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSetPushSetPage"` //订阅收费推送设置
-    //续费
-    renewPage xweb.Mapper `xweb:"/jyapp/vipsubscribe/renewPage/(.*)"` //订阅到期(will:即将到期,exprie:已到期)
-
-    //发票
-    openInvoice xweb.Mapper `xweb:"/jyapp/vipsubscribe/openInvoice/(\\w+)"` //开发票
-
-    //订阅付费消息提醒中转
-    msgremind xweb.Mapper `xweb:"/jyapp/vipsubscribe/msgremind"`
-
-    //超级订阅企业搜索
-    entSearch   xweb.Mapper `xweb:"/jyapp/vipsubscribe/entSearch"`   //企业搜索
-    entPortrait xweb.Mapper `xweb:"/jyapp/vipsubscribe/entPortrait"` //超级订阅企业画像
-
-    //超级订阅公共url
-    pageManager xweb.Mapper `xweb:"/jyapp/vipsubscribe/page/(.*)"`
+	*xweb.Action
+	introduce         xweb.Mapper `xweb:"/jyapp/vipsubscribe/introducePage"`     //订阅收费介绍页
+	trialInfo         xweb.Mapper `xweb:"/jyapp/vipsubscribe/trialInfo"`         //vip订阅服务-用户信息录入页面
+	toPurchasePage    xweb.Mapper `xweb:"/jyapp/vipsubscribe/vipsubscribe_(.*)"` //订阅收费购买页面(试用用户)
+	toChooseArea      xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChooseArea"`      //订阅收费地区筛选
+	toChooseIndustry  xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChooseIndustry"`  //订阅收费行业筛选
+	toOrderDetailPage xweb.Mapper `xweb:"/jyapp/vipsubscribe/toOrderDetailPage"` //订阅收费支付订单详情页面
+	toSetKeyWordPage  xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSetKeyWordPage"`  //订阅收费设置关键词
+
+	//toSetPageOld         xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSetPage"`         //订阅收费设置
+	toSetInfoTypePage xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSetInfoTypePage"` //订阅收费设置信息类型
+	toSetOtherKwsPage xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSet(.*)Page"`     //订阅收费附加词和排除词设置
+	toVIPViewPage     xweb.Mapper `xweb:"/jyapp/vipsubscribe/toVIPViewPage"`     //订阅收费预览
+
+	upgradeDetail xweb.Mapper `xweb:"/jyapp/vipsubscribe/upgradeDetail"` //新超级订阅介绍页
+	upgradePage   xweb.Mapper `xweb:"/jyapp/vipsubscribe/upgradePage"`   //升级页面
+
+	//修改升级
+	toSetPage        xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSubVipSetPage"`  //订阅收费设置
+	toChangeArea     xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChangeArea"`     //修改区域
+	toChangeIndustry xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChangeIndustry"` //修改行业
+	toChangeTime     xweb.Mapper `xweb:"/jyapp/vipsubscribe/toChangeTime"`     //修改时间
+	toSetPushSetPage xweb.Mapper `xweb:"/jyapp/vipsubscribe/toSetPushSetPage"` //订阅收费推送设置
+	//续费
+	renewPage xweb.Mapper `xweb:"/jyapp/vipsubscribe/renewPage/(.*)"` //订阅到期(will:即将到期,exprie:已到期)
+
+	//发票
+	openInvoice xweb.Mapper `xweb:"/jyapp/vipsubscribe/openInvoice/(\\w+)"` //开发票
+
+	//订阅付费消息提醒中转
+	msgremind xweb.Mapper `xweb:"/jyapp/vipsubscribe/msgremind"`
+
+	//超级订阅企业搜索
+	entSearch   xweb.Mapper `xweb:"/jyapp/vipsubscribe/entSearch"`   //企业搜索
+	entPortrait xweb.Mapper `xweb:"/jyapp/vipsubscribe/entPortrait"` //超级订阅企业画像
+
+	//超级订阅公共url
+	pageManager xweb.Mapper `xweb:"/jyapp/vipsubscribe/page/(.*)"`
 }
 
 func init() {
-    xweb.AddAction(&Subscribepay{})
+	xweb.AddAction(&Subscribepay{})
 }
 
-//超级订阅企业画像
+// 超级订阅企业画像
 func (s *Subscribepay) EntPortrait() {
-    s.Render("/vipsubscribe/vip_entPortrait.html")
+	s.Render("/vipsubscribe/vip_entPortrait.html")
 }
 
-//企业搜索
+// 企业搜索
 func (s *Subscribepay) EntSearch() {
-    s.Render("/vipsubscribe/vip_entSearch.html")
+	s.Render("/vipsubscribe/vip_entSearch.html")
 }
 
 func (s *Subscribepay) UpgradeDetail() {
-    s.Render("/vipsubscribe/vip_UpgradeDetail.html")
+	s.Render("/vipsubscribe/vip_UpgradeDetail.html")
 }
 
 func (s *Subscribepay) UpgradePage() {
-    s.Render("/vipsubscribe/vip_UpgradePage.html")
+	s.Render("/vipsubscribe/vip_UpgradePage.html")
 }
 
-//推送设置
+// 推送设置
 func (s *Subscribepay) ToVIPViewPage() {
-    s.Render("/vipsubscribe/vip_viewPage.html")
+	s.Render("/vipsubscribe/vip_viewPage.html")
 }
 
-//附加词|排除词
+// 附加词|排除词
 func (s *Subscribepay) ToSetOtherKwsPage(page string) {
-    s.Render("/vipsubscribe/" + page + "Word.html")
+	s.Render("/vipsubscribe/" + page + "Word.html")
 }
 
-//推送设置
+// 推送设置
 func (s *Subscribepay) ToSetPushSetPage() {
-    s.Render("/vipsubscribe/vip_seniorset.html")
+	s.Render("/vipsubscribe/vip_seniorset.html")
 }
 
-//信息类型
+// 信息类型
 func (s *Subscribepay) ToSetInfoTypePage() {
-    s.Render("/vipsubscribe/messageType.html")
+	s.Render("/vipsubscribe/messageType.html")
 }
 
-//订阅设置
+// 订阅设置
 func (s *Subscribepay) ToSetPage() {
-    userid, _ := s.GetSession("userId").(string)
-    vSwitch := s.GetString("vSwitch")
-    if strings.Contains(s.Refer(), "/jyapp/jylab/index") {
-        vSwitch = jy.SwitchService.Vip
-    }
-    if vSwitch != "" {
-        if vSwitch == jy.SwitchService.Vip {
-            s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Vip)
-        } else if vSwitch == jy.SwitchService.Member {
-            s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Member)
-        }
-    }
-    vSwitch = jy.SwitchService.GetEntniche(s.Session(), *config.Middleground) //v:vip m:member
-    bigBaseMsg := jy.GetBigVipUserBaseMsg(s.Session(), *config.Middleground)
-    if (vSwitch == "" || vSwitch == "v") && bigBaseMsg.VipStatus <= 0 && !bigBaseMsg.IsUpgrade {
-        s.Redirect("/jyapp/wxkeyset/keyset/index")
-    }
-    //如果没有首次使用 P195>移动端首次使用大会员订阅的用户,点击【订阅管理】不再展示“大会员首次使用向导”,直接进入【订阅管理】页面(注:该向导会根据现状重新进行设计)
-    //if vSwitch == "m" && bigBaseMsg.Status > 0 && !bigBaseMsg.Used {
-    //	s.Redirect("/jyapp/big/page/init") //跳转至首次初始化页面
-    //	return
-    //}
-    //仅免费用户跳转向导页面
-    if bigBaseMsg.Status <= 0 && bigBaseMsg.VipStatus <= 0 && isInTSguide(userid, s.Session()) {
-        s.Redirect("/jyapp/tenderSubscribe/guide?url=" + url.QueryEscape(s.Request.RequestURI))
-    }
-    s.Render("/vipsubscribe/vip_index_new.html")
+	userid, _ := s.GetSession("userId").(string)
+	vSwitch := s.GetString("vSwitch")
+	if strings.Contains(s.Refer(), "/jyapp/jylab/index") {
+		vSwitch = jy.SwitchService.Vip
+	}
+	if vSwitch != "" {
+		if vSwitch == jy.SwitchService.Vip {
+			s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Vip)
+		} else if vSwitch == jy.SwitchService.Member {
+			s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Member)
+		}
+	}
+	vSwitch = jy.SwitchService.GetEntniche(s.Session(), *config.Middleground) //v:vip m:member
+	bigBaseMsg := jy.GetBigVipUserBaseMsg(s.Session(), *config.Middleground)
+	if (vSwitch == "" || vSwitch == "v") && bigBaseMsg.VipStatus <= 0 && !bigBaseMsg.IsUpgrade {
+		s.Redirect("/jyapp/wxkeyset/keyset/index")
+	}
+	//如果没有首次使用 P195>移动端首次使用大会员订阅的用户,点击【订阅管理】不再展示“大会员首次使用向导”,直接进入【订阅管理】页面(注:该向导会根据现状重新进行设计)
+	//if vSwitch == "m" && bigBaseMsg.Status > 0 && !bigBaseMsg.Used {
+	//	s.Redirect("/jyapp/big/page/init") //跳转至首次初始化页面
+	//	return
+	//}
+	//仅免费用户跳转向导页面
+	if bigBaseMsg.Status <= 0 && bigBaseMsg.VipStatus <= 0 && isInTSguide(userid, s.Session()) {
+		s.Redirect("/jyapp/tenderSubscribe/guide?url=" + url.QueryEscape(s.Request.RequestURI))
+	}
+	s.Render("/vipsubscribe/vip_index_new.html")
 }
 
-//修改升级 选择地区
+// 修改升级 选择地区
 func (s *Subscribepay) ToChangeArea() {
-    s.Render("/vipsubscribe/change_area.html")
+	s.Render("/vipsubscribe/change_area.html")
 }
 
-//修改升级 选择行业
+// 修改升级 选择行业
 func (s *Subscribepay) ToChangeIndustry() {
-    s.Render("/vipsubscribe/change_industry.html")
+	s.Render("/vipsubscribe/change_industry.html")
 }
 
-//修改升级 选择时间
+// 修改升级 选择时间
 func (s *Subscribepay) ToChangeTime() {
-    s.Render("/vipsubscribe/change_time.html")
+	s.Render("/vipsubscribe/change_time.html")
 }
 
-//vip订阅介绍页
+// vip订阅介绍页
 func (s *Subscribepay) Introduce() error {
-    s.T["disWord"] = s.GetString("disWord")
-    s.T["isIosExam"], s.T["isIosExamPhone"], _, _ = jyutil.IosExamInfo(s.Action, false, false)
-    userId := util.ObjToString(s.GetSession("userId"))
-    if userId == "" {
-        return s.Render("/vipsubscribe/vip_introduce.html")
-    }
-    m := utils.Compatible.Select(userId, `{"o_vipjy":1,"i_vip_status":1}`)
-    if len(*m) == 0 {
-        return s.Redirect("/jyapp/login")
-    }
-    from := s.GetString("type") //双十一活动 接受参数renew 跳转到介绍页(续费)
-    if util.IntAll((*m)["i_vip_status"]) > 0 && from != "renew" {
-        if s.GetString("disWord") != "" {
-            //分销识别 直接VIP续费
-            if util.IntAll((*m)["i_vip_status"]) == 1 { //试用用户
-                return s.Redirect("/jy_mobile/common/order/create/svip?type=buy&disWord=" + s.GetString("disWord"))
-            } else {
-                return s.Redirect("/jy_mobile/common/order/create/svip?type=renew/jy_mobile/common/order/create/svip?type=renew&disWord=" + s.GetString("disWord"))
-            }
-        }
-        return s.Redirect("/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=v")
-    }
-    obj := util.ObjToMap((*m)["o_vipjy"])
-    s.T["notShowTrial"] = util.IntAll((*obj)["i_trial"]) == -1 || (*m)["i_vip_status"] != nil
-    s.T["loginFlag"] = true
-    return s.Render("/vipsubscribe/vip_introduce.html")
+	s.T["disWord"] = s.GetString("disWord")
+	s.T["isIosExam"], s.T["isIosExamPhone"], _, _ = jyutil.IosExamInfo(s.Action, false, false)
+	userId := util.ObjToString(s.GetSession("userId"))
+	if userId == "" {
+		return s.Render("/vipsubscribe/vip_introduce.html")
+	}
+	m := utils.Compatible.Select(userId, `{"o_vipjy":1,"i_vip_status":1}`)
+	if len(*m) == 0 {
+		return s.Redirect("/jyapp/login")
+	}
+	from := s.GetString("type") //双十一活动 接受参数renew 跳转到介绍页(续费)
+	if util.IntAll((*m)["i_vip_status"]) > 0 && from != "renew" {
+		if s.GetString("disWord") != "" {
+			//分销识别 直接VIP续费
+			if util.IntAll((*m)["i_vip_status"]) == 1 { //试用用户
+				return s.Redirect("/jy_mobile/common/order/create/svip?type=buy&disWord=" + s.GetString("disWord"))
+			} else {
+				return s.Redirect("/jy_mobile/common/order/create/svip?type=renew/jy_mobile/common/order/create/svip?type=renew&disWord=" + s.GetString("disWord"))
+			}
+		}
+		return s.Redirect("/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=v")
+	}
+	obj := util.ObjToMap((*m)["o_vipjy"])
+	s.T["notShowTrial"] = util.IntAll((*obj)["i_trial"]) == -1 || (*m)["i_vip_status"] != nil
+	s.T["loginFlag"] = true
+	return s.Render("/vipsubscribe/vip_introduce.html")
 }
 
-//试用完善信息
+// 试用完善信息
 func (s *Subscribepay) TrialInfo() error {
-    userId := util.ObjToString(s.GetSession("userId"))
-    if userId == "" {
-        return s.Redirect("/jyapp/login")
-    }
-    m := utils.Compatible.Select(userId, `{"o_vipjy":1}`)
-    if len(*m) == 0 {
-        return s.Redirect("/jyapp/login")
-    }
-    obj := util.ObjToMap((*m)["o_vipjy"])
-    s.T["trialSign"] = util.IntAll((*obj)["i_trial"]) == 1
-    return s.Render("/vipsubscribe/trial_info.html", &s.T)
+	userId := util.ObjToString(s.GetSession("userId"))
+	if userId == "" {
+		return s.Redirect("/jyapp/login")
+	}
+	m := utils.Compatible.Select(userId, `{"o_vipjy":1}`)
+	if len(*m) == 0 {
+		return s.Redirect("/jyapp/login")
+	}
+	obj := util.ObjToMap((*m)["o_vipjy"])
+	s.T["trialSign"] = util.IntAll((*obj)["i_trial"]) == 1
+	return s.Render("/vipsubscribe/trial_info.html", &s.T)
 }
 
-//订阅收费购买页面
+// 订阅收费购买页面
 func (s *Subscribepay) ToPurchasePage(flag string) {
-    //直播活动
-    if flag == "trial" { //试用
-        s.T["isTrial"] = true
-        s.T["orderType"] = -1
-    } else { //付费
-        userId := util.ObjToString(s.GetSession("userId"))
-        if userId == "" {
-            s.Redirect("/jyapp/login")
-            return
-        }
-        m := utils.Compatible.Select(userId, `{"o_vipjy":1,"i_vip_status":1}`)
-        if m == nil || len(*m) <= 0 {
-            s.Redirect("/jyapp/login")
-            return
-        }
-        if util.IntAll((*m)["i_vip_status"]) > 0 || flag == "renew" {
-            s.Render("/vipsubscribe/vip_renew.html")
-            return
-        }
-        s.T["orderType"] = 1
-        if s.GetString("orderCode") != "" && s.GetString("orderCode") != "undefined" {
-            s.T["again"] = 1 //再次购买
-        }
-    }
-    s.Render("/vipsubscribe/vip_purchase.html")
+	//直播活动
+	if flag == "trial" { //试用
+		s.T["isTrial"] = true
+		s.T["orderType"] = -1
+	} else { //付费
+		userId := util.ObjToString(s.GetSession("userId"))
+		if userId == "" {
+			s.Redirect("/jyapp/login")
+			return
+		}
+		m := utils.Compatible.Select(userId, `{"o_vipjy":1,"i_vip_status":1}`)
+		if m == nil || len(*m) <= 0 {
+			s.Redirect("/jyapp/login")
+			return
+		}
+		if util.IntAll((*m)["i_vip_status"]) > 0 || flag == "renew" {
+			s.Render("/vipsubscribe/vip_renew.html")
+			return
+		}
+		s.T["orderType"] = 1
+		if s.GetString("orderCode") != "" && s.GetString("orderCode") != "undefined" {
+			s.T["again"] = 1 //再次购买
+		}
+	}
+	s.Render("/vipsubscribe/vip_purchase.html")
 }
 
-//订阅收费地区筛选
+// 订阅收费地区筛选
 func (s *Subscribepay) ToChooseArea() {
-    s.Render("/vipsubscribe/choose_area.html", &s.T)
+	s.Render("/vipsubscribe/choose_area.html", &s.T)
 }
 
-//订阅收费地区筛选
+// 订阅收费地区筛选
 func (s *Subscribepay) ToChooseIndustry() {
-    s.Render("/vipsubscribe/choose_industry.html", &s.T)
+	s.Render("/vipsubscribe/choose_industry.html", &s.T)
 }
 
-//订阅收费支付订单详情页面
+// 订阅收费支付订单详情页面
 func (s *Subscribepay) ToOrderDetailPage() {
-    s.Render("/vipsubscribe/vip_order_detail.html")
+	userId := util.ObjToString(s.GetSession("userId"))
+	userIdentity := s.GetString("identity")
+	if mgo.IsObjectIdHex(userId) && userIdentity != "" { //代用户下单app push跳转而来 切换身份为个人身份
+		log.Println("企业身份访问代用户订单:", userId, userIdentity)
+		identityInfo := decode(userIdentity)
+		if identityInfo != nil {
+			identityInfo.Switch(s.Session(), &mongodb)
+		}
+	}
+	s.Render("/vipsubscribe/vip_order_detail.html")
 }
 
-//订阅收费设置关键词
+// 解密
+func decode(v string) *identity.IdentityInfo {
+	i := &identity.IdentityInfo{}
+	err := json.Unmarshal([]byte(encrypt.SE.Decode4Hex(v)), &i)
+	if err != nil {
+		log.Println("身份切换,解密token出错", err)
+		return nil
+	}
+	return i
+}
+
+// 订阅收费设置关键词
 func (s *Subscribepay) ToSetKeyWordPage() {
-    vSwitch := s.GetString("vSwitch")
-    if strings.Contains(s.Refer(), "/jyapp/jylab/index") {
-        vSwitch = jy.SwitchService.Vip
-    }
-    if vSwitch != "" {
-        if vSwitch == jy.SwitchService.Vip {
-            s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Vip)
-        } else if vSwitch == jy.SwitchService.Member {
-            s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Member)
-        }
-    }
-
-    vSwitch = jy.SwitchService.GetEntniche(s.Session(), *config.Middleground) //v:vip m:member
-    //bigBaseMsg := jy.GetBigVipUserBaseMsg(s.Session(), *config.Middleground)
-    //如果没有首次使用   P195>移动端首次使用大会员订阅的用户,点击【订阅管理】不再展示“大会员首次使用向导”,直接进入【订阅管理】页面(注:该向导会根据现状重新进行设计)
-    //if vSwitch == "m" && bigBaseMsg.Status > 0 && !bigBaseMsg.Used {
-    //	s.Redirect("/jyapp/big/page/init") //跳转至首次初始化页面
-    //	return
-    //}
-    s.Render("/vipsubscribe/keyWord.html")
+	vSwitch := s.GetString("vSwitch")
+	if strings.Contains(s.Refer(), "/jyapp/jylab/index") {
+		vSwitch = jy.SwitchService.Vip
+	}
+	if vSwitch != "" {
+		if vSwitch == jy.SwitchService.Vip {
+			s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Vip)
+		} else if vSwitch == jy.SwitchService.Member {
+			s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Member)
+		}
+	}
+
+	vSwitch = jy.SwitchService.GetEntniche(s.Session(), *config.Middleground) //v:vip m:member
+	//bigBaseMsg := jy.GetBigVipUserBaseMsg(s.Session(), *config.Middleground)
+	//如果没有首次使用   P195>移动端首次使用大会员订阅的用户,点击【订阅管理】不再展示“大会员首次使用向导”,直接进入【订阅管理】页面(注:该向导会根据现状重新进行设计)
+	//if vSwitch == "m" && bigBaseMsg.Status > 0 && !bigBaseMsg.Used {
+	//	s.Redirect("/jyapp/big/page/init") //跳转至首次初始化页面
+	//	return
+	//}
+	s.Render("/vipsubscribe/keyWord.html")
 }
 
-//服务续费(will:即将到期,exprie:已到期)
+// 服务续费(will:即将到期,exprie:已到期)
 func (s *Subscribepay) RenewPage(sign string) {
-    startTime := util.Int64All(s.GetString("startTime"))
-    endTime := util.Int64All(s.GetString("endTime"))
-    orderId := s.GetString("orderId")
-    startTimes := time.Unix(startTime, 0).Format("2006-01-02")
-    endTimes := time.Unix(endTime, 0).Format("2006-01-02")
-    s.T["orderId"] = orderId
-    s.T["startTime"] = startTimes
-    s.T["endTime"] = endTimes
-    s.T["exprie"] = sign //是否已到期
-    s.Render("/vipsubscribe/renew_notice.html", &s.T)
+	startTime := util.Int64All(s.GetString("startTime"))
+	endTime := util.Int64All(s.GetString("endTime"))
+	orderId := s.GetString("orderId")
+	startTimes := time.Unix(startTime, 0).Format("2006-01-02")
+	endTimes := time.Unix(endTime, 0).Format("2006-01-02")
+	s.T["orderId"] = orderId
+	s.T["startTime"] = startTimes
+	s.T["endTime"] = endTimes
+	s.T["exprie"] = sign //是否已到期
+	s.Render("/vipsubscribe/renew_notice.html", &s.T)
 }
 
-//开发票
+// 开发票
 func (s *Subscribepay) OpenInvoice(order_code string) {
-    s.T["order_code"] = order_code
-    s.Render("/dataExport/dataExport_applyInvoice.html", &s.T)
+	s.T["order_code"] = order_code
+	s.Render("/dataExport/dataExport_applyInvoice.html", &s.T)
 }
 
 func (f *Subscribepay) Msgremind() error {
-    param := map[string]string{}
-    if array := strings.Split(f.Url(), "?"); len(array) == 2 {
-        decode, _ := hex.DecodeString(array[1])
-        for _, v := range strings.Split(string(decode), "&") {
-            if vv := strings.Split(v, "="); len(vv) == 2 {
-                param[vv[0]] = vv[1]
-            }
-        }
-    }
-    t := param["type"]
-    if t == "unpaid" { //未支付 已支付
-        return f.Redirect("/jyapp/vipsubscribe/toOrderDetailPage?orderCode=" + param["ordercode"])
-    } else if t == "bigmember_unpaid" {
-        return f.Redirect("/jyapp/big/page/orderdetail_member?order_code=" + param["ordercode"])
-    } else if t == "unknow_unpaid" {
-        return f.Redirect("/jyapp/front/myOrder/toMyOrder")
-    }
-    userId, _ := f.GetSession("userId").(string)
-    if userId == "" {
-        return f.Render("_error.html")
-    }
-    user := utils.Compatible.Select(userId, `{"i_vip_status":1,"l_vip_endtime":1,"i_member_status":1,"i_member_endtime":1}`)
-    if user == nil || len(*user) == 0 {
-        return f.Render("_error.html")
-    }
-    myLastOrderCode := func(user_id string) string {
-        order := public.Mysql.FindOne("dataexport_order", map[string]interface{}{
-            "user_id":      user_id,
-            "order_status": 1,
-            "product_type": "VIP订阅",
-        }, "id,order_code", "pay_time desc")
-        if order != nil && len(*order) > 0 {
-            return util.ObjToString((*order)["order_code"])
-        } else {
-            return ""
-        }
-    }
-    i_vip_status := util.IntAll((*user)["i_vip_status"])
-    if t == "bigmember_soonexprie" || t == "bigmember_expried" { //大会员即将到期、已到期
-        now_unix := time.Now().Unix()
-        i_member_endtime := util.Int64All((*user)["i_member_endtime"])
-        if now_unix < i_member_endtime-259200 {
-            //已续费
-            //return f.Redirect("/jyapp/big/page/main_root")
-            return f.Redirect("/jyapp/jylab/index") // 跳转到移动端工作台
-        } else {
-            if now_unix > i_member_endtime {
-                //未续费已到期,跳转到再次购买页面
-                return f.Redirect("/jyapp/big/page/buy_commit?meal=sj&mid=")
-            } else {
-                //未续费未到期,跳转到续费页面
-                //return f.Redirect("/jyapp/big/page/main_root")
-                return f.Redirect("/jyapp/jylab/index")
-            }
-        }
-    } else if t == "paid" {
-        if i_vip_status > 0 {
-            return f.Redirect("/jyapp/vipsubscribe/toSubVipSetPage")
-        } else {
-            return f.Redirect("/jy_mobile/common/order/create/svip?type=buy&orderCode=" + myLastOrderCode(userId))
-        }
-    } else if t == "bigmember_paid" {
-        if util.IntAll((*user)["i_member_status"]) > 0 {
-            //return f.Redirect("/jyapp/big/page/main_root")
-            return f.Redirect("/jyapp/jylab/index")
-        } else {
-            return f.Redirect("/jyapp/big/page/buy_commit?meal=sj&mid=")
-        }
-    } else if t == "soonexprie" || t == "expried" { //即将到期 已到期
-        now_unix := time.Now().Unix()
-        l_vip_endtime := util.Int64All((*user)["l_vip_endtime"])
-        if now_unix < l_vip_endtime-259200 {
-            //已续费
-            return f.Redirect("/jyapp/vipsubscribe/toSubVipSetPage")
-        } else {
-            if now_unix > l_vip_endtime {
-                //未续费已到期,跳转到再次购买页面
-                return f.Redirect("/jy_mobile/common/order/create/svip?type=buy&orderCode=" + myLastOrderCode(userId))
-            } else {
-                //未续费未到期,跳转到续费页面
-                return f.Redirect("/jy_mobile/common/order/create/svip?type=renew")
-            }
-        }
-    } else if t == "ontrial_soonexprie" || t == "ontrial_expried" { //试用即将到期 试用已到期
-        if i_vip_status == 2 {
-            return f.Redirect("/jyapp/vipsubscribe/toSubVipSetPage")
-        } else {
-            return f.Redirect("/jy_mobile/common/order/create/svip?type=buy")
-        }
-    }
-    return f.Render("_error.html")
+	param := map[string]string{}
+	if array := strings.Split(f.Url(), "?"); len(array) == 2 {
+		decode, _ := hex.DecodeString(array[1])
+		for _, v := range strings.Split(string(decode), "&") {
+			if vv := strings.Split(v, "="); len(vv) == 2 {
+				param[vv[0]] = vv[1]
+			}
+		}
+	}
+	t := param["type"]
+	if t == "unpaid" { //未支付 已支付
+		return f.Redirect("/jyapp/vipsubscribe/toOrderDetailPage?orderCode=" + param["ordercode"])
+	} else if t == "bigmember_unpaid" {
+		return f.Redirect("/jyapp/big/page/orderdetail_member?order_code=" + param["ordercode"])
+	} else if t == "unknow_unpaid" {
+		return f.Redirect("/jyapp/front/myOrder/toMyOrder")
+	}
+	userId, _ := f.GetSession("userId").(string)
+	if userId == "" {
+		return f.Render("_error.html")
+	}
+	user := utils.Compatible.Select(userId, `{"i_vip_status":1,"l_vip_endtime":1,"i_member_status":1,"i_member_endtime":1}`)
+	if user == nil || len(*user) == 0 {
+		return f.Render("_error.html")
+	}
+	myLastOrderCode := func(user_id string) string {
+		order := public.Mysql.FindOne("dataexport_order", map[string]interface{}{
+			"user_id":      user_id,
+			"order_status": 1,
+			"product_type": "VIP订阅",
+		}, "id,order_code", "pay_time desc")
+		if order != nil && len(*order) > 0 {
+			return util.ObjToString((*order)["order_code"])
+		} else {
+			return ""
+		}
+	}
+	i_vip_status := util.IntAll((*user)["i_vip_status"])
+	if t == "bigmember_soonexprie" || t == "bigmember_expried" { //大会员即将到期、已到期
+		now_unix := time.Now().Unix()
+		i_member_endtime := util.Int64All((*user)["i_member_endtime"])
+		if now_unix < i_member_endtime-259200 {
+			//已续费
+			//return f.Redirect("/jyapp/big/page/main_root")
+			return f.Redirect("/jyapp/jylab/index") // 跳转到移动端工作台
+		} else {
+			if now_unix > i_member_endtime {
+				//未续费已到期,跳转到再次购买页面
+				return f.Redirect("/jyapp/big/page/buy_commit?meal=sj&mid=")
+			} else {
+				//未续费未到期,跳转到续费页面
+				//return f.Redirect("/jyapp/big/page/main_root")
+				return f.Redirect("/jyapp/jylab/index")
+			}
+		}
+	} else if t == "paid" {
+		if i_vip_status > 0 {
+			return f.Redirect("/jyapp/vipsubscribe/toSubVipSetPage")
+		} else {
+			return f.Redirect("/jy_mobile/common/order/create/svip?type=buy&orderCode=" + myLastOrderCode(userId))
+		}
+	} else if t == "bigmember_paid" {
+		if util.IntAll((*user)["i_member_status"]) > 0 {
+			//return f.Redirect("/jyapp/big/page/main_root")
+			return f.Redirect("/jyapp/jylab/index")
+		} else {
+			return f.Redirect("/jyapp/big/page/buy_commit?meal=sj&mid=")
+		}
+	} else if t == "soonexprie" || t == "expried" { //即将到期 已到期
+		now_unix := time.Now().Unix()
+		l_vip_endtime := util.Int64All((*user)["l_vip_endtime"])
+		if now_unix < l_vip_endtime-259200 {
+			//已续费
+			return f.Redirect("/jyapp/vipsubscribe/toSubVipSetPage")
+		} else {
+			if now_unix > l_vip_endtime {
+				//未续费已到期,跳转到再次购买页面
+				return f.Redirect("/jy_mobile/common/order/create/svip?type=buy&orderCode=" + myLastOrderCode(userId))
+			} else {
+				//未续费未到期,跳转到续费页面
+				return f.Redirect("/jy_mobile/common/order/create/svip?type=renew")
+			}
+		}
+	} else if t == "ontrial_soonexprie" || t == "ontrial_expried" { //试用即将到期 试用已到期
+		if i_vip_status == 2 {
+			return f.Redirect("/jyapp/vipsubscribe/toSubVipSetPage")
+		} else {
+			return f.Redirect("/jy_mobile/common/order/create/svip?type=buy")
+		}
+	}
+	return f.Render("_error.html")
 }
 
 func (this *Subscribepay) PageManager(htmlName string) error {
-    return this.Render("/vipsubscribe/page_" + htmlName + ".html")
+	return this.Render("/vipsubscribe/page_" + htmlName + ".html")
 }

+ 2 - 2
src/jfw/modules/subscribepay/src/util/sellerOrder.go

@@ -127,8 +127,8 @@ func SendStationMessages(href, userId, action, msgType, title, content, link, an
 			}
 		}
 		if token != "" {
-			androidUrl = fmt.Sprintf("%s&token=%s", androidUrl, token)
-			iosUrl = fmt.Sprintf("%s&token=%s", iosUrl, token)
+			androidUrl = fmt.Sprintf("%s&identity=%s", androidUrl, token)
+			iosUrl = fmt.Sprintf("%s&identity=%s", iosUrl, token)
 		}
 	}