/// <summary> /// 从拼多多同步主题数据到数据库中 /// </summary> /// <returns></returns> public bool Sync(out string errMsg) { errMsg = ""; DdkAppsModel appInfo = DdkAppProvider.Instance.GetModelByDefault(); if (appInfo == null) { errMsg = "未能找到多多客应用配置信息"; return(false); } try { int pageSize = 50; int page = 1; int curPageItemNums = pageSize; List <DdkThemeModel> listResult = new List <DdkThemeModel>(); while (curPageItemNums >= pageSize) { ThemeListJsonResult themeListJsonResult = DdkApi.GetThemeList(appInfo.ClientId, appInfo.ClientSecret, page, pageSize); List <ThemeListItemEntity> themeList = themeListJsonResult.theme_list_get_response.theme_list; curPageItemNums = themeList.Count; foreach (ThemeListItemEntity entity in themeList) { listResult.Add(new DdkThemeModel() { GoodsNum = entity.goods_num, ImageUrl = entity.image_url, Name = entity.name, ThemeId = (int)entity.id, UpdateTime = DateTime.Now }); } page++; } dal.TruncateTable(); foreach (DdkThemeModel model in listResult) { this.Add(model); } return(true); } catch (Exception ex) { LogHelper.Write("DdkThemeBLL.Sync发生异常:" + ex.Message); return(false); } }
public void GetListByDdkApi(string clientId, string clientSecret, int parentId, List <GoodsCatsModel> goodsCatList) { GoodsTagCatJsonResult catJsonResult = DdkApi.GetGoodsTagCatList(clientId, clientSecret, parentId); foreach (GoodsTagCateEntity cat in catJsonResult.goods_opt_get_response.goods_opt_list) { goodsCatList.Add(new GoodsCatsModel() { Icon = "", Id = cat.opt_id, LevelNo = cat.level, Name = cat.opt_name, ParentId = cat.parent_opt_id, SortNum = 0, PlatType = (int)HQEnums.PlatformTypeOptions.拼多多 }); } }
public HotGoodsModel GetGoodsDetail(long goodsId, out string errMsg) { errMsg = ""; try { DdkAppsModel appInfo = DdkAppProvider.Instance.GetModelByDefault(); GoodsDetailJsonResult goodsDetailJsonResult = DdkApi.GetGoodsDetail(appInfo.ClientId, appInfo.ClientSecret, goodsId); List <GoodsDetailItemEntity> goodsList = goodsDetailJsonResult.goods_detail_response.goods_details; if (goodsList.Count > 0) { return(this.ConvertGoods(goodsList[0])); } return(null); } catch (Exception ex) { errMsg = ex.Message; return(null); } }
public async void TestMethod1Async() { PddCommonApi.ClientId = "d8172a66ddf14220beac58e8eddca0d9"; PddCommonApi.ClientSecret = "d5993ce16cc0d1bd35403176f35544962e786645"; PddCommonApi.RedirectUri = "RedirectUri"; PddCommonApi.AccessToken = ""; DdkApi ddkApi = new DdkApi(); var model = new DetailDdkGoodsRequestModel() { Type = "pdd.ddk.goods.detail", GoodsIdList = "[1268788439]" }; var result = await ddkApi.DetailDdkGoodsAsync(model); var a = result; Assert.IsNotNull(a); //var result = ddkApi.SearchDdkGoodsAsync() }
public static async Task <string> GetPDDCouponAsync(RequestMessageText responseMessageText) { PddCommonApi.ClientId = "d8172a66ddf14220beac58e8eddca0d9"; PddCommonApi.ClientSecret = "d5993ce16cc0d1bd35403176f35544962e786645"; PddCommonApi.RedirectUri = "RedirectUri"; PddCommonApi.AccessToken = ""; string msg = responseMessageText.Content; Match m_goods = Regex.Match(msg, @"(?<=goods_id=)([0-9]*)"); string goods_id = m_goods.Value; if (string.IsNullOrEmpty(goods_id)) { //LogHelper.WriteLog(typeof(WechatController), "获取拼多多goods id失败" + msg); return(""); } DdkApi api = new DdkApi(); var model = new DetailDdkGoodsRequestModel() { Type = "pdd.ddk.goods.detail", GoodsIdList = $"[{goods_id}]" }; DetailDdkGoodsResponseModel result = null; try { result = await api.DetailDdkGoodsAsync(model); } catch (Exception ex) { //LogHelper.WriteLog(typeof(WechatController), "调用拼多多获取商品详细信息失败" + ex.Message); return(""); } var goods = result.GoodsDetailResponse.GoodsDetails.FirstOrDefault(); if (goods == null) //无优惠券 无佣金 { return("/:rose 亲,这款商品的优惠返利活动结束了~\n请换个商品试试吧。\n========================\n\ue231 <a href='https://mobile.yangkeduo.com/duo_cms_mall.html?pid=2495191_31302208cpsSign=CM2495191_31302208_3a1c1a0431608b9c1eb417183d57c1bdduoduo_type=2'>拼多多优惠券商城</a>\n下单确认收货后就能收到返利佣金啦~"); } else if (goods.HasCoupon) //有优惠券 有佣金 { try { var promotionUrlModel = await api.GenerateDdkGoodsPromotionUrlAsync(new GenerateDdkGoodsPromotionUrlRequestModel { Type = "pdd.ddk.goods.promotion.url.generate", PId = pdd_pid, GoodsIdList = $"[{goods_id}]", GenerateShortUrl = true, CustomParameters = responseMessageText.FromUserName }); return($"/:rose 亲,商品信息如下~\n========================\n{goods.GoodsName}\n【在售价】{((decimal)goods.MinGroupPrice) / 100}元\n【券后价】{Math.Round(((decimal)(goods.MinGroupPrice - goods.CouponDiscount.Value)) / 100, 2)}元\n\ue231 <a href='{promotionUrlModel.GoodsPromotionUrlGenerateResponse.GoodsPromotionUrlList.FirstOrDefault().Url}'>点击这里下单</a>\n下单确认收货后就能收到返利佣金啦~"); //return $"/:rose 亲,商品信息如下~\n========================\n{goods.GoodsName}\n【在售价】{((decimal)goods.MinGroupPrice) / 100}元\n【券后价】{Math.Round(((decimal)(goods.MinGroupPrice - goods.CouponDiscount.Value)) / 100,2)}元\n【约返利】{Math.Round((decimal)((goods.MinNormalPrice - goods.CouponDiscount.Value) * goods.PromotionRate) / 100000,2)}元\n\ue231 <a href='{promotionUrlModel.GoodsPromotionUrlGenerateResponse.GoodsPromotionUrlList.FirstOrDefault().Url}'>点击这里下单</a>\n下单确认收货后就能收到返利佣金啦~"; } catch (Exception ex) { //LogHelper.WriteLog(typeof(WechatController), "调用拼多多获取推广链接失败" + ex.Message); return(""); } } else //无优惠券 但有佣金 { try { var promotionUrlModel = await api.GenerateDdkGoodsPromotionUrlAsync(new GenerateDdkGoodsPromotionUrlRequestModel { Type = "pdd.ddk.goods.promotion.url.generate", GoodsIdList = $"[{goods_id}]", PId = pdd_pid, GenerateShortUrl = true, CustomParameters = responseMessageText.FromUserName }); return($"/:rose 亲,商品信息如下~\n========================\n{goods.GoodsName}\n【在售价】{((decimal)goods.MinGroupPrice) / 100}元\n【约返利】{Math.Round((decimal)(goods.MinGroupPrice * goods.PromotionRate) / 100000, 2)}元\n\ue231 <a href='{promotionUrlModel.GoodsPromotionUrlGenerateResponse.GoodsPromotionUrlList.FirstOrDefault().Url}'>点击这里下单</a>\n下单确认收货后就能收到返利佣金啦~\n\n 点击查看 <a href='http://mp.weixin.qq.com/s?__biz=Mzg2NTAxOTEyMA==&mid=100000146&idx=1&sn=62405c8df3db46e74940aefb9ac3737b&chksm=4e61340d7916bd1bf645afbc6d10c1f19561d7fa59847516c01e64c0791e6d544f4f56c4f498#rd'>如何领取返利</a>"); } catch (Exception ex) { //LogHelper.WriteLog(typeof(WechatController), "调用拼多多获取推广链接失败" + ex.Message); return(""); } } }
public HotPageData <List <HotGoodsModel> > GetGoodsList(HotGoodsSearchCondition condition, out string errMsg) { errMsg = ""; try { //排序转换 GoodsSortTypeOptions goodsSortType = GoodsSortTypeOptions.综合排序; switch (condition.SortField) { case HotGoodsSortFieldOptions.默认: goodsSortType = GoodsSortTypeOptions.综合排序; break; case HotGoodsSortFieldOptions.价格: goodsSortType = condition.SortType == HotGoodsSortTypeOptions.ASC ? GoodsSortTypeOptions.价格升序 : GoodsSortTypeOptions.价格降序; break; case HotGoodsSortFieldOptions.优惠券金额: goodsSortType = condition.SortType == HotGoodsSortTypeOptions.ASC ? GoodsSortTypeOptions.优惠券金额排序升序 : GoodsSortTypeOptions.优惠券金额排序降序; break; case HotGoodsSortFieldOptions.佣金比例: goodsSortType = condition.SortType == HotGoodsSortTypeOptions.ASC ? GoodsSortTypeOptions.佣金比率升序 : GoodsSortTypeOptions.佣金比例降序; break; case HotGoodsSortFieldOptions.佣金金额: goodsSortType = condition.SortType == HotGoodsSortTypeOptions.ASC ? GoodsSortTypeOptions.佣金金额升序排序 : GoodsSortTypeOptions.佣金金额降序排序; break; case HotGoodsSortFieldOptions.券后价: goodsSortType = condition.SortType == HotGoodsSortTypeOptions.ASC ? GoodsSortTypeOptions.券后价升序排序 : GoodsSortTypeOptions.券后价降序排序; break; case HotGoodsSortFieldOptions.加入时间: goodsSortType = condition.SortType == HotGoodsSortTypeOptions.ASC ? GoodsSortTypeOptions.照加入多多进宝时间升序 : GoodsSortTypeOptions.照加入多多进宝时间降序; break; case HotGoodsSortFieldOptions.销量: goodsSortType = condition.SortType == HotGoodsSortTypeOptions.ASC ? GoodsSortTypeOptions.销量升序 : GoodsSortTypeOptions.销量降序; break; } //接口数据拉取 DdkAppsModel appInfo = DdkAppProvider.Instance.GetModelByDefault(); GoodsSearchListJsonResult goodsSearchListJsonResult = DdkApi.GetGoodsList(appInfo.ClientId, appInfo.ClientSecret, new GoodsSearchConditionEntity() { cat_id = condition.CatId, goods_id_list = condition.GoodsIdList, keyword = condition.Keyword, opt_id = condition.OptId, page = condition.Page, page_size = condition.PageSize, range_list = null, with_coupon = condition.WithCoupon, sort_type = goodsSortType }); //数据加工 GoodsSearchListEntity searchListEntity = goodsSearchListJsonResult.goods_search_response; HotPageData <List <HotGoodsModel> > pageData = HotPageDataHelper <List <HotGoodsModel>, List <GoodsDetailItemEntity> > .Convert( searchListEntity.goods_list, searchListEntity.total_count, condition.PageSize, condition.Page, dt => { List <HotGoodsModel> list = new List <HotGoodsModel>(); foreach (GoodsDetailItemEntity item in dt) { list.Add(this.ConvertGoods(item)); } return(list); }); return(pageData); } catch (Exception ex) { errMsg = ex.Message; return(null); } }