| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021 |
- using BizCom;
- using Newtonsoft.Json;
- using SiteCore.nuonuo;
- using SiteCore.Redis;
- using SiteCore.taoObj;
- using SQLData;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Security.Cryptography;
- using System.Text;
- using System.Web;
- using static SiteCore.taoObj.Refunds_receive_get_response_Obj;
- namespace SiteCore
- {
- public class taobaoHelper
- {
- //6201c178b49904f922503da5egia6dc45827b1d9613aefb2201404768885
- //session: 6100309b522c174d816e5218e193dd3ac90a91c452f96bc2201404768885
- //refresh_token: 6101909f794ed6ad8101c03b701a197e0aca9d14cf95acf2201404768885
- static string appid = "21407504";
- static string session_key = "";
- static string api_url = "http://xy.ifireant.com/taobaoapi";//http://api.taoesoft.com/Api.aspx
- static string yun_api_url = "http://xy.ifireant.com/taobaoapi";
- //static string api_url = "http://api.taoesoft.com/Api.aspx?action=executeTopApi&methodName={0}&requestObjectJson={1}&SessionKey={2}&sign={3}";
- static string auth_url = "https://oauth.taobao.com/authorize?response_type=code&client_id=" + appid + "&redirect_uri=http://api.taoesoft.com/TaobaoTitle_Callback.aspx&view=web&state={1}";
- static string tmc_url = "http://api.taoesoft.com/api.aspx?action=openTmc&appkey={0}&SessionKey={1}&nick={2}&groupName=lingtao&topics={3}&sign={4}";
- static string tmc_topics = "taobao_trade_TradeCreate,taobao_trade_TradeLogisticsAddressChanged,taobao_trade_TradeMemoModified,taobao_trade_TradeRated,taobao_trade_TradeBuyerPay,taobao_trade_TradeSuccess,taobao_trade_TradePartlyConfirmPay,taobao_trade_TradePartlyRefund,taobao_trade_TradeDelayConfirmPay,taobao_trade_TradeSellerShip,taobao_trade_TradeClose,taobao_trade_TradeCloseAndModifyDetailOrder,taobao_trade_TradeModifyFee";
- static HttpHelper tb_http = new HttpHelper();
- #region private
- private static string SignTopRequest(IDictionary<string, string> parameters, string secret, string signMethod)
- {
- // 第一步:把字典按Key的字母顺序排序
- IDictionary<string, string> sortedParams = new SortedDictionary<string, string>(parameters, StringComparer.Ordinal);
- IEnumerator<KeyValuePair<string, string>> dem = sortedParams.GetEnumerator();
- // 第二步:把所有参数名和参数值串在一起
- StringBuilder query = new StringBuilder();
- if (signMethod == "md5")
- {
- query.Append(secret);
- }
- while (dem.MoveNext())
- {
- string key = dem.Current.Key;
- string value = dem.Current.Value;
- if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
- {
- query.Append(key).Append(value);
- }
- }
- // 第三步:使用MD5/HMAC加密
- byte[] bytes;
- if (signMethod == "hmac")
- {
- HMACMD5 hmac = new HMACMD5(Encoding.UTF8.GetBytes(secret));
- bytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(query.ToString()));
- }
- else
- {
- query.Append(secret);
- MD5 md5 = MD5.Create();
- bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(query.ToString()));
- }
- // 第四步:把二进制转化为大写的十六进制
- StringBuilder result = new StringBuilder();
- for (int i = 0; i < bytes.Length; i++)
- {
- result.Append(bytes[i].ToString("X2"));
- }
- return result.ToString();
- }
- /// <summary>
- /// MD5加密
- /// </summary>
- /// <param name="s"></param>
- /// <returns></returns>
- private static string Md5(string s)
- {
- using (var md5 = MD5.Create())
- {
- var result = md5.ComputeHash(Encoding.Default.GetBytes(s));
- var strResult = BitConverter.ToString(result);
- return strResult.Replace("-", "").ToUpper();
- }
- }
- public static string GetSign()
- {
- string code = "";
- int sc = DateTimeToUnixTime(DateTime.Now) / 60;
- code = Md5(Md5(sc + "1b46af52a8dcaa822b98b1be9d447bb2").ToLower()).ToLower();
- code = System.Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(code));
- return code;
- }
- public static int DateTimeToUnixTime(DateTime dateTime)
- {
- return (int)(dateTime - TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1))).TotalSeconds;
- }
- private static void setParmsHead(string session, ref List<string> lst)
- {
- lst.Add("action=executeTopApi");
- lst.Add("format=1");
- lst.Add("SessionKey=" + session);
- lst.Add("sign=" + GetSign());
- lst.Add("isItemApi=3");
- }
- private static void setParmsHead2(string session, ref List<string> lst)
- {
- lst.Add("action=executeTopApi");
- lst.Add("format=1");
- lst.Add("SessionKey=" + session);
- lst.Add("sign=" + GetSign());
- }
- #endregion
- private static readonly object shopkey_Flag = new object();
- private static Dictionary<string, string> _shopKeyDics = null;
- public static Dictionary<string, string> ShopKeyDics
- {
- get
- {
- if (_shopKeyDics == null || _shopKeyDics.Count < 1)
- {
- _shopKeyDics = erpRedis.RedisHelper.StringGet<Dictionary<string, string>>("erp_shpkey");
- if (_shopKeyDics == null)
- {
- lock (shopkey_Flag)
- {
- if (_shopKeyDics == null)
- {
- _shopKeyDics = new Dictionary<string, string>();
- string sql = "select appsecret as skey,shopname as name from ce_erpshop where taobao_user_id<>''";
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql).Tables[0];
- if (dt != null)
- {
- foreach (DataRow dr in dt.Rows)
- {
- _shopKeyDics.Add(dr["name"].ToString(), dr["skey"].ToString());
- }
- }
- erpRedis.RedisHelper.StringSet("erp_shpkey", _shopKeyDics, TimeSpan.FromHours(10));
- }
- }
- }
- }
- return _shopKeyDics;
- }
- }
- //appkey={0}&SessionKey={1}&nick={2}&groupName=lingtao&topics={3}&sign={4}";
- public static bool openTmc(string sessionKey, string nick)
- {
- string url = string.Format(tmc_url, appid, sessionKey, nick, tmc_topics, GetSign());
- HttpItem item = new HttpItem()
- {
- URL = url
- };
- HttpResult hResult = tb_http.GetHtml(item);
- string html = hResult.Html;
- if (html == "" || html == "True")
- {
- string sql = string.Format("update ce_erpshop set istmc=1 where appsecret='{0}' and taobao_user_nick='{1}'", sessionKey, nick);
- DbHelper.DbConn.ExecuteNonQuery(sql);
- return true;
- }
- else
- {
- return false;
- }
- }
- /// <summary>
- /// 获取单笔交易的详细信息
- /// </summary>
- /// <param name="sessionKey"></param>
- /// <param name="orderid"></param>
- /// <returns></returns>
- public static string TradeFullinfoGet(string sessionKey, string orderid)
- {
- //json参数
- var res_obj = new
- {
- fields = "seller_nick,buyer_nick,title,type,created,tid,seller_rate,buyer_flag,buyer_rate,status,payment,adjust_fee,post_fee,total_fee,pay_time,end_time,modified,consign_time,buyer_obtain_point_fee,point_fee,real_point_fee,received_payment,commission_fee,buyer_memo,seller_memo,alipay_no,alipay_id,buyer_message,pic_path,num_iid,num,price,buyer_alipay_no,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,seller_flag,seller_alipay_no,seller_mobile,seller_phone,seller_name,seller_email,available_confirm_fee,has_post_fee,timeout_action_time,snapshot_url,cod_fee,cod_status,shipping_type,trade_memo,is_3D,buyer_email,buyer_area,trade_from,is_lgtype,is_force_wlb,is_brand_sale,buyer_cod_fee,discount_fee,seller_cod_fee,express_agency_fee,invoice_name,service_orders,credit_cardfee,orders,trade_ext",
- tid = orderid
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=taobao.trade.fullinfo.get");
- postLst.Add("requestObjectJson=" + HttpUtility.UrlEncode(ro_json));
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- //return html;
- }
- /// <summary>
- /// 查询卖家已卖出的交易数据(根据创建时间)
- /// </summary>
- /// <param name="sessionKey"></param>
- /// <param name="orderid"></param>
- /// <returns></returns>
- public static string TradesSoldGet(string sessionKey)
- {
- //json参数
- var res_obj = new
- {
- fields = "seller_nick,buyer_nick,title,type,created,tid,seller_rate,buyer_flag,buyer_rate,status,payment,adjust_fee,post_fee,total_fee,pay_time,end_time,modified,consign_time,buyer_obtain_point_fee,point_fee,real_point_fee,received_payment,commission_fee,buyer_memo,seller_memo,alipay_no,alipay_id,buyer_message,pic_path,num_iid,num,price,buyer_alipay_no,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,seller_flag,seller_alipay_no,seller_mobile,seller_phone,seller_name,seller_email,available_confirm_fee,has_post_fee,timeout_action_time,snapshot_url,cod_fee,cod_status,shipping_type,trade_memo,is_3D,buyer_email,buyer_area,trade_from,is_lgtype,is_force_wlb,is_brand_sale,buyer_cod_fee,discount_fee,seller_cod_fee,express_agency_fee,invoice_name,service_orders,credit_cardfee,orders,trade_ext"
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=taobao.trades.sold.get");
- postLst.Add("requestObjectJson=" + HttpUtility.UrlEncode(ro_json));
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- //return html;
- }
- /// <summary>
- /// 查询退款列表(根据开始结束时间)
- /// </summary>
- /// <param name="sessionKey"></param>
- /// <param name="orderid"></param>
- /// <returns></returns>
- public static string RefundsReceiveGet(string sessionKey, DateTime stime, DateTime etime)
- {
- //json参数
- var res_obj = new
- {
- fields = "refund_id,tid,title,buyer_nick,seller_nick,total_fee,status,created,refund_fee,oid,good_status,company_name,sid,payment,reason,desc,has_good_return,modified,order_status,refund_phase",
- start_modified = stime,
- end_modified = etime
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=taobao.refunds.receive.get");
- postLst.Add("requestObjectJson=" + HttpUtility.UrlEncode(ro_json));
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- //return html;
- }
- //处理退款列表
- public static void GetAndHandleRefunds()
- {
- string sql = "select * from CE_ErpShop";
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql).Tables[0];
- if (dt.Rows.Count > 0)
- {
- foreach (DataRow Dr in dt.Rows)
- {
- string shopname = Dr["ShopName"].ToString();
- string sessionKey = _shopKeyDics[shopname];
- //string sessionKey = "62011121cc9403ccc4a9ZZ0aaZZ369f224369206db001f02201404768885";
- if (sessionKey == null || sessionKey == "")
- {
- continue;
- }
- DateTime stime = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 00:00:00"));
- DateTime etime = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59"));
- string res = RefundsReceiveGet(sessionKey, stime, etime);
- Console.WriteLine(res);
- Refunds_receive_get_response_Obj reObj = null;
- //string res = test();
- if (res == "") return;
- try
- {
- res = GetUTF8String2(Encoding.UTF8.GetBytes(res));
- //res = res.Replace(" ", "");
- reObj = JsonConvert.DeserializeObject<Refunds_receive_get_response_Obj>(res);
- List<Refund> reItemList = reObj.refunds_receive_get_response.refunds.refund;
- foreach (Refund item in reItemList)
- {
- CeErpTradeRefund refund = new CeErpTradeRefund();
- refund.refund_id = item.refund_id;
- refund.tid = item.tid;
- refund.oid = item.oid;
- refund.created = item.created;
- refund.modified = item.modified;
- refund.status = item.status;
- refund.order_status = item.order_status;
- refund.good_status = item.good_status;
- refund.payment = item.payment;
- refund.refund_fee = item.refund_fee;
- refund.refund_phase = item.refund_phase;
- refund.reason = item.reason;
- refund.describe = item.desc;
- refund.buyer_nick = item.buyer_nick;
- refund.seller_nick = item.seller_nick;
- refund.total_fee = item.total_fee;
- refund.has_good_return = item.has_good_return;
- refund.RefundState = 1;//1待审核2待确认
- refund.Create();
- }
- }
- catch (Exception ex)
- {
- }
- }
- }
- }
- public static string GetUTF8String2(byte[] buffer)
- {
- if (buffer == null)
- return null;
- if (buffer.Length <= 3)
- {
- return Encoding.UTF8.GetString(buffer);
- }
- byte[] bomBuffer = new byte[] { 0xef, 0xbb, 0xbf };
- if (buffer[0] == bomBuffer[0] && buffer[1] == bomBuffer[1] && buffer[2] == bomBuffer[2])
- {
- return new UTF8Encoding(false).GetString(buffer, 3, buffer.Length - 3);
- }
- return Encoding.UTF8.GetString(buffer);
- }
- private string GetUTF8String(byte[] vs)
- {
- throw new NotImplementedException();
- }
- /// <summary>
- /// 物流公司信息
- /// </summary>
- /// <param name="sessionKey"></param>
- /// <param name="orderid"></param>
- /// <returns></returns>
- public static string LogisticsCompaniesGet()
- {
- string sessionKey = "6100309b522c174d816e5218e193dd3ac90a91c452f96bc2201404768885";
- //json参数
- var res_obj = new
- {
- fields = "id,code,name,reg_mail_no"
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=taobao.logistics.companies.get");
- postLst.Add("requestObjectJson=" + HttpUtility.UrlEncode(ro_json));
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- //return html;
- }
- /// <summary>
- /// 查询面单订购服务
- /// </summary>
- /// <param name="sessionKey"></param>
- /// <param name="orderid"></param>
- /// <returns></returns>
- public static string TaobaoWlbWaybillISearch()
- {
- string sessionKey = ShopKeyDics["芳儒旗舰店"];
- //json参数
- var res_obj = new
- {
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- //ro_json = "{\"WaybillApplyRequest\":" + ro_json + "}";
- ro_json = "{\"WaybillApplyRequest\":\"" + ro_json.Replace("\"", "\\\"") + "\"}";
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=taobao.wlb.waybill.i.search");
- //postLst.Add("requestObjectJson=eyJQYXJhbVdheWJpbGxDbG91ZFByaW50QXBwbHlOZXdSZXF1ZXN0Ijoie1wiY3BfY29kZVwiOlwiWlRPXCIsXCJzZW5kZXJcIjp7XCJhZGRyZXNzXCI6e1wiY2l0eVwiOlwiXFx1NTM1N1xcdTkwMWFcXHU1ZTAyXCIsXCJkZXRhaWxcIjpcIlxcdTUzY2NcXHU2ODY1XFx1OTZjNVxcdTU5MWFcXHU4ZGVmXCIsXCJkaXN0cmljdFwiOlwiXFx1OTAxYVxcdTVkZGVcXHU1ZTAyXCIsXCJwcm92aW5jZVwiOlwiXFx1NmM1ZlxcdTgyY2ZcXHU3NzAxXCJ9LFwicGhvbmVcIjpcIjEzMjY1MDI1NTA5XCIsXCJuYW1lXCI6XCJcXHU1NTEwXFx1NzUxZlwifSxcInRyYWRlX29yZGVyX2luZm9fZHRvc1wiOlt7XCJvYmplY3RfaWRcIjpcIjU4MjY5OVwiLFwib3JkZXJfaW5mb1wiOntcIm9yZGVyX2NoYW5uZWxzX3R5cGVcIjpcIk9USEVSU1wiLFwidHJhZGVfb3JkZXJfbGlzdFwiOlwiMTIwNjA3NzAwNTEzNDcwMTMzXCJ9LFwicGFja2FnZV9pbmZvXCI6e1wiaXRlbXNcIjpbe1wiY291bnRcIjpcIjFcIixcIm5hbWVcIjpcIjIwMTlcXHU1MzE3XFx1NmIyN1xcdTUzNjFcXHU5MDFhXFx1NTkyN1xcdTcyNDhcXHU2NTcwXFx1NzgwMVxcdTUxYjBcXHU0ZTFkXFx1NWUyZFxcdTUxYzlcXHU1ZTJkXFx1NTk1N1xcdTRlZjYgIFxcdTVmZWJcXHU0ZTUwXFx1NjA1MFxcdTlmOTkgMS41bVxcdWZmMDg1XFx1ODJmMVxcdTVjM2FcXHVmZjA5XFx1NWU4YVwifV0sXCJpZFwiOlwiMjAxOTA0MDQxNTE1MDkxNjVcIn0sXCJyZWNpcGllbnRcIjp7XCJhZGRyZXNzXCI6e1wiY2l0eVwiOlwiXFx1OTBkMVxcdTVkZGVcIixcImRldGFpbFwiOlwiXFx1NmNiM1xcdTUzNTdcXHU3NzAxIFxcdTkwZDFcXHU1ZGRlXFx1NWUwMiBcXHU3YmExXFx1NTdjZVxcdTU2ZGVcXHU2NWNmXFx1NTMzYVxcdTAwYTBcXHU1NmRlXFx1NjVjZlxcdTUzM2FcXHU3ZDJiXFx1ODM0NlxcdTVjNzFcXHU1MzU3XFx1OGRlZlxcdTg4NTdcXHU5MDUzXFx1OGQ2M1xcdTZjNWZcXHU4ZGVmXFx1OTBkMVxcdTVkZGVcXHU1MzQxXFx1OTY2MlxcdTUzNTdcXHU5NWU4XFx1NTQxMVxcdTRlMWM1MDBcXHU3YzczXFx1OGRlZlxcdTUzMTdcXHU0ZTJkXFx1NWVmYVxcdTRlMDBcXHU1YzQwXFx1OTQ2YlxcdTgyZDFcXHU1N2NlXFx1NGU5NFxcdTUzZjdcXHU5NjYyXFx1OTg3OVxcdTc2ZWVcXHU5MGU4XCIsXCJkaXN0cmljdFwiOlwiXFx1N2JhMVxcdTU3Y2VcIixcInByb3ZpbmNlXCI6XCJcXHU2Y2IzXFx1NTM1N1wifSxcInBob25lXCI6XCIxODgzODUwNTMzNVwiLFwibmFtZVwiOlwiXFx1NzM4YlxcdTVjYWRcXHU1NzY0XCJ9LFwidGVtcGxhdGVfdXJsXCI6XCJodHRwOlxcXC9cXFwvY2xvdWRwcmludC5jYWluaWFvLmNvbVxcXC90ZW1wbGF0ZVxcXC9zdGFuZGFyZFxcXC8zMDFcXFwvMjAwXCIsXCJ1c2VyX2lkXCI6MjUzNDQ4ODB9XX0ifQ==&sign=OWE5MjA1MGJkM2I3ZTU5MDY3ZDk1ZTY2OTUzNzRhZTI=");//System.Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(
- postLst.Add("requestObjectJson=" + System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(ro_json)));//
- postLst.Add("base64=1");
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- /// <summary>
- /// 获取面单模板
- /// </summary>
- /// <param name="sessionKey"></param>
- /// <param name="orderid"></param>
- /// <returns></returns>
- public static string CainiaoCloudprintStdtemplatesGet(string sellerNick)
- {
- string sessionKey = ShopKeyDics[sellerNick];
- //json参数
- var res_obj = new
- {
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=cainiao.cloudprint.stdtemplates.get");
- //postLst.Add("requestObjectJson=eyJQYXJhbVdheWJpbGxDbG91ZFByaW50QXBwbHlOZXdSZXF1ZXN0Ijoie1wiY3BfY29kZVwiOlwiWlRPXCIsXCJzZW5kZXJcIjp7XCJhZGRyZXNzXCI6e1wiY2l0eVwiOlwiXFx1NTM1N1xcdTkwMWFcXHU1ZTAyXCIsXCJkZXRhaWxcIjpcIlxcdTUzY2NcXHU2ODY1XFx1OTZjNVxcdTU5MWFcXHU4ZGVmXCIsXCJkaXN0cmljdFwiOlwiXFx1OTAxYVxcdTVkZGVcXHU1ZTAyXCIsXCJwcm92aW5jZVwiOlwiXFx1NmM1ZlxcdTgyY2ZcXHU3NzAxXCJ9LFwicGhvbmVcIjpcIjEzMjY1MDI1NTA5XCIsXCJuYW1lXCI6XCJcXHU1NTEwXFx1NzUxZlwifSxcInRyYWRlX29yZGVyX2luZm9fZHRvc1wiOlt7XCJvYmplY3RfaWRcIjpcIjU4MjY5OVwiLFwib3JkZXJfaW5mb1wiOntcIm9yZGVyX2NoYW5uZWxzX3R5cGVcIjpcIk9USEVSU1wiLFwidHJhZGVfb3JkZXJfbGlzdFwiOlwiMTIwNjA3NzAwNTEzNDcwMTMzXCJ9LFwicGFja2FnZV9pbmZvXCI6e1wiaXRlbXNcIjpbe1wiY291bnRcIjpcIjFcIixcIm5hbWVcIjpcIjIwMTlcXHU1MzE3XFx1NmIyN1xcdTUzNjFcXHU5MDFhXFx1NTkyN1xcdTcyNDhcXHU2NTcwXFx1NzgwMVxcdTUxYjBcXHU0ZTFkXFx1NWUyZFxcdTUxYzlcXHU1ZTJkXFx1NTk1N1xcdTRlZjYgIFxcdTVmZWJcXHU0ZTUwXFx1NjA1MFxcdTlmOTkgMS41bVxcdWZmMDg1XFx1ODJmMVxcdTVjM2FcXHVmZjA5XFx1NWU4YVwifV0sXCJpZFwiOlwiMjAxOTA0MDQxNTE1MDkxNjVcIn0sXCJyZWNpcGllbnRcIjp7XCJhZGRyZXNzXCI6e1wiY2l0eVwiOlwiXFx1OTBkMVxcdTVkZGVcIixcImRldGFpbFwiOlwiXFx1NmNiM1xcdTUzNTdcXHU3NzAxIFxcdTkwZDFcXHU1ZGRlXFx1NWUwMiBcXHU3YmExXFx1NTdjZVxcdTU2ZGVcXHU2NWNmXFx1NTMzYVxcdTAwYTBcXHU1NmRlXFx1NjVjZlxcdTUzM2FcXHU3ZDJiXFx1ODM0NlxcdTVjNzFcXHU1MzU3XFx1OGRlZlxcdTg4NTdcXHU5MDUzXFx1OGQ2M1xcdTZjNWZcXHU4ZGVmXFx1OTBkMVxcdTVkZGVcXHU1MzQxXFx1OTY2MlxcdTUzNTdcXHU5NWU4XFx1NTQxMVxcdTRlMWM1MDBcXHU3YzczXFx1OGRlZlxcdTUzMTdcXHU0ZTJkXFx1NWVmYVxcdTRlMDBcXHU1YzQwXFx1OTQ2YlxcdTgyZDFcXHU1N2NlXFx1NGU5NFxcdTUzZjdcXHU5NjYyXFx1OTg3OVxcdTc2ZWVcXHU5MGU4XCIsXCJkaXN0cmljdFwiOlwiXFx1N2JhMVxcdTU3Y2VcIixcInByb3ZpbmNlXCI6XCJcXHU2Y2IzXFx1NTM1N1wifSxcInBob25lXCI6XCIxODgzODUwNTMzNVwiLFwibmFtZVwiOlwiXFx1NzM4YlxcdTVjYWRcXHU1NzY0XCJ9LFwidGVtcGxhdGVfdXJsXCI6XCJodHRwOlxcXC9cXFwvY2xvdWRwcmludC5jYWluaWFvLmNvbVxcXC90ZW1wbGF0ZVxcXC9zdGFuZGFyZFxcXC8zMDFcXFwvMjAwXCIsXCJ1c2VyX2lkXCI6MjUzNDQ4ODB9XX0ifQ==&sign=OWE5MjA1MGJkM2I3ZTU5MDY3ZDk1ZTY2OTUzNzRhZTI=");//System.Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(
- postLst.Add("requestObjectJson=" + System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(ro_json)));//
- postLst.Add("base64=1");
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- /// <summary>
- /// 获取快递面单号
- /// </summary>
- /// <param name="sessionKey"></param>
- /// <param name="orderid"></param>
- /// <returns></returns>
- public static string CainiaoWaybillIiGet(string cpcode, string tempUrl, string ctid)
- {
- string sql = "select * from view_erptradecell where ctid='" + ctid + "'";
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql).Tables[0];
- if (dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.Rows[0];
- string sessionKey = ShopKeyDics[dr["seller_nick"].ToString()];
- //json参数
- var res_obj = new
- {
- //param_waybill_cloud_print_apply_new_request
- cp_code = cpcode,
- sender = new
- {
- name = "黄先生",
- mobile = "18610588822",
- address = new
- {
- province = "福建省",
- city = "龙岩市",
- detail = "新罗区东肖开发区"
- }
- },
- trade_order_info_dtos = new
- {
- object_id = dr["tid"].ToString(),
- template_url = tempUrl,
- user_id = 2201404768885,
- order_info = new
- {
- order_channels_type = "TB",
- trade_order_list = dr["tid"].ToString()
- },
- package_info = new
- {
- items = new
- {
- count = 1,
- name = "印刷品"
- }
- },
- recipient = new
- {
- name = dr["receiver_name"].ToString(),
- mobile = dr["receiver_mobile"].ToString(),
- address = new
- {
- province = dr["receiver_state"].ToString(),
- city = dr["receiver_city"].ToString(),
- detail = dr["receiver_address"].ToString()
- }
- }
- }
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- ro_json = "{\"ParamWaybillCloudPrintApplyNewRequest\":\"" + ro_json.Replace("\"", "\\\"") + "\"}";
- //return "";
- //ro_json= "{"ParamWaybillCloudPrintApplyNewRequest":"{\"cp_code\":\"ZTO\",\"sender\":{\"address\":{\"city\":\"\\u5357\\u901a\\u5e02\",\"detail\":\"\\u53cc\\u6865\\u96c5\\u591a\\u8def\",\"district\":\"\\u901a\\u5dde\\u5e02\",\"province\":\"\\u6c5f\\u82cf\\u7701\"},\"phone\":\"13265025509\",\"name\":\"\\u5510\\u751f\"},\"trade_order_info_dtos\":[{\"object_id\":\"582699\",\"order_info\":{\"order_channels_type\":\"OTHERS\",\"trade_order_list\":\"120607700513470133\"},\"package_info\":{\"items\":[{\"count\":\"1\",\"name\":\"2019\\u5317\\u6b27\\u5361\\u901a\\u5927\\u7248\\u6570\\u7801\\u51b0\\u4e1d\\u5e2d\\u51c9\\u5e2d\\u5957\\u4ef6 \\u5feb\\u4e50\\u6050\\u9f99 1.5m\\uff085\\u82f1\\u5c3a\\uff09\\u5e8a\"}],\"id\":\"20190404151509165\"},\"recipient\":{\"address\":{\"city\":\"\\u90d1\\u5dde\",\"detail\":\"\\u6cb3\\u5357\\u7701 \\u90d1\\u5dde\\u5e02 \\u7ba1\\u57ce\\u56de\\u65cf\\u533a\\u00a0\\u56de\\u65cf\\u533a\\u7d2b\\u8346\\u5c71\\u5357\\u8def\\u8857\\u9053\\u8d63\\u6c5f\\u8def\\u90d1\\u5dde\\u5341\\u9662\\u5357\\u95e8\\u5411\\u4e1c500\\u7c73\\u8def\\u5317\\u4e2d\\u5efa\\u4e00\\u5c40\\u946b\\u82d1\\u57ce\\u4e94\\u53f7\\u9662\\u9879\\u76ee\\u90e8\",\"district\":\"\\u7ba1\\u57ce\",\"province\":\"\\u6cb3\\u5357\"},\"phone\":\"18838505335\",\"name\":\"\\u738b\\u5cad\\u5764\"},\"template_url\":\"http:\\\/\\\/cloudprint.cainiao.com\\\/template\\\/standard\\\/301\\\/200\",\"user_id\":25344880}]}"}"
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=cainiao.waybill.ii.get");
- //postLst.Add("requestObjectJson=eyJQYXJhbVdheWJpbGxDbG91ZFByaW50QXBwbHlOZXdSZXF1ZXN0Ijoie1wiY3BfY29kZVwiOlwiWlRPXCIsXCJzZW5kZXJcIjp7XCJhZGRyZXNzXCI6e1wiY2l0eVwiOlwiXFx1NTM1N1xcdTkwMWFcXHU1ZTAyXCIsXCJkZXRhaWxcIjpcIlxcdTUzY2NcXHU2ODY1XFx1OTZjNVxcdTU5MWFcXHU4ZGVmXCIsXCJkaXN0cmljdFwiOlwiXFx1OTAxYVxcdTVkZGVcXHU1ZTAyXCIsXCJwcm92aW5jZVwiOlwiXFx1NmM1ZlxcdTgyY2ZcXHU3NzAxXCJ9LFwicGhvbmVcIjpcIjEzMjY1MDI1NTA5XCIsXCJuYW1lXCI6XCJcXHU1NTEwXFx1NzUxZlwifSxcInRyYWRlX29yZGVyX2luZm9fZHRvc1wiOlt7XCJvYmplY3RfaWRcIjpcIjU4MjY5OVwiLFwib3JkZXJfaW5mb1wiOntcIm9yZGVyX2NoYW5uZWxzX3R5cGVcIjpcIk9USEVSU1wiLFwidHJhZGVfb3JkZXJfbGlzdFwiOlwiMTIwNjA3NzAwNTEzNDcwMTMzXCJ9LFwicGFja2FnZV9pbmZvXCI6e1wiaXRlbXNcIjpbe1wiY291bnRcIjpcIjFcIixcIm5hbWVcIjpcIjIwMTlcXHU1MzE3XFx1NmIyN1xcdTUzNjFcXHU5MDFhXFx1NTkyN1xcdTcyNDhcXHU2NTcwXFx1NzgwMVxcdTUxYjBcXHU0ZTFkXFx1NWUyZFxcdTUxYzlcXHU1ZTJkXFx1NTk1N1xcdTRlZjYgIFxcdTVmZWJcXHU0ZTUwXFx1NjA1MFxcdTlmOTkgMS41bVxcdWZmMDg1XFx1ODJmMVxcdTVjM2FcXHVmZjA5XFx1NWU4YVwifV0sXCJpZFwiOlwiMjAxOTA0MDQxNTE1MDkxNjVcIn0sXCJyZWNpcGllbnRcIjp7XCJhZGRyZXNzXCI6e1wiY2l0eVwiOlwiXFx1OTBkMVxcdTVkZGVcIixcImRldGFpbFwiOlwiXFx1NmNiM1xcdTUzNTdcXHU3NzAxIFxcdTkwZDFcXHU1ZGRlXFx1NWUwMiBcXHU3YmExXFx1NTdjZVxcdTU2ZGVcXHU2NWNmXFx1NTMzYVxcdTAwYTBcXHU1NmRlXFx1NjVjZlxcdTUzM2FcXHU3ZDJiXFx1ODM0NlxcdTVjNzFcXHU1MzU3XFx1OGRlZlxcdTg4NTdcXHU5MDUzXFx1OGQ2M1xcdTZjNWZcXHU4ZGVmXFx1OTBkMVxcdTVkZGVcXHU1MzQxXFx1OTY2MlxcdTUzNTdcXHU5NWU4XFx1NTQxMVxcdTRlMWM1MDBcXHU3YzczXFx1OGRlZlxcdTUzMTdcXHU0ZTJkXFx1NWVmYVxcdTRlMDBcXHU1YzQwXFx1OTQ2YlxcdTgyZDFcXHU1N2NlXFx1NGU5NFxcdTUzZjdcXHU5NjYyXFx1OTg3OVxcdTc2ZWVcXHU5MGU4XCIsXCJkaXN0cmljdFwiOlwiXFx1N2JhMVxcdTU3Y2VcIixcInByb3ZpbmNlXCI6XCJcXHU2Y2IzXFx1NTM1N1wifSxcInBob25lXCI6XCIxODgzODUwNTMzNVwiLFwibmFtZVwiOlwiXFx1NzM4YlxcdTVjYWRcXHU1NzY0XCJ9LFwidGVtcGxhdGVfdXJsXCI6XCJodHRwOlxcXC9cXFwvY2xvdWRwcmludC5jYWluaWFvLmNvbVxcXC90ZW1wbGF0ZVxcXC9zdGFuZGFyZFxcXC8zMDFcXFwvMjAwXCIsXCJ1c2VyX2lkXCI6MjUzNDQ4ODB9XX0ifQ==&sign=OWE5MjA1MGJkM2I3ZTU5MDY3ZDk1ZTY2OTUzNzRhZTI=");//System.Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(
- postLst.Add("requestObjectJson=" + System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(ro_json)));//
- postLst.Add("base64=1");
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- return "";
- }
- //发货接口
- public static string LogisticsOnlineSend(string sessionKey, string orderid, string comCode, string outSid)
- {
- //json参数
- var res_obj = new
- {
- tid = orderid,
- company_code = comCode,
- out_sid = outSid
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=taobao.logistics.online.send");
- postLst.Add("requestObjectJson=" + HttpUtility.UrlEncode(ro_json));
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- //修改备注到淘宝(修改旗帜 zi色旗)
- public static string TradeMemoUpdate(string atid, string sellerNick, int aflag, string amemo)
- {
- string en_memo = HttpUtility.UrlEncode(amemo);
- string skey = ShopKeyDics[sellerNick];
- //json参数
- object res_obj = null;
- if (amemo.Length > 0)
- {
- var obj = new
- {
- tid = atid,
- flag = aflag,
- memo = en_memo
- };
- res_obj = obj;
- }
- else
- {
- var obj = new
- {
- tid = atid,
- flag = aflag
- };
- res_obj = obj;
- }
- string ro_json = JsonConvert.SerializeObject(res_obj);
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(skey, ref postLst);
- postLst.Add("methodName=taobao.trade.memo.update");
- postLst.Add("requestObjectJson=" + HttpUtility.UrlEncode(ro_json));
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- item.PostEncoding = Encoding.UTF8;
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- //开具发票
- public static string invoicing(string id, int comid, string clerkname, string billOrderId, int curTag, int maxCount, int isAllInfo = 0)
- {
- string sql = "select * from view_ErpBill where id=" + id;
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql).Tables[0];
- if (dt.Rows.Count <= 0)
- {
- return "error";
- }
- DataRow bill = dt.Rows[0];
- string sql2 = "select * from CE_ErpInvoicingInfo where id=" + comid;
- DataTable dt2 = DbHelper.DbConn.ExecuteDataset(sql2).Tables[0];
- if (dt2.Rows.Count <= 0)
- {
- return "error";
- }
- DataRow com = dt2.Rows[0];
- string btype = "p";
- if (bill["type"].ToString() == "普通发票" && bill["sendType"].ToString() == "电子发票")
- {
- btype = "p";
- }
- else if (bill["type"].ToString() == "普通发票" && bill["sendType"].ToString() == "纸质发票")
- {
- btype = "c";
- }
- else if (bill["type"].ToString() == "专用发票" && bill["sendType"].ToString() == "电子发票")
- {
- btype = "b";
- }
- else if (bill["type"].ToString() == "专用发票" && bill["sendType"].ToString() == "纸质发票")
- {
- btype = "s";
- }
- string goodsname = bill["ProductName"].ToString();
- if (goodsname == "不干胶")
- {
- goodsname = "不干胶贴纸";
- }
- else if (goodsname == "滴塑")
- {
- goodsname = "滴塑不干胶";
- }
- decimal totalPrice = Convert.ToDecimal(bill["price"]);
- decimal limitPrice = Convert.ToDecimal(com["LimitPrice"]);
- if (curTag < maxCount - 1)
- {
- totalPrice = limitPrice;
- }
- else
- {
- totalPrice = totalPrice - (limitPrice * curTag);
- }
- string order = "";
- string shId = "106020199";
- if (goodsname == "设计费")
- {
- shId = "304030199";
- }
- string b_phone = bill["phone"].ToString() == "0" ? "" : bill["phone"].ToString();
- string b_address = bill["address"].ToString() == "0" ? "" : bill["address"].ToString();
- string b_bankname = bill["bank"].ToString() == "0" ? "" : bill["bank"].ToString();
- string b_bankac = bill["bankac"].ToString() == "0" ? "" : bill["bankac"].ToString();
- string buyerTax = bill["tax"].ToString();
- if (buyerTax == "0")
- {
- buyerTax = "";
- }
- int gnum = Convert.ToInt32(bill["num"]);
- string b_unit = Convert.ToString(bill["unit"]);
- if (isAllInfo == 0)//是否开全部信息
- {
- b_phone = "";
- b_address = "";
- b_bankac = "";
- b_bankname = "";
- }
- decimal taxPer = Convert.ToDecimal(com["taxrate"]);
- string norate_str = "";
- if (com["taxrate"].ToString() == "0")
- {
- norate_str = "\"yhzcbs\":\"1\",\"zzstsgl\":\"免税\",\"lslbs\":\"1\",";
- }
- else
- {
- norate_str = "\"yhzcbs\":\"0\",\"zzstsgl\":\"\",\"lslbs\":\"\",";
- }
- if (gnum > 0)
- {
- decimal oPrice = totalPrice / gnum;
- int jj = Convert.ToInt32(oPrice * 1000000);
- decimal onePrice = (decimal)(jj * 1.0) / 1000000;
- order = "{\"identity\":\"" + com["BillKey"].ToString() + "\",\"order\":{\"buyername\":\"" + bill["title"].ToString() + "\"," +
- "\"taxnum\":\"" + buyerTax + "\",\"address\":\"" + b_address + "\",\"account\":\"" + b_bankname + b_bankac +
- "\",\"telephone\":\"" + b_phone + "\",\"orderno\":\"" + billOrderId + "\"," +
- "\"invoicedate\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"clerk\":\"" + clerkname +
- "\",\"saleaccount\":\"" + com["Bank"].ToString() + com["BankAcc"].ToString() + "\",\"salephone\":\"" + com["Phone"].ToString() + "\"," +
- "\"saleaddress\":\"" + com["Address"].ToString() + "\",\"saletaxnum\":\"" + com["Tax"].ToString() + "\",\"kptype\":\"1\",\"message\":\"\",\"payee\":\"" + com["legal"].ToString() + "\",\"checker\":\"张丽君\"," +
- "\"tsfs\":\"0\",\"email\":\"" + bill["email"].ToString() + "\",\"phone\":\"" + bill["phone"].ToString() + "\",\"dkbz\":\"0\",\"invoiceLine\":\"" + btype + "\"," +
- "\"detail\":[{\"goodsname\":\"" + goodsname + "\",\"hsbz\":\"1\"," +
- "\"taxrate\":\"" + com["taxrate"].ToString() + "\"," + norate_str + "\"num\":\"" + gnum + "\",\"price\":\"" + onePrice + "\",\"spec\":\"\",\"unit\":\"" + b_unit + "\",\"spbm\":\"" + shId + "\"," +
- "\"zxbm\":\"\",\"fphxz\":\"0\",\"kce\":\"\"}]}}";
- }
- else
- {
- decimal t_taxPrice = totalPrice * taxPer / (1 + taxPer);
- int jj = Convert.ToInt32(t_taxPrice * 100);
- decimal taxprice = (decimal)(jj * 1.0) / 100;
- decimal freeprice = totalPrice - taxprice;
- order = "{\"identity\":\"" + com["BillKey"].ToString() + "\",\"order\":{\"buyername\":\"" + bill["title"].ToString() + "\"," +
- "\"taxnum\":\"" + buyerTax + "\",\"address\":\"" + b_address + "\",\"account\":\"" + b_bankname + b_bankac +
- "\",\"telephone\":\"" + b_phone + "\",\"orderno\":\"" + billOrderId + "\"," +
- "\"invoicedate\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"clerk\":\"" + clerkname +
- "\",\"saleaccount\":\"" + com["Bank"].ToString() + com["BankAcc"].ToString() + "\",\"salephone\":\"" + com["Phone"].ToString() + "\"," +
- "\"saleaddress\":\"" + com["Address"].ToString() + "\",\"saletaxnum\":\"" + com["Tax"].ToString() + "\",\"kptype\":\"1\",\"message\":\"\",\"payee\":\"" + com["legal"].ToString() + "\",\"checker\":\"张丽君\"," +
- "\"tsfs\":\"0\",\"email\":\"" + bill["email"].ToString() + "\",\"phone\":\"" + bill["phone"].ToString() + "\",\"dkbz\":\"0\",\"invoiceLine\":\"" + btype + "\"," +
- "\"detail\":[{\"goodsname\":\"" + goodsname + "\",\"hsbz\":\"1\"," +
- "\"taxrate\":\"" + com["taxrate"].ToString() + "\"," + norate_str + "\"taxamt\":\"" + totalPrice + "\",\"taxfreeamt\":\"" + freeprice + "\",\"tax\":\"" + taxprice + "\",\"spec\":\"\",\"spbm\":\"106020199\"," +
- "\"zxbm\":\"\",\"fphxz\":\"0\",\"kce\":\"\"}]}}";
- }
- //post参数
- order = DESDZFP.Encrypt(order);
- //post参数
- List<string> postLst = new List<string>();
- postLst.Add("order=" + order);
- HttpItem item = new HttpItem()
- {
- URL = "https://nnfp.jss.com.cn/shop/buyer/allow/cxfKp/cxfServerKpOrderSync.action",
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- //查询电子发票
- public static string get_invoicing(string id, string billOrderId)
- {
- string sql = "select * from view_ErpBill where id=" + id;
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql).Tables[0];
- if (dt.Rows.Count <= 0)
- {
- return "error";
- }
- DataRow bill = dt.Rows[0];
- string order = "{\"identity\":\"" + bill["BillKey"].ToString() + "\",\"orderno\":[\"" + billOrderId + "\"]}";
- order = DESDZFP.Encrypt(order);
- //post参数
- List<string> postLst = new List<string>();
- postLst.Add("order=" + order);
- HttpItem item = new HttpItem()
- {
- URL = "https://nnfp.jss.com.cn/shop/buyer/allow/ecOd/queryElectricKp.action",
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- //作废发票
- public static string cancel_invoicing(int id)
- {
- string sql = "select * from view_ErpBill where id=" + id;
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql).Tables[0];
- if (dt.Rows.Count <= 0)
- {
- return "error";
- }
- DataRow bill = dt.Rows[0];
- string order = "{\"identity\":\"" + bill["BillKey"].ToString() + "\",\"order\": {\"fpdm\":\"" + bill["fpdm"].ToString() + "\"," +
- "\"fphm\":\"" + bill["fphm"].ToString() + "\",\"fpqqlsh\":\"" + bill["fplsh"].ToString() + "\"}} "; ;
- order = DESDZFP.Encrypt(order);
- //post参数
- List<string> postLst = new List<string>();
- postLst.Add("order=" + order);
- HttpItem item = new HttpItem()
- {
- URL = "https://nnfp.jss.com.cn/shop/buyer/allow/cxfKp/invalidInvoice.action",
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- //发票红冲 红字发票
- public static string invoicing_red(int id, string clerkname, string billOrderId, string curfpdm, string curfphm, int curTag, int maxCount)
- {
- string sql = "select * from view_ErpBill where id=" + id;
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql).Tables[0];
- if (dt.Rows.Count <= 0)
- {
- return "error";
- }
- DataRow bill = dt.Rows[0];
- string sql2 = "select * from CE_ErpInvoicingInfo where id=" + Convert.ToInt32(bill["comId"]);
- DataTable dt2 = DbHelper.DbConn.ExecuteDataset(sql2).Tables[0];
- if (dt2.Rows.Count <= 0)
- {
- return "error";
- }
- DataRow com = dt2.Rows[0];
- string goodsname = bill["ProductName"].ToString();
- if (goodsname == "不干胶")
- {
- goodsname = "不干胶贴纸";
- }
- else if (goodsname == "滴塑")
- {
- goodsname = "滴塑不干胶";
- }
- decimal totalPrice = Convert.ToDecimal(bill["price"]);
- string shId = "106020199";
- if (goodsname == "设计费")
- {
- shId = "304030199";
- }
- decimal limitPrice = Convert.ToDecimal(com["LimitPrice"]);
- if (curTag < maxCount - 1)
- {
- totalPrice = limitPrice;
- }
- else
- {
- totalPrice = totalPrice - (limitPrice * curTag);
- }
- //decimal fprice = totalPrice - (totalPrice * Convert.ToDecimal(com["taxrate"]));
- //int j = Convert.ToInt32(fprice * 100);
- //decimal freeprice = (decimal)(j*1.0)/100;
- //decimal tprice = totalPrice - freeprice;
- //int jj = Convert.ToInt32(tprice * 100);
- //decimal taxprice = (decimal)(jj*1.0)/100;
- string msg = "对应正数发票代码:" + curfpdm + "号码:" + curfphm;
- string btype = "p";
- if (bill["type"].ToString() == "普通发票" && bill["sendType"].ToString() == "电子发票")
- {
- btype = "p";
- }
- else if (bill["type"].ToString() == "普通发票" && bill["sendType"].ToString() == "纸质发票")
- {
- btype = "c";
- }
- else if (bill["type"].ToString() == "专用发票" && bill["sendType"].ToString() == "电子发票")
- {
- btype = "b";
- }
- else if (bill["type"].ToString() == "专用发票" && bill["sendType"].ToString() == "纸质发票")
- {
- btype = "s";
- }
- string order = "";
- int gnum = Convert.ToInt32(bill["num"]);
- string b_phone = bill["phone"].ToString() == "0" ? "" : bill["phone"].ToString();
- string b_address = bill["address"].ToString() == "0" ? "" : bill["address"].ToString();
- string b_bankac = bill["bankac"].ToString() == "0" ? "" : bill["bankac"].ToString();
- string b_unit = Convert.ToString(bill["unit"]);
- string buyerTax = bill["tax"].ToString();
- if (buyerTax == "0")
- {
- buyerTax = "";
- }
- decimal taxPer = Convert.ToDecimal(com["taxrate"]);
- string norate_str = "";
- if (com["taxrate"].ToString() == "0")
- {
- norate_str = "\"yhzcbs\":\"1\",\"zzstsgl\":\"免税\",\"lslbs\":\"1\",";
- }
- else
- {
- norate_str = "\"yhzcbs\":\"0\",\"zzstsgl\":\"\",\"lslbs\":\"\",";
- }
- if (gnum > 0)
- {
- decimal oPrice = totalPrice / gnum;
- int jj = Convert.ToInt32(oPrice * 1000000);
- decimal onePrice = (decimal)(jj * 1.0) / 1000000;
- order = "{\"identity\":\"" + com["BillKey"].ToString() + "\",\"order\":{\"buyername\":\"" + bill["title"].ToString() + "\"," +
- "\"taxnum\":\"" + buyerTax + "\",\"address\":\"" + "" + "\",\"account\":\"" + "" +
- "\",\"telephone\":\"" + "" + "\",\"orderno\":\"" + billOrderId + "\"," +
- "\"invoicedate\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"clerk\":\"" + clerkname +
- "\",\"saleaccount\":\"" + com["Bank"].ToString() + com["BankAcc"].ToString() + "\",\"salephone\":\"" + com["Phone"].ToString() + "\"," +
- "\"saleaddress\":\"" + com["Address"].ToString() + "\",\"saletaxnum\":\"" + com["Tax"].ToString() + "\",\"kptype\":\"2\",\"message\":\"" + msg + "\",\"fphm\":\"" + curfphm + "\" ,\"fpdm\":\"" + curfpdm + "\" ," +
- "\"payee\":\"" + com["legal"].ToString() + "\",\"checker\":\"张丽君\"," +
- "\"tsfs\":\"0\",\"email\":\"" + bill["email"].ToString() + "\",\"phone\":\"" + bill["phone"].ToString() + "\",\"dkbz\":\"0\",\"invoiceLine\":\"" + btype + "\"," +
- "\"detail\":[{\"goodsname\":\"" + goodsname + "\",\"hsbz\":\"1\"," +
- "\"taxrate\":\"" + com["taxrate"].ToString() + "\"," + norate_str + "\"num\":\"" + (gnum * -1) + "\",\"price\":\"" + onePrice + "\",\"spec\":\"\",\"unit\":\"" + b_unit + "\",\"spbm\":\"" + shId + "\"," +
- "\"zxbm\":\"\",\"fphxz\":\"0\",\"kce\":\"\"}]}}";
- }
- else
- {
- decimal t_taxPrice = totalPrice * taxPer / (1 + taxPer);
- int jj = Convert.ToInt32(t_taxPrice * 100);
- decimal taxprice = (decimal)(jj * 1.0) / 100;
- decimal freeprice = totalPrice - taxprice;
- order = "{\"identity\":\"" + com["BillKey"].ToString() + "\",\"order\":{\"buyername\":\"" + bill["title"].ToString() + "\"," +
- "\"taxnum\":\"" + buyerTax + "\",\"address\":\"" + "" + "\",\"account\":\"" + "" +
- "\",\"telephone\":\"" + "" + "\",\"orderno\":\"" + billOrderId + "\"," +
- "\"invoicedate\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"clerk\":\"" + clerkname +
- "\",\"saleaccount\":\"" + com["Bank"].ToString() + com["BankAcc"].ToString() + "\",\"salephone\":\"" + com["Phone"].ToString() + "\"," +
- "\"saleaddress\":\"" + com["Address"].ToString() + "\",\"saletaxnum\":\"" + com["Tax"].ToString() + "\",\"kptype\":\"2\",\"message\":\"" + msg + "\",\"fphm\":\"" + curfphm + "\" ,\"fpdm\":\"" + curfpdm + "\" ," +
- "\"payee\":\"" + com["legal"].ToString() + "\",\"checker\":\"张丽君\"," +
- "\"tsfs\":\"0\",\"email\":\"" + bill["email"].ToString() + "\",\"phone\":\"" + bill["phone"].ToString() + "\",\"dkbz\":\"0\",\"invoiceLine\":\"" + btype + "\"," +
- "\"detail\":[{\"goodsname\":\"" + goodsname + "\",\"hsbz\":\"1\"," +
- "\"taxrate\":\"" + com["taxrate"].ToString() + "\"," + norate_str + "\"taxamt\":\"" + (totalPrice * -1) + "\",\"taxfreeamt\":\"" + (freeprice * -1) + "\",\"tax\":\"" + (taxprice * -1) + "\",\"spec\":\"\",\"spbm\":\"106020199\"," +
- "\"zxbm\":\"\",\"fphxz\":\"0\",\"kce\":\"\"}]}}";
- }
- //post参数
- order = DESDZFP.Encrypt(order);
- //post参数
- List<string> postLst = new List<string>();
- postLst.Add("order=" + order);
- HttpItem item = new HttpItem()
- {
- URL = "https://nnfp.jss.com.cn/shop/buyer/allow/cxfKp/cxfServerKpOrderSync.action",
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- public static string cainiao_test(string sessionKey)
- {
- //json参数
- /*var res_obj = new
- {
- tid = orderid,
- company_code = comCode,
- out_sid = outSid
- };
- string ro_json = JsonConvert.SerializeObject(res_obj);
- */
- //post参数
- List<string> postLst = new List<string>();
- setParmsHead(sessionKey, ref postLst);
- postLst.Add("methodName=cainiao.cloudprint.stdtemplates.get");
- //postLst.Add("base64=1");
- postLst.Add("requestObjectJson={}");
- HttpItem item = new HttpItem()
- {
- URL = api_url,
- Method = "POST",
- ContentType = "application/x-www-form-urlencoded",
- Postdata = string.Join("&", postLst.ToArray())
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html;
- }
- public static string test()
- {
- HttpItem item = new HttpItem()
- {
- URL = "http://localhost:911/data/demo_print.txt",
- Encoding = Encoding.UTF8,
- ContentType = "application/json"
- };
- HttpResult hResult = tb_http.GetHtml(item);
- return hResult.Html.Replace("\r\n", "").Replace("\t", "");
- }
- }
- }
|