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 }