public RESTfulModel GetAPIConfig(string authorizerAppID, string cardID) { try { AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID); string apiTicket = authorizationInfoModel.APITicket; string timestamp = UtilsHelper.GetTimestamp(); string nonceStr = UtilsHelper.GetNonceStr(); string signature = UtilsHelper.GenarateSignature(apiTicket, timestamp, cardID, nonceStr); string cardExt = JsonConvert.SerializeObject(new { signature = signature, timestamp = timestamp, nonce_str = nonceStr }); return(new RESTfulModel() { Code = (int)CodeEnum.成功, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.成功), "成功"), Data = new APIConfigModel() { CardExt = cardExt } }); } catch (Exception ex) { LogHelper.Error(ex); return(new RESTfulModel() { Code = (int)CodeEnum.系统异常, Msg = codeMsgDAL.GetByCode((int)CodeEnum.系统异常) }); } }
public RESTfulModel GetJSAPIConfig(string authorizerAppID, string url) { try { AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID); string jsapiTicket = authorizationInfoModel.JSAPITicket; string timestamp = UtilsHelper.GetTimestamp(); string nonceStr = UtilsHelper.GetNonceStr(); string format = "jsapi_ticket={0}&noncestr={1}×tamp={2}&url={3}"; string stringToHash = string.Format(format, jsapiTicket, nonceStr, timestamp, url); string signature = UtilsHelper.SHA1(stringToHash); return(new RESTfulModel() { Code = (int)CodeEnum.成功, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.成功), "成功"), Data = new JSAPIConfigModel() { Timestamp = timestamp, NonceStr = nonceStr, Signature = signature } }); } catch (Exception ex) { LogHelper.Error(ex); return(new RESTfulModel() { Code = (int)CodeEnum.系统异常, Msg = codeMsgDAL.GetByCode((int)CodeEnum.系统异常) }); } }
public EntityShopInfoModel GetModel(string authorizerAppID, string poiID) { try { AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID); string url = "http://api.weixin.qq.com/cgi-bin/poi/getpoi?access_token=" + authorizationInfoModel.AuthorizerAccessToken; LogHelper.Info("3.4查询门店信息 url", url); EntityShopGetReq req = new EntityShopGetReq() { PoiID = poiID }; string requestBody = JsonConvert.SerializeObject(req); LogHelper.Info("3.4查询门店信息 requestBody", requestBody); //string responseBody = HttpHelper.Post(url, requestBody); //LogHelper.Info("3.4查询门店信息 responseBody", responseBody); string responseBody = "{\"errcode\":0,\"errmsg\":\"ok\",\"business\":{\"base_info\":{\"sid\":\"\",\"business_name\":\"朝外MEN写字楼\",\"branch_name\":\"\",\"address\":\"朝外大街26号\",\"telephone\":\"15210470906\",\"categories\":[\"公司企业,企业/工厂\"],\"city\":\"北京市\",\"province\":\"\",\"offset_type\":1,\"longitude\":116.442108154,\"latitude\":39.9230194092,\"photo_list\":[{\"photo_url\":\"http://mmbiz.qpic.cn/mmbiz_png/jTItpJe45JLNBQjKKiapJicznbYVMicDXGzs4EaNVgiao57JSlLgYxrh1OplMF8tr8DJ7RmlAeJmv1h22EePgSl1OQ/0?wx_fmt=png\"}],\"introduction\":\"\",\"recommend\":\"\",\"special\":\"\",\"open_time\":\"10:00-21:00\",\"avg_price\":100,\"poi_id\":\"468757507\",\"available_state\":3,\"district\":\"朝阳区\",\"update_status\":0,\"qualification_list\":[]}}}"; EntityShopGetResp resp = JsonConvert.DeserializeObject <EntityShopGetResp>(responseBody); var entityShopInfo = resp.Business.BaseInfo; return(new EntityShopInfoModel() { SID = entityShopInfo.SID, BusinessName = entityShopInfo.BusinessName, BranchName = entityShopInfo.BranchName, Address = entityShopInfo.Address, Telephone = entityShopInfo.Telephone, Categories = entityShopInfo.Categories, City = entityShopInfo.City, Province = entityShopInfo.Province, OffsetType = entityShopInfo.OffsetType, Longitude = entityShopInfo.Longitude, Latitude = entityShopInfo.Latitude, PhotoList = entityShopInfo.PhotoList.Select(o => o.PhotoUrl).ToList(), Introduction = entityShopInfo.Introduction, Recomend = entityShopInfo.Recomend, Special = entityShopInfo.Special, OpenTime = entityShopInfo.OpenTime, AvgPrice = entityShopInfo.AvgPrice, PoiID = entityShopInfo.PoiID, AvailableState = entityShopInfo.AvailableState, District = entityShopInfo.District, UpdateStatus = entityShopInfo.UpdateStatus }); } catch (Exception ex) { LogHelper.Error(ex); return(null); } }
// 卡面 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); } }
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); } }
public Model_9H.RESTfulModel Get(string authorizerAppID) { try { AuthorizationInfoModel authorizationInfoModel = authorizationInfoDAL.GetModel(authorizerAppID); if (authorizationInfoModel != null) { int timestamp = (int)((DateTime.Now - authorizationInfoModel.UpdateTime).TotalMinutes); if (timestamp >= 110) { ConfigModel configModel = configDAL.GetModel("component_access_token"); string url_5 = "https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token=" + configModel.Value; LogHelper.Info("5、获取(刷新)授权公众号的接口调用凭据(令牌) url_5", url_5); AuthorizationInfoModel authorizationInfoModel2 = Refresh(authorizationInfoModel.AuthorizerAppID, authorizationInfoModel.AuthorizerAccessToken, authorizationInfoModel.AuthorizerRefreshToken, configModel.Value); authorizationInfoModel2.AuthorizerAccessTokenOld = authorizationInfoModel.AuthorizerAccessToken; return(new RESTfulModel() { Code = (int)CodeEnum.成功, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.成功), "成功"), Data = authorizationInfoModel2 }); } else { return(new RESTfulModel() { Code = (int)CodeEnum.成功, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.成功), "成功"), Data = authorizationInfoModel }); } } else { return(new RESTfulModel() { Code = (int)CodeEnum.用户未授权, Msg = codeMsgDAL.GetByCode((int)CodeEnum.用户未授权) }); } } catch (Exception ex) { LogHelper.Error(ex); return(new RESTfulModel() { Code = (int)CodeEnum.系统异常, Msg = codeMsgDAL.GetByCode((int)CodeEnum.系统异常) }); } }
public AuthorizationInfoModel Get(string authorizerAppID) { string url = ConfigHelper.DomainToken + "api/accesstoken/get?authorizerappid=" + authorizerAppID; LogHelper.Info("获取access_token url", url); string responseBody = HttpHelper.Get(url); LogHelper.Info("获取access_token responseBody", responseBody); RESTfulModel resp = JsonConvert.DeserializeObject <RESTfulModel>(responseBody); AuthorizationInfoModel authorizationInfoModel = JsonConvert.DeserializeObject <AuthorizationInfoModel>(resp.Data.ToString()); return(authorizationInfoModel); }
static void Main(string[] args) { //string cardID = "pp8Cv1bypNXD5z-KwoatVEaYJa0w"; //string apiTicket = "9KwiourQPRN3vx3Nn1c_iXKXdRjqsvnKe_KV_HB6ZofIGZwZJ6XmXxkgI4xvjssApkcK8mxUN8jSd4EMcism-Q"; //string timestamp = UtilsHelper.GetTimestamp(); //string nonceStr = UtilsHelper.GetNonceStr(); //string signature = UtilsHelper.GenarateSignature(apiTicket, timestamp, cardID, nonceStr); //Console.WriteLine(signature); AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get("wxab6d7123cc1125f5"); Console.ReadLine(); }
/// <summary> /// 使用授权码换取公众号的接口调用凭据和授权信息 /// </summary> /// <returns></returns> public AuthorizationInfoModel GetQueryAuth(string authCode) { var systemSet = GetSysSet(); var dataObj = new { component_appid = systemSet.ComponentAppId, authorization_code = authCode }; string data = ZentCloud.Common.JSONHelper.ObjectToJson(dataObj); ZentCloud.Common.HttpInterFace webRequest = new Common.HttpInterFace(); var result = webRequest.PostWebRequest(data, string.Format("https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token={0}", GetComponentAccessToken()), Encoding.UTF8); AuthorizationInfoModel model = ZentCloud.Common.JSONHelper.JsonToModel <AuthorizationInfoModel>(result); return(model); }
private AuthorizationInfoModel EntityToModel(DataRow dr) { if (dr != null) { AuthorizationInfoModel model = new AuthorizationInfoModel(); model.ID = dr["id"].ToInt(); model.AuthorizerAppID = dr["authorizer_appid"].ToString(); model.AuthorizerAccessTokenOld = dr["authorizer_access_token_old"].ToString(); model.AuthorizerAccessToken = dr["authorizer_access_token"].ToString(); model.ExpiresIn = dr["expires_in"].ToInt(); model.AuthorizerRefreshToken = dr["authorizer_refresh_token"].ToString(); model.JSAPITicket = dr["jsapi_ticket"].ToString(); model.APITicket = dr["api_ticket"].ToString(); model.AuthTime = dr["auth_time"].ToDateTime(); model.RefreshTime = dr["refresh_time"].ToDateTime(); model.CreateTime = dr["create_time"].ToDateTime(); model.UpdateTime = dr["update_time"].ToDateTime(); return(model); } return(null); }
public string UploadIMG(string authorizerAppID, HttpFileCollectionBase files) { try { if (files != null) { HttpPostedFileBase file = files[0]; float mbSize = (float)file.ContentLength / 1048576; if (mbSize <= 1) { AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID); string url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=" + authorizationInfoModel.AuthorizerAccessToken; LogHelper.Info("上传图片 url", url); //UploadIMGReq req = new UploadIMGReq() //{ // Buffer = file.InputStream //}; //string requestBody = JsonConvert.SerializeObject(req); //LogHelper.Info("上传图片 requestBody", requestBody); string responseBody = HttpHelper.Post(url, file.FileName, file.InputStream); LogHelper.Info("上传图片 responseBody", responseBody); UploadIMGResp resp = JsonConvert.DeserializeObject <UploadIMGResp>(responseBody); if (resp.ErrCode == 0) { return(JsonConvert.SerializeObject(new RESTfulModel() { Code = (int)CodeEnum.成功, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.成功), "上传成功"), Data = resp.Url })); } 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) })); } } return(JsonConvert.SerializeObject(new RESTfulModel() { Code = (int)CodeEnum.文件大小超限, Msg = codeMsgDAL.GetByCode((int)CodeEnum.文件大小超限) })); } return(JsonConvert.SerializeObject(new RESTfulModel() { Code = (int)CodeEnum.文件集合为空, Msg = codeMsgDAL.GetByCode((int)CodeEnum.文件集合为空) })); } catch (Exception ex) { LogHelper.Error(ex); return(JsonConvert.SerializeObject(new RESTfulModel() { Code = (int)CodeEnum.系统异常, Msg = codeMsgDAL.GetByCode((int)CodeEnum.系统异常) })); } }
public string Activate(string authorizerAppID, MemberCardActivateModel model) { try { // 验证参数 AuthorizationInfoModel authorizationInfoModel = accessTokenDAL.Get(authorizerAppID); string authorizerAccessToken = authorizationInfoModel.AuthorizerAccessToken; LogHelper.Info("6.1 接口激活 authorizerAccessToken", authorizerAccessToken); // Code解码 string code = string.Empty; if (!DecryptCode(authorizerAccessToken, model.EncryptCode, out code)) { return(JsonConvert.SerializeObject(new RESTfulModel() { Code = (int)CodeEnum.Code解码失败, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.Code解码失败), model.EncryptCode) })); } ; string url = "https://api.weixin.qq.com/card/membercard/activate?access_token=" + authorizerAccessToken; LogHelper.Info("6.1 接口激活 url", url); MemberCardActivateReq req = new MemberCardActivateReq() { // 手机号作为会员卡号 MembershipNumber = model.Mobile, Code = code, CardID = model.CardID, //InitBonus = 0, //InitBonusRecord = "", //InitBalance = 0, //InitCustomFieldValue1 = "0", // 优惠券 InitCustomFieldValue2 = "查看", // 初始等级 InitCustomFieldValue3 = "查看" }; string requestBody = JsonConvert.SerializeObject(req); LogHelper.Info("6.1 接口激活 requestBody", requestBody); string responseBody = HttpHelper.Post(url, requestBody); LogHelper.Info("6.1 接口激活 responseBody", responseBody); MemberCardActivateResp resp = JsonConvert.DeserializeObject <MemberCardActivateResp>(responseBody); if (resp.ErrCode == 0) { DateTime dt = DateTime.Now; // 保存 AuthorizerAppID、CardID、Code之间的关系 memberInfoDAL.Insert(authorizerAppID, model.OpenID, model.CardID, code, model.Mobile, model.Mobile, model.RealName, model.Gender, model.Birthday, dt); 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.系统异常) })); } }
public RESTfulModel Save(SaveAuthModel model) { // 授权信息存数据库 try { // 验证 // jsapi_ticket string url_jsapi = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + model.AuthorizerAccessToken + "&type=jsapi"; LogHelper.Info("获取(刷新)jsapi_ticket url_jsapi", url_jsapi); string responseBody_jsapi = HttpHelper.Get(url_jsapi); LogHelper.Info("获取(刷新)jsapi_ticket responseBody_jsapi", responseBody_jsapi); TicketGetResp resp_jsapi = JsonConvert.DeserializeObject <TicketGetResp>(responseBody_jsapi); // api_ticket string url_api = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + model.AuthorizerAccessToken + "&type=wx_card"; LogHelper.Info("获取(刷新)api_ticket url_api", url_api); string responseBody_api = HttpHelper.Get(url_api); LogHelper.Info("获取(刷新)api_ticket responseBody_api", responseBody_api); TicketGetResp resp_api = JsonConvert.DeserializeObject <TicketGetResp>(responseBody_api); AuthorizationInfoModel authorizationInfoModel = authorizationInfoDAL.GetModel(model.AuthorizerAppID); if (authorizationInfoModel != null) { // 更新 authorizationInfoDAL.Update( model.AuthorizerAppID, authorizationInfoModel.AuthorizerAccessToken,// 当前的置为旧的,用于消息延时 model.AuthorizerAccessToken, model.ExpiresIn, model.AuthorizerRefreshToken, resp_jsapi.Ticket, resp_api.Ticket, model.AuthTime); } else { // 插入 authorizationInfoDAL.Insert( model.AuthorizerAppID, model.AuthorizerAccessToken, model.AuthorizerAccessToken, model.ExpiresIn, model.AuthorizerRefreshToken, resp_jsapi.Ticket, resp_api.Ticket, model.AuthTime); } return(new RESTfulModel() { Code = (int)CodeEnum.成功, Msg = string.Format(codeMsgDAL.GetByCode((int)CodeEnum.成功), "成功") }); } catch (Exception ex) { LogHelper.Error(ex); return(new RESTfulModel() { Code = (int)CodeEnum.系统异常, Msg = codeMsgDAL.GetByCode((int)CodeEnum.系统异常) }); } }
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.系统异常) })); } }
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); } }