Beispiel #1
0
        static void Main(string[] args)
        {
            string json = "{\"errcode\":0,\"errmsg\":\"ok\",\"card\":{\"card_type\":\"MEMBER_CARD\",\"member_card\":{\"base_info\":{\"id\":\"pp8Cv1YDI4ID5yIL4IC6_bhWEq4o\",\"logo_url\":\"http:\\/\\/mmbiz.qpic.cn\\/mmbiz_jpg\\/Wj6TwkVleG6srmSo10D9l0ayKjj7Jaq6m68PcSYJ8Pk4wkHGHdbg1iaogWDeRic86ibXxpGxl31yibuY9ics6OETBvw\\/0\",\"code_type\":\"CODE_TYPE_QRCODE\",\"brand_name\":\"现代纯K量贩式KTV\",\"title\":\"现代纯K量贩式KTV\",\"date_info\":{\"type\":\"DATE_TYPE_PERMANENT\"},\"color\":\"#63b359\",\"notice\":\"使用时向服务员出示此券\",\"service_phone\":\"15210470906\",\"description\":\"1.消费时请出示会员卡 2.会员余额不可提现 3.会员积分可以兑换相应的奖品或者优惠 3.具体积分使用规则参考商家制定的积分政策\",\"location_id_list\":[],\"get_limit\":1,\"can_share\":false,\"can_give_friend\":false,\"use_custom_code\":false,\"status\":\"CARD_STATUS_VERIFY_OK\",\"sku\":{\"quantity\":99999998,\"total_quantity\":100000000},\"create_time\":1498409465,\"update_time\":1498409475,\"use_all_locations\":true,\"center_title\":\"会员买单\",\"center_url\":\"http:\\/\\/wxab6d7123cc1125f5.wx.smartyancheng.com\\/membercard\\/gopay\",\"area_code_list\":[]},\"supply_bonus\":true,\"supply_balance\":false,\"prerogative\":\"1.会员等级随着客户成长值进行升级 2.不同等级会员享受不同的折扣优惠\",\"activate_url\":\"http:\\/\\/wxab6d7123cc1125f5.wx.smartyancheng.com\\/membercard\\/activate\",\"discount\":10,\"auto_activate\":false,\"wx_activate\":false,\"custom_field2\":{\"name_type\":\"FIELD_NAME_TYPE_LEVEL\",\"url\":\"http:\\/\\/wxab6d7123cc1125f5.wx.smartyancheng.com\\/level\"},\"custom_field3\":{\"name_type\":\"FIELD_NAME_TYPE_COUPON\",\"url\":\"http:\\/\\/wxab6d7123cc1125f5.wx.smartyancheng.com\\/coupon\"},\"bonus_rule\":{\"cost_money_unit\":1,\"increase_bonus\":1,\"max_increase_bonus\":0,\"init_increase_bonus\":20,\"cost_bonus_unit\":100,\"reduce_money\":100,\"least_money_to_use_bonus\":0,\"max_reduce_bonus\":0},\"background_pic_url\":\"http:\\/\\/mmbiz.qpic.cn\\/mmbiz_png\\/Wj6TwkVleG6srmSo10D9l0ayKjj7Jaq6zUmVo7xEKgfxWDBpzBx1M0QzIsgaDwPqLkhHcnnYgjft3qgSmJQczw\\/0\",\"advanced_info\":{\"time_limit\":[],\"text_image_list\":[],\"business_service\":[\"BIZ_SERVICE_FREE_WIFI\",\"BIZ_SERVICE_WITH_PET\",\"BIZ_SERVICE_FREE_PARK\",\"BIZ_SERVICE_DELIVER\"],\"consume_share_card_list\":[],\"share_friends\":false}}}}";

            CardGetResp resp = JsonConvert.DeserializeObject <CardGetResp>(json);

            Console.ReadLine();
        }
Beispiel #2
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 #3
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);
            }
        }