829 lines
47 KiB
C#
829 lines
47 KiB
C#
using KJD_Web.Model.WxModel;
|
|
using KJD_Web.Utils;
|
|
using MySql.Data.MySqlClient;
|
|
using NaiBa.Util.Extension;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace KJD_Web.BLL.WXXD
|
|
{
|
|
public class WXOrderManage
|
|
{
|
|
public string WXGetErpOrderList(string inputData, bool isDetail = false)
|
|
{
|
|
if (!string.IsNullOrEmpty(inputData))
|
|
{
|
|
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
|
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
|
if (time1 != EncrypUtil.Encryption(time))
|
|
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
|
|
|
var erp_shop_id_in = RegexUtils.GetStringQuery(ref inputData, "erp_shop_id_in")?.Replace("'", "\\'");
|
|
if (erp_shop_id_in.IsNullOrEmpty())
|
|
{
|
|
return "{\"code\":500,\"msg\":\"未指定店铺\"}";
|
|
}
|
|
var query_status = RegexUtils.GetStringQuery(ref inputData, "query_status")?.Replace("'", "\\'");
|
|
var purchase_status = RegexUtils.GetStringQuery(ref inputData, "purchase_status")?.Replace("'", "\\'");
|
|
var sort_type = RegexUtils.GetStringQuery(ref inputData, "sort_type")?.Replace("'", "\\'");
|
|
var start_time = RegexUtils.GetStringQuery(ref inputData, "start_time").ParseToInt();
|
|
var end_time = RegexUtils.GetStringQuery(ref inputData, "end_time").ParseToInt();
|
|
var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count") == "true";
|
|
|
|
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
|
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
|
|
|
|
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
|
MysqlUtils mySql = new MysqlUtils(conn);
|
|
|
|
string sql = "SELECT COUNT(id) FROM erp.oms_wei_order o WHERE 1=1 ";
|
|
|
|
string where = "";
|
|
if (!string.IsNullOrWhiteSpace(erp_shop_id_in))
|
|
where += " and o.shop_id in (" + erp_shop_id_in + ")";
|
|
if (!string.IsNullOrWhiteSpace(query_status))
|
|
where += " and o.status = " + query_status;
|
|
if (!string.IsNullOrWhiteSpace(purchase_status))
|
|
where += " and o.purchase_status = " + purchase_status;
|
|
if (start_time > 0)
|
|
where += " and o.create_time >= " + start_time;
|
|
if (end_time > 0)
|
|
where += " and o.create_time <= " + end_time;
|
|
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" +
|
|
" erp.oms_wei_order o " +
|
|
" WHERE 1=1";
|
|
|
|
//where子句
|
|
sql += where;
|
|
|
|
if (sort_type == "asc")
|
|
//sql += " ORDER BY o.create_time ASC, o.id desc";
|
|
sql += " ORDER BY o.create_time ASC";
|
|
else
|
|
sql += " ORDER BY o.create_time DESC";
|
|
sql += " LIMIT " + Math.Max(page - 1, 0) * page_size + "," + page_size;
|
|
dt = mySql.ExecuteDataTable(sql);
|
|
}
|
|
|
|
mySql.Close();
|
|
if (dt != null)
|
|
{
|
|
try
|
|
{
|
|
List<oms_wei_order> orderList = new List<oms_wei_order>();
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
oms_wei_order order = new oms_wei_order
|
|
{
|
|
id = row["id"].ParseToLong(),
|
|
aftersale_detail = row["aftersale_detail"].ParseToString(),
|
|
audit_status = row["audit_status"].ParseToNullableInt(),
|
|
audit_time = row["audit_time"].ParseToString().ParseToDateTime(),
|
|
city_name = row["city_name"].ParseToString(),
|
|
colour_flag = row["colour_flag"].ParseToNullableInt(),
|
|
colour_flag_update_time = row["colour_flag_update_time"].ParseToString().ParseToDateTime(),
|
|
commission_amount = row["commission_amount"].ParseToNullableInt(),
|
|
county_name = row["county_name"].ParseToString(),
|
|
create_time = row["create_time"].ParseToInt(),
|
|
delivery_deadline = row["delivery_deadline"].ParseToNullableInt(),
|
|
delivery_product_info = row["delivery_product_info"].ParseToString(),
|
|
delivery_time = row["delivery_time"].ParseToNullableInt(),
|
|
detail_info = row["detail_info"].ParseToString(),
|
|
discounted_price = row["discounted_price"].ParseToNullableInt(),
|
|
erp_send_code = row["erp_send_code"].ParseToString(),
|
|
erp_send_company = row["erp_send_company"].ParseToString(),
|
|
erp_send_status = row["erp_send_status"].ParseToNullableInt(),
|
|
erp_send_time = row["erp_send_time"].ParseToString().ParseToDateTime(),
|
|
ewaybill_order_code = row["ewaybill_order_code"].ParseToString(),
|
|
external_gift = row["external_gift"].ParseToNullableInt(),
|
|
ext_info = row["ext_info"].ParseToString(),
|
|
freight = row["freight"].ParseToNullableInt(),
|
|
freight_insurance_amount = row["freight_insurance_amount"].ParseToNullableInt(),
|
|
gift_order_status = row["gift_order_status"].ParseToNullableInt(),
|
|
hash_code = row["hash_code"].ParseToString(),
|
|
has_freight_insurance = row["has_freight_insurance"].ParseToNullableInt(),
|
|
house_number = row["house_number"].ParseToString(),
|
|
is_express_no_used = row["is_express_no_used"].ParseToNullableInt(),
|
|
is_shipment_optimized = row["is_shipment_optimized"].ParseToNullableInt(),
|
|
merchant_id = row["merchant_id"].ParseToLong(),
|
|
openid = row["openid"].ParseToString(),
|
|
order_id = row["order_id"].ParseToString(),
|
|
order_price = row["order_price"].ParseToNullableInt(),
|
|
out_account = row["out_account"].ParseToString(),
|
|
out_after_sale_status = row["out_after_sale_status"].ParseToString(),
|
|
out_amount = row["out_amount"].ParseToNullableInt(),
|
|
out_express_company = row["out_express_company"].ParseToString(),
|
|
out_express_no = row["out_express_no"].ParseToString(),
|
|
out_order_no = row["out_order_no"].ParseToString(),
|
|
out_shipped = row["out_shipped"].ParseToNullableInt(),
|
|
pay_info = row["pay_info"].ParseToString(),
|
|
postal_code = row["postal_code"].ParseToString(),
|
|
predict_commission_fee = row["predict_commission_fee"].ParseToNullableInt(),
|
|
product_price = row["product_price"].ParseToNullableInt(),
|
|
profit = row["profit"].ParseToNullableInt(),
|
|
province_name = row["province_name"].ParseToString(),
|
|
purchase_price = row["purchase_price"].ParseToNullableInt(),
|
|
purchase_status = row["purchase_status"].ParseToNullableInt(),
|
|
purchase_time = row["purchase_time"].ParseToNullableInt(),
|
|
settle_info = row["settle_info"].ParseToString(),
|
|
ship_done_time = row["ship_done_time"].ParseToNullableInt(),
|
|
shop_id = row["shop_id"].ParseToLong(),
|
|
shop_name = row["shop_name"].ParseToString(),
|
|
shop_remark = row["shop_remark"].ParseToString(),
|
|
soft_remark = row["soft_remark"].ParseToString(),
|
|
status = row["status"].ParseToNullableInt(),
|
|
supplier_remark_exception = row["supplier_remark_exception"].ParseToString(),
|
|
tel_number = row["tel_number"].ParseToString(),
|
|
tel_number_ext_info = row["tel_number_ext_info"].ParseToString(),
|
|
transfer_warehouse_status = row["transfer_warehouse_status"].ParseToNullableInt(),
|
|
unionid = row["unionid"].ParseToString(),
|
|
update_time = row["update_time"].ParseToInt(),
|
|
user_name = row["user_name"].ParseToString(),
|
|
use_tel_number = row["use_tel_number"].ParseToNullableInt(),
|
|
virtual_order_tel_number = row["virtual_order_tel_number"].ParseToString(),
|
|
};
|
|
orderList.Add(order);
|
|
}
|
|
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
|
var data = JsonUtils.SerializeObjectToString(orderList, jsonSetting);
|
|
return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}";
|
|
}
|
|
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 WXGetErpOrderItemList(string inputData, bool isDetail = false)
|
|
{
|
|
if (!string.IsNullOrEmpty(inputData))
|
|
{
|
|
var timeCalc = DateTime.Now;
|
|
|
|
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
|
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
|
if (time1 != EncrypUtil.Encryption(time))
|
|
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
|
|
|
var erp_order_id_in = RegexUtils.GetStringQuery(ref inputData, "erp_order_id_in")?.Replace("'", "\\'");
|
|
if (erp_order_id_in.IsNullOrEmpty())
|
|
{
|
|
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 erp.oms_wei_order_item o WHERE 1=1 ";
|
|
|
|
string where = "";
|
|
if (!string.IsNullOrWhiteSpace(erp_order_id_in))
|
|
where += " and o.order_id in ('" + erp_order_id_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" +
|
|
" erp.oms_wei_order_item 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<oms_wei_order_item> orderItemList = new List<oms_wei_order_item>();
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
oms_wei_order_item order = new oms_wei_order_item
|
|
{
|
|
id = row["id"].ParseToLong(),
|
|
commission_amount = row["commission_amount"].ParseToNullableInt(),
|
|
freight = row["freight"].ParseToNullableInt(),
|
|
merchant_id = row["merchant_id"].ParseToLong(),
|
|
order_id = row["order_id"].ParseToString(),
|
|
predict_commission_fee = row["predict_commission_fee"].ParseToNullableInt(),
|
|
purchase_price = row["purchase_price"].ParseToNullableInt(),
|
|
shop_id = row["shop_id"].ParseToLong(),
|
|
cash_coupon_discounted_price = row["cash_coupon_discounted_price"].ParseToNullableInt(),
|
|
change_price = row["change_price"].ParseToNullableInt(),
|
|
deduction_price = row["deduction_price"].ParseToNullableInt(),
|
|
erp_goods_id = row["erp_goods_id"].ParseToNullableLong(),
|
|
erp_goods_sku_id = row["erp_goods_sku_id"].ParseToNullableLong(),
|
|
estimate_price = row["estimate_price"].ParseToNullableInt(),
|
|
extra_service = row["extra_service"].ParseToString(),
|
|
finish_aftersale_sku_cnt = row["finish_aftersale_sku_cnt"].ParseToNullableInt(),
|
|
is_change_price = row["is_change_price"].ParseToString(),
|
|
is_discounted = row["is_discounted"].ParseToString(),
|
|
market_price = row["market_price"].ParseToNullableInt(),
|
|
on_aftersale_sku_cnt = row["on_aftersale_sku_cnt"].ParseToNullableInt(),
|
|
order_product_coupon_info_list = row["order_product_coupon_info_list"].ParseToString(),
|
|
out_product_id = row["out_product_id"].ParseToString(),
|
|
out_sku_id = row["out_sku_id"].ParseToString(),
|
|
out_warehouse_id = row["out_warehouse_id"].ParseToString(),
|
|
product_id = row["product_id"].ParseToString(),
|
|
real_price = row["real_price"].ParseToNullableInt(),
|
|
refund_status = row["refund_status"].ParseToNullableInt(),
|
|
return_address = row["return_address"].ParseToString(),
|
|
sale_price = row["sale_price"].ParseToNullableInt(),
|
|
sku_attrs = row["sku_attrs"].ParseToString(),
|
|
sku_cnt = row["sku_cnt"].ParseToNullableInt(),
|
|
sku_code = row["sku_code"].ParseToString(),
|
|
sku_deliver_info = row["sku_deliver_info"].ParseToString(),
|
|
sku_id = row["sku_id"].ParseToString(),
|
|
thumb_img = row["thumb_img"].ParseToString(),
|
|
title = row["title"].ParseToString(),
|
|
use_deduction = row["use_deduction"].ParseToString(),
|
|
};
|
|
orderItemList.Add(order);
|
|
}
|
|
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
|
var data = JsonUtils.SerializeObjectToString(orderItemList, 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 WXGetErpRefundList(string inputData, bool isDetail = false)
|
|
{
|
|
if (!string.IsNullOrEmpty(inputData))
|
|
{
|
|
var timeCalc = DateTime.Now;
|
|
|
|
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
|
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
|
if (time1 != EncrypUtil.Encryption(time))
|
|
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
|
|
|
var erp_order_id_in = RegexUtils.GetStringQuery(ref inputData, "erp_order_id_in")?.Replace("'", "\\'");
|
|
if (erp_order_id_in.IsNullOrEmpty())
|
|
{
|
|
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 erp.oms_wei_refund o WHERE 1=1 ";
|
|
|
|
string where = "";
|
|
if (!string.IsNullOrWhiteSpace(erp_order_id_in))
|
|
where += " and o.order_id in ('" + erp_order_id_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" +
|
|
" erp.oms_wei_refund 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<oms_wei_refund> refundItemList = new List<oms_wei_refund>();
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
oms_wei_refund order = new oms_wei_refund
|
|
{
|
|
id = row["id"].ParseToLong(),
|
|
merchant_id = row["merchant_id"].ParseToLong(),
|
|
order_id = row["order_id"].ParseToString(),
|
|
shop_id = row["shop_id"].ParseToLong(),
|
|
erp_goods_id = row["erp_goods_id"].ParseToNullableLong(),
|
|
erp_goods_sku_id = row["erp_goods_sku_id"].ParseToNullableLong(),
|
|
product_id = row["product_id"].ParseToString(),
|
|
sku_id = row["sku_id"].ParseToString(),
|
|
after_sale_order_id = row["after_sale_order_id"].ParseToString(),
|
|
complaint_id = row["complaint_id"].ParseToString(),
|
|
count = row["count"].ParseToNullableInt(),
|
|
create_time = row["create_time"].ParseToNullableInt(),
|
|
details = row["details"].ParseToString(),
|
|
fast_refund = row["fast_refund"].ParseToString(),
|
|
merchant_upload_info = row["merchant_upload_info"].ParseToString(),
|
|
openid = row["openid"].ParseToString(),
|
|
pull_status = row["pull_status"].ParseToNullableInt(),
|
|
pull_time = row["pull_time"].ParseToString().ParseToDateTime(),
|
|
reason = row["reason"].ParseToString(),
|
|
reason_text = row["reason_text"].ParseToString(),
|
|
refund_amount = row["refund_amount"].ParseToNullableInt(),
|
|
refund_reason = row["refund_reason"].ParseToNullableInt(),
|
|
refund_resp = row["refund_resp"].ParseToString(),
|
|
return_delivery_id = row["return_delivery_id"].ParseToString(),
|
|
return_delivery_name = row["return_delivery_name"].ParseToString(),
|
|
return_waybill_id = row["return_waybill_id"].ParseToString(),
|
|
status = row["status"].ParseToString(),
|
|
type = row["type"].ParseToString(),
|
|
unionid = row["unionid"].ParseToString(),
|
|
update_time = row["update_time"].ParseToNullableInt(),
|
|
warehouse_status = row["warehouse_status"].ParseToNullableInt(),
|
|
};
|
|
refundItemList.Add(order);
|
|
}
|
|
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
|
var data = JsonUtils.SerializeObjectToString(refundItemList, 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\":\"输入为空\"}";
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 微信添加修改采购映射商品(含sku映射和)
|
|
/// </summary>
|
|
/// <param name="inputData"></param>
|
|
/// <returns></returns>
|
|
public string WXAddMdyBuyProdMap(string inputData)
|
|
{
|
|
if (!string.IsNullOrEmpty(inputData))
|
|
{
|
|
if (!WXUserManage.GetSign(inputData))
|
|
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
|
|
|
// 软件用户名
|
|
string spu_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "spu_code"))?.Replace("'", "\\'");
|
|
string sku_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sku_code"))?.Replace("'", "\\'");
|
|
string user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "main_user_name"))?.Replace("'", "\\'");
|
|
string map_url = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "map_url"))?.Replace("'", "\\'");
|
|
string map_goods_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "map_goods_name"))?.Replace("'", "\\'");
|
|
string map_spec_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "map_spec_name"))?.Replace("'", "\\'");
|
|
string map_goods_id = RegexUtils.GetStringQuery(ref inputData, "map_goods_id")?.Replace("'", "\\'");
|
|
string map_sku_id = RegexUtils.GetStringQuery(ref inputData, "map_sku_id")?.Replace("'", "\\'");
|
|
string map_send_address = RegexUtils.GetStringQuery(ref inputData, "map_send_address")?.Replace("'", "\\'");
|
|
string transit_warehouse_id = RegexUtils.GetStringQuery(ref inputData, "transit_warehouse_id")?.Replace("'", "\\'");
|
|
|
|
if (string.IsNullOrEmpty(spu_code) || string.IsNullOrEmpty(sku_code))
|
|
return "{\"code\":500,\"msg\":\"缺少系统商品或SKU编号\"}";
|
|
if (string.IsNullOrEmpty(user_name))
|
|
return "{\"code\":500,\"msg\":\"缺少用户名\"}";
|
|
if (string.IsNullOrEmpty(map_url) && (string.IsNullOrEmpty(map_goods_id) || string.IsNullOrEmpty(map_sku_id)))
|
|
return "{\"code\":500,\"msg\":\"缺少采购商品信息\"}";
|
|
if (string.IsNullOrEmpty(transit_warehouse_id))
|
|
return "{\"code\":500,\"msg\":\"缺少中转仓信息\"}";
|
|
|
|
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
|
MysqlUtils mySql = new MysqlUtils(conn);
|
|
|
|
string sql = "SELECT 1 FROM `bxx`.`product_buy_map` where user_name='" + user_name + "' AND spu_code='" + spu_code + "' AND sku_code='" + sku_code + "'";
|
|
string where = "";
|
|
sql += where;
|
|
var exist = mySql.ExecuteFirstInt(sql);
|
|
if (!mySql.Message.IsNullOrEmpty())
|
|
{
|
|
mySql.Close();
|
|
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
|
|
}
|
|
|
|
if (exist == 0)
|
|
{
|
|
sql = " INSERT INTO `bxx`.`product_buy_map` (user_name,spu_code,sku_code,map_url,map_goods_name,map_spec_name,map_goods_id,map_sku_id,map_send_address,transit_warehouse_id)" +
|
|
" VALUES (@user_name,@spu_code,@sku_code,@map_url,@map_goods_name,@map_spec_name,@map_goods_id,@map_sku_id,@map_send_address,@transit_warehouse_id);";
|
|
}
|
|
else
|
|
{
|
|
sql = "UPDATE `bxx`.`product_buy_map` SET ";
|
|
if (map_url != null)
|
|
sql += " map_url=@map_url,";
|
|
if (map_goods_name != null)
|
|
sql += " map_goods_name=@map_goods_name,";
|
|
if (map_spec_name != null)
|
|
sql += " map_spec_name=@map_spec_name,";
|
|
if (map_goods_id != null)
|
|
sql += " map_goods_id=@map_goods_id,";
|
|
if (map_sku_id != null)
|
|
sql += " map_sku_id=@map_sku_id,";
|
|
if (map_send_address != null)
|
|
sql += " map_send_address=@map_send_address,";
|
|
if (transit_warehouse_id != null)
|
|
sql += " transit_warehouse_id=@transit_warehouse_id,";
|
|
sql = sql.TrimEnd(',');
|
|
sql += " WHERE user_name=@user_name and spu_code=@spu_code and sku_code=@sku_code;";
|
|
}
|
|
|
|
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_name", Value = user_name, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "spu_code", Value = spu_code, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "sku_code", Value = sku_code, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "map_url", Value = map_url, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "map_goods_name", Value = map_goods_name, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "map_spec_name", Value = map_spec_name, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "map_goods_id", Value = map_goods_id, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "map_sku_id", Value = map_sku_id, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "map_send_address", Value = map_send_address, });
|
|
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "transit_warehouse_id", Value = transit_warehouse_id, });
|
|
mySql.ExecuteNonQuery(sql, paramLst.ToArray());
|
|
mySql.Close();
|
|
if (string.IsNullOrEmpty(mySql.Message))
|
|
{
|
|
return "{\"code\":200,\"msg\":\"success\",\"data\":\"\"}";
|
|
}
|
|
else
|
|
{
|
|
return "{\"code\":50003,\"msg\":\"" + mySql.Message + "\",\"data\":\"\"}";
|
|
}
|
|
}
|
|
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 微信获取采购映射商品
|
|
/// </summary>
|
|
/// <param name="inputData"></param>
|
|
/// <returns></returns>
|
|
public string WXGetBuyPordMap(string inputData)
|
|
{
|
|
if (!string.IsNullOrEmpty(inputData))
|
|
{
|
|
if (!WXUserManage.GetSign(inputData))
|
|
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
|
var timeCalc = DateTime.Now;
|
|
|
|
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
|
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
|
|
string spu_codes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "spu_codes"))?.Replace("'", "\\'");
|
|
string sku_codes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sku_codes"))?.Replace("'", "\\'");
|
|
string user_name = RegexUtils.GetStringQuery(ref inputData, "main_user_name")?.Replace("'", "\\'");
|
|
string not_count = RegexUtils.GetStringQuery(ref inputData, "not_count")?.Replace("'", "\\'");
|
|
if (string.IsNullOrEmpty(spu_codes))
|
|
return "{\"code\":500,\"msg\":\"商品编码不能为空\"}";
|
|
if (string.IsNullOrEmpty(user_name))
|
|
return "{\"code\":500,\"msg\":\"用户名不能为空\"}";
|
|
|
|
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
|
MysqlUtils mySql = new MysqlUtils(conn);
|
|
|
|
string sql = "";
|
|
var count = -1;
|
|
|
|
sql = "SELECT COUNT(*) FROM `bxx`.`product_buy_map` WHERE 1=1";
|
|
string where = "";
|
|
if (spu_codes != null)
|
|
where += " and spu_code IN ('" + spu_codes.Replace(",", "','") + "')";
|
|
if (sku_codes != null)
|
|
where += " and sku_code IN ('" + sku_codes.Replace(",", "','") + "')";
|
|
if (user_name != null)
|
|
where += " and user_name='" + user_name + "'";
|
|
sql += where;
|
|
sql += ";";
|
|
|
|
if (not_count == "false")
|
|
count = mySql.ExecuteRowCount(sql);
|
|
|
|
DataTable dt;
|
|
if (count == 0)
|
|
{
|
|
dt = new DataTable();
|
|
}
|
|
else
|
|
{
|
|
sql = "SELECT * FROM `bxx`.`product_buy_map` WHERE 1=1";
|
|
sql += where;
|
|
sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";";
|
|
dt = mySql.ExecuteDataTable(sql);
|
|
}
|
|
mySql.Close();
|
|
|
|
if (dt != null)
|
|
{
|
|
try
|
|
{
|
|
List<WXBuyMapInfo> WXBuyMapInfoLst = new List<WXBuyMapInfo>();
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
WXBuyMapInfoLst.Add(new WXBuyMapInfo()
|
|
{
|
|
id = row["id"].ParseToInt(),
|
|
user_name = row["user_name"].ParseToString(),
|
|
spu_code = row["spu_code"].ParseToString(),
|
|
sku_code = row["sku_code"].ParseToString(),
|
|
map_url = row["map_url"].ParseToString(),
|
|
map_goods_name = row["map_goods_name"].ParseToString(),
|
|
map_spec_name = row["map_spec_name"].ParseToString(),
|
|
map_goods_id = row["map_goods_id"].ParseToString(),
|
|
map_sku_id = row["map_sku_id"].ParseToString(),
|
|
map_send_address = row["map_send_address"].ParseToString(),
|
|
transit_warehouse_id = row["transit_warehouse_id"].ParseToString(),
|
|
add_time = Convert.ToDateTime(row["add_time"]),
|
|
mdy_time = Convert.ToDateTime(row["mdy_time"]),
|
|
});
|
|
}
|
|
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
|
var data = JsonUtils.SerializeObjectToString(WXBuyMapInfoLst, 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\":\"输入为空\"}";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取中转仓订单信息
|
|
/// </summary>
|
|
/// <param name="inputData"></param>
|
|
/// <returns></returns>
|
|
public string WXGetTransitOrder(string inputData)
|
|
{
|
|
if (!string.IsNullOrEmpty(inputData))
|
|
{
|
|
if (!WXUserManage.GetSign(inputData))
|
|
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
|
var timeCalc = DateTime.Now;
|
|
|
|
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
|
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
|
|
string order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_no"))?.Replace("'", "\\'");
|
|
string order_sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_sku_id"))?.Replace("'", "\\'");
|
|
string out_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_order_no"))?.Replace("'", "\\'");
|
|
string not_count = RegexUtils.GetStringQuery(ref inputData, "not_count")?.Replace("'", "\\'");
|
|
if (string.IsNullOrEmpty(order_no) && string.IsNullOrEmpty(out_order_no) && string.IsNullOrEmpty(order_sku_id))
|
|
return "{\"code\":500,\"msg\":\"商品查询信息不能为空\"}";
|
|
|
|
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
|
MysqlUtils mySql = new MysqlUtils(conn);
|
|
|
|
string sql = "";
|
|
var count = -1;
|
|
|
|
sql = "SELECT COUNT(*) FROM `erp`.`oms_wei_external_procurement_log` WHERE 1=1";
|
|
string where = "";
|
|
if (order_no != null)
|
|
where += " and order_no IN ('" + order_no.Replace(",", "','") + "')";
|
|
if (order_sku_id != null)
|
|
where += " and order_sku_id IN ('" + order_sku_id.Replace(",", "','") + "')";
|
|
if (out_order_no != null)
|
|
where += " and out_order_no IN ('" + out_order_no.Replace(",", "','") + "')";
|
|
sql += where;
|
|
sql += ";";
|
|
|
|
if (not_count == "false")
|
|
count = mySql.ExecuteRowCount(sql);
|
|
|
|
DataTable dt;
|
|
if (count == 0)
|
|
{
|
|
dt = new DataTable();
|
|
}
|
|
else
|
|
{
|
|
sql = "SELECT * FROM `erp`.`oms_wei_external_procurement_log` WHERE 1=1";
|
|
sql += where;
|
|
sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";";
|
|
dt = mySql.ExecuteDataTable(sql);
|
|
}
|
|
mySql.Close();
|
|
|
|
if (dt != null)
|
|
{
|
|
try
|
|
{
|
|
List<oms_wei_external_procurement_log> oms_wei_external_procurement_log_list = new List<oms_wei_external_procurement_log>();
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
oms_wei_external_procurement_log_list.Add(new oms_wei_external_procurement_log()
|
|
{
|
|
id = row["id"].ParseToInt(),
|
|
buyer_account = row["buyer_account"].ParseToString(),
|
|
order_no = row["order_no"].ParseToString(),
|
|
order_sku_id = row["order_sku_id"].ParseToString(),
|
|
out_amount = row["out_amount"].ParseToNullableInt(),
|
|
out_order_no = row["out_order_no"].ParseToString(),
|
|
purchaser_note = row["purchaser_note"].ParseToString(),
|
|
created_time = row["created_time"].ParseToString().ParseToDateTime(),
|
|
express_1_company = row["express_1_company"].ParseToString(),
|
|
express_1_waybill = row["express_1_waybill"].ParseToString(),
|
|
express_2_company = row["express_2_company"].ParseToString(),
|
|
express_2_waybill = row["express_2_waybill"].ParseToString(),
|
|
order_code = row["order_code"].ParseToString(),
|
|
order_platform_code = row["order_platform_code"].ParseToString(),
|
|
pickup_time = row["pickup_time"].ParseToString().ParseToDateTime(),
|
|
platform = row["platform"].ParseToString(),
|
|
pre_allocated_order_no = row["pre_allocated_order_no"].ParseToNullableInt(),
|
|
raw_message = row["raw_message"].ParseToString(),
|
|
refund_status = row["refund_status"].ParseToString(),
|
|
transfer_warehouse_status = row["transfer_warehouse_status"].ParseToNullableInt(),
|
|
updated_time = row["updated_time"].ParseToString().ParseToDateTime(),
|
|
});
|
|
}
|
|
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
|
var data = JsonUtils.SerializeObjectToString(oms_wei_external_procurement_log_list, 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\":\"输入为空\"}";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改中转仓订单信息,临时补救
|
|
/// </summary>
|
|
/// <param name="inputData"></param>
|
|
/// <returns></returns>
|
|
public string WXUpdateErpOrderExpress(string inputData)
|
|
{
|
|
if (!string.IsNullOrEmpty(inputData))
|
|
{
|
|
if (!WXUserManage.GetSign(inputData))
|
|
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
|
var timeCalc = DateTime.Now;
|
|
|
|
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
|
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
|
|
string out_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_order_no"))?.Replace("'", "\\'");
|
|
string express_1_company = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "express_1_company"))?.Replace("'", "\\'");
|
|
string express_1_waybill = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "express_1_waybil"))?.Replace("'", "\\'");
|
|
if (string.IsNullOrEmpty(out_order_no))
|
|
return "{\"code\":500,\"msg\":\"订单外部ID信息不能为空\"}";
|
|
if (string.IsNullOrEmpty(express_1_company))
|
|
return "{\"code\":500,\"msg\":\"物流公司不能为空\"}";
|
|
if (string.IsNullOrEmpty(express_1_waybill))
|
|
return "{\"code\":500,\"msg\":\"物流单号不能为空\"}";
|
|
|
|
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
|
MysqlUtils mySql = new MysqlUtils(conn);
|
|
|
|
string sql = "";
|
|
var count = -1;
|
|
|
|
sql = " update `erp`.`oms_wei_external_procurement_log` ";
|
|
sql += " set express_1_company='" + express_1_company + "',";
|
|
sql += " express_1_waybill='" + express_1_waybill + "',";
|
|
sql = sql.TrimEnd(',');
|
|
sql += " where out_order_no = '" + out_order_no + "';";
|
|
|
|
count = mySql.ExecuteAffectedRows(sql);
|
|
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\":\"输入为空\"}";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改中转仓订单信息,临时补救
|
|
/// </summary>
|
|
/// <param name="inputData"></param>
|
|
/// <returns></returns>
|
|
public string WXUpdateErpAllocatedOrderNo(string inputData)
|
|
{
|
|
if (!string.IsNullOrEmpty(inputData))
|
|
{
|
|
if (!WXUserManage.GetSign(inputData))
|
|
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
|
var timeCalc = DateTime.Now;
|
|
|
|
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
|
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
|
|
string out_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_order_no"))?.Replace("'", "\\'");
|
|
string pre_allocated_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "pre_allocated_order_no"))?.Replace("'", "\\'");
|
|
if (string.IsNullOrEmpty(out_order_no))
|
|
return "{\"code\":500,\"msg\":\"订单外部ID信息不能为空\"}";
|
|
|
|
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
|
MysqlUtils mySql = new MysqlUtils(conn);
|
|
|
|
string sql = "";
|
|
var count = -1;
|
|
|
|
sql = " update `erp`.`oms_wei_external_procurement_log` set ";
|
|
if (!string.IsNullOrEmpty(pre_allocated_order_no))
|
|
sql += " pre_allocated_order_no=" + pre_allocated_order_no + ",";
|
|
sql = sql.TrimEnd(',');
|
|
sql += " where out_order_no = '" + out_order_no + "';";
|
|
|
|
count = mySql.ExecuteAffectedRows(sql);
|
|
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\":\"输入为空\"}";
|
|
}
|
|
}
|
|
} |