old_flsystem/类库/Api.Framework/Tools/WPHHelper.cs

1303 lines
48 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Api.Framework.Cps;
using Api.Framework.Enums;
using Api.Framework.Model;
using CsharpHttpHelper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Api.Framework.Tools
{
/// <summary>
/// 唯品会助手类
/// </summary>
public class WPHHelper
{
/// <summary>
/// 查找宝贝Id的正则表达式
/// </summary>
//private static string RegItemId = @"product-\d+-(?<商品Id>\d+)";
private static List<string> RegItemIds = new List<string>() { @"(?i)(?:product|detail)-\d+-(?<商品Id>\d+)", @"(?i)vip.com.+?goodsId=(?<商品Id>\d+)", @"landing_pid=(?<商品Id>\d+)" };
/// <summary>
/// 内容中获取唯品会商品id
/// </summary>
/// <param name="mess"></param>
/// <returns></returns>
private static string CheckRegexGetGoodsId(string mess)
{
try
{
try
{
mess = HttpHelper.URLDecode(HttpHelper.URLDecode(HttpHelper.URLDecode(mess)));
foreach (var item in RegItemIds)
{
var reg = Regex.Match(mess, item, RegexOptions.IgnoreCase);
if (reg.Success)
return reg.Groups["商品Id"].Value;
}
}
catch (Exception ex)
{ }
var urlTmps = HttpExtend.RegexMatchesUrl(mess);
foreach (var url in urlTmps)
{
var tmpUrl = FindLocationByUrl(url);
if (!string.IsNullOrWhiteSpace(tmpUrl))
{
tmpUrl = HttpHelper.URLDecode(HttpHelper.URLDecode(HttpHelper.URLDecode(tmpUrl)));
foreach (var item in RegItemIds)
{
var reg = Regex.Match(tmpUrl, item, RegexOptions.IgnoreCase);
if (reg.Success)
return reg.Groups["商品Id"].Value;
}
}
}
}
catch (Exception ex)
{ }
return string.Empty;
}
/// <summary>
/// 获取商品id
/// </summary>
/// <param name="mess">内容</param>
/// <returns></returns>
public static string GetWphGoodsID(string mess)
{
try
{
var messTmp = HttpHelper.URLDecode(HttpHelper.URLDecode(HttpHelper.URLDecode(mess)));
if (messTmp.ToLower().Contains("vip.com") || messTmp.ToLower().Contains("m.vip") || messTmp.ToLower().Contains("vipglobal.hk"))
{
var itemId = CheckRegexGetGoodsId(messTmp);
if (!string.IsNullOrWhiteSpace(itemId))
return itemId;
}
//pages/index/index.html?$route=/pages/productDetail/productDetail?goodsId=6919530373160104087&brandId=1710613367&f=share_pd&nmsns=shop_android-7.62.2-weixin&nst=product&nsbc=&nct=card&ncid=075f0b5e-f292-3b6f-a846-7aab008970f9&nabtid=121&nuid=377785401&nchl_param=share:075f0b5e-f292-3b6f-a846-7aab008970f9:1642813783344&mars_cid_a=075f0b5e-f292-3b6f-a846-7aab008970f9&chl_type=share&nmsns=shop_android-7.62.2-weixin&nst=product&nsbc=&nct=card&ncid=075f0b5e-f292-3b6f-a846-7aab008970f9&nabtid=121&nuid=377785401&nchl_param=share:075f0b5e-f292-3b6f-a846-7aab008970f9:1642813783344&mars_cid_a=075f0b5e-f292-3b6f-a846-7aab008970f9&chl_type=share&tra_from=adp:C01V4m7y4lstf247::mig_code::x214d703d4124f5fbd3f8451e99b81f7
if (messTmp.ToLower().Contains("vipshop/") || messTmp.Contains("唯品") || messTmp.ToLower().Contains("productDetail/productDetail".ToLower()))
{
var reg = Regex.Match(messTmp, @"goodsId=(?<商品Id>\d+)", RegexOptions.IgnoreCase);
if (reg.Success)
{
return reg.Groups["商品Id"].Value;
}
}
}
catch (Exception ex)
{ }
return string.Empty;
}
/// <summary>
/// 转链(根据商品id生成联盟链接) 参数参考:https://vop.vip.com/home#/api/method/detail/com.vip.adp.api.open.service.UnionUrlService-1.0.0/genByGoodsIdWithOauth
/// </summary>
/// <param name="data">参数</param>
/// <returns></returns>
public WPHCpsUrl GetCpsUrl(WeipinhuiApi api, object data)
{
return api.SendWeipinhui<WPHCpsUrl>("com.vip.adp.api.open.service.UnionUrlService-1.0.0#genByGoodsIdWithOauth", data);
}
/// <summary>
/// 转链(根据唯品会链接生成联盟链接) 参数参考:https://vop.vip.com/home#/api/method/detail/com.vip.adp.api.open.service.UnionUrlService-1.0.0/genByVIPUrlWithOauth
/// </summary>
/// <param name="data">参数</param>
/// <returns></returns>
public WPHCpsUrl GetCpsUrl_Hide(WeipinhuiApi api, object data)
{
return api.SendWeipinhui<WPHCpsUrl>("com.vip.adp.api.open.service.UnionUrlService-1.0.0#genByVIPUrlWithOauth", data);
}
/// <summary>
/// 获取链接真实地址
/// </summary>
/// <param name="url">链接</param>
/// <param name="referer">开源</param>
/// <param name="allowautoredirect"></param>
/// <returns></returns>
private static string FindLocationByUrl(string url, string referer = "", bool allowautoredirect = false)
{
try
{
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
URL = url,
IsToLower = false,
Timeout = 5000,
ReadWriteTimeout = 30000,
UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER",
ContentType = "application/x-www-form-urlencoded",
Referer = referer,
Allowautoredirect = allowautoredirect
};
HttpResult result = http.GetHtml(item);
var ss = result.Header.Get("Location");
return ss;
}
catch (Exception)
{ }
return string.Empty;
}
/// <summary>
/// 将订单明细对象转换成数据库唯品会fl_order_weipinhui对象
/// </summary>
/// <param name="order"></param>
/// <param name="wphList"></param>
/// <returns></returns>
internal List<fl_order_weipinhui> OrderInfoListConvertDbWeipinhuiOrder(OrderInfoList order, List<fl_order_weipinhui> wphList)
{
try
{
if (order == null)
return wphList;
if (wphList == null)
{
#region
if (order.detailList != null)
{
var wphs = new List<fl_order_weipinhui>();
foreach (var detail in order.detailList)
{
var wph = new fl_order_weipinhui();
#region
wph.orderSn = order.orderSn; //订单号
wph.newCustomer = order.newCustomer;//新老客0-待定1-新客2-老客 WeipinhuiNewCustomer
wph.channelTag = order.channelTag;//渠道商模式下表示自定义渠道标识工具商模式下表示pid
wph.orderTime = order.orderTime;//下单时间 时间戳 单位毫秒
wph.signTime = order.signTime;//签收时间 时间戳 单位毫秒
wph.settledTime = order.settledTime;//结算时间 时间戳 单位毫秒
wph.lastUpdateTime = order.lastUpdateTime;//订单上次更新时间 时间戳 单位毫秒
wph.settled = order.settled;//订单结算状态 0-未结算,1-已结算 WeipinhuiOrderSettled
wph.selfBuy = order.selfBuy;//是否自推自买 0-否1-是 WeipinhuiShiFou
wph.orderSubStatusName = Util.ConvertEnum<WeipinhuiOrderSubStatusName>(order.orderSubStatusName);//订单子状态:流转状态-支持状态:(已下单、已付款、已签收、待结算、已结算、已失效)
wph.afterSaleChangeCommission = order.afterSaleChangeCommission;//售后订单佣金变动:仅在订单完结之后发生售后行为时返回
wph.afterSaleChangeGoodsCount = order.afterSaleChangeGoodsCount;//售后订单总商品数量变动:仅在订单完结之后发生售后行为时返回
wph.commissionEnterTime = order.commissionEnterTime;//入账时间,时间戳,单位毫秒
wph.pid = order.pid;//推广PID:目前等同于channelTag
wph.isPrepay = order.isPrepay;//是否预付订单:0-否1-是 WeipinhuiShiFou
wph.statParam = order.statParam; //自定义统计参数
wph.isSplit = order.isSplit;//订单拆单标识: 0-否1-是 WeipinhuiShiFou
wph.parentSn = order.parentSn;//订单母单号:订单为拆单子单时返回
wph.orderTrackReason = order.orderTrackReason;//订单归因方式0-常规推广,1-惊喜红包,2-锁粉,3-超级红包 WeipinhuiGuiYin
//wph.status = ;//订单状态:0-不合格1-待定2-已完结 WeipinhuiOrderStatus
//wph. string orderSource ;//订单来源
#endregion
//if (detail.goodsId == "6918315325800001858")
//{
//}
wph.goodsId = detail.goodsId;//商品id
wph.goodsName = detail.goodsName;//商品名称
wph.goodsThumb = detail.goodsThumb;//商品缩略图
wph.goodsCount = detail.goodsCount;//商品数量
wph.commissionTotalCost = double.Parse(detail.commissionTotalCost);//商品计佣金额(元,保留两位小数)
wph.commissionRate = Math.Round(double.Parse(detail.commissionRate) / 100.00, 2);//商品佣金比例(%)
wph.commission = double.Parse(detail.commission);//商品佣金金额(元,保留两位小数)
wph.commCode = detail.commCode;//佣金编码:对应商品二级分类
wph.commName = detail.commName;//佣金方案名称
wph.orderSource = detail.orderSource;//订单来源
wph.sizeId = detail.sizeId;//商品尺码2019.01.01之后可用
wph.status = detail.status;//商品状态0-不合格1-待定2-已完结
wph.brandStoreSn = detail.brandStoreSn;//品牌编号
wph.brandStoreName = detail.brandStoreName;//品牌名称
wph.spuId = detail.spuId;//商品spuId
wph.goodsFinalPrice = double.Parse(detail.goodsFinalPrice);//商品成交价(元,保留两位小数,商品成交价上线之后的订单才有该值)
#region
if (detail.afterSaleInfo != null && detail.afterSaleInfo.Count != 0)
{
var afterSaleChangedCommission = string.IsNullOrWhiteSpace(detail.afterSaleInfo[0].afterSaleChangedCommission) ? 0 : double.Parse(detail.afterSaleInfo[0].afterSaleChangedCommission);
if (afterSaleChangedCommission != 0)
{
wph.afterSaleChangedCommission = afterSaleChangedCommission;//商品佣金售后变动:仅在订单完结之后发生售后时返回,无售后时为空
wph.afterSaleChangedGoodsCount = detail.afterSaleInfo[0].afterSaleChangedGoodsCount;//商品数量售后变动:仅在订单完结之后发生售后时返回,无售后时为空
wph.afterSaleSn = detail.afterSaleInfo[0].afterSaleSn;//商品售后单号,无售后时为空
wph.afterSaleStatus = detail.afterSaleInfo[0].afterSaleStatus;//商品售后状态1-售后中2-售后完成3-售后取消,无售后时为空 WeipinhuiAfterSaleStatus
wph.afterSaleType = detail.afterSaleInfo[0].afterSaleType;//售后类型1-退货2-换货,无售后时为空 WeipinhuiSfterSaleType
wph.afterSaleFinishTime = detail.afterSaleInfo[0].afterSaleFinishTime;//售后完成时间,时间戳,单位:毫秒,无售后时为空
if (wph.afterSaleChangedGoodsCount != 0)
wph.orderSubStatusName = WeipinhuiOrderSubStatusName.;
else
{
var db_order = ApiClient.GetSession().FindSingle<fl_order_weipinhui>("orderSn=@orderSn and goodsId=@goodsId and sizeId = @sizeId", new { orderSn = wph.orderSn, goodsId = wph.goodsId, sizeId = wph.sizeId });
if (db_order != null && db_order.db_status == SystemOrderStatus.) //跳过相同状态
{
wph.orderSubStatusName = WeipinhuiOrderSubStatusName.;
}
else
{
wph.orderSubStatusName = WeipinhuiOrderSubStatusName.;
}
}
}
else
{
//退货 = 1
//换货 = 2
if (detail.afterSaleInfo[0].afterSaleType == WeipinhuiSfterSaleType.退 && detail.afterSaleInfo[0].afterSaleStatus == WeipinhuiAfterSaleStatus.)
{
wph.afterSaleStatus = detail.afterSaleInfo[0].afterSaleStatus;
wph.orderSubStatusName = WeipinhuiOrderSubStatusName.;
wph.afterSaleType = detail.afterSaleInfo[0].afterSaleType;
}
}
}
#endregion
wphs.Add(wph);
}
return wphs;
}
#endregion
}
}
catch (Exception ex)
{
EventClient.OnEvent("将订单明细对象转换成数据库唯品会fl_order_weipinhui对象异常:", ex.Message + " - " + ex.StackTrace);
}
return null;
}
}
#region
#region
/// <summary>
/// 链接数据
/// </summary>
public class UrlInfoList
{
/// <summary>
/// 链接生成的数据源: 如果根据商品id生成链接该值商品id 如果根据链接生成链接,该值为唯品会链接
/// </summary>
public string source { get; set; }
/// <summary>
/// CPS短链接
/// </summary>
public string url { get; set; }
/// <summary>
/// CPS长连接
/// </summary>
public string longUrl { get; set; }
/// <summary>
/// CPS通用连接
/// </summary>
public string ulUrl { get; set; }
/// <summary>
/// CPS Deeplink链接
/// </summary>
public string deeplinkUrl { get; set; }
/// <summary>
/// 小程序CPS参数通用小程序跟单参数
/// </summary>
public string traFrom { get; set; }
/// <summary>
/// CPS短链接不唤起快应用
/// </summary>
public string noEvokeUrl { get; set; }
/// <summary>
/// CPS长链接不唤起快应用
/// </summary>
public string noEvokeLongUrl { get; set; }
/// <summary>
/// 唯品会小程序链接仅在根据商品id获取时返回
/// </summary>
public string vipWxUrl { get; set; }
/// <summary>
/// 唯品会小程序码仅在根据商品id获取时返回需获取小程序码高级权限
/// </summary>
public string vipWxCode { get; set; }
/// <summary>
/// 唯品会快应用链接
/// </summary>
public string vipQuickAppUrl { get; set; }
}
public class Result1
{
/// <summary>
/// 链接数据
/// </summary>
public List<UrlInfoList> urlInfoList { get; set; }
}
/// <summary>
/// 转链后返回的数据解构
/// </summary>
public class WPHCpsUrl
{
public string returnCode { get; set; }
public Result1 result { get; set; }
}
#endregion
#region
/// <summary>
/// 商品明细
/// </summary>
public class DetailList
{
/// <summary>
/// 商品id
/// </summary>
public string goodsId { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public string goodsName { get; set; }
/// <summary>
/// 商品缩略图
/// </summary>
public string goodsThumb { get; set; }
/// <summary>
/// 商品数量
/// </summary>
public int goodsCount { get; set; }
/// <summary>
/// 商品计佣金额(元,保留两位小数)
/// </summary>
public string commissionTotalCost { get; set; }
/// <summary>
/// 商品佣金比例(%)
/// </summary>
public string commissionRate { get; set; }
/// <summary>
/// 商品佣金金额(元,保留两位小数)
/// </summary>
public string commission { get; set; }
/// <summary>
/// 佣金编码:对应商品二级分类
/// </summary>
public string commCode { get; set; }
/// <summary>
/// 佣金方案名称
/// </summary>
public string commName { get; set; }
/// <summary>
/// 订单来源
/// </summary>
public string orderSource { get; set; }
/// <summary>
/// 商品售后信息
/// </summary>
public List<AfterSaleInfo> afterSaleInfo { get; set; }
/// <summary>
/// 商品尺码2019.01.01之后可用
/// </summary>
public string sizeId { get; set; }
/// <summary>
/// 商品状态0-不合格1-待定2-已完结
/// </summary>
public WeipinhuiOrderStatus status { get; set; }
/// <summary>
/// 品牌编号
/// </summary>
public string brandStoreSn { get; set; }
/// <summary>
/// 品牌名称
/// </summary>
public string brandStoreName { get; set; }
/// <summary>
/// 商品spuId
/// </summary>
public string spuId { get; set; }
/// <summary>
/// 商品成交价(元,保留两位小数,商品成交价上线之后的订单才有该值)
/// </summary>
public string goodsFinalPrice { get; set; }
}
/// <summary>
/// 商品售后信息
/// </summary>
public class AfterSaleInfo
{
/// <summary>
/// 商品佣金售后变动:仅在订单完结之后发生售后时返回,无售后时为空
/// </summary>
public string afterSaleChangedCommission { get; set; }
/// <summary>
/// 商品数量售后变动:仅在订单完结之后发生售后时返回,无售后时为空
/// </summary>
public int afterSaleChangedGoodsCount { get; set; }
/// <summary>
/// 商品售后单号,无售后时为空
/// </summary>
public string afterSaleSn { get; set; }
/// <summary>
/// 商品售后状态1-售后中2-售后完成3-售后取消,无售后时为空
/// </summary>
public WeipinhuiAfterSaleStatus afterSaleStatus { get; set; }
/// <summary>
/// 售后类型1-退货2-换货,无售后时为空
/// </summary>
public WeipinhuiSfterSaleType afterSaleType { get; set; }
/// <summary>
/// 售后完成时间,时间戳,单位:毫秒,无售后时为空
/// </summary>
public long afterSaleFinishTime { get; set; }
}
/// <summary>
/// 业绩查询响应结果
/// </summary>
public class OrderInfoList
{
/// <summary>
/// 订单号
/// </summary>
public string orderSn { get; set; }
/// <summary>
/// 订单状态:0-不合格1-待定2-已完结
/// </summary>
public WeipinhuiOrderStatus status { get; set; }
/// <summary>
/// 新老客0-待定1-新客2-老客
/// </summary>
public WeipinhuiNewCustomer newCustomer { get; set; }
/// <summary>
/// 渠道商模式下表示自定义渠道标识工具商模式下表示pid
/// </summary>
public string channelTag { get; set; }
/// <summary>
/// 下单时间 时间戳 单位毫秒
/// </summary>
public long orderTime { get; set; }
/// <summary>
/// 签收时间 时间戳 单位毫秒
/// </summary>
public long signTime { get; set; }
/// <summary>
/// 结算时间 时间戳 单位毫秒
/// </summary>
public long settledTime { get; set; }
/// <summary>
/// 商品明细
/// </summary>
public List<DetailList> detailList { get; set; }
/// <summary>
/// 订单上次更新时间 时间戳 单位毫秒
/// </summary>
public long lastUpdateTime { get; set; }
/// <summary>
/// 订单结算状态 0-未结算,1-已结算
/// </summary>
public WeipinhuiOrderSettled settled { get; set; }
/// <summary>
/// 是否自推自买 0-否1-是
/// </summary>
public WeipinhuiShiFou selfBuy { get; set; }
/// <summary>
/// 订单子状态:流转状态-支持状态:(已下单、已付款、已签收、待结算、已结算、已失效)
/// </summary>
public string orderSubStatusName { get; set; }
/// <summary>
/// 商品总佣金:单位元
/// </summary>
public string commission { get; set; }
/// <summary>
/// 售后订单佣金变动:仅在订单完结之后发生售后行为时返回
/// </summary>
public string afterSaleChangeCommission { get; set; }
/// <summary>
/// 售后订单总商品数量变动:仅在订单完结之后发生售后行为时返回
/// </summary>
public string afterSaleChangeGoodsCount { get; set; }
/// <summary>
/// 入账时间,时间戳,单位毫秒
/// </summary>
public long commissionEnterTime { get; set; }
/// <summary>
/// 订单来源
/// </summary>
public string orderSource { get; set; }
/// <summary>
/// 推广PID:目前等同于channelTag
/// </summary>
public string pid { get; set; }
/// <summary>
/// 是否预付订单:0-否1-是
/// </summary>
public WeipinhuiShiFou isPrepay { get; set; }
/// <summary>
/// 自定义统计参数
/// </summary>
public string statParam { get; set; }
/// <summary>
/// 订单拆单标识: 0-否1-是
/// </summary>
public WeipinhuiShiFou isSplit { get; set; }
/// <summary>
/// 订单母单号:订单为拆单子单时返回
/// </summary>
public string parentSn { get; set; }
/// <summary>
/// 订单归因方式0-常规推广,1-惊喜红包,2-锁粉,3-超级红包
/// </summary>
public WeipinhuiGuiYin orderTrackReason { get; set; }
/// <summary>
/// 开发者调用的appKey当订单是通过开发者API推广成单时返回其余时候返回为空
/// </summary>
public string appKey { get; set; }
/// <summary>
/// 订单支付金额:单位元
/// </summary>
public string totalCost { get; set; }
}
/// <summary>
/// 订单数据
/// </summary>
public class OrderResult
{
/// <summary>
/// 业绩总条数
/// </summary>
public int total { get; set; }
/// <summary>
/// 当前页码
/// </summary>
public int pageSize { get; set; }
/// <summary>
/// 页面大小
/// </summary>
public int page { get; set; }
/// <summary>
/// 业绩查询响应结果
/// </summary>
public List<OrderInfoList> orderInfoList { get; set; }
}
/// <summary>
/// 订单响应结果
/// </summary>
public class OrderResponseResult
{
/// <summary>
/// 返回代码
/// </summary>
public string returnCode { get; set; }
/// <summary>
/// 返回数据
/// </summary>
public OrderResult result { get; set; }
}
#endregion
#region
///// <summary>
///// 店铺信息
///// </summary>
//public class StoreInfo
//{
// /// <summary>
// /// 店铺名字
// /// </summary>
// public string storeName { get; set; }
// /// <summary>
// /// 店铺Id
// /// </summary>
// public string storeId { get; set; }
//}
/// <summary>
/// 红包信息
/// </summary>
public class CouponInfo
{
/// <summary>
/// 优惠券批次号
/// </summary>
public string couponNo { get; set; }
/// <summary>
/// 优惠劵名称
/// </summary>
public string couponName { get; set; }
/// <summary>
/// 使用门槛
/// </summary>
public string buy { get; set; }
/// <summary>
/// 优惠金额
/// </summary>
public string fav { get; set; }
/// <summary>
/// 券激活开始时间,毫秒级时间戳
/// </summary>
public long activateBeginTime { get; set; }
/// <summary>
/// 券激活结束时间,毫秒级时间戳
/// </summary>
public long activateEndTime { get; set; }
/// <summary>
/// 使用开始时间,毫秒级时间戳
/// </summary>
public long useBeginTime { get; set; }
/// <summary>
/// 使用结束时间,毫秒级时间戳
/// </summary>
public long useEndTime { get; set; }
/// <summary>
/// 生成劵的总量
/// </summary>
public long totalAmount { get; set; }
/// <summary>
/// 劵已激活的数量
/// </summary>
public int activedAmount { get; set; }
}
/// <summary>
/// 精选商品列表
/// </summary>
public class GoodsInfoList
{
/// <summary>
/// 商品id
/// </summary>
public string goodsId { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public string goodsName { get; set; }
/// <summary>
/// 商品描述,字段暂不输出
/// </summary>
public string goodsDesc { get; set; }
/// <summary>
/// 商品落地页
/// </summary>
public string destUrl { get; set; }
/// <summary>
/// 商品缩略图
/// </summary>
public string goodsThumbUrl { get; set; }
/// <summary>
/// 商品轮播图根据商品id查询时返回商品列表不返回
/// </summary>
public List<string> goodsCarouselPictures { get; set; }
/// <summary>
/// 商品主图
/// </summary>
public string goodsMainPicture { get; set; }
/// <summary>
/// 商品三级分类id
/// </summary>
public int categoryId { get; set; }
/// <summary>
/// 商品三级分类
/// </summary>
public string categoryName { get; set; }
/// <summary>
/// 商品类型0-自营1-MP
/// </summary>
public int sourceType { get; set; }
/// <summary>
/// 市场价(元)
/// </summary>
public string marketPrice { get; set; }
/// <summary>
/// 唯品价(元)
/// </summary>
public string vipPrice { get; set; }
/// <summary>
/// 佣金比例(%
/// </summary>
public string commissionRate { get; set; }
/// <summary>
/// 佣金金额(元)
/// </summary>
public string commission { get; set; }
/// <summary>
/// 折扣:唯品价/市场价 保留两位小数字符串
/// </summary>
public string discount { get; set; }
/// <summary>
/// 商品详情图片根据商品id查询商品信息时返回商品列表不返回
/// </summary>
public List<string> goodsDetailPictures { get; set; }
/// <summary>
/// 商品一级分类id
/// </summary>
public int cat1stId { get; set; }
/// <summary>
/// 商品一级分类名称
/// </summary>
public string cat1stName { get; set; }
/// <summary>
/// 商品二级分类id
/// </summary>
public int cat2ndId { get; set; }
/// <summary>
/// 商品二级分类名称
/// </summary>
public string cat2ndName { get; set; }
/// <summary>
/// 商品品牌sn
/// </summary>
public string brandStoreSn { get; set; }
/// <summary>
/// 商品品牌名称
/// </summary>
public string brandName { get; set; }
/// <summary>
/// 商品品牌logo全路径地址
/// </summary>
public string brandLogoFull { get; set; }
/// <summary>
/// 商品推广计划有效期预估截止时间:仅为预估时间,仅做参考;时间戳,单位:毫秒
/// </summary>
public long schemeEndTime { get; set; }
/// <summary>
/// 商品售卖开始时间,时间戳,单位毫秒
/// </summary>
public long sellTimeFrom { get; set; }
/// <summary>
/// 商品售卖结束时间,时间戳, 单位毫秒
/// </summary>
public long sellTimeTo { get; set; }
/// <summary>
/// 推广权重,用于确定推广该商品的优先级,权重值越大,优先级越高
/// </summary>
public long weight { get; set; }
/// <summary>
/// 店铺信息
/// </summary>
public StoreInfo storeInfo { get; set; }
/// <summary>
/// 商品所属档期专场id
/// </summary>
public int brandId { get; set; }
/// <summary>
/// 商品所属推广方案开始时间:时间戳,单位:毫秒
/// </summary>
public long schemeStartTime { get; set; }
/// <summary>
/// 商品状态0-下架1-上架
/// </summary>
public int status { get; set; }
/// <summary>
/// 红包信息
/// </summary>
public CouponInfo couponInfo { get; set; }
/// <summary>
/// 是否海淘商品标识1是 0不是
/// </summary>
public int haiTao { get; set; }
/// <summary>
/// 商品spuId
/// </summary>
public string spuId { get; set; }
}
/// <summary>
/// 精选商品列表
/// </summary>
public class GoodsInfoResult
{
/// <summary>
/// 总数
/// </summary>
public int total { get; set; }
/// <summary>
/// 精选商品列表
/// </summary>
public List<GoodsInfoList> goodsInfoList { get; set; }
/// <summary>
/// 分页大小
/// </summary>
public int pageSize { get; set; }
/// <summary>
/// 支持的排序字段,为空时仅支持默认排序
/// </summary>
public List<object> sortFields { get; set; }
/// <summary>
/// 当前页码
/// </summary>
public int page { get; set; }
}
public class GoodsInfoResponseResult
{
public string returnCode { get; set; }
public GoodsInfoResult result { get; set; }
}
#endregion
#region
/// <summary>
/// 商品预付信息
/// </summary>
public class PrepayInfo
{
/// <summary>
/// 是否预付商品:0-否1-是
/// </summary>
public int isPrepay { get; set; }
/// <summary>
/// 预付到手价:元
/// </summary>
public string prepayPrice { get; set; }
/// <summary>
/// 预付首款金额:元
/// </summary>
public string firstAmount { get; set; }
/// <summary>
/// 预付尾款金额:元
/// </summary>
public string lastAmount { get; set; }
/// <summary>
/// 预付优惠金额: 元
/// </summary>
public string prepayFavAmount { get; set; }
/// <summary>
/// 抵扣价格(首款+优惠金额):元
/// </summary>
public string deductionPrice { get; set; }
/// <summary>
/// 预付折扣:(唯品价-优惠金额)/唯品价 保留两位小数的数字字符串
/// </summary>
public string prepayDiscount { get; set; }
/// <summary>
/// 首款支付开始时间:时间戳,单位毫秒
/// </summary>
public long prepayFirstStartTime { get; set; }
/// <summary>
/// 首款支付结束时间:时间戳,单位毫秒
/// </summary>
public long prepayFirstEndTime { get; set; }
/// <summary>
/// 尾款支付开始时间:时间戳,单位毫秒
/// </summary>
public long prepayLastStartTime { get; set; }
/// <summary>
/// 尾款支付结束时间:时间戳,单位毫秒
/// </summary>
public long prepayLastEndTime { get; set; }
}
/// <summary>
/// 商品所属店铺服务能力评价
/// </summary>
public class StoreServiceCapability
{
/// <summary>
/// 店铺评分:保留两位小数
/// </summary>
public string storeScore { get; set; }
/// <summary>
/// 店铺同品类排名比例例如10表示前10%
/// </summary>
public string storeRankRate { get; set; }
}
/// <summary>
/// 商品评价信息
/// </summary>
public class CommentsInfo
{
/// <summary>
/// 商品评论数
/// </summary>
public int comments { get; set; }
/// <summary>
/// 商品好评率:百分比,不带百分号
/// </summary>
public string goodCommentsShare { get; set; }
}
/// <summary>
/// 店铺信息
/// </summary>
public class StoreInfo
{
/// <summary>
/// 店铺名称
/// </summary>
public string storeName { get; set; }
/// <summary>
/// 店铺id
/// </summary>
public string storeId { get; set; }
}
/// <summary>
/// 商品参与活动信息:未参与活动集合为空
/// </summary>
public class JoinedActivities
{
/// <summary>
/// 活动类型:18-唯品快抢
/// </summary>
public int actType { get; set; }
/// <summary>
/// 活动名称
/// </summary>
public string actName { get; set; }
/// <summary>
/// 开始时间:时间戳,单位毫秒
/// </summary>
public long beginTime { get; set; }
/// <summary>
/// 结束时间:时间戳,单位毫秒
/// </summary>
public long endTime { get; set; }
/// <summary>
/// 预热开始时间:时间戳,单位毫秒
/// </summary>
public long foreShowBeginTime { get; set; }
}
/// <summary>
/// 红包信息
/// </summary>
public class CouponInfo1
{
/// <summary>
/// 优惠券批次号
/// </summary>
public string couponNo { get; set; }
/// <summary>
/// 优惠券名称
/// </summary>
public string couponName { get; set; }
/// <summary>
/// 使用门槛
/// </summary>
public string buy { get; set; }
/// <summary>
/// 优惠券金额
/// </summary>
public string fav { get; set; }
/// <summary>
/// 券激活开始时间, 毫秒级时间戳
/// </summary>
public long activateBeginTime { get; set; }
/// <summary>
/// 券激活结束时间, 毫秒级时间戳
/// </summary>
public long activateEndTime { get; set; }
//使用开始时间,毫秒级时间戳
public long useBeginTime { get; set; }
/// <summary>
/// 使用结束时间,毫秒级时间戳
/// </summary>
public long useEndTime { get; set; }
/// <summary>
/// 生成劵的总量
/// </summary>
public long totalAmount { get; set; }
/// <summary>
/// 劵已激活的数量
/// </summary>
public long activedAmount { get; set; }
}
/// <summary>
/// 对应sku信息
/// </summary>
public class SkuInfos
{
/// <summary>
/// 商品尺码id(唯品会体系下和skuId等同)
/// </summary>
public string sizeId { get; set; }
/// <summary>
/// 售卖属性信息134 - 颜色,453 - 尺码)
/// </summary>
public Dictionary<int, string> saleProps { get; set; }
/// <summary>
/// 剩余库存:查询库存时返回
/// </summary>
public int leavingStock { get; set; }
/// <summary>
/// 商品库存状态1-已抢光2-有库存3-有机会
/// </summary>
public int saleStockStatus { get; set; }
/// <summary>
/// 唯品价:单位元
/// </summary>
public string vipPrice { get; set; }
/// <summary>
/// 市场价:单位元
/// </summary>
public string marketPrice { get; set; }
}
/// <summary>
/// 渠道专属红包:目前仅开放单品券,没有则返回空
/// </summary>
public class ExclusiveCoupon
{
/// <summary>
/// 优惠券批次号
/// </summary>
public string couponNo { get; set; }
/// <summary>
/// 优惠劵名称
/// </summary>
public string couponName { get; set; }
/// <summary>
/// 优惠金额:单位-元,查询详情时返回
/// </summary>
public string fav { get; set; }
/// <summary>
/// 使用门槛:单位-元,查询详情时返回
/// </summary>
public string buy { get; set; }
/// <summary>
/// 券激活开始时间,毫秒级时间戳
/// </summary>
public long activateBeginTime { get; set; }
/// <summary>
/// 券激活结束时间,毫秒级时间戳
/// </summary>
public long activateEndTime { get; set; }
/// <summary>
/// 使用开始时间,毫秒级时间戳
/// </summary>
public long useBeginTime { get; set; }
/// <summary>
/// 使用结束时间,毫秒级时间戳
/// </summary>
public long useEndTime { get; set; }
/// <summary>
/// 生成劵的总量:查询详情时返回
/// </summary>
public long totalAmount { get; set; }
/// <summary>
/// 劵已激活的数量:查询详情时返回
/// </summary>
public long activedAmount { get; set; }
/// <summary>
/// 专属领券页地址
/// </summary>
public string receiveUrl { get; set; }
}
/// <summary>
/// 唯品会商品查询详情结果
/// </summary>
public class WphGoodsInfoResult
{
/// <summary>
/// 商品id
/// </summary>
public string goodsId { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public string goodsName { get; set; }
/// <summary>
/// 商品描述,字段暂不输出
/// </summary>
public string goodsDesc { get; set; }
/// <summary>
/// 商品落地页
/// </summary>
public string destUrl { get; set; }
/// <summary>
/// 商品缩略图
/// </summary>
public string goodsThumbUrl { get; set; }
/// <summary>
/// 商品轮播图根据商品id查询时返回商品列表不返回
/// </summary>
public List<string> goodsCarouselPictures { get; set; }
/// <summary>
/// 商品主图
/// </summary>
public string goodsMainPicture { get; set; }
/// <summary>
/// 商品三级分类id
/// </summary>
public long categoryId { get; set; }
/// <summary>
/// 商品三级分类
/// </summary>
public string categoryName { get; set; }
/// <summary>
/// 商品类型0-自营1-MP
/// </summary>
public int sourceType { get; set; }
/// <summary>
/// 市场价(元)
/// </summary>
public string marketPrice { get; set; }
/// <summary>
/// 唯品价(元)
/// </summary>
public string vipPrice { get; set; }
/// <summary>
/// 佣金比例(%
/// </summary>
public string commissionRate { get; set; }
/// <summary>
/// 佣金金额(元)
/// </summary>
public string commission { get; set; }
/// <summary>
/// 折扣:唯品价/市场价 保留两位小数字符串
/// </summary>
public string discount { get; set; }
/// <summary>
/// 商品详情图片根据商品id查询商品信息时返回商品列表不返回
/// </summary>categoryName
public List<string> goodsDetailPictures { get; set; }
/// <summary>
/// 商品一级分类id
/// </summary>
public long cat1stId { get; set; }
/// <summary>
/// 商品一级分类名称
/// </summary>
public string cat1stName { get; set; }
/// <summary>
/// 商品二级分类id
/// </summary>
public long cat2ndId { get; set; }
/// <summary>
/// 商品二级分类名称
/// </summary>
public string cat2ndName { get; set; }
/// <summary>
/// 商品品牌sn
/// </summary>
public string brandStoreSn { get; set; }
/// <summary>
/// 商品品牌名称
/// </summary>
public string brandName { get; set; }
/// <summary>
/// 商品品牌logo全路径地址
/// </summary>
public string brandLogoFull { get; set; }
/// <summary>
/// 商品推广计划有效期预估截止时间:仅为预估时间,仅做参考;时间戳,单位:毫秒
/// </summary>
public long schemeEndTime { get; set; }
/// <summary>
/// 商品售卖开始时间,时间戳,单位毫秒
/// </summary>
public long sellTimeFrom { get; set; }
/// <summary>
/// 商品售卖结束时间,时间戳, 单位毫秒
/// </summary>
public long sellTimeTo { get; set; }
/// <summary>
/// 推广权重,用于确定推广该商品的优先级,权重值越大,优先级越高
/// </summary>
public int weight { get; set; }
/// <summary>
/// 店铺信息
/// </summary>
public StoreInfo storeInfo { get; set; }
/// <summary>
/// 商品评价信息
/// </summary>
public CommentsInfo commentsInfo { get; set; }
/// <summary>
/// 商品所属店铺服务能力评价
/// </summary>
public StoreServiceCapability storeServiceCapability { get; set; }
/// <summary>
/// 商品所属档期专场id
/// </summary>
public long brandId { get; set; }
/// <summary>
/// 商品所属推广方案开始时间:时间戳,单位:毫秒
/// </summary>
public long schemeStartTime { get; set; }
/// <summary>
/// 商品库存状态1-已抢光2-有库存3-有机会,当列表查询库存或者查询商品详情时返回
/// </summary>
public int saleStockStatus { get; set; }
/// <summary>
/// 商品状态0-下架1-上架
/// </summary>
public int status { get; set; }
/// <summary>
/// 商品预付信息
/// </summary>
public PrepayInfo prepayInfo { get; set; }
/// <summary>
/// 商品参与活动信息:未参与活动集合为空
/// </summary>
public List<JoinedActivities> joinedActivities { get; set; }
/// <summary>
/// 红包信息
/// </summary>
public CouponInfo1 couponInfo { get; set; }
/// <summary>
/// 是否海淘商品标识1是 0不是
/// </summary>
public int haiTao { get; set; }
/// <summary>
/// 商品spuId
/// </summary>
public string spuId { get; set; }
/// <summary>
/// 同spuId扩展商品id: 新版详情接口返回,其余接口不返回该字段
/// </summary>
public List<string> goodsIdsWithSameSpu { get; set; }
/// <summary>
/// 对应sku信息
/// </summary>
public SkuInfos skuInfos { get; set; }
/// <summary>
/// 渠道专属红包:目前仅开放单品券,没有则返回空
/// </summary>
public ExclusiveCoupon exclusiveCoupon { get; set; }
/// <summary>
/// cps推广信息目前只返回小程序链接和通用追踪参数其他链接请移步转链接口,1-通用推广参数(tra_from)2-唯品会微信小程序链接
/// </summary>
public Dictionary<int, string> cpsInfo { get; set; }
}
public class WphGoodsInfo
{
public string returnCode { get; set; }
public List<WphGoodsInfoResult> result { get; set; }
}
#endregion
#endregion
}