using Api.Framework.Cps;
using CsharpHttpHelper;
using CsharpHttpHelper.Enum;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Api.Framework.Tools
{
///
/// 苏宁助手
///
public class SNHelper
{
///
/// 获取苏宁链接中的商品ID
///
/// 包含抖音链接的文本
///
public static SNId GetSNGoodsID(string mess)
{
if (string.IsNullOrWhiteSpace(mess) ||
Regex.IsMatch(mess, @"\[图片=(.+?)\]") ||
Regex.IsMatch(mess, @"\[视频=(.+?)\]") ||
Regex.IsMatch(mess, @"\[卡片=(.+?)\]") ||
Regex.IsMatch(mess, @"\[公告=(.+?)\]") ||
Regex.IsMatch(mess, @"\[语音=(.+?)\]")
)
return null;
try
{
var reg = Regex.Match(mess, @"(?:(?:midfourth.html\?productId=(?\d{10,})&shop=(?\d+))|(?:suning.com/(?\d{10})/(?\d+))|(?:m.suning.com/product/(?\d{10})/(?\d+))|(?:from=APP&productId=(?\d+)&shop=(?\d+)))|(?:shopId=(?\d{10})&storeId=(?\d+))", RegexOptions.IgnoreCase);
if (reg.Success)
{
return new SNId() { goodid = reg.Groups["goodid"].ToString(), shop = reg.Groups["shop"].ToString() };
}
else
{
if (mess.ToLower().Contains("suning.com"))
{
var _url = HttpExtend.RegexMatchUrl(mess);
if (!string.IsNullOrWhiteSpace(_url))
{
var cps = new SuNingApi(new Model.fl_cps_member());
var snGInfo = cps.QuerySearchCommodity(_url);
if (snGInfo.sn_responseContent.sn_error != null)
throw new Exception(snGInfo.sn_responseContent.sn_error.error_msg);//查询没结果
else if (snGInfo.sn_responseContent.sn_body == null || snGInfo.sn_responseContent.sn_body.querySearchcommodity == null || snGInfo.sn_responseContent.sn_body.querySearchcommodity.Count == 0)
throw new Exception("查询没结果2");
else if (snGInfo.sn_responseContent.sn_body != null && snGInfo.sn_responseContent.sn_body.querySearchcommodity != null && snGInfo.sn_responseContent.sn_body.querySearchcommodity.Count != 0)
{
return new SNId() { goodid = snGInfo.sn_responseContent.sn_body.querySearchcommodity[0].commodityInfo.commodityCode, shop = snGInfo.sn_responseContent.sn_body.querySearchcommodity[0].commodityInfo.supplierCode };
}
}
}
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return null;
}
//private static SNId GetSnid(string mess)
//{
//}
#region 内部类
///
/// 苏宁id,供应商id(自营为十个0)
///
public class SNId
{
///
/// 商品id
///
public string goodid { get; set; }
///
/// 供应商id
///
public string shop { get; set; }
}
#endregion
}
#region 苏宁订单类
///
/// 响应头
///
public class Sn_head
{
///
/// 总数量
///
public string totalSize { get; set; }
///
/// 总页数
///
public string pageTotal { get; set; }
///
/// 当前页
///
public string pageNo { get; set; }
///
/// 返回状态内容
///
public string returnMessage { get; set; }
}
///
/// 订单明细
///
public class OrderDetail
{
///
/// 支付时间,格式:yyyy-MM-dd HH:mm:ss
///
public DateTime payTime { get; set; }
///
/// 下单时间,格式:yyyy-MM-dd HH:mm:ss
///
public DateTime orderSubmitTime { get; set; }
///
/// 订单行项目号
///
public string orderLineNumber { get; set; }
///
/// 订单行项目状态 - 支付完成
///
public string orderLineStatusDesc { get; set; }
///
/// 行项目状态更新时间,格式:yyyy-MM-dd HH:mm:ss
///
public DateTime orderLineStatusChangeTime { get; set; }
///
/// 订单行来源(PC端、无线端)
///
public string orderLineOrigin { get; set; }
///
/// 商品名称
///
public string productName { get; set; }
///
/// 商品数量
///
public string saleNum { get; set; }
///
/// 实付金额
///
public string payAmount { get; set; }
///
/// 订单行标记
///
public string orderLineFlag { get; set; }
///
/// 子推广账号ID(对应sub_user)
///
public string childAccountId { get; set; }
///
/// 商户名称
///
public string sellName { get; set; }
///
/// 商户编码
///
public string sellerCode { get; set; }
///
/// 商品编码
///
public string goodsNum { get; set; }
///
/// 佣金比例
///
public string commissionRatio { get; set; }
///
/// 预估佣金
///
public string prePayCommission { get; set; }
///
/// 一级目录
///
public string productFirstCatalog { get; set; }
///
/// 二级目录
///
public string productSecondCatalog { get; set; }
///
/// 三级目录
///
public string productThirdCatalog { get; set; }
///
/// 商品归属 - 自营
///
public string orderType { get; set; }
///
/// 推广位ID
///
public string positionId { get; set; }
///
/// 商品组目录编码
///
public string goodsGroupCatalog { get; set; }
///
/// 推广类型 - 链接推广
///
public string saleType { get; set; }
///
/// 商品主图
///
public string pictureUrl { get; set; }
///
/// 1.风控订单
///
public string promotion { get; set; }
///
/// 是否违规,0:否;1:是
///
public string violation { get; set; }
///
/// 是否返佣,0:否;1:是
///
public string returnCommission { get; set; }
///
/// 推广会员编码
///
public string custNo { get; set; }
///
///
///
public string statParam { get; set; }
}
///
/// 订单类
///
public class QueryOrder
{
///
/// 订单号
///
public string orderCode { get; set; }
///
/// 订单明细集合
///
public List orderDetail { get; set; }
}
///
/// 响应体
///
public class Sn_body
{
///
/// 订单集合
///
public List queryOrder { get; set; }
}
///
/// 响应结构
///
public class Sn_responseContent
{
///
/// 响应头
///
public Sn_head sn_head { get; set; }
///
/// 响应体
///
public Sn_body sn_body { get; set; }
}
///
/// 订单响应结果
///
public class SNOrderResponseResult
{
///
/// 响应结构
///
public Sn_responseContent sn_responseContent { get; set; }
}
#endregion
}