Пример #1
0
Файл: BLLMQ.cs Проект: uvbs/mmp
        /// <summary>
        /// 新分销会员通知
        /// </summary>
        /// <param name="messageInfo"></param>
        /// <param name="ramark"></param>
        /// <param name="errMsg"></param>
        public void DistNewMemberNotice(MessageInfo messageInfo, out string ramark, out string errMsg)
        {
            Console.WriteLine("正在处理新分销会员通知");

            BLLUserDistributionMember bllUserDistributionMember = new BLLUserDistributionMember();
            BLLUser   bllUser   = new BLLUser();
            BLLWeixin bllWeixin = new BLLWeixin();

            ramark = "";
            errMsg = "";

            var msgBody = JsonConvert.DeserializeObject <Model.MQ.DistNewMemberNoticeInfo>(messageInfo.Msg);

            Console.WriteLine("转换完msgBody");

            //获取分销员和会员
            var distUser = bllUser.GetUserInfoByAutoID(int.Parse(msgBody.DistributionOwnerAutoId), messageInfo.WebsiteOwner);
            var member   = bllUser.GetUserInfoByAutoID(int.Parse(msgBody.MemberAutoId), messageInfo.WebsiteOwner);

            //记录到会员表
            bllUserDistributionMember.SetUserDistributionOwnerInMember(new List <string>()
            {
                member.UserID
            }, distUser.UserID, member.WebsiteOwner);

            //获取当前是第几位会员
            var rowCount = bllUserDistributionMember.GetMemberRowCount(member.UserID, distUser.UserID, member.WebsiteOwner);

            Console.WriteLine("排名:" + rowCount);

            //获取会员昵称
            if (string.IsNullOrWhiteSpace(member.WXNickname) && !string.IsNullOrWhiteSpace(member.WXOpenId))
            {
                Console.WriteLine("无微信昵称,开始获取微信昵称");

                var accessToken = bllWeixin.GetAccessToken(messageInfo.WebsiteOwner);

                if (!string.IsNullOrEmpty(accessToken))
                {
                    Console.WriteLine("获取到accessToken,开始获取会员信息");
                    var wxUserInfo = bllWeixin.GetWeixinUserInfo(accessToken, member.WXOpenId);
                    Console.WriteLine("处理完获取会员信息");
                    if (wxUserInfo != null)
                    {
                        Console.WriteLine("获取到会员信息");
                        member.WXHeadimgurl = wxUserInfo.headimgurl;
                        member.WXNickname   = string.IsNullOrWhiteSpace(wxUserInfo.nickname) ? "" : wxUserInfo.nickname.Replace("'", "");
                        member.WXProvince   = wxUserInfo.province;
                        member.WXCity       = wxUserInfo.city;

                        bllUser.Update(new UserInfo(), string.Format(" WXHeadimgurl='{0}',WXNickname='{1}',WXProvince='{2}',WXCity='{3}' ",
                                                                     member.WXHeadimgurl,
                                                                     member.WXNickname,
                                                                     member.WXProvince,
                                                                     member.WXCity
                                                                     ), string.Format(" UserId = '{0}' AND WebsiteOwner = '{1}' ", member.UserID, member.WebsiteOwner));
                    }
                    else
                    {
                        Console.WriteLine("获取不到会员信息");
                    }
                }
                else
                {
                    Console.WriteLine("获取不到accessToken");
                }
            }

            var notice = string.Format("恭喜 {0} 成为您的第{1}号会员", member.WXNickname, rowCount);

            Console.WriteLine("开始发通知");
            //发送通知
            bllWeixin.SendTemplateMessageNotifyComm(distUser, string.Format("新会员通知"), notice);

            Console.WriteLine(notice);
        }