| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967 |
- using BizCom;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using SiteCore.Redis;
- using SiteCore.taoObj;
- using SQLData;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- using System.Web;
- using System.Web.Script.Serialization;
- using System.Web.Security;
- using SiteCore;
- using static SiteCore.taoObj.Refunds_receive_get_response_Obj;
- using SiteCore.nuonuo;
- using ErpServer.Redis;
- namespace ErpServer
- {
- 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 = SqlHelper.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);
- SqlHelper.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 = SqlHelper.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 = SqlHelper.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(int id,int comid,string clerkname,int detailValue,string billOrderId)
- {
- string sql = "select * from view_ErpBill where id="+id;
- DataTable dt = SqlHelper.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 = SqlHelper.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 = "不干胶贴纸";
- }
- decimal totalPrice = Convert.ToDecimal(bill["price"]);
- string order = "";
- string shId = "106020199";
- if (detailValue == 1)
- {
- 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_bankac = bill["bankac"].ToString() == "0" ? "" : bill["bankac"].ToString();
- int gnum = Convert.ToInt32(bill["num"]);
- if (gnum > 0)
- {
- decimal taxPer = Convert.ToDecimal(com["taxrate"]);
- decimal oPrice = totalPrice / (1 + taxPer) / gnum;
- int jj = Convert.ToInt32(oPrice * 100);
- decimal onePrice = (decimal)(jj * 1.0) / 100;
- order = "{\"identity\":\"" + com["BillKey"].ToString() + "\",\"order\":{\"buyername\":\"" + bill["title"].ToString() + "\"," +
- "\"taxnum\":\"" + bill["tax"].ToString() + "\",\"phone\":\"" + b_phone + "\",\"address\":\"" + b_address + "\",\"account\":\"" + 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\":\"2\",\"email\":\"" + bill["email"].ToString() + "\",\"dkbz\":\"0\",\"invoiceLine\":\"" + btype + "\"," +
- "\"detail\":[{\"goodsname\":\"" + goodsname + "\",\"hsbz\":\"1\"," +
- "\"taxrate\":\"" + com["taxrate"].ToString() + "\",\"num\":\"" + gnum + "\",\"price\":\"" + onePrice + "\",\"spec\":\"\",\"spbm\":\""+ shId + "\"," +
- "\"zxbm\":\"\",\"fphxz\":\"0\",\"yhzcbs\":\"0\",\"zzstsgl\":\"\",\"lslbs\":\"\",\"kce\":\"\"}]}}";
- }
- else
- {
- decimal taxPer = Convert.ToDecimal(com["taxrate"]);
- 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\":\"" + bill["tax"].ToString() + "\",\"phone\":\"" + bill["phone"].ToString() + "\",\"address\":\"" + bill["address"].ToString() + "\",\"account\":\"" + bill["bankac"].ToString() +
- "\",\"telephone\":\"" + bill["phone"].ToString() + "\",\"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\":\"2\",\"email\":\"" + bill["email"].ToString() + "\",\"dkbz\":\"0\",\"invoiceLine\":\"" + btype + "\"," +
- "\"detail\":[{\"goodsname\":\"" + goodsname + "\",\"hsbz\":\"1\"," +
- "\"taxrate\":\"" + com["taxrate"].ToString() + "\",\"taxamt\":\"" + totalPrice + "\",\"taxfreeamt\":\"" + freeprice + "\",\"tax\":\"" + taxprice + "\",\"spec\":\"\",\"spbm\":\"106020199\"," +
- "\"zxbm\":\"\",\"fphxz\":\"0\",\"yhzcbs\":\"0\",\"zzstsgl\":\"\",\"lslbs\":\"\",\"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 tid)
- {
- string sql = "select * from view_ErpBill where tid=" + tid;
- DataTable dt = SqlHelper.ExecuteDataset(sql).Tables[0];
- if (dt.Rows.Count <= 0)
- {
- return "error";
- }
- DataRow bill = dt.Rows[0];
- string order = "{\"identity\":\"" + bill["BillKey"].ToString()+ "\",\"orderno\":[\"" + bill["billOrderId"].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/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 = SqlHelper.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 , int detailValue)
- {
- string sql = "select * from view_ErpBill where id=" + id;
- DataTable dt = SqlHelper.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 = SqlHelper.ExecuteDataset(sql2).Tables[0];
- if (dt2.Rows.Count <= 0)
- {
- return "error";
- }
- DataRow com = dt2.Rows[0];
- string goodsname = bill["ProductName"].ToString();
- if (goodsname == "不干胶")
- {
- goodsname = "不干胶贴纸";
- }
- decimal totalPrice = Convert.ToDecimal(bill["price"]);
- string shId = "106020199";
- if (detailValue == 1)
- {
- goodsname = "设计费";
- shId = "304030199";
- }
- //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 = "对应正数发票代码:" + bill["fpdm"].ToString() + "号码:" + bill["fphm"].ToString() ;
- 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();
- if (gnum > 0)
- {
- decimal taxPer = Convert.ToDecimal(com["taxrate"]);
- decimal oPrice = totalPrice / (1+taxPer) / gnum;
- int jj = Convert.ToInt32(oPrice * 100);
- decimal onePrice = (decimal)(jj * 1.0) / 100;
- order = "{\"identity\":\"" + com["BillKey"].ToString() + "\",\"order\":{\"buyername\":\"" + bill["title"].ToString() + "\"," +
- "\"taxnum\":\"" + bill["tax"].ToString() + "\",\"phone\":\"" + b_phone + "\",\"address\":\"" + b_address + "\",\"account\":\"" + b_bankac +
- "\",\"telephone\":\"" + b_phone + "\",\"orderno\":\"" + bill["billOrderId"].ToString() + "\"," +
- "\"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\":\"" + bill["fphm"].ToString() + "\" ,\"fpdm\":\"" + bill["fpdm"].ToString() + "\" ," +
- "\"payee\":\"" + com["legal"].ToString() + "\",\"checker\":\"张丽君\"," +
- "\"tsfs\":\"2\",\"email\":\"" + bill["email"].ToString() + "\",\"dkbz\":\"0\",\"invoiceLine\":\"" + btype + "\"," +
- "\"detail\":[{\"goodsname\":\"" + goodsname + "\",\"hsbz\":\"1\"," +
- "\"taxrate\":\"" + com["taxrate"].ToString() + "\",\"num\":\"" + (gnum*-1) + "\",\"price\":\"" + onePrice + "\",\"spec\":\"\",\"unit\":\"个\",\"spbm\":\""+ shId + "\"," +
- "\"zxbm\":\"\",\"fphxz\":\"0\",\"yhzcbs\":\"0\",\"zzstsgl\":\"\",\"lslbs\":\"\",\"kce\":\"\"}]}}";
- }
- else
- {
- decimal taxPer = Convert.ToDecimal(com["taxrate"]);
- 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\":\"" + bill["tax"].ToString() + "\",\"phone\":\"" + bill["phone"].ToString() + "\",\"address\":\"" + bill["address"].ToString() + "\",\"account\":\"" + bill["bankac"].ToString() +
- "\",\"telephone\":\"" + bill["phone"].ToString() + "\",\"orderno\":\"" + bill["billOrderId"].ToString() + "\"," +
- "\"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\":\"" + bill["fphm"].ToString() + "\" ,\"fpdm\":\"" + bill["fpdm"].ToString() + "\" ," +
- "\"payee\":\"" + com["legal"].ToString() + "\",\"checker\":\"张丽君\"," +
- "\"tsfs\":\"2\",\"email\":\"" + bill["email"].ToString() + "\",\"dkbz\":\"0\",\"invoiceLine\":\"" + btype + "\"," +
- "\"detail\":[{\"goodsname\":\"" + goodsname + "\",\"hsbz\":\"1\"," +
- "\"taxrate\":\"" + com["taxrate"].ToString() + "\",\"taxamt\":\"" + (totalPrice * -1) + "\",\"taxfreeamt\":\"" + (freeprice * -1) + "\",\"tax\":\"" + (taxprice * -1) + "\",\"spec\":\"\",\"unit\":\"个\",\"spbm\":\"106020199\"," +
- "\"zxbm\":\"\",\"fphxz\":\"0\",\"yhzcbs\":\"0\",\"zzstsgl\":\"\",\"lslbs\":\"\",\"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","");
- }
- }
- }
|