From 5891472f63673098181dca0709e729f45a8d8aa9 Mon Sep 17 00:00:00 2001 From: wule Date: Fri, 9 Oct 2026 07:08:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B7=98=E5=AE=9D=E4=B9=B0?= =?UTF-8?q?=E6=89=8B=E8=AE=A2=E5=8D=95=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KJD_WebService/BLL/WXXD/WXOrderManage.cs | 244 ++++++++++++++++++ .../Controllers/WX/WXOrderController.cs | 21 +- .../Model/WxModel/order_pdd_buyer_order.cs | 4 + 3 files changed, 268 insertions(+), 1 deletion(-) diff --git a/KJD_WebService/BLL/WXXD/WXOrderManage.cs b/KJD_WebService/BLL/WXXD/WXOrderManage.cs index 234b214..3157133 100644 --- a/KJD_WebService/BLL/WXXD/WXOrderManage.cs +++ b/KJD_WebService/BLL/WXXD/WXOrderManage.cs @@ -1827,6 +1827,250 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + public string WXAddMdyTbBuyerOrder(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var timeCalc = DateTime.Now; + + string wx_order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_order_id"))?.Replace("'", "\\'"); + string wx_sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_sku_id"))?.Replace("'", "\\'"); + string wx_send_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_send_type"))?.Replace("'", "\\'"); + if (wx_send_type.IsNullOrEmpty()) + wx_send_type = "0"; + string TransitCreateTime = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "TransitCreateTime"))?.Replace("'", "\\'"); + string pre_allocated_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "pre_allocated_order_no"))?.Replace("'", "\\'"); + string buyerId = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "buyerId"))?.Replace("'", "\\'"); + string buyerName = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "buyerName"))?.Replace("'", "\\'"); + string pdd_order_sn = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "pdd_order_sn"))?.Replace("'", "\\'"); + string order_amount = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_amount"))?.Replace("'", "\\'"); + string order_time = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_time"))?.Replace("'", "\\'"); + string outExpressCompanyCode = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "outExpressCompanyCode"))?.Replace("'", "\\'"); + string tracking_number = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "tracking_number"))?.Replace("'", "\\'"); + string order_status_prompt = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_status_prompt"))?.Replace("'", "\\'"); + string after_sales_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "after_sales_status"))?.Replace("'", "\\'"); + string order_detail = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_detail"))?.Replace("'", "\\'"); + string sync_logistics_msg = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sync_logistics_msg"))?.Replace("'", "\\'"); + //string wx_order_send_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_order_send_type"))?.Replace("'", "\\'"); + //if (string.IsNullOrEmpty(wx_order_send_type)) + // wx_order_send_type = "1"; + if (string.IsNullOrEmpty(wx_order_id) || string.IsNullOrEmpty(pdd_order_sn)) + return "{\"code\":500,\"msg\":\"订单ID不能为空\"}"; + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = ""; + var count = -1; + + sql = "select id from wxxd.order_tb_buyer_order where order_sn='" + pdd_order_sn + "'"; + var id = mySql.ExecuteFirstInt(sql); + if (!string.IsNullOrEmpty(mySql.Message)) + { + mySql.Close(); + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } + + //sql = "INSERT INTO wxxd.order_tb_buyer_order (wx_order_id,wx_sku_id,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,order_sn,order_amount,order_time," + + // "outExpressCompanyCode,tracking_number,order_status_prompt,after_sales_status,order_detail)"; + //sql += "VALUES(@wx_order_id,@wx_sku_id,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@pdd_order_sn,@order_amount,@order_time," + + // "@outExpressCompanyCode,@tracking_number,@order_status_prompt,@after_sales_status,@order_detail)"; + //sql += " ON DUPLICATE KEY UPDATE wx_order_id=VALUES(@wx_order_id),wx_sku_id=VALUES(@wx_sku_id),TransitCreateTime=VALUES(@TransitCreateTime)," + + // "pre_allocated_order_no=VALUES(@pre_allocated_order_no),buyerId=VALUES(@buyerId),buyerName=VALUES(@buyerName),order_amount=VALUES(@order_amount)," + + // "order_time=VALUES(@order_time),outExpressCompanyCode=VALUES(@outExpressCompanyCode),tracking_number=VALUES(@tracking_number),order_status_prompt=VALUES(@order_status_prompt)," + + // "after_sales_status=VALUES(@after_sales_status),order_detail=VALUES(@order_detail)"; + + if (id == 0) + { + sql = "INSERT INTO wxxd.order_tb_buyer_order (wx_order_id,wx_sku_id,wx_send_type,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,order_sn,order_amount,order_time," + + "outExpressCompanyCode,tracking_number,order_status_prompt,after_sales_status,order_detail,sync_logistics_msg)"; + sql += "VALUES(@wx_order_id,@wx_sku_id,@wx_send_type,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@pdd_order_sn,@order_amount,@order_time," + + "@outExpressCompanyCode,@tracking_number,@order_status_prompt,@after_sales_status,@order_detail,@sync_logistics_msg);"; + } + else + { + sql = "UPDATE wxxd.order_tb_buyer_order SET "; + if (!string.IsNullOrEmpty(wx_order_id)) + sql += " wx_order_id=@wx_order_id,"; + if (!string.IsNullOrEmpty(wx_sku_id)) + sql += " wx_sku_id=@wx_sku_id,"; + if (!string.IsNullOrEmpty(wx_send_type)) + sql += " wx_send_type=@wx_send_type,"; + if (!string.IsNullOrEmpty(TransitCreateTime)) + sql += " TransitCreateTime=@TransitCreateTime,"; + if (!string.IsNullOrEmpty(pre_allocated_order_no)) + sql += " pre_allocated_order_no=@pre_allocated_order_no,"; + if (!string.IsNullOrEmpty(buyerId)) + sql += " buyerId=@buyerId,"; + if (!string.IsNullOrEmpty(buyerName)) + sql += " buyerName=@buyerName,"; + if (!string.IsNullOrEmpty(order_amount)) + sql += " order_amount=@order_amount,"; + if (!string.IsNullOrEmpty(order_time)) + sql += " order_time=@order_time,"; + if (!string.IsNullOrEmpty(outExpressCompanyCode)) + sql += " outExpressCompanyCode=@outExpressCompanyCode,"; + if (!string.IsNullOrEmpty(tracking_number)) + sql += " tracking_number=@tracking_number,"; + if (!string.IsNullOrEmpty(order_status_prompt)) + sql += " order_status_prompt=@order_status_prompt,"; + if (!string.IsNullOrEmpty(after_sales_status)) + sql += " after_sales_status=@after_sales_status,"; + if (!string.IsNullOrEmpty(order_detail)) + sql += " order_detail=@order_detail,"; + if (!string.IsNullOrEmpty(sync_logistics_msg)) + sql += " sync_logistics_msg=@sync_logistics_msg,"; + sql = sql.TrimEnd(','); + sql += " where order_sn=@pdd_order_sn"; + } + //260705-105706954352823 + + + List paramLst = new List(); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "wx_order_id", Value = wx_order_id, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "wx_sku_id", Value = wx_sku_id, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "wx_send_type", Value = wx_send_type.ParseToInt(), }); + paramLst.Add(new MySqlParameter() { DbType = DbType.DateTime, ParameterName = "TransitCreateTime", Value = TransitCreateTime.ParseToDateTime(), }); + paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "pre_allocated_order_no", Value = pre_allocated_order_no.ParseToInt(), }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "buyerId", Value = buyerId, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "buyerName", Value = buyerName, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "pdd_order_sn", Value = pdd_order_sn, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "order_amount", Value = order_amount.ParseToNullableInt(), }); + paramLst.Add(new MySqlParameter() { DbType = DbType.Int64, ParameterName = "order_time", Value = order_time.ParseToLong(), }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "outExpressCompanyCode", Value = outExpressCompanyCode, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "tracking_number", Value = tracking_number, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "order_status_prompt", Value = order_status_prompt, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "after_sales_status", Value = after_sales_status.ParseToInt(), }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "order_detail", Value = order_detail, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "sync_logistics_msg", Value = sync_logistics_msg, }); + //sql = " update `wxxd`.`order_tb_buyer_order` set "; + //if (!string.IsNullOrEmpty(soft_remark)) + // sql += " soft_remark=" + soft_remark + ","; + //sql = sql.TrimEnd(','); + //sql += " where order_id = '" + wx_order_id + "';"; + + count = mySql.ExecuteAffectedRows(sql, paramLst.ToArray()); + mySql.Close(); + + if (!string.IsNullOrEmpty(mySql.Message)) + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"affected_rows\":" + count + "}"; + } + return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + count + "}"; + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + public string WXGetTbBuyerOrderList(string inputData, bool isDetail = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var timeCalc = DateTime.Now; + + var wx_order_id_in = RegexUtils.GetStringQuery(ref inputData, "wx_order_id_in")?.Replace("'", "\\'"); + var buyer_order_sn_in = RegexUtils.GetStringQuery(ref inputData, "buyer_order_sn_in")?.Replace("'", "\\'"); + if (wx_order_id_in.IsNullOrEmpty() && string.IsNullOrEmpty(buyer_order_sn_in)) + { + return "{\"code\":500,\"msg\":\"未指定订单\"}"; + } + var sort_type = RegexUtils.GetStringQuery(ref inputData, "sort_type")?.Replace("'", "\\'"); + var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count") != "false"; + + int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(500); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "SELECT COUNT(id) FROM wxxd.order_tb_buyer_order o WHERE 1=1 "; + + string where = ""; + if (!string.IsNullOrWhiteSpace(wx_order_id_in)) + where += " and o.wx_order_id in ('" + wx_order_id_in.Replace(",", "','") + "')"; + if (!string.IsNullOrWhiteSpace(buyer_order_sn_in)) + where += " and o.order_sn in ('" + buyer_order_sn_in.Replace(",", "','") + "')"; + sql += where; + + var count = 0; + if (!is_not_count) + count = mySql.ExecuteRowCount(sql); + + DataTable dt; + if (count == 0 && !is_not_count) + { + dt = new DataTable(); + } + else + { + sql = "SELECT o.* FROM" + + " wxxd.order_tb_buyer_order o " + + " WHERE 1=1"; + + //where子句 + sql += where; + + if (sort_type == "asc") + sql += " ORDER BY o.id ASC"; + else + sql += " ORDER BY o.id DESC"; + sql += " LIMIT " + Math.Max(page - 1, 0) * page_size + "," + page_size; + dt = mySql.ExecuteDataTable(sql); + } + + mySql.Close(); + if (dt != null) + { + try + { + List buyerOrderList = new List(); + foreach (DataRow row in dt.Rows) + { + order_tb_buyer_order order = new order_tb_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(), + sync_logistics_msg = row["sync_logistics_msg"].ParseToString(), + }; + buyerOrderList.Add(order); + } + JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; + var data = JsonUtils.SerializeObjectToString(buyerOrderList, jsonSetting); + var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000"); + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}"; + } + catch (Exception ex) + { + return "{\"code\":500,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}"; + } + } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + public string WXAddMdyBuyerAfterSale(string inputData) { diff --git a/KJD_WebService/Controllers/WX/WXOrderController.cs b/KJD_WebService/Controllers/WX/WXOrderController.cs index a6d11f6..b30b97f 100644 --- a/KJD_WebService/Controllers/WX/WXOrderController.cs +++ b/KJD_WebService/Controllers/WX/WXOrderController.cs @@ -228,7 +228,7 @@ namespace KJD_Web.Controllers.WX return JsonString(result); } - + /// 获取拼多多买手订单 public IHttpActionResult wx_get_buyer_order_list() { string jsontext = GetRequestJsonString(); @@ -238,6 +238,25 @@ namespace KJD_Web.Controllers.WX return JsonString(result); } + public IHttpActionResult wx_add_mdy_tb_buyer_order() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXOrderManage().WXAddMdyBuyerOrder(jsontext); + + return JsonString(result); + } + /// 获取淘宝买手订单 + public IHttpActionResult wx_get_buyer__tb_order_list() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXOrderManage().WXGetBuyerOrderList(jsontext); + + return JsonString(result); + } public IHttpActionResult wx_add_mdy_buyer_after_sale() { diff --git a/KJD_WebService/Model/WxModel/order_pdd_buyer_order.cs b/KJD_WebService/Model/WxModel/order_pdd_buyer_order.cs index c325db7..0162616 100644 --- a/KJD_WebService/Model/WxModel/order_pdd_buyer_order.cs +++ b/KJD_WebService/Model/WxModel/order_pdd_buyer_order.cs @@ -33,4 +33,8 @@ namespace KJD_Web.Model.WxModel public DateTime mdy_time { get; set; } public string sync_logistics_msg { get; internal set; } } + + public class order_tb_buyer_order : order_pdd_buyer_order + { + } } \ No newline at end of file