Beispiel #1
0
        // 卡面
        public MemberCardModel GetModel(string authorizerAppID)
        {
            try
            {
                AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID);
                string authorizerAccessToken = authorizationInfoModel.AuthorizerAccessToken;
                LogHelper.Info("8.6.4 查看卡券详情 authorizerAccessToken", authorizerAccessToken);

                // 可以删除
                //string url = "https://api.weixin.qq.com/card/user/getcardlist?access_token=" + authorizerAccessToken;
                //LogHelper.Info("2 获取用户已领取卡券接口 url", url);
                //CardListGetReq req = new CardListGetReq()
                //{
                //    OpenID = openID,
                //    CardID = cardID
                //};
                //string requestBody = JsonConvert.SerializeObject(req);
                //LogHelper.Info("2 获取用户已领取卡券接口 requestBody", requestBody);
                //string responseBody = HttpHelper.Post(url, requestBody);
                //LogHelper.Info("2 获取用户已领取卡券接口 responseBody", responseBody);
                //CardListGetResp resp = JsonConvert.DeserializeObject<CardListGetResp>(responseBody);

                CardInfoModel cardInfoModel = cardInfoDAL.GetModel(authorizerAppID);
                if (cardInfoModel == null)
                {
                    // 未创建会员卡
                }

                // 会员卡信息,建议先保存微信服务器,然后保存本地服务器,修改同理,这里可以从本地服务器查询
                string url = "https://api.weixin.qq.com/card/get?access_token=" + authorizerAccessToken;
                LogHelper.Info("8.6.4 查看卡券详情 url", url);
                CardGetReq req = new CardGetReq()
                {
                    CardID = cardInfoModel.CardID
                };
                string requestBody = JsonConvert.SerializeObject(req);
                LogHelper.Info("8.6.4 查看卡券详情 requestBody", requestBody);
                string responseBody = HttpHelper.Post(url, requestBody);
                LogHelper.Info("8.6.4 查看卡券详情 responseBody", responseBody);
                CardGetResp resp = JsonConvert.DeserializeObject <CardGetResp>(responseBody);

                var memberCard = resp.Card.MemberCard;
                return(new MemberCardModel()
                {
                    CardID = cardInfoModel.CardID,
                    BackgroundPicUrl = memberCard.BackgroundPicUrl,
                    LogoUrl = memberCard.BaseInfo.LogoUrl,
                    BrandName = memberCard.BaseInfo.BrandName,
                    Title = memberCard.BaseInfo.Title
                });
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
                return(null);
            }
        }
Beispiel #2
0
        public MemberCardModel GetModel(string authorizerAppID, string cardID)
        {
            try
            {
                AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID);
                string url = "https://api.weixin.qq.com/card/get?access_token=" + authorizationInfoModel.AuthorizerAccessToken;

                LogHelper.Info("查询卡券详情 url", url);

                CardGetReq req = new CardGetReq()
                {
                    CardID = cardID
                };
                string requestBody = JsonConvert.SerializeObject(req);

                LogHelper.Info("查询卡券详情 requestBody", requestBody);

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

                LogHelper.Info("查询卡券详情 responseBody", responseBody);

                CardGetResp resp = JsonConvert.DeserializeObject <CardGetResp>(responseBody);
                if (resp.ErrCode == 0)
                {
                    switch (resp.Card.CardType)
                    {
                    case "MEMBER_CARD":
                        MemberCard card = resp.Card.MemberCard;
                        return(new MemberCardModel()
                        {
                            BackgroundPicUrl = card.BackgroundPicUrl,
                            CardID = card.BaseInfo.ID,
                            LogoUrl = card.BaseInfo.LogoUrl,
                            BrandName = card.BaseInfo.BrandName,

                            Title = card.BaseInfo.Title,

                            Notice = card.BaseInfo.Notice,
                            ServicePhone = card.BaseInfo.ServicePhone,
                            Description = card.BaseInfo.Description,

                            // 会员卡特权说明
                            Prerogative = card.Prerogative,

                            ServiceFreeWIFI = card.AdvancedInfo.BusinessService.Contains("BIZ_SERVICE_FREE_WIFI"),
                            ServiceWithPet = card.AdvancedInfo.BusinessService.Contains("BIZ_SERVICE_WITH_PET"),
                            ServiceFreePark = card.AdvancedInfo.BusinessService.Contains("BIZ_SERVICE_FREE_PARK"),
                            ServiceDeliver = card.AdvancedInfo.BusinessService.Contains("BIZ_SERVICE_DELIVER"),

                            // 满
                            CostMoneyUnit = card.BonusRule.CostMoneyUnit,
                            // 送
                            IncreaseBonus = card.BonusRule.IncreaseBonus,
                            MaxIncreaseBonus = card.BonusRule.MaxIncreaseBonus,
                            InitIncreaseBonus = card.BonusRule.InitIncreaseBonus,
                            // 用
                            CostBonusUnit = card.BonusRule.CostBonusUnit,
                            // 抵
                            ReduceMoney = card.BonusRule.ReduceMoney,
                            // 抵扣条件,满
                            LeastMoneyToUseBonus = card.BonusRule.LeastMoneyToUseBonus,
                            // 抵扣条件,抵
                            MaxReduceBonus = card.BonusRule.MaxReduceBonus,

                            Discount = card.Discount
                        });

                    default:
                        return(null);
                    }
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
                return(null);
            }
        }