|
@@ -99,3 +99,57 @@ func Ad(sCode string, n int, host, sessionId string) []jy.AdInfo {
|
|
|
}
|
|
|
return ads
|
|
|
}
|
|
|
+func AdDetail(sCode string, n int, host, sessionId string, subtype string) []jy.AdInfo {
|
|
|
+ defer util.Catch()
|
|
|
+ log.Println("sessionId:", sessionId)
|
|
|
+ var (
|
|
|
+ isLogin bool
|
|
|
+ baseInfo *jy.BigVipBaseMsg
|
|
|
+ )
|
|
|
+ if sessionId != "" {
|
|
|
+ sessionId, _ = url.QueryUnescape(sessionId)
|
|
|
+ //adSessionLock.Lock()
|
|
|
+ jyS := &jySession{}
|
|
|
+ //jyS := adSessionMap[sessionId]
|
|
|
+ //adSessionLock.Unlock()
|
|
|
+ if jyS == nil || jyS.UserId == "" {
|
|
|
+ rVal, err := redis.GetBytes("session", sessionId)
|
|
|
+ if err == nil {
|
|
|
+ if err = json.Unmarshal(*rVal, &jyS); err != nil {
|
|
|
+ log.Println("ad session err:", err.Error())
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if jyS != nil && jyS.UserId != "" {
|
|
|
+ baseInfo = jy.GetBigVipUserBaseMsgBySessVal(map[string]interface{}{
|
|
|
+ "base_user_id": jyS.BaseUserId,
|
|
|
+ "entId": jyS.EntId,
|
|
|
+ "positionType": jyS.PositionType,
|
|
|
+ "accountId": jyS.AccountId,
|
|
|
+ "positionId": jyS.PositionId,
|
|
|
+ "userId": jyS.UserId,
|
|
|
+ "mgoUserId": jyS.MgoUserId,
|
|
|
+ }, *config.Middleground)
|
|
|
+ if baseInfo != nil && baseInfo.Uid != "" {
|
|
|
+ isLogin = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ adf := jy.AdFunc{
|
|
|
+ AdCodes: []string{sCode},
|
|
|
+ UserInfo: baseInfo,
|
|
|
+ Mgo: &public.MQFW,
|
|
|
+ MySql: public.Mysql,
|
|
|
+ Host: host,
|
|
|
+ Ads: nil,
|
|
|
+ OrderCode: "",
|
|
|
+ IsLogin: isLogin,
|
|
|
+ SessionId: sessionId,
|
|
|
+ Subtype: subtype,
|
|
|
+ }
|
|
|
+ ads := adf.GetAdInfos()[sCode]
|
|
|
+ if n > 0 {
|
|
|
+ return ads[:n]
|
|
|
+ }
|
|
|
+ return ads
|
|
|
+}
|