using CommonUtil.Top; using DkSdkCore; using DkSdkCore.Request; using DkSdkCore.Response; using Microsoft.AspNetCore.Mvc; using Microsoft.OpenApi.Writers; using Operater.DTO.Tk; using System.Collections.Generic; namespace Api.Operater.Controllers { /// /// 淘宝商品 /// [Route(TopConstants.API_ROUTE)] public class TkProductController : BaseController { /// /// 获取分类 /// /// [HttpPost] public IActionResult GetSuperCategory() { DtkApp app = new DtkApp(); List getTkCategories = new List(); TKGetSuperCategoryRequest tKGetSuperCategoryRequest = new TKGetSuperCategoryRequest(); TKGetSuperCategoryResponse tKGetSuperCategoryResponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(tKGetSuperCategoryRequest)); if (tKGetSuperCategoryResponse == null && tKGetSuperCategoryResponse.data.Count == 0) { return Error("没有数据啦!"); } else { foreach (var item in tKGetSuperCategoryResponse.data) { GetTkCategoryReponse tbProductListReponse = new GetTkCategoryReponse { cid = item.cid, cname = item.cname, cpic = item.cpic, }; List subcategoriesdatas = new List(); foreach (var s in item.subcategories) { Subcategoriesdata gEt = new Subcategoriesdata { subcid = s.subcid, scname = s.subcname, scpic = s.scpic }; subcategoriesdatas.Add(gEt); } tbProductListReponse.subcategories = subcategoriesdatas; getTkCategories.Add(tbProductListReponse); } return Success(getTkCategories); } } /// /// 商品列表(通过商品类目获取) /// /// /// [HttpPost] public IActionResult GetCategoryProductList([FromBody] GetTkCategoryProductListRequest request) { DtkApp app = new DtkApp(); TkGetGoodsListRequest goodsListRequest = new TkGetGoodsListRequest(); goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); goodsListRequest.cids = request.cid; goodsListRequest.sort = request.sort; TkGetGoodsListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.GoodsId, dtitle = item.Dtitle, shopType = item.ShopType, actualPrice = item.ActualPrice.ToString(), couponPrice = item.CouponPrice.ToString(), monthsale = item.MonthSales, mainPic=item.MainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 推荐好货 /// /// /// [HttpPost] public IActionResult GetRecommendGoodsList([FromBody] GetTkProductListRequest request) { DtkApp app = new DtkApp(); TkGetGoodsListRequest goodsListRequest = new TkGetGoodsListRequest(); goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); TkGetGoodsListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.GoodsId, dtitle = item.Dtitle, shopType = item.ShopType, actualPrice = item.ActualPrice.ToString(), couponPrice = item.CouponPrice.ToString(), monthsale = item.MonthSales, mainPic = item.MainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 热销榜 /// /// /// [HttpPost] public IActionResult GetRankingGoodsList([FromBody] GetTkProductListRequest request) { DtkApp app = new DtkApp(); TkGetGoodRankingListRequest goodsListRequest = new TkGetGoodRankingListRequest(); goodsListRequest.rankType = "1"; goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); TkGetGoodRankingListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.goodsId, dtitle = item.dtitle, shopType = item.shopType, actualPrice = item.actualPrice.ToString(), couponPrice = item.couponPrice.ToString(), monthsale = item.monthSales, mainPic = item.mainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 主播力荐 /// /// /// [HttpPost] public IActionResult GetLiveGoodsList([FromBody] GetTkProductListRequest request) { DtkApp app = new DtkApp(); TkGetLiveGoodListRequest goodsListRequest = new TkGetLiveGoodListRequest(); goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); TkGetLiveGoodListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.GoodsId, dtitle = item.Dtitle, shopType = item.ShopType, actualPrice = item.ActualPrice.ToString(), couponPrice = item.CouponPrice.ToString(), monthsale = item.MonthSales, mainPic = item.MainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 捡漏爆款 /// /// /// [HttpPost] public IActionResult GetHeightCommissionGoodList([FromBody] GetTkProductListRequest request) { DtkApp app = new DtkApp(); TkGetHeightCommissionGoodListRequest goodsListRequest = new TkGetHeightCommissionGoodListRequest(); goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); goodsListRequest.sort = "3"; TkGetLiveGoodListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.GoodsId, dtitle = item.Dtitle, shopType = item.ShopType, actualPrice = item.ActualPrice.ToString(), couponPrice = item.CouponPrice.ToString(), monthsale = item.MonthSales, mainPic = item.MainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 历史最低 /// /// /// [HttpPost] public IActionResult GetHistoryLowGoodList([FromBody] GetTkProductListRequest request) { DtkApp app = new DtkApp(); TkGetHistoryLowPriceGoodListRequest goodsListRequest = new TkGetHistoryLowPriceGoodListRequest(); goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); goodsListRequest.sort = "3"; TkGetLiveGoodListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.GoodsId, dtitle = item.Dtitle, shopType = item.ShopType, actualPrice = item.ActualPrice.ToString(), couponPrice = item.CouponPrice.ToString(), monthsale = item.MonthSales, mainPic = item.MainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 商品搜索 /// /// /// [HttpPost] public IActionResult GetSearchGoodsList([FromBody] GetTkSearchProductListRequest request) { DtkApp app = new DtkApp(); TkGetSuperGoodListRequest goodsListRequest = new TkGetSuperGoodListRequest(); goodsListRequest.sort = request.sort == null ? "0" : request.sort; goodsListRequest.type = request.type==null?"0" : request.type; goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); goodsListRequest.keyWords = request.keyWords ; goodsListRequest.hasCoupon = request.hasCoupon == null ? "1" : request.hasCoupon; goodsListRequest.tmall = request.tmall; TkGetSuperGoodListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkSearchProductListReponse tbProductListReponse = new GetTkSearchProductListReponse { imgs = item.smallImages, originalPrice = item.originalPrice.ToString(), shopType = item.shopType, dtitle = item.dtitle, monthSales = item.monthSales, couponPrice = item.couponPrice.ToString(), couponEndTime = item.couponEndTime, couponStartTime = item.couponStartTime, desc = item.desc, goodsId = item.goodsId, actualPrice = item.actualPrice.ToString(), monthsale = item.monthSales, mainPic = item.mainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 搜索联想词 /// /// /// [HttpPost] public IActionResult GetSearchSuggestion([FromBody] GetTkSearchSuggestionRequest request) { DtkApp app = new DtkApp(); TkGetSearchSuggestionRequest goodsListRequest = new TkGetSearchSuggestionRequest(); goodsListRequest.keyWords = request.keyWords; goodsListRequest.type = "3"; TkGetSearchSuggestionResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); if(dtkresponse.data!=null|| dtkresponse.msg == "成功") { return Success(dtkresponse); } else { return Success(""); } } /// /// 热搜词Top100 /// /// [HttpPost] public IActionResult GetHotTop100() { DtkApp app = new DtkApp(); TkGetHotTop100Request goodsListRequest = new TkGetHotTop100Request(); goodsListRequest.type = "1"; TkGetHotTop100Response dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); if (dtkresponse.data != null || dtkresponse.msg == "成功") { return Success(dtkresponse.data); } else { return Success(""); } } /// /// 每日爆款 /// /// /// [HttpPost] public IActionResult GetExplosiveGoodsList([FromBody] GetTkProductListRequest request) { DtkApp app = new DtkApp(); TkGetExplosiveGoodsListRequest goodsListRequest = new TkGetExplosiveGoodsListRequest(); goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); TkGetExplosiveGoodsListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.goodsId, dtitle = item.dtitle, shopType = item.shopType, actualPrice = item.actualPrice.ToString(), couponPrice = item.couponPrice.ToString(), monthsale = item.monthSales, mainPic = item.mainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 9.9包邮精选 /// /// /// [HttpPost] public IActionResult GetOpGoodsList([FromBody] GetTkOpProductListRequest request) { DtkApp app = new DtkApp(); TkGetOpGoodListRequest goodsListRequest = new TkGetOpGoodListRequest(); goodsListRequest.nineCid = request.nineCid; goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); TkGetSuperGoodListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.goodsId, dtitle = item.dtitle, shopType = item.shopType, actualPrice = item.actualPrice.ToString(), couponPrice = item.couponPrice.ToString(), monthsale = item.monthSales, mainPic = item.mainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 折上折 /// /// /// [HttpPost] public IActionResult GetSupperDiscountGoodsList([FromBody] GetTkSupperDiscountGoodsListRequest request) { DtkApp app = new DtkApp(); TkGetSupperDiscountGoodListRequest goodsListRequest = new TkGetSupperDiscountGoodListRequest(); goodsListRequest.cids = request.cids; goodsListRequest.sort = request.sort; goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); TkGetSuperGoodListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.goodsId, dtitle = item.dtitle, shopType = item.shopType, actualPrice = item.actualPrice.ToString(), couponPrice = item.couponPrice.ToString(), monthsale = item.monthSales, mainPic = item.mainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 每日半价 /// /// /// [HttpPost] public IActionResult GetHalfPriceDayGoodsList([FromBody] GetTkHalfPriceDayGoodsListRequest request) { DtkApp app = new DtkApp(); TkGetHalfPriceDayGoodsListRequest goodsListRequest = new TkGetHalfPriceDayGoodsListRequest(); goodsListRequest.sessions = request.sessions; goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); TkGetSuperGoodListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = item.goodsId, dtitle = item.dtitle, shopType = item.shopType, actualPrice = item.actualPrice.ToString(), couponPrice = item.couponPrice.ToString(), monthsale = item.monthSales, mainPic = item.mainPic }; getTkTbProductLists.Add(tbProductListReponse); } return Success(getTkTbProductLists); } /// /// 每日半价 /// /// /// [HttpPost] public IActionResult GetBrandColumList([FromBody] GetTkBrandColumListRequest request) { DtkApp app = new DtkApp(); TkGetBrandColumListRequest goodsListRequest = new TkGetBrandColumListRequest(); goodsListRequest.cid = request.cid; goodsListRequest.pageId = request.PageNo.ToString(); goodsListRequest.pageSize = request.PageSize.ToString(); TkGetBrandColumListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); List getTkTbProductLists = new List(); if (dtkresponse == null||dtkresponse.code!=0 || dtkresponse.data.list.Count == 0) { return Error("没有数据啦!"); } foreach (var item in dtkresponse.data.list) { List goods = new List(); foreach (var good in item.goodsList) { GetTkTbProductListReponse tbProductListReponse = new GetTkTbProductListReponse { goodsId = good.GoodsId, dtitle = good.Dtitle, shopType = good.ShopType, actualPrice = good.ActualPrice.ToString(), couponPrice = good.CouponPrice.ToString(), monthsale = good.MonthSales, mainPic = good.MainPic }; goods.Add(tbProductListReponse); } GetTkBrandColumListResponse brandColumListResponse = new GetTkBrandColumListResponse { brandId=item.brandId, brandName=item.brandName, brandLogo=item.brandLogo, brandFeatures=item.brandFeatures, brandDesc=item.brandDesc, sales=item.sales, maxDiscountAmount=item.maxDiscountAmount, maxDiscount=item.maxDiscount, goodlist=goods }; } return Success(getTkTbProductLists); } /// /// 整点秒杀 /// /// /// [HttpPost] public IActionResult GetDdqGoodList([FromBody] GetTkddqRequest request) { DtkApp app = new DtkApp(); TkGetDdpGoodsListRequest goodsListRequest = new TkGetDdpGoodsListRequest(); goodsListRequest.roundTime = request.roundTime; TkGetDdpGoodsListResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodsListRequest)); if (dtkresponse.data != null || dtkresponse.msg == "成功") { return Success(dtkresponse); } else { return Success(""); } } /// /// 商品详情 /// /// /// [HttpPost] public IActionResult GetGoodDetail([FromBody] GetTkProductDetailRequest request) { DtkApp app = new DtkApp(); TkGetGoodDetailRequest goodDetailRequest = new TkGetGoodDetailRequest(); goodDetailRequest.id = request.id; TkGetGoodDetailResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodDetailRequest)); if (dtkresponse == null || dtkresponse.data == null) { return Error("未查到数据"); } else { GetTkProductDetailResponse getTkProductDetail = new GetTkProductDetailResponse { imgs = dtkresponse.data.imgs.Split(','), subdivisionName = dtkresponse.data.subdivisionName, subdivisionRank=dtkresponse.data.subdivisionRank, actualPrice=dtkresponse.data.actualPrice, originalPrice = dtkresponse.data.originalPrice, shopType = dtkresponse.data.shopType, dtitle = dtkresponse.data.dtitle, monthSales = dtkresponse.data.monthSales, couponPrice = dtkresponse.data.couponPrice, couponEndTime= dtkresponse.data.couponEndTime, couponStartTime= dtkresponse.data.couponStartTime, desc= dtkresponse.data.desc, detailPics=dtkresponse.data.detailPics }; return Success(getTkProductDetail); } } /// /// 生成淘宝口令 /// /// /// [HttpPost] public IActionResult GetPrivilegeLink([FromBody] GetTkProductDetailRequest request) { DtkApp app = new DtkApp(); TkGetPrivilegeLinkRequest goodDetailRequest = new TkGetPrivilegeLinkRequest(); goodDetailRequest.goodsId = request.id; TkGetPrivilegeLinkResponse dtkresponse = Newtonsoft.Json.JsonConvert.DeserializeObject(app.Excute(goodDetailRequest)); if (dtkresponse == null || dtkresponse.data == null) { return Error("未查到数据"); } else { GetPrivilegeLinkResponse getTkProductDetail = new GetPrivilegeLinkResponse { couponClickUrl= dtkresponse.data.couponClickUrl, couponEndTime = dtkresponse.data.couponEndTime, couponInfo = dtkresponse.data.couponInfo, couponStartTime = dtkresponse.data.couponStartTime, itemId = dtkresponse.data.itemId, couponTotalCount = dtkresponse.data.couponTotalCount, couponRemainCount = dtkresponse.data.couponRemainCount, itemUrl = dtkresponse.data.itemUrl, tpwd = dtkresponse.data.tpwd, longTpwd = dtkresponse.data.longTpwd, TpwdNew=dtkresponse.data.TpwdNew, maxCommissionRate = dtkresponse.data.maxCommissionRate, shortUrl = dtkresponse.data.shortUrl, minCommissionRate = dtkresponse.data.minCommissionRate }; return Success(getTkProductDetail); } } } }