Beispiel #1
0
        /// <summary>
        /// 会员卡主页
        /// </summary>
        public ActionResult Index()
        {
            // 重定向要授权页
            // https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxab6d7123cc1125f5&redirect_uri=
            //   http://wxab6d7123cc1125f5.wx.smartyancheng.com/membercard/index&response_type=code&scope=snsapi_base&state=&component_appid=wx6230602b18fb87dc#wechat_redirect"

            string openID = CookieHelper.GetCookie("uid");

            if (!string.IsNullOrEmpty(openID))
            {
                MemberCardModel model = memberCardBLL.GetModel(AuthorizerAppID);
                if (model != null)
                {
                    // 会员信息
                    ViewBag.MemberInfo = memberInfoBLL.GetModel(openID, model.CardID);
                }

                return(View(model));
            }
            else
            {
                CookieHelper.SetCookie("redirect_uri", AbsoluteURL);
                return(Redirect("/oauth2/launch"));
            }
        }
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        MemberCardModel memberCard = (MemberCardModel)e.Item.DataItem;

        ((HtmlTableCell)e.Item.FindControl("Eval_Area")).InnerHtml   = bll_area.GetNav(memberCard.CityId, "<u>-</u>");
        ((HtmlTableCell)e.Item.FindControl("Eval_Status")).InnerHtml = bll_memberCard.GetStatus(memberCard, "sold") + "<u>|</u>" + bll_memberCard.GetStatus(memberCard, "enab");
    }
        public static MemberCardModel MemberCardModelFactory(Member m)
        {
            MemberCardModel mcModel = new MemberCardModel();

            if (m != null)
            {
                mcModel = new MemberCardModel(m, User.GetUserBadges);
                mcModel.UserLocation = m.zipCodeToState();
            }

            return(mcModel);
        }
    protected void SubmitButton_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            string filePath = Server.MapPath(FilePath.Value);
            if (!String.IsNullOrEmpty(filePath))
            {
                bll_config.Load(new string[] { "excelUsername", "excelPassword", "cardNoPwdDigits" });
                DataTable dt_excel = ExcelHelper.Import(filePath, 12, bll_config["excelUsername"], bll_config["excelPassword"]);

                int cardNoPwdDigits = bll_config.GetInt("cardNoPwdDigits");
                if (cardNoPwdDigits <= 0)
                {
                    FileHelper.DeleteFile(filePath);
                    WebUtility.ShowAlertMessage("惠卡密码位数必须大于零,请在全局功能中进行设置!", null);
                }

                for (int i = 0; i < dt_excel.Rows.Count; i++)
                {
                    DataRow dr = dt_excel.Rows[i];

                    string cardNo = dr[0].ToString();
                    if (String.IsNullOrEmpty(cardNo) || bll_memberCard.CardNoExists(cardNo))
                    {
                        continue;
                    }

                    MemberCardModel memberCard = new MemberCardModel();
                    memberCard.CardNo = cardNo;
                    memberCard.Pwd    = StringHelper.GetRandomString(cardNoPwdDigits);
                    if (dr[1].ToString() == "0")
                    {
                        memberCard.Sold = false;
                    }
                    else
                    {
                        memberCard.Sold = true;
                    }
                    memberCard.CreateTime = DateTime.Now.ToString();

                    bll_memberCard.Insert(memberCard);
                }

                FileHelper.DeleteFile(filePath);
                WebUtility.ShowAlertMessage("上传成功!", Request.RawUrl);
            }
            else
            {
                WebUtility.ShowAlertMessage("上传失败,请查看文件格式与大小是否符合系统要求!", null);
            }
        }
    }
        public void r100Implementation(MemberCardModel instance)
        {
            // This is the placeholder for method implementation.
            string pMessage     = string.Empty;
            int    MemberCardID = Convert.ToInt32(instance.MemberCardID.ToString());
            string memMobileNo  = instance.MobileNo.ToString();
            int    MemberID     = Convert.ToInt32(instance.MemberID.ToString());
            string MemberName   = instance.MemberNameOfMember.ToString();

            string[] strmobile;
            if (memMobileNo.Length <= 11)
            {
            }
            strmobile = FormatMobileNo(memMobileNo);
            if (strmobile[0] == "0")
            {
                memMobileNo = strmobile[1].ToString();
                pMessage    = "Please dodnot disclose these pin number.";
                //int iRet = SendSMSTo(MemberCardID, memMobileNo, MemberName, pMessage);
            }
            RandomGenerator generator = new RandomGenerator();
            int             rand      = generator.RandomNumber(1000, 9999);
            //string pass = Convert.ToString(generator.RandomNumber());
            string pass = rand.ToString();
            int    duplcatepinnotfound = 0;

            while (duplcatepinnotfound != 1)
            {
                rand = generator.RandomNumber(1000, 9999);
                pass = Convert.ToString(rand.ToString());
                string passRet = GetDuplicateNumber(rand.ToString());
                if (passRet.Length == 0)
                {
                    duplcatepinnotfound = 1;
                    if (duplcatepinnotfound == 1)
                    {
                        UpdatePinToCard(MemberCardID, pass);
                        pMessage = pMessage + pass;
                        SendSMSTo(MemberCardID, memMobileNo, MemberName, pMessage);
                        break;
                    }
                    rand = generator.RandomNumber(1000, 9999);
                    //pass = generator.RandomPassword();
                }
                else
                {
                    break;
                }
            }
        }
Beispiel #6
0
        public List <MemberCardModel> GetList(string authorizerAppID)
        {
            try
            {
                AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID);
                string url = "https://api.weixin.qq.com/card/batchget?access_token=" + authorizationInfoModel.AuthorizerAccessToken;

                LogHelper.Info("批量查询卡券列表 url", url);

                CardListGetReq req = new CardListGetReq()
                {
                    Offset = 0,
                    Count  = 10
                };
                string requestBody = JsonConvert.SerializeObject(req);

                LogHelper.Info("批量查询卡券列表 requestBody", requestBody);

                string responseBody = HttpHelper.Post(url, requestBody);

                LogHelper.Info("批量查询卡券列表 responseBody", responseBody);

                CardListGetResp resp = JsonConvert.DeserializeObject <CardListGetResp>(responseBody);

                List <MemberCardModel> memberCardModelList = new List <MemberCardModel>();

                if (resp.ErrCode == 0)
                {
                    List <string> cardIDList = resp.CardIDList;
                    if (cardIDList.Any())
                    {
                        foreach (var cardID in cardIDList)
                        {
                            MemberCardModel memberCardModel = GetModel(authorizerAppID, cardID);
                            if (memberCardModel != null)
                            {
                                memberCardModelList.Add(memberCardModel);
                            }
                        }
                    }
                }

                return(memberCardModelList);
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
                return(null);
            }
        }
Beispiel #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        WebUtility.AdminLoginAuth();
        if (!bll_admin.RuleAuth("产品_惠卡管理"))
        {
            WebUtility.ShowError(WebUtility.ERROR101);
        }

        memberCard = bll_memberCard.GetModel(Request.QueryString["pkid"]);
        if (memberCard == null)
        {
            memberCard = new MemberCardModel();
        }

        if (!Page.IsPostBack)
        {
            BindInfo();
        }
    }
Beispiel #8
0
        public void LoadState(MemberCardModel mem)
        {
            if (mem != null)
            {
                Member                  = mem;
                imgAvatar.ImageUrl      = mem.AvatarUrl;
                imgAvatar.AlternateText = mem.UserName;

                hypName.NavigateUrl = this.ProfileLink;
                hypName.Text        = mem.UserName;

                litLocation.Text = Services.CommunityServices.GeoTargeting.GetStateByZip(mem.UserLocation);

                btnConnect.LoadState(mem.UserName);

                if (mem.Children != null && mem.Children.Count > 0)
                {
                    rptChildCard.DataSource = mem.Children;
                    rptChildCard.DataBind();
                }
            }
        }
Beispiel #9
0
 public ActionResult MemberCardCreate(MemberCardModel model)
 {
     return(Content(cardBLL.Create(CurrentAuthorizer.AuthorizerAppID, model), "application/json"));
 }
Beispiel #10
0
        public string Update(string authorizerAppID, MemberCardModel model)
        {
            try
            {
                Card card = new Card()
                {
                    CardID     = model.CardID,
                    MemberCard = new MemberCard()
                    {
                        BackgroundPicUrl = model.BackgroundPicUrl,
                        BaseInfo         = new MemberCardBaseInfo()
                        {
                            LogoUrl      = model.LogoUrl,
                            BrandName    = model.BrandName,
                            CodeType     = "CODE_TYPE_QRCODE",
                            Title        = model.Title,
                            Color        = "Color010",
                            Notice       = model.Notice,
                            ServicePhone = model.ServicePhone,
                            Description  = model.Description,

                            DateInfo = new DataInfo()
                            {
                                Type = "DATE_TYPE_PERMANENT"
                            },
                            Sku = new Sku()
                            {
                                Quantity = 100000000
                            },

                            GetLimit      = 1,
                            CanGiveFriend = false,
                            CanShare      = false,

                            // 不适用自定义Code
                            UseCustomCode   = false,
                            UseAllLocations = true,

                            CenterTitle = "会员买单",
                            //CenterSubTitle = "买单立享" + model.Discount + "折,更有积分相送",
                            CenterUrl = "http://" + authorizerAppID + "." + ConfigHelper.DomainWeChat + "/membercard/gopay"

                                        // custom_url_name
                                        // custom_url
                                        // custom_url_sub_title
                                        // promotion_url_name
                                        // promotion_url
                                        // promotion_url_sub_title

                                        // need_push_on_view
                        },
                        AdvancedInfo = new MemberCardAdvancedInfo()
                        {
                            BusinessService = new List <string>()
                            {
                                "BIZ_SERVICE_FREE_WIFI",
                                "BIZ_SERVICE_WITH_PET",
                                "BIZ_SERVICE_FREE_PARK",
                                "BIZ_SERVICE_DELIVER"
                            }
                        },
                        // 会员卡特权说明
                        Prerogative = model.Prerogative,

                        // 激活相关
                        AutoActivate = false,
                        WXActivate   = false,
                        // 激活页面
                        ActivateUrl = "http://" + authorizerAppID + "." + ConfigHelper.DomainWeChat + "/membercard/activate",

                        // 是否支持储值
                        SupplyBalance = false,

                        //CustomField1 = new CustomField()
                        //{
                        //    // 不行就用 Name , 积分变动触发 is_notify_bonus
                        //    // 其他两个触发 is_notify_custom_field2 is_notify_custom_field3
                        //    NameType = "FIELD_NAME_TYPE_STAMP",
                        //    Url = string.Format(ConfigHelper.DomainWeChat, authorizerAppID) + "bonus"
                        //},
                        CustomField2 = new CustomField()
                        {
                            // 优惠券
                            NameType = "FIELD_NAME_TYPE_COUPON",
                            Url      = string.Format(ConfigHelper.DomainWeChat, authorizerAppID) + "coupon"
                        },
                        CustomField3 = new CustomField()
                        {
                            // 等级
                            NameType = "FIELD_NAME_TYPE_LEVEL",
                            Url      = string.Format(ConfigHelper.DomainWeChat, authorizerAppID) + "level"
                        },

                        // 积分相关
                        SupplyBonus = true,
                        BonusRule   = new BonusRule()
                        {
                            // 满
                            CostMoneyUnit = model.CostMoneyUnit,
                            // 送
                            IncreaseBonus = model.IncreaseBonus,
                            // 单次获得上限
                            MaxIncreaseBonus = model.MaxIncreaseBonus,
                            // 初始积分
                            InitIncreaseBonus = model.InitIncreaseBonus,
                            // 用积分
                            CostBonusUnit = model.CostBonusUnit,
                            // 抵现金
                            ReduceMoney = model.ReduceMoney,
                            // 抵扣条件,满xx元(这里以分为单位)可用
                            LeastMoneyToUseBonus = model.LeastMoneyToUseBonus,
                            // 抵扣条件,单笔最多使用xx积分。
                            MaxReduceBonus = model.MaxReduceBonus
                        },
                        Discount = model.Discount
                    }
                };

                AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID);
                string url = "https://api.weixin.qq.com/card/update?access_token=" + authorizationInfoModel.AuthorizerAccessToken;

                LogHelper.Info("更新会员卡 url", url);

                string requestBody = JsonConvert.SerializeObject(card);

                LogHelper.Info("更新会员卡 requestBody", requestBody);

                string responseBody = HttpHelper.Post(url, requestBody);

                LogHelper.Info("更新会员卡 responseBody", responseBody);

                CardCreateResp resp = JsonConvert.DeserializeObject <CardCreateResp>(responseBody);
                if (resp.ErrCode == 0)
                {
                    // 存储 authorizerAppID 和 cardID 之间的对应关系
                    cardInfoDAL.Insert(authorizerAppID, resp.CardID, DateTime.Now);
                    return(JsonConvert.SerializeObject(new RESTfulModel()
                    {
                        Code = (int)CodeEnum.成功, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.成功), "更新成功")
                    }));
                }
                else
                {
                    string msg = "errcode: " + resp.ErrCode + ", errmsg: " + resp.ErrMsg;
                    return(JsonConvert.SerializeObject(new RESTfulModel()
                    {
                        Code = (int)CodeEnum.失败, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.失败), msg)
                    }));
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
                return(JsonConvert.SerializeObject(new RESTfulModel()
                {
                    Code = (int)CodeEnum.系统异常, Msg = codeMsgDAL.GetByCode((int)CodeEnum.系统异常)
                }));
            }
        }