新增淘宝买手订单相关功能

This commit is contained in:
wule committed 2026-10-09 07:08:08 +08:00
1 parent 87e13e6544
commit 5891472f63
3 files changed
+268 -1

No files matched your search

+244
View File
@@ -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<MySqlParameter> paramLst = new List<MySqlParameter>();
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<order_tb_buyer_order> buyerOrderList = new List<order_tb_buyer_order>();
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)
{
@@ -228,7 +228,7 @@ namespace KJD_Web.Controllers.WX
return JsonString(result);
}
/// <summary> 获取拼多多买手订单 </summary>
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);
}
/// <summary> 获取淘宝买手订单 </summary>
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()
{
@@ -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
{
}
}