using StoreHub.KJDWebService.Models.WxModel; using StoreHub.KJDWebService.Commons; using StoreHub.Framework.Repositorys; using Microsoft.Extensions.Configuration; using MySql.Data.MySqlClient; using NaiBa.Util.Extension; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Linq; namespace StoreHub.KJDWebService.Services { public class WXOrderService : ServiceBase { public WXOrderService(SqlRepository sqlRepository, IConfiguration configuration) : base(sqlRepository, configuration) { } public string WXGetErpOrderList(string inputData, bool isDetail = false) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var timeCalc = DateTime.Now; var erp_shop_id_in = RegexUtils.GetStringQuery(ref inputData, "erp_shop_id_in")?.Replace("'", "\\'"); var erp_order_id_in = RegexUtils.GetStringQuery(ref inputData, "erp_order_id_in")?.Replace("'", "\\'"); if (erp_shop_id_in.IsNullOrEmpty() && erp_order_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 = "ConnKJD"; 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(erp_order_id_in)) where += " and o.order_id in ('" + erp_order_id_in.Replace(",", "','") + "')"; 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.update_time >= " + start_time; if (end_time > 0) where += " and o.update_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 { //tinyint(1)中存超过两个值,只返回true或false,无法直接取值解决办法 //解决方法: //1.强制修改mapResult中的映射,将po属性的类型由Boolean改为Byte //2.查询 tinyint(1) 的sql 字段时,转为(status + 0) as status //3.避免使用 tinyint(1) 作为字段的数据类型 sql = "SELECT o.*,(out_shipped+0) as out_shipped_int 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 orderList = new List(); foreach (DataRow row in dt.Rows) { oms_wei_order order = new oms_wei_order { id = row["id"].ParseToLong(), aftersale_detail = row["aftersale_detail"].ParseToNullableString(), audit_status = row["audit_status"].ParseToNullableInt(), //audit_time = row["audit_time"].ParseToNullableString().ParseToDateTime(), city_name = row["city_name"].ParseToNullableString(), colour_flag = row["colour_flag"].ParseToNullableInt(), colour_flag_update_time = row["colour_flag_update_time"].ParseToNullableString().ParseToDateTime(), commission_amount = row["commission_amount"].ParseToNullableInt(), county_name = row["county_name"].ParseToNullableString(), create_time = row["create_time"].ParseToInt(), delivery_deadline = row["delivery_deadline"].ParseToNullableInt(), //delivery_product_info = row["delivery_product_info"].ParseToNullableString(), delivery_time = row["delivery_time"].ParseToNullableInt(), detail_info = row["detail_info"].ParseToNullableString(), discounted_price = row["discounted_price"].ParseToNullableInt(), erp_send_code = row["erp_send_code"].ParseToNullableString(), erp_send_company = row["erp_send_company"].ParseToNullableString(), erp_send_status = row["erp_send_status"].ParseToNullableInt(), erp_send_time = row["erp_send_time"].ParseToNullableString().ParseToDateTime(), //ewaybill_order_code = row["ewaybill_order_code"].ParseToNullableString(), external_gift = row["external_gift"].ParseToNullableInt(), //ext_info = row["ext_info"].ParseToNullableString(), 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"].ParseToNullableString(), has_freight_insurance = row["has_freight_insurance"].ParseToNullableInt(), house_number = row["house_number"].ParseToNullableString(), 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"].ParseToNullableString(), order_id = row["order_id"].ParseToNullableString(), order_price = row["order_price"].ParseToNullableInt(), out_account = row["out_account"].ParseToNullableString(), out_after_sale_status = row["out_after_sale_status"].ParseToNullableString(), out_amount = row["out_amount"].ParseToNullableInt(), out_express_company = row["out_express_company"].ParseToNullableString(), out_express_no = row["out_express_no"].ParseToNullableString(), out_order_no = row["out_order_no"].ParseToNullableString(), out_shipped = row["out_shipped_int"].ParseToNullableInt(), //pay_info = row["pay_info"].ParseToNullableString(), postal_code = row["postal_code"].ParseToNullableString(), predict_commission_fee = row["predict_commission_fee"].ParseToNullableInt(), product_price = row["product_price"].ParseToNullableInt(), profit = row["profit"].ParseToNullableInt(), province_name = row["province_name"].ParseToNullableString(), purchase_price = row["purchase_price"].ParseToNullableInt(), purchase_status = row["purchase_status"].ParseToNullableInt(), purchase_time = row["purchase_time"].ParseToNullableInt(), settle_info = row["settle_info"].ParseToNullableString(), ship_done_time = row["ship_done_time"].ParseToNullableInt(), shop_id = row["shop_id"].ParseToLong(), shop_name = row["shop_name"].ParseToNullableString(), shop_remark = row["shop_remark"].ParseToNullableString(), soft_remark = row["soft_remark"].ParseToNullableString(), status = row["status"].ParseToNullableInt(), supplier_remark_exception = row["supplier_remark_exception"].ParseToNullableString(), tel_number = row["tel_number"].ParseToNullableString(), tel_number_ext_info = row["tel_number_ext_info"].ParseToNullableString(), transfer_warehouse_status = row["transfer_warehouse_status"].ParseToNullableInt(), unionid = row["unionid"].ParseToNullableString(), update_time = row["update_time"].ParseToInt(), user_name = row["user_name"].ParseToNullableString(), use_tel_number = row["use_tel_number"].ParseToNullableInt(), virtual_order_tel_number = row["virtual_order_tel_number"].ParseToNullableString(), }; if (order.order_id == "3737914129536416512") { } orderList.Add(order); } JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; var data = JsonUtils.SerializeObjectToString(orderList, 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 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 = "ConnKJD"; 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 orderItemList = new List(); 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"].ParseToNullableString(), 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"].ParseToNullableString(), finish_aftersale_sku_cnt = row["finish_aftersale_sku_cnt"].ParseToNullableInt(), is_change_price = row["is_change_price"].ParseToNullableString(), is_discounted = row["is_discounted"].ParseToNullableString(), 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"].ParseToNullableString(), out_product_id = row["out_product_id"].ParseToNullableString(), out_sku_id = row["out_sku_id"].ParseToNullableString(), out_warehouse_id = row["out_warehouse_id"].ParseToNullableString(), product_id = row["product_id"].ParseToNullableString(), real_price = row["real_price"].ParseToNullableInt(), refund_status = row["refund_status"].ParseToNullableInt(), return_address = row["return_address"].ParseToNullableString(), sale_price = row["sale_price"].ParseToNullableInt(), sku_attrs = row["sku_attrs"].ParseToNullableString(), sku_cnt = row["sku_cnt"].ParseToNullableInt(), sku_code = row["sku_code"].ParseToNullableString(), sku_deliver_info = row["sku_deliver_info"].ParseToNullableString(), sku_id = row["sku_id"].ParseToNullableString(), thumb_img = row["thumb_img"].ParseToNullableString(), title = row["title"].ParseToNullableString(), use_deduction = row["use_deduction"].ParseToNullableString(), }; 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 = "ConnKJD"; 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 refundItemList = new List(); 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"].ParseToNullableString(), 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"].ParseToNullableString(), sku_id = row["sku_id"].ParseToNullableString(), after_sale_order_id = row["after_sale_order_id"].ParseToNullableString(), complaint_id = row["complaint_id"].ParseToNullableString(), count = row["count"].ParseToNullableInt(), create_time = row["create_time"].ParseToNullableInt(), details = row["details"].ParseToNullableString(), fast_refund = row["fast_refund"].ParseToNullableString(), merchant_upload_info = row["merchant_upload_info"].ParseToNullableString(), openid = row["openid"].ParseToNullableString(), pull_status = row["pull_status"].ParseToNullableInt(), pull_time = row["pull_time"].ParseToNullableString().ParseToDateTime(), reason = row["reason"].ParseToNullableString(), reason_text = row["reason_text"].ParseToNullableString(), refund_amount = row["refund_amount"].ParseToNullableInt(), refund_reason = row["refund_reason"].ParseToNullableInt(), refund_resp = row["refund_resp"].ParseToNullableString(), return_delivery_id = row["return_delivery_id"].ParseToNullableString(), return_delivery_name = row["return_delivery_name"].ParseToNullableString(), return_waybill_id = row["return_waybill_id"].ParseToNullableString(), status = row["status"].ParseToNullableString(), type = row["type"].ParseToNullableString(), unionid = row["unionid"].ParseToNullableString(), update_time = row["update_time"].ParseToNullableInt(), warehouse_status = row["warehouse_status"].ParseToNullableInt(), return_city = row["return_city"].ParseToNullableString(), return_county = row["return_county"].ParseToNullableString(), return_detail = row["return_detail"].ParseToNullableString(), return_province = row["return_province"].ParseToNullableString(), return_tel = row["return_tel"].ParseToNullableString(), return_user_name = row["return_user_name"].ParseToNullableString(), }; 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\":\"输入为空\"}"; } /// /// 微信添加修改采购映射商品(含sku映射和) /// /// /// public string WXAddMdyBuyProdMap(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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 = "ConnKJD"; 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 paramLst = new List(); 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\":\"输入为空\"}"; } /// /// 微信获取采购映射商品 /// /// /// public string WXGetBuyPordMap(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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 = "ConnKJD"; 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 WXBuyMapInfoLst = new List(); foreach (DataRow row in dt.Rows) { WXBuyMapInfoLst.Add(new WXBuyMapInfo() { id = row["id"].ParseToInt(), user_name = row["user_name"].ParseToNullableString(), spu_code = row["spu_code"].ParseToNullableString(), sku_code = row["sku_code"].ParseToNullableString(), map_url = row["map_url"].ParseToNullableString(), map_goods_name = row["map_goods_name"].ParseToNullableString(), map_spec_name = row["map_spec_name"].ParseToNullableString(), map_goods_id = row["map_goods_id"].ParseToNullableString(), map_sku_id = row["map_sku_id"].ParseToNullableString(), map_send_address = row["map_send_address"].ParseToNullableString(), transit_warehouse_id = row["transit_warehouse_id"].ParseToNullableString(), 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\":\"输入为空\"}"; } /// /// 获取中转仓订单信息 /// /// /// public string WXGetTransitOrder(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var timeCalc = DateTime.Now; var count = -1; 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 pre_allocated_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "pre_allocated_order_no"))?.Replace("'", "\\'"); string transfer_warehouse_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "transfer_warehouse_status"))?.Replace("'", "\\'"); string not_count = RegexUtils.GetStringQuery(ref inputData, "not_count")?.Replace("'", "\\'"); string is_admin = RegexUtils.GetStringQuery(ref inputData, "is_admin")?.Replace("'", "\\'"); if (string.IsNullOrEmpty(order_no) && string.IsNullOrEmpty(out_order_no) && string.IsNullOrEmpty(order_sku_id) && is_admin != "true") return "{\"code\":500,\"msg\":\"中转订单查询信息不能为空\"}"; try { var oms_wei_external_procurement_log_list = GetTransitOrderTable(page, page_size, order_no, order_sku_id, out_order_no, pre_allocated_order_no, transfer_warehouse_status, not_count, out count); if (oms_wei_external_procurement_log_list != null) { 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 + "}"; } } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } /// /// 查询中转仓订单 /// public List GetTransitOrderTable( int page, int pageSize, string orderNo, string orderSkuId, string outOrderNo, string preAllocatedOrderNo, string transferWarehouseStatus, string not_count, out int count) { var timeCalc = DateTime.Now; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; count = -1; sql = "SELECT COUNT(*) FROM `erp`.`oms_wei_external_procurement_log` WHERE 1=1"; string where = ""; if (!string.IsNullOrEmpty(orderNo)) where += $" and order_no IN ('{orderNo.Replace(",", "','")}')"; if (!string.IsNullOrEmpty(orderSkuId)) where += $" and order_sku_id IN ('{orderSkuId.Replace(",", "','")}')"; if (!string.IsNullOrEmpty(outOrderNo)) where += $" and out_order_no IN ('{outOrderNo.Replace(",", "','")}')"; if (!string.IsNullOrEmpty(preAllocatedOrderNo)) where += $" and pre_allocated_order_no IN ({preAllocatedOrderNo})"; if (!string.IsNullOrEmpty(transferWarehouseStatus)) where += $" and transfer_warehouse_status IN ({transferWarehouseStatus})"; 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) * pageSize + "," + pageSize + ";"; dt = mySql.ExecuteDataTable(sql); } mySql.Close(); if (dt != null) { List oms_wei_external_procurement_log_list = new List(); 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"].ParseToNullableString(), order_no = row["order_no"].ParseToNullableString(), order_sku_id = row["order_sku_id"].ParseToNullableString(), out_amount = row["out_amount"].ParseToNullableInt(), out_order_no = row["out_order_no"].ParseToNullableString(), purchaser_note = row["purchaser_note"].ParseToNullableString(), created_time = row["created_time"].ParseToNullableString().ParseToDateTime(), express_1_company = row["express_1_company"].ParseToNullableString(), express_1_waybill = row["express_1_waybill"].ParseToNullableString(), express_2_company = row["express_2_company"].ParseToNullableString(), express_2_waybill = row["express_2_waybill"].ParseToNullableString(), order_code = row["order_code"].ParseToNullableString(), order_platform_code = row["order_platform_code"].ParseToNullableString(), pickup_time = row["pickup_time"].ParseToNullableString().ParseToDateTime(), platform = row["platform"].ParseToNullableString(), pre_allocated_order_no = row["pre_allocated_order_no"].ParseToNullableInt(), raw_message = row["raw_message"].ParseToNullableString(), refund_status = row["refund_status"].ParseToNullableString(), transfer_warehouse_status = row["transfer_warehouse_status"].ParseToNullableInt(), updated_time = row["updated_time"].ParseToNullableString().ParseToDateTime(), is_transfer_ship = row["is_transfer_ship"].ParseToNullableInt(), random_code = row["random_code"].ParseToNullableString(), transfer_refund_status = row["transfer_refund_status"].ParseToNullableInt(), order_void_status = row["order_void_status"].ParseToNullableInt(), warehouse_status = row["warehouse_status"].ParseToNullableInt(), inbound_time = row["inbound_time"].ParseToNullableString().ParseToDateTimeNullable(), outbound_time = row["outbound_time"].ParseToNullableString().ParseToDateTimeNullable(), has_reject = row["has_reject"].ParseToInt(), }); } return oms_wei_external_procurement_log_list; } else { throw new Exception(mySql.Message); } return null; } /// /// 修改中转仓订单信息(真实物流),临时补救 /// /// /// public string WXUpdateErpOrderExpress(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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("'", "\\'"); string refund_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "refund_status"))?.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\":\"物流单号不能为空\"}"; if (string.IsNullOrEmpty(express_1_company) && string.IsNullOrEmpty(express_1_waybill) && string.IsNullOrEmpty(refund_status)) return "{\"code\":500,\"msg\":\"修改信息不能为空\"}"; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; var count = -1; sql = " update `erp`.`oms_wei_external_procurement_log` set "; if (!string.IsNullOrEmpty(express_1_company)) sql += " express_1_company='" + express_1_company + "',"; if (!string.IsNullOrEmpty(express_1_waybill)) sql += " express_1_waybill='" + express_1_waybill + "',"; if (!string.IsNullOrEmpty(refund_status)) sql += " refund_status='" + refund_status + "',"; 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\":\"输入为空\"}"; } /// /// 修改中转仓订单信息(取号状态),临时补救 /// /// /// public string WXUpdateErpAllocatedOrderNo(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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 = "ConnKJD"; 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\":\"输入为空\"}"; } /// /// 删除中转仓订单 临时补救,慎用 /// /// /// public string WXDelErpTransitWarehouseOrder(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var timeCalc = DateTime.Now; string out_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_order_no"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(out_order_no)) return "{\"code\":500,\"msg\":\"订单外部ID信息不能为空\"}"; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; var count = -1; sql = " DELETE FROM `erp`.`oms_wei_external_procurement_log` WHERE out_order_no in ('" + out_order_no.Replace(",", "','") + "')"; count = mySql.ExecuteAffectedRows(sql); mySql.Close(); if (!string.IsNullOrEmpty(mySql.Message)) { return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"affected_rows\":" + count + "}"; } if (count == 0) { return "{\"code\":500,\"msg\":\"删除失败,订单不存在\",\"affected_rows\":" + count + "}"; } return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + count + "}"; } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } /// /// 修改订单软件备注 /// /// /// public string WXUpdateErpSoftRemark(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var timeCalc = DateTime.Now; string order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'"); string soft_remark = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "soft_remark"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(order_id)) return "{\"code\":500,\"msg\":\"订单ID不能为空\"}"; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; var count = -1; sql = " update erp.oms_wei_order set "; if (soft_remark != null) sql += " soft_remark='" + soft_remark + "',"; sql = sql.TrimEnd(','); sql += " where order_id = '" + order_id + "';"; 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\":\"输入为空\"}"; } public string WXUpdateErpColorFlag(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var timeCalc = DateTime.Now; string order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'"); string colour_flag = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "colour_flag"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(order_id)) return "{\"code\":500,\"msg\":\"订单ID不能为空\"}"; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; var count = -1; sql = " update erp.oms_wei_order set "; if (colour_flag != null) { sql += " colour_flag=" + colour_flag + ","; sql += " colour_flag_update_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',"; } sql = sql.TrimEnd(','); sql += " where order_id = '" + order_id + "';"; 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\":\"输入为空\"}"; } public string WXUpdateErpOutAfterSaleStatus(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var timeCalc = DateTime.Now; string order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(order_id)) return "{\"code\":500,\"msg\":\"订单ID不能为空\"}"; string out_after_sale_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_after_sale_status"))?.Replace("'", "\\'"); if (out_after_sale_status == null) return "{\"code\":500,\"msg\":\"售后状态不能为NULL\"}"; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; var count = -1; sql = " update erp.oms_wei_order set "; if (out_after_sale_status != null) { if (out_after_sale_status == "" || out_after_sale_status == "NULL") sql += " out_after_sale_status=NULL,"; else sql += " out_after_sale_status='" + out_after_sale_status + "',"; } sql = sql.TrimEnd(','); sql += " where order_id = '" + order_id + "';"; 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\":\"输入为空\"}"; } public string WXAddMdyBuyerOrder(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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 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 = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; var count = -1; sql = "select id from wxxd.order_pdd_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_pdd_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_pdd_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)"; 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);"; } else { sql = "UPDATE wxxd.order_pdd_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,"; 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, }); //sql = " update `wxxd`.`order_pdd_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 WXGetBuyerOrderList(string inputData, bool isDetail = false) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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 = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = "SELECT COUNT(id) FROM wxxd.order_pdd_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_pdd_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_pdd_buyer_order order = new 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); } 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) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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 orderSn = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "orderSn"))?.Replace("'", "\\'"); string afterSalesId = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "afterSalesId"))?.Replace("'", "\\'"); string orderAmount = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "orderAmount"))?.Replace("'", "\\'"); string orderDate = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "orderDate"))?.Replace("'", "\\'"); string order_detail = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_detail"))?.Replace("'", "\\'"); string refundAmount = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "refundAmount"))?.Replace("'", "\\'"); string statusText = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "statusText"))?.Replace("'", "\\'"); string afterSaleAddress = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "afterSaleAddress"))?.Replace("'", "\\'"); string is_mdy = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "is_mdy"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(wx_order_id) || string.IsNullOrEmpty(orderSn) || string.IsNullOrEmpty(afterSalesId)) return "{\"code\":500,\"msg\":\"订单ID不能为空\"}"; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; var count = -1; sql = "select id from wxxd.order_pdd_buyer_after_sale where afterSalesId='" + afterSalesId + "'"; var id = mySql.ExecuteFirstInt(sql); if (!string.IsNullOrEmpty(mySql.Message)) { mySql.Close(); return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; } if (id == 0 && is_mdy != "true") { sql = "INSERT INTO wxxd.order_pdd_buyer_after_sale (wx_order_id,wx_sku_id,wx_send_type,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,orderSn,afterSalesId,orderAmount,orderDate," + "refundAmount,statusText,afterSaleAddress,order_detail)"; sql += "VALUES(@wx_order_id,@wx_sku_id,@wx_send_type,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@orderSn,@afterSalesId,@orderAmount,@orderDate," + "@refundAmount,@statusText,@afterSaleAddress,@order_detail);"; } else { sql = "UPDATE wxxd.order_pdd_buyer_after_sale 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(orderSn)) sql += " orderSn=@orderSn,"; if (!string.IsNullOrEmpty(orderAmount)) sql += " orderAmount=@orderAmount,"; if (!string.IsNullOrEmpty(refundAmount)) sql += " refundAmount=@refundAmount,"; if (!string.IsNullOrEmpty(statusText)) sql += " statusText=@statusText,"; if (!string.IsNullOrEmpty(orderDate)) sql += " orderDate=@orderDate,"; if (!string.IsNullOrEmpty(afterSaleAddress)) sql += " afterSaleAddress=@afterSaleAddress,"; if (!string.IsNullOrEmpty(order_detail)) sql += " order_detail=@order_detail,"; sql = sql.TrimEnd(','); sql += " where afterSalesId=@afterSalesId"; } 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 = "statusText", Value = statusText, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "orderSn", Value = orderSn, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "afterSalesId", Value = afterSalesId, }); paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "refundAmount", Value = refundAmount.ParseToNullableInt(), }); paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "orderAmount", Value = orderAmount.ParseToNullableInt(), }); paramLst.Add(new MySqlParameter() { DbType = DbType.Int64, ParameterName = "orderDate", Value = orderDate.ParseToLong(), }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "afterSaleAddress", Value = afterSaleAddress, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "order_detail", Value = order_detail, }); 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 WXGetBuyerAfterSaleList(string inputData, bool isDetail = false) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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 = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = "SELECT COUNT(id) FROM wxxd.order_pdd_buyer_after_sale 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_pdd_buyer_after_sale 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 buyerAfterSaleLst = new List(); foreach (DataRow row in dt.Rows) { order_pdd_buyer_after_sale afterSale = new order_pdd_buyer_after_sale { id = row["id"].ParseToLong(), add_time = row["add_time"].ParseToString().ParseToDateTime(), afterSalesId = row["afterSalesId"].ParseToString(), buyerId = row["buyerId"].ParseToString(), buyerName = row["buyerName"].ParseToString(), mdy_time = row["mdy_time"].ParseToString().ParseToDateTime(), orderAmount = row["orderAmount"].ParseToNullableInt(), order_detail = row["order_detail"].ParseToString(), orderSn = row["orderSn"].ParseToString(), orderDate = row["orderDate"].ParseToNullableInt(), refundAmount = row["refundAmount"].ParseToNullableInt(), statusText = row["statusText"].ParseToString(), afterSaleAddress = row["afterSaleAddress"].ParseToString(), pre_allocated_order_no = row["pre_allocated_order_no"].ParseToNullableInt(), 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(), }; buyerAfterSaleLst.Add(afterSale); } JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; var data = JsonUtils.SerializeObjectToString(buyerAfterSaleLst, 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 WXGetTransitWarehouseAfterSaleList(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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(1000); string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = "SELECT COUNT(id) FROM erp.oms_wei_external_procurement_after_sale o WHERE 1=1 "; string where = ""; if (!string.IsNullOrWhiteSpace(wx_order_id_in)) where += " and o.order_no in ('" + wx_order_id_in.Replace(",", "','") + "')"; if (!string.IsNullOrWhiteSpace(buyer_order_sn_in)) where += " and o.order_code 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" + " erp.oms_wei_external_procurement_after_sale 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 refundItemList = new List(); foreach (DataRow row in dt.Rows) { oms_wei_external_procurement_after_sale_info order = new oms_wei_external_procurement_after_sale_info { id = row["id"].ParseToLong(), order_no = row["order_no"].ParseToString(), order_code = row["order_code"].ParseToString(), inbound_time = row["inbound_time"].ParseToString().ParseToDateTimeNullable(), outbound_time = row["outbound_time"].ParseToString().ParseToDateTimeNullable(), account_user = row["account_user"].ParseToString(), after_sale_no = row["after_sale_no"].ParseToString(), created_time = row["created_time"].ParseToString().ParseToDateTimeNullable(), create_user = row["create_user"].ParseToString(), downstream_express_code = row["downstream_express_code"].ParseToString(), downstream_waybill = row["downstream_waybill"].ParseToString(), external_order_no = row["external_order_no"].ParseToString(), raw_message = row["raw_message"].ParseToString(), recipient_name = row["recipient_name"].ParseToString(), recipient_phone = row["recipient_phone"].ParseToString(), refund_city = row["refund_city"].ParseToString(), refund_county = row["refund_county"].ParseToString(), refund_detail_address = row["refund_detail_address"].ParseToString(), refund_province = row["refund_province"].ParseToString(), refund_waybill = row["refund_waybill"].ParseToString(), return_express_company = row["return_express_company"].ParseToString(), return_or_exchange = row["return_or_exchange"].ParseToNullableInt(), status = row["status"].ParseToNullableInt(), updated_time = row["updated_time"].ParseToString().ParseToDateTimeNullable(), update_user = row["update_user"].ParseToString(), 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\":\"输入为空\"}"; } /// /// 订单异常重拍 /// /// /// public string WXUpdateAbnormalTransitOrder(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var out_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_order_no"))?.Replace("'", "\\'"); var order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_no"))?.Replace("'", "\\'"); var order_sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_sku_id"))?.Replace("'", "\\'"); var buyer_account = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "buyer_account"))?.Replace("'", "\\'"); var out_amount = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_amount"))?.Replace("'", "\\'"); var purchaser_note = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "purchaser_note"))?.Replace("'", "\\'"); var refund_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "refund_status"))?.Replace("'", "\\'"); var old_out_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "old_out_order_no"))?.Replace("'", "\\'"); var old_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "old_order_no"))?.Replace("'", "\\'"); var old_order_sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "old_order_sku_id"))?.Replace("'", "\\'"); var old_buyer_account = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "old_buyer_account"))?.Replace("'", "\\'"); var old_out_amount = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "old_out_amount"))?.Replace("'", "\\'"); var old_purchaser_note = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "old_purchaser_note"))?.Replace("'", "\\'"); var old_refund_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "old_refund_status"))?.Replace("'", "\\'"); var order_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_code"))?.Replace("'", "\\'"); if (order_code.IsNullOrEmpty() || old_purchaser_note.IsNullOrEmpty() || old_out_amount.ParseToInt().IsNullOrZero() || old_buyer_account.IsNullOrEmpty() || old_order_no.IsNullOrEmpty() || old_out_order_no.IsNullOrEmpty() || purchaser_note.IsNullOrEmpty() || out_amount.ParseToInt().IsNullOrZero() || buyer_account.IsNullOrEmpty() || order_no.IsNullOrEmpty() || out_order_no.IsNullOrEmpty()) { return "{\"code\":500,\"msg\":\"异常单记录信息不完整\",\"affected_rows\":" + 0 + "}"; } string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn, true); string sql; sql = "INSERT INTO wxxd.order_abnormal_transit_order_rebuy_record (out_order_no,order_no,order_sku_id,buyer_account,out_amount,purchaser_note,refund_status,order_code) "; sql += " VALUES('" + old_out_order_no + "','" + old_order_no + "','" + old_order_sku_id + "','" + old_buyer_account + "'," + old_out_amount + ",'" + old_purchaser_note + "','" + old_refund_status + "','" + order_code + "')"; var rows = mySql.ExecuteAffectedRows(sql); if (!mySql.Message.IsNullOrEmpty()) { mySql.RollBack(); mySql.Close(); return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"affected_rows\":" + rows + "}"; } if (rows == 0) { mySql.RollBack(); mySql.Close(); return "{\"code\":500,\"msg\":\"创建异常单重拍记录失败\",\"affected_rows\":" + rows + "}"; } sql = "UPDATE erp.oms_wei_external_procurement_log SET "; sql += " out_order_no='" + out_order_no + "',"; sql += " order_no='" + order_no + "',"; sql += " order_sku_id='" + order_sku_id + "',"; sql += " buyer_account='" + buyer_account + "',"; sql += " out_amount=" + out_amount + ","; sql += " purchaser_note='" + purchaser_note + "',"; sql += " refund_status='" + refund_status + "',"; sql = sql.TrimEnd(','); sql += " WHERE order_code='" + order_code + "' AND order_no='" + old_order_no + "';"; rows = mySql.ExecuteAffectedRows(sql); if (!mySql.Message.IsNullOrEmpty()) { mySql.RollBack(); mySql.Close(); return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"affected_rows\":" + rows + "}"; } if (rows == 0) { mySql.RollBack(); mySql.Close(); return "{\"code\":500,\"msg\":\"更新异常单拍单失败\",\"affected_rows\":" + rows + "}"; } mySql.Commit(); mySql.Close(); return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rows + "}"; } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } /// /// 订单拒收状态维护 /// /// /// public string WXUpdateTransitOrderRejectStatus(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_no"))?.Replace("'", "\\'"); var order_sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_sku_id"))?.Replace("'", "\\'"); var order_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_code"))?.Replace("'", "\\'"); var has_reject = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "has_reject"))?.Replace("'", "\\'"); if (order_code.IsNullOrEmpty() && (order_no.IsNullOrEmpty() || order_sku_id.IsNullOrEmpty())) { return "{\"code\":500,\"msg\":\"拒收信息不完整\",\"affected_rows\":" + 0 + "}"; } string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn, true); string sql; sql = "UPDATE erp.oms_wei_external_procurement_log SET "; sql += " has_reject=" + has_reject + ","; sql = sql.TrimEnd(','); if (!order_code.IsNullOrEmpty()) sql += " WHERE order_code='" + order_code + "' AND order_no='" + order_code + "';"; else sql += " WHERE order_no='" + order_no + "' AND order_sku_id='" + order_sku_id + "';"; var rows = mySql.ExecuteAffectedRows(sql); if (!mySql.Message.IsNullOrEmpty()) { mySql.RollBack(); mySql.Close(); return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"affected_rows\":" + rows + "}"; } if (rows == 0) { mySql.RollBack(); mySql.Close(); return "{\"code\":500,\"msg\":\"更新拒收状态失败,未找到记录\",\"affected_rows\":" + rows + "}"; } mySql.Commit(); mySql.Close(); return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rows + "}"; } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } public string WXAddOrderItemExtInfo(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var timeCalc = DateTime.Now; string order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_order_id"))?.Replace("'", "\\'"); string sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_sku_id"))?.Replace("'", "\\'"); string out_order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_order_id"))?.Replace("'", "\\'"); string shop_app_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_app_id"))?.Replace("'", "\\'"); string shop_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_name"))?.Replace("'", "\\'"); string buy_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "buy_type"))?.Replace("'", "\\'"); string abnormal_text = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "abnormal_text"))?.Replace("'", "\\'"); string flag = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "flag"))?.Replace("'", "\\'"); string label = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "label"))?.Replace("'", "\\'"); string remark = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "remark"))?.Replace("'", "\\'"); string after_sale_user_delivery_address = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "after_sale_user_delivery_address"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(order_id) || string.IsNullOrEmpty(sku_id)) return "{\"code\":500,\"msg\":\"订单ID不能为空\"}"; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; var count = -1; sql = "select id from wxxd.order_item_ext where order_id='" + order_id + "' and sku_id='" + sku_id + "'"; var id = mySql.ExecuteFirstInt(sql); if (!string.IsNullOrEmpty(mySql.Message)) { mySql.Close(); return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; } if (id > 0) { mySql.Close(); return "{\"code\":500,\"msg\":\"订单已存在\"}"; } sql = "INSERT INTO wxxd.order_item_ext (order_id,sku_id,out_order_id,shop_app_id,shop_name,buy_type,abnormal_text,flag,label,remark,after_sale_user_delivery_address)"; sql += "VALUES(@order_id,@sku_id,@out_order_id,@shop_app_id,@shop_name,@buy_type,@abnormal_text,@flag,@label,@remark,@after_sale_user_delivery_address);"; List paramLst = new List(); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "order_id", Value = order_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "sku_id", Value = sku_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "out_order_id", Value = out_order_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_app_id", Value = shop_app_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_name", Value = shop_name, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "buy_type", Value = buy_type, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "abnormal_text", Value = abnormal_text, }); paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "flag", Value = flag, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "label", Value = label, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "remark", Value = remark, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "after_sale_user_delivery_address", Value = after_sale_user_delivery_address, }); 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 WXMdyOrderItemExtInfo(string inputData) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; var timeCalc = DateTime.Now; string order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_order_id"))?.Replace("'", "\\'"); string sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_sku_id"))?.Replace("'", "\\'"); string out_order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_order_id"))?.Replace("'", "\\'"); string shop_app_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_app_id"))?.Replace("'", "\\'"); string shop_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_name"))?.Replace("'", "\\'"); string buy_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "buy_type"))?.Replace("'", "\\'"); string abnormal_text = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "abnormal_text"))?.Replace("'", "\\'"); string flag = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "flag"))?.Replace("'", "\\'"); string label = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "label"))?.Replace("'", "\\'"); string remark = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "remark"))?.Replace("'", "\\'"); string after_sale_user_delivery_address = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "after_sale_user_delivery_address"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(order_id)) return "{\"code\":500,\"msg\":\"订单ID不能为空\"}"; string conn = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = "UPDATE wxxd.order_item_ext SET "; if (!string.IsNullOrEmpty(shop_app_id)) sql += " shop_app_id=@shop_app_id,"; if (!string.IsNullOrEmpty(out_order_id)) sql += " out_order_id=@out_order_id,"; if (!string.IsNullOrEmpty(shop_name)) sql += " shop_name=@shop_name,"; if (buy_type != null) sql += " buy_type=@buy_type,"; if (abnormal_text != null) sql += " abnormal_text=@abnormal_text,"; if (!string.IsNullOrEmpty(flag)) sql += " flag=@flag,"; if (label != null) sql += " label=@label,"; if (remark != null) sql += " remark=@remark,"; if (!string.IsNullOrEmpty(after_sale_user_delivery_address)) sql += " after_sale_user_delivery_address=@after_sale_user_delivery_address,"; sql = sql.TrimEnd(','); sql += " where 1=1"; if (!string.IsNullOrEmpty(order_id)) sql += " and order_id=@order_id"; if (!string.IsNullOrEmpty(sku_id)) sql += " and sku_id=@sku_id"; List paramLst = new List(); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "order_id", Value = order_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "sku_id", Value = sku_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "out_order_id", Value = out_order_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_app_id", Value = shop_app_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_name", Value = shop_name, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "buy_type", Value = buy_type, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "abnormal_text", Value = abnormal_text, }); paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "flag", Value = flag, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "label", Value = label, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "remark", Value = remark, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "after_sale_user_delivery_address", Value = after_sale_user_delivery_address, }); var 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 WXGetOrderItemExtInfoList(string inputData, bool isDetail = false) { if (!string.IsNullOrEmpty(inputData)) { if (!WXUserService.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 wx_sku_id = RegexUtils.GetStringQuery(ref inputData, "wx_sku_id_in")?.Replace("'", "\\'"); var out_order_id_in = RegexUtils.GetStringQuery(ref inputData, "out_order_id_in")?.Replace("'", "\\'"); if (wx_order_id_in.IsNullOrEmpty() && out_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 = "ConnKJD"; MysqlUtils mySql = new MysqlUtils(conn); string sql = "SELECT COUNT(id) FROM wxxd.order_item_ext o WHERE 1=1 "; string where = ""; if (!string.IsNullOrWhiteSpace(wx_order_id_in)) where += " and o.order_id in ('" + wx_order_id_in.Replace(",", "','") + "')"; if (!string.IsNullOrWhiteSpace(wx_sku_id)) where += " and o.sku_id in ('" + wx_sku_id.Replace(",", "','") + "')"; if (!string.IsNullOrWhiteSpace(out_order_id_in)) where += " and o.out_order_id in ('" + out_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" + " wxxd.order_item_ext 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_item_ext order = new order_item_ext { id = row["id"].ParseToLong(), add_time = row["add_time"].ParseToString().ParseToDateTime(), buy_type = row["buy_type"].ParseToString(), abnormal_text = row["abnormal_text"].ParseToString(), after_sale_user_delivery_address = row["after_sale_user_delivery_address"].ParseToString(), flag = row["flag"].ParseToNullableInt(), mdy_time = row["mdy_time"].ParseToString().ParseToDateTime(), label = row["label"].ParseToString(), order_id = row["order_id"].ParseToString(), remark = row["remark"].ParseToString(), shop_app_id = row["shop_app_id"].ParseToString(), shop_name = row["shop_name"].ParseToString(), sku_id = row["sku_id"].ParseToString(), out_order_id = row["out_order_id"].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\":\"输入为空\"}"; } } }