using KJD_Web.BLL; using KJD_Web.BLL.WXXD; using KJD_Web.Utils; using NaiBa.Util.Extension; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.Services; namespace KJD_Web { /// /// OrderService 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class WXOrderService : System.Web.Services.WebService { private string GetRequestJsonString() { Context.Response.ContentType = "text/html;charset=utf-8"; Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); using (Stream s = HttpContext.Current.Request.InputStream) // 获得json 字符流 { // 还原数据流 byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); string jsonText = Encoding.UTF8.GetString(b); // JSON字符串 if (string.IsNullOrEmpty(jsonText)) { var qs = HttpContext.Current.Request.QueryString; if (qs != null && qs.Keys.Count > 0) { jsonText = "{"; foreach (var key in qs.Keys) { jsonText += "\"" + key + "\":" + "\"" + qs[key.ToString()] + "\";"; } jsonText = jsonText.TrimEnd(';') + "}"; } } return jsonText; } } [WebMethod] public void repair_miss_direct_order() { string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); //var s = "SELECT order_id,out_order_id FROM `wxxd`.`order_item_ext` WHERE add_time > '2026-08-15 15:30' AND buy_type = '直发'"; //var s = "SELECT order_id,out_order_id FROM `wxxd`.`order_item_ext` WHERE add_time > '2026-08-13 15:30' AND add_time < '2026-08-15 15:30' And buy_type = '直发'"; var s = "SELECT order_id,out_order_id FROM `wxxd`.`order_item_ext` WHERE add_time > '2026-08-10 15:30' AND add_time < '2026-08-12 15:30' And buy_type = '直发'"; //var s = "SELECT order_id,out_order_id FROM `wxxd`.`order_item_ext` WHERE order_id in ('3738460213351447040') AND buy_type = '直发'"; var dt1 = mySql.ExecuteDataTable(s); //out_order_no //out_express_no //out_shipped=0 s = " Select order_id FROM erp.oms_wei_order WHERE order_id in ('" + string.Join("','", dt1.Rows.Cast().Select(r => r["order_id"].ParseToLong()))+ "') " + " and out_order_no is null"; dt1 = mySql.ExecuteDataTable(s); mySql.Close(); conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; mySql = new MysqlUtils(conn); string sql = "Select * FROM wxxd.order_pdd_buyer_order WHERE wx_order_id in ('" + string.Join("','", dt1.Rows.Cast().Select(r => r["order_id"].ParseToLong())) + "') And wx_send_type=1"; var dt = mySql.ExecuteDataTable(sql); List buyerOrderList = new List(); mySql.Close(); if (dt != null) { try { foreach (System.Data.DataRow row in dt.Rows) { Model.WxModel.order_pdd_buyer_order order = new Model.WxModel.order_pdd_buyer_order { id = row["id"].ParseToLong(), add_time = row["add_time"].ParseToString().ParseToDateTime(), after_sales_status = row["after_sales_status"].ParseToNullableInt(), buyerId = row["buyerId"].ParseToString(), buyerName = row["buyerName"].ParseToString(), mdy_time = row["mdy_time"].ParseToString().ParseToDateTime(), order_amount = row["order_amount"].ParseToNullableInt(), order_detail = row["order_detail"].ParseToString(), order_sn = row["order_sn"].ParseToString(), order_status_prompt = row["order_status_prompt"].ParseToString(), order_time = row["order_time"].ParseToNullableLong(), outExpressCompanyCode = row["outExpressCompanyCode"].ParseToString(), pre_allocated_order_no = row["pre_allocated_order_no"].ParseToNullableInt(), tracking_number = row["tracking_number"].ParseToString(), TransitCreateTime = row["TransitCreateTime"].ParseToString().ParseToDateTime(), wx_order_id = row["wx_order_id"].ParseToString(), wx_sku_id = row["wx_sku_id"].ParseToString(), wx_send_type = row["wx_send_type"].ParseToInt(), }; buyerOrderList.Add(order); } } catch (Exception ex) { } } string err = ""; buyerOrderList = buyerOrderList.OrderBy(b => b.add_time).ToList(); //46 foreach (var pddOrder in buyerOrderList) { //if (!pddOrder.outExpressCompanyCode.IsNullOrEmpty() && !pddOrder.tracking_number.IsNullOrEmpty()) // continue; bool isSend = false; if (!pddOrder.outExpressCompanyCode.IsNullOrEmpty() && !pddOrder.tracking_number.IsNullOrEmpty()) { mySql = new MysqlUtils(conn); var sqlStr = " Select status FROM erp.oms_wei_order WHERE order_id in ('" + pddOrder.wx_order_id + "')"; var status = mySql.ExecuteFirstInt(sqlStr); if (status > 20) { isSend = true; //sqlStr = "update `erp`.`oms_wei_order` set out_express_company='" + pddOrder.outExpressCompanyCode + "',out_express_no='" + pddOrder.tracking_number + // "' WHERE order_id = '" + pddOrder.wx_order_id + "'"; } sqlStr = "update `erp`.`oms_wei_order` set out_express_company='" + pddOrder.outExpressCompanyCode + "',out_express_no='" + pddOrder.tracking_number + "' WHERE order_id = '" + pddOrder.wx_order_id + "'"; var rows = mySql.ExecuteAffectedRows(sqlStr); mySql.Close(); if (!mySql.Message.IsNullOrEmpty()) continue; } Newtonsoft.Json.Linq.JObject obj = new Newtonsoft.Json.Linq.JObject(); obj["platform"] = "WEISHOP"; obj["outAmount"] = (pddOrder.order_amount.ParseToDecimal()).ParseToInt() + ""; obj["outAccount"] = pddOrder.buyerName; obj["orderId"] = pddOrder.wx_order_id; obj["outOrderNo"] = pddOrder.order_sn; if (!isSend && !pddOrder.outExpressCompanyCode.IsNullOrEmpty() && !pddOrder.tracking_number.IsNullOrEmpty()) { obj["outExpressCompany"] = pddOrder.outExpressCompanyCode; obj["outExpressNo"] = pddOrder.tracking_number; } var dataStr = JsonUtils.SerializeObject(obj); var url = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/bind/v2"; //成功 "0SUCCESS" //更新微信外采订单状态成功1 //失败 已存在 1505调用微信接口更新物流信息失败: 非法参数, 同运单号拦截 rid: 69d8ab9c-22baa3b1-67de0d95 var exportRst = HttpUtils.e57PostResponse(url, dataStr, ""); if (!exportRst.Contains("1") && !exportRst.Contains("0")) { err += "\r\n" + pddOrder.order_sn + " " + exportRst; } } } [WebMethod] public void get_erp_order_list() { get_order_list(); } [WebMethod] public void get_order_list() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetErpOrderList(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void get_erp_order_item_list() { get_order_item_list(); } [WebMethod] public void get_order_item_list() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetErpOrderItemList(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void get_erp_refund_list() { get_refund_list(); } [WebMethod] public void get_refund_list() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetErpRefundList(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_add_mdy_buy_prod_map() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXAddMdyBuyProdMap(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_get_buy_prod_map() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetBuyPordMap(jsontext); Context.Response.Write(result); Context.Response.End(); } /// /// 获取中转仓订单信息 /// [WebMethod] public void wx_get_transit_order() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetTransitOrder(jsontext); Context.Response.Write(result); Context.Response.End(); } /// /// 修改中转仓物流信息 /// [WebMethod] public void wx_update_erp_order_express() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXUpdateErpOrderExpress(jsontext); Context.Response.Write(result); Context.Response.End(); } /// /// 修改中转仓取号状态 临时补救 /// [WebMethod] public void wx_update_erp_allocated_order_no() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXUpdateErpAllocatedOrderNo(jsontext); Context.Response.Write(result); Context.Response.End(); } /// /// 删除中转仓指定订单 临时补救,慎用 /// [WebMethod] public void wx_del_erp_transit_warehouse_order() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXDelErpTransitWarehouseOrder(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_update_erp_soft_remark() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXUpdateErpSoftRemark(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_update_erp_color_flag() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXUpdateErpColorFlag(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_update_erp_out_after_sale_status() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXUpdateErpOutAfterSaleStatus(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_add_mdy_buyer_order() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXAddMdyBuyerOrder(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_get_buyer_order_list() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetBuyerOrderList(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_add_mdy_buyer_after_sale() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXAddMdyBuyerAfterSale(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_get_buyer_after_sale_list() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetBuyerAfterSaleList(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_get_transit_warehouse_aftersale_list() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetTransitWarehouseAfterSaleList(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_update_abnormal_transit_order() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXUpdateAbnormalTransitOrder(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_update_transit_order_reject_status() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXUpdateTransitOrderRejectStatus(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_add_order_item_ext_info() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXAddOrderItemExtInfo(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_mdy_order_item_ext_info() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXMdyOrderItemExtInfo(jsontext); Context.Response.Write(result); Context.Response.End(); } [WebMethod] public void wx_get_order_item_ext_info() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetOrderItemExtInfoList(jsontext); Context.Response.Write(result); Context.Response.End(); } //WXGetErpReturnOrderList [WebMethod] public void wx_get_erp_return_order_list() { string jsontext = GetRequestJsonString(); var result = jsontext; result = new WXOrderManage().WXGetErpReturnOrderList(jsontext); Context.Response.Write(result); Context.Response.End(); } } }