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 parameters, string secret, string signMethod) { // 第一步:把字典按Key的字母顺序排序 IDictionary sortedParams = new SortedDictionary(parameters, StringComparer.Ordinal); IEnumerator> 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(); } /// /// MD5加密 /// /// /// 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 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 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 _shopKeyDics = null; public static Dictionary ShopKeyDics { get { if (_shopKeyDics == null || _shopKeyDics.Count < 1) { _shopKeyDics = erpRedis.RedisHelper.StringGet>("erp_shpkey"); if (_shopKeyDics == null) { lock (shopkey_Flag) { if (_shopKeyDics == null) { _shopKeyDics = new Dictionary(); 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; } } /// /// 获取单笔交易的详细信息 /// /// /// /// 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 postLst = new List(); 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; } /// /// 查询卖家已卖出的交易数据(根据创建时间) /// /// /// /// 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 postLst = new List(); 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; } /// /// 查询退款列表(根据开始结束时间) /// /// /// /// 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 postLst = new List(); 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(res); List 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(); } /// /// 物流公司信息 /// /// /// /// 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 postLst = new List(); 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; } /// /// 查询面单订购服务 /// /// /// /// 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 postLst = new List(); 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; } /// /// 获取面单模板 /// /// /// /// public static string CainiaoCloudprintStdtemplatesGet(string sellerNick) { string sessionKey = ShopKeyDics[sellerNick]; //json参数 var res_obj = new { }; string ro_json = JsonConvert.SerializeObject(res_obj); //post参数 List postLst = new List(); 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; } /// /// 获取快递面单号 /// /// /// /// 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 postLst = new List(); 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 postLst = new List(); 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 postLst = new List(); 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 postLst = new List(); 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 postLst = new List(); 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 postLst = new List(); 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 postLst = new List(); 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 postLst = new List(); 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", ""); } } }