示例#1
0
        /// <summary>
        /// 获得团详情分享信息
        /// </summary>
        /// <param name="teamDetailList"></param>
        /// <returns></returns>
        public TeamSharedModel GetTeamSharedInfo(IList <TeamDetailEntity> teamDetailList)
        {
            /// 团分享对象Model
            TeamSharedModel teamSharedModel = new TeamSharedModel();

            /// 登录用户ID
            int LoginUserId = 0;

            // 登录用户
            if (base.LoginUser != null)
            {
                LoginUserId = base.LoginUser.UserID;
            }

            teamSharedModel.RestTeamMemberNum = (teamDetailList.First().TeamNumbers - teamDetailList.Count());
            LogHelper.Info("------------RestTeamMemberNum-----RestTeamMemberNum1:" + teamSharedModel.RestTeamMemberNum);

            /// 用户已经登录
            if (LoginUserId > 0)
            {
                /// 团成员
                if (teamDetailList.Where(d => d.UserId == LoginUserId).Count() > 0)
                {
                    /// 标题
                    StringBuilder strbul = new StringBuilder();
                    strbul.Append(ShareUtils.TeamJoinSharedTitle_Joined_prefix).Append(teamDetailList.First().ProductName)
                    .Append(teamDetailList.First().MainValue).Append(teamDetailList.First().SubValue)
                    .Append(teamDetailList.First().NetWeightUnit).Append(ShareUtils.TeamJoinSharedTitle_Joined_suffix);

                    teamSharedModel.Title = strbul.ToString();

                    /// 第一张缩略图(180x180图)
                    teamSharedModel.ImagePath = PathHelper.GetImageSmallUrl(teamDetailList.First().ImagePath);

                    /// 描述
                    if (teamDetailList.Count() < teamDetailList.First().TeamNumbers)
                    {
                        teamSharedModel.Description = ShareUtils.TeamJoinSharedDescription_Joined_prefix
                                                      + (teamDetailList.First().TeamNumbers - teamDetailList.Count())
                                                      + ShareUtils.TeamJoinSharedDescription_Joined_suffix;
                    }
                    else
                    {
                        teamSharedModel.Description = ShareUtils.TeamJoinSharedDescription_Joined_Full;
                    }
                }
                /// 未参团
                else
                {
                    /// 标题
                    StringBuilder strbul = new StringBuilder();
                    strbul.Append(teamDetailList.First().ProductName).Append(teamDetailList.First().MainValue)
                    .Append(teamDetailList.First().SubValue).Append(teamDetailList.First().NetWeightUnit);

                    teamSharedModel.Title = strbul.ToString();

                    /// 第一张缩略图(180x180图)
                    teamSharedModel.ImagePath = PathHelper.GetImageSmallUrl(teamDetailList.First().ImagePath);

                    /// 描述
                    teamSharedModel.Description = ShareUtils.TeamJoinSharedDescription_UnJoined;
                }
            }
            /// 未登录
            else
            {
                /// 标题
                StringBuilder strbul = new StringBuilder();
                strbul.Append(teamDetailList.First().ProductName).Append(teamDetailList.First().MainValue)
                .Append(teamDetailList.First().SubValue).Append(teamDetailList.First().NetWeightUnit);

                teamSharedModel.Title = strbul.ToString();

                /// 第一张缩略图(180x180图)
                teamSharedModel.ImagePath = PathHelper.GetImageSmallUrl(teamDetailList.First().ImagePath);

                /// 描述
                teamSharedModel.Description = ShareUtils.TeamJoinSharedDescription_UnLogined;
            }

            return(teamSharedModel);
        }
示例#2
0
        /// <summary>
        /// 获得团详情页分享Json
        /// </summary>
        /// <param name="URL"></param>
        /// <returns></returns>
        private JsonResult TeamJoinDetail(string URL)
        {
            string     TeamCodeStr  = "";
            string     OrderCodeStr = "";
            JsonResult json         = null;

            Uri    uri      = new Uri(URL);
            int    index    = uri.Query.IndexOf("?");
            string urlQuery = uri.Query.Substring(index + 1, uri.Query.Length - 1);

            string[] urlParams = urlQuery.Split('&');
            foreach (string param in urlParams)
            {
                string[] items = param.Split('=');
                if (items[0].Equals("TeamCode"))
                {
                    TeamCodeStr = items[1];
                }
                else if (items[0].Equals("OrderCode"))
                {
                    OrderCodeStr = items[1];
                }
            }
            //LogHelper.Info("------------Shared-----URL1:" + URL);

            IList <TeamDetailEntity> teamDetailList = null;

            if (!string.IsNullOrEmpty(TeamCodeStr))
            {
                /// 获取团详情信息
                teamDetailList = teamBll.GetTeamDetailList(TeamCodeStr);
                //LogHelper.Info("------------Shared-----teamDetailList:" + teamDetailList);
            }
            else if (!string.IsNullOrEmpty(OrderCodeStr))
            {
                TeamInfoEntity teamInfoEntity = teamBll.GetTeamInfoEntity(OrderCodeStr);
                //LogHelper.Info("------------Shared-----teamInfoEntity:" + teamInfoEntity);
                if (teamInfoEntity != null)
                {
                    TeamCodeStr = teamInfoEntity.TeamCode;
                    //LogHelper.Info("------------Shared-----TeamCodeStr:" + TeamCodeStr);

                    /// 获取团详情信息
                    teamDetailList = teamBll.GetTeamDetailList(TeamCodeStr);
                    //LogHelper.Info("------------Shared-----teamDetailList:" + teamDetailList);
                }
            }
            else
            {
                return(Json(new
                {
                    type = (int)ShareUtils.JsonType.typeFailed,
                    content = ShareUtils.JsonContent_TeamCodeIsNull
                }, JsonRequestBehavior.AllowGet));
            }

            /// 判断集合是否为空
            if (teamDetailList == null || teamDetailList.Count() == 0)
            {
                return(Json(new
                {
                    type = (int)ShareUtils.JsonType.typeFailed,
                    content = ShareUtils.JsonContent_TeamListIsNull
                }, JsonRequestBehavior.AllowGet));
            }

            //LogHelper.Info("------------Shared-----URL2:" + URL);
            //LogHelper.Info("------------Shared-----ImagePath:" + teamDetailList.First().ImagePath);

            // 获得商品净重、净含量信息,再重新装配数据集合
            List <TeamDetailEntity> teamDetailProductList = new List <TeamDetailEntity>();

            foreach (TeamDetailEntity product in teamDetailList)
            {
                string neight = commonBll.getProductDetailName(product.MainDicValue, product.SubDicValue, product.NetWeightUnit);
                product.NetWeightUnit = neight;
                teamDetailProductList.Add(product);
            }

            /// 获得团详情页分享对象
            TeamSharedModel teamSharedModel = GetTeamSharedInfo(teamDetailProductList);

            /// 获得微信配置信息
            JSSDKModel JsSdkModel = GetWechatParams(URL);

            if (JsSdkModel.type == (int)ShareUtils.JsonType.typeFailed)
            {
                return(Json(new
                {
                    type = JsSdkModel.type,
                    content = JsSdkModel.content
                }, JsonRequestBehavior.AllowGet));
            }

            //LogHelper.Info("------------Shared-------TeamCode:" + TeamCodeStr);

            // 获得团成员剩余数量
            int value = teamSharedModel.RestTeamMemberNum;

            /*LogHelper.Info("------------Shared----RestTeamMemberNum-----RestTeamMemberNum:" + value);
             * LogHelper.Info("------------Shared-----Title:" + teamSharedModel.Title);
             * LogHelper.Info("------------Shared-----ImagePath:" + teamSharedModel.ImagePath);
             * LogHelper.Info("------------Shared-----Description:" + teamSharedModel.Description);
             * LogHelper.Info("------------Shared-----URL3:" + teamSharedModel.Url);*/

            json = Json(new
            {
                type = JsSdkModel.type,
                data = new
                {
                    appId       = JsSdkModel.appId,
                    timestamp   = JsSdkModel.timestamp,
                    nonceStr    = JsSdkModel.nonceStr,
                    signature   = JsSdkModel.signature,
                    jsApiList   = JsSdkModel.jsApiList,
                    Title       = teamSharedModel.Title,
                    ImagePath   = teamSharedModel.ImagePath,
                    Description = teamSharedModel.Description,
                    Url         = URL
                }
            }, JsonRequestBehavior.AllowGet);

            return(json);
        }
示例#3
0
        public JsonResult GetSharedInfo(string TeamCode, string URL)
        {
            /// 获取团详情信息
            var teamDetailList = teamBll.GetTeamDetailList(TeamCode);

            if (teamDetailList.Count() == 0)
            {
                return(null);
            }

            LogHelper.Info("------------TeamDetail-----URL:" + URL);
            LogHelper.Info("------------TeamDetail-----ImagePath:" + teamDetailList.First().ImagePath);

            /// 团分享对象Model
            TeamSharedModel teamSharedModel = new TeamSharedModel();

            /// 登录用户ID
            int LoginUserId = 0;

            // 登录用户
            if (base.LoginUser != null)
            {
                LoginUserId = base.LoginUser.UserID;
            }

            teamSharedModel.RestTeamMemberNum = (teamDetailList.First().TeamNumbers - teamDetailList.Count());
            LogHelper.Info("------------RestTeamMemberNum-----RestTeamMemberNum1:" + teamSharedModel.RestTeamMemberNum);

            /// 用户已经登录
            if (LoginUserId > 0)
            {
                /// 团成员
                if (teamDetailList.Where(d => d.UserId == LoginUserId).Count() > 0)
                {
                    /// 标题
                    StringBuilder strbul = new StringBuilder();
                    strbul.Append("我参加了健康绿氧").Append(teamDetailList.First().ProductName)
                    .Append(teamDetailList.First().MainValue).Append(teamDetailList.First().SubValue)
                    .Append(teamDetailList.First().NetWeightUnit).Append("拼单!");

                    teamSharedModel.Title = strbul.ToString();

                    /// 第一张缩略图(180x180图)
                    teamSharedModel.ImagePath = PathHelper.GetImageSmallUrl(teamDetailList.First().ImagePath);

                    /// 描述
                    if (teamDetailList.Count() < teamDetailList.First().TeamNumbers)
                    {
                        teamSharedModel.Description = "【还差"
                                                      + (teamDetailList.First().TeamNumbers - teamDetailList.Count())
                                                      + "x人】健康绿氧,贵州茅台怀桥酒厂发货,全场包邮,一起实惠一起拼!";
                    }
                    else
                    {
                        teamSharedModel.Description = "团人数已经满了";
                    }

                    /// 团详情页链接

                    /*teamSharedModel.Url = System.Web.Configuration.WebConfigurationManager.AppSettings["sharedUrl"].ToString()
                     + teamDetailList.First().TeamCode + "&Flag=1";*/
                }
                /// 未参团
                else
                {
                    /// 标题
                    StringBuilder strbul = new StringBuilder();
                    strbul.Append(teamDetailList.First().ProductName).Append(teamDetailList.First().MainValue)
                    .Append(teamDetailList.First().SubValue).Append(teamDetailList.First().NetWeightUnit);

                    teamSharedModel.Title = strbul.ToString();

                    /// 第一张缩略图(180x180图)
                    teamSharedModel.ImagePath = PathHelper.GetImageSmallUrl(teamDetailList.First().ImagePath);

                    /// 描述
                    teamSharedModel.Description = "健康绿氧,贵州茅台怀桥酒厂发货,全场包邮,一起实惠一起拼!";

                    /// 团详情页链接

                    /*teamSharedModel.Url = System.Web.Configuration.WebConfigurationManager.AppSettings["sharedUrl"].ToString()
                     + teamDetailList.First().TeamCode + "&Flag=1";*/
                }
            }
            /// 未登录
            else
            {
                /// 标题
                StringBuilder strbul = new StringBuilder();
                strbul.Append(teamDetailList.First().ProductName).Append(teamDetailList.First().MainValue)
                .Append(teamDetailList.First().SubValue).Append(teamDetailList.First().NetWeightUnit);

                teamSharedModel.Title = strbul.ToString();

                /// 第一张缩略图(180x180图)
                teamSharedModel.ImagePath = PathHelper.GetImageSmallUrl(teamDetailList.First().ImagePath);

                /// 描述
                teamSharedModel.Description = "健康绿氧,贵州茅台怀桥酒厂发货,全场包邮,一起实惠一起拼!";

                /// 团详情页链接

                /*teamSharedModel.Url = System.Web.Configuration.WebConfigurationManager.AppSettings["sharedUrl"].ToString()
                 + teamDetailList.First().TeamCode + "&Flag=1";*/
            }

            /// 微信接口属性
            var appId    = System.Web.Configuration.WebConfigurationManager.AppSettings["appid"].ToString();
            var nonceStr = JsonHelper.CreatenNonce_str();

            LogHelper.Info("------------TeamDetail-----nonceStr:" + nonceStr);
            var timestamp = JsonHelper.CreatenTimestamp();

            LogHelper.Info("------------TeamDetail-----timestamp:" + timestamp);
            //var domain = System.Configuration.ConfigurationManager.AppSettings["MServer"];
            //var url = domain + Request.Url.PathAndQuery;
            //var url = Request.Url.AbsoluteUri;
            string realUrl = URL.Split(new char[] { '#' })[0];

            teamSharedModel.Url = realUrl;
            LogHelper.Info("------------TeamDetail-----realUrl:" + realUrl);
            // var url = Request.Url.AbsoluteUri;

            // LogHelper.Info("------------TeamDetail-----url:" + url);
            AccessTokenModel accessTokenModel = GetAccessToken();

            if (accessTokenModel.type == 2)
            {
                LogHelper.Info("------------TeamDetail-----token-error-logic:" + accessTokenModel.type);
                return(Json(new
                {
                    type = accessTokenModel.type,
                    content = accessTokenModel.content
                }, JsonRequestBehavior.AllowGet));
            }

            JsapiTicketModel jsapiTicketModel = GetTickect(accessTokenModel.access_token);

            if (jsapiTicketModel.type == 2)
            {
                LogHelper.Info("------------TeamDetail-----ticket-error-logic:" + jsapiTicketModel.type);
                return(Json(new
                {
                    type = jsapiTicketModel.type,
                    content = jsapiTicketModel.content
                }, JsonRequestBehavior.AllowGet));
            }

            var string1   = "";
            var signature = JsonHelper.GetSignature(jsapiTicketModel.ticket, nonceStr, timestamp, realUrl, out string1);

            LogHelper.Info("------------TeamDetail-----signature:" + signature);
            LogHelper.Info("------------TeamDetail-----string1:" + string1);
            string[] jsApiList = { "onMenuShareTimeline", "onMenuShareAppMessage" };/// 分享朋友和朋友圈

            /// 微信接口必填参数Model
            var model = new JSSDKModel
            {
                appId       = appId,
                nonceStr    = nonceStr,
                signature   = signature,
                timestamp   = timestamp,
                shareUrl    = realUrl,
                jsapiTicket = jsapiTicketModel.ticket,
                //shareImg = domain + Url.Content("/images/ad.jpg"),
                string1   = string1,
                jsApiList = jsApiList,
                type      = 1
            };

            LogHelper.Info("------------RestTeamMemberNum-----TeamCode:" + TeamCode);
            int value = teamSharedModel.RestTeamMemberNum;

            LogHelper.Info("------------RestTeamMemberNum-----RestTeamMemberNum2:" + value);


            LogHelper.Info("------------TeamDetil-----Title:" + teamSharedModel.Title);
            LogHelper.Info("------------TeamDetil-----ImagePath:" + teamSharedModel.ImagePath);
            LogHelper.Info("------------TeamDetil-----Description:" + teamSharedModel.Description);
            LogHelper.Info("------------TeamDetil-----Url:" + teamSharedModel.Url);

            return(Json(new
            {
                type = model.type,
                data = new
                {
                    appId = appId,
                    timestamp = timestamp,
                    nonceStr = nonceStr,
                    signature = signature,
                    jsApiList = jsApiList
                    ,
                    Title = teamSharedModel.Title,
                    ImagePath = teamSharedModel.ImagePath,

                    Description = teamSharedModel.Description
                    ,
                    RestTeamMemberNum = value,

                    Url = teamSharedModel.Url
                }
            }, JsonRequestBehavior.AllowGet));
        }