买手商品所有sku关联功能

This commit is contained in:
wule committed 2026-09-03 11:27:33 +08:00
1 parent be894efae3
commit e4a38ce1f7
3 files changed
+231 -2

No files matched your search

+188 -1
View File
@@ -451,6 +451,194 @@ namespace KJD_Web.BLL.WXXD
}
public string WXAddMdyBuyProdMapSkus(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 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_goods_id = RegexUtils.GetStringQuery(ref inputData, "map_goods_id")?.Replace("'", "\\'");
string map_skus = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "map_skus"))?.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))
return "{\"code\":500,\"msg\":\"缺少系统商品编号\"}";
if (string.IsNullOrEmpty(user_name))
return "{\"code\":500,\"msg\":\"缺少用户名\"}";
if (string.IsNullOrEmpty(map_url) && string.IsNullOrEmpty(map_goods_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_skus` where user_name='" + user_name + "' AND spu_code='" + spu_code + "' AND map_goods_id='" + map_goods_id + "'";
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_skus` (user_name,spu_code,map_url,map_goods_name,map_goods_id,map_skus,map_send_address,transit_warehouse_id)" +
" VALUES (@user_name,@spu_code,@map_url,@map_goods_name,@map_goods_id,@map_skus,@map_send_address,@transit_warehouse_id);";
}
else
{
sql = "UPDATE `bxx`.`product_buy_map_skus` SET ";
if (map_url != null)
sql += " map_url=@map_url,";
if (map_goods_name != null)
sql += " map_goods_name=@map_goods_name,";
if (map_skus != null)
sql += " map_skus=@map_skus,";
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;";
}
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 = "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_goods_id", Value = map_goods_id, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "map_skus", Value = map_skus, });
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, });
var rows = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
mySql.Close();
if (string.IsNullOrEmpty(mySql.Message))
{
if (rows > 0)
return "{\"code\":200,\"msg\":\"success\"}";
else
return "{\"code\":200,\"msg\":\"数据操作失败,请重试\"}";
}
else
{
return "{\"code\":50003,\"msg\":\"" + mySql.Message + "\"}";
}
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
/// <summary>
/// 微信获取采购映射商品
/// </summary>
/// <param name="inputData"></param>
/// <returns></returns>
public string WXGetBuyPordMapSkus(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 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_skus` WHERE 1=1";
string where = "";
if (spu_codes != null)
where += " and spu_code IN ('" + spu_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_skus` WHERE 1=1";
//sql += where;
//sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";";
//dt = mySql.ExecuteDataTable(sql);
sql = @"
SELECT *
FROM(
SELECT t.*,ROW_NUMBER() OVER (PARTITION BY spu_code ORDER BY mdy_time DESC) AS rn
FROM `bxx`.`product_buy_map_skus` t
) AS ranked
WHERE rn <= 5" + where;
dt = mySql.ExecuteDataTable(sql);
}
mySql.Close();
if (dt != null)
{
try
{
List<WXBuyMapSkusInfo> WXBuyMapInfoLst = new List<WXBuyMapSkusInfo>();
foreach (DataRow row in dt.Rows)
{
WXBuyMapInfoLst.Add(new WXBuyMapSkusInfo()
{
id = row["id"].ParseToInt(),
user_name = row["user_name"].ParseToNullableString(),
spu_code = row["spu_code"].ParseToNullableString(),
map_url = row["map_url"].ParseToNullableString(),
map_goods_name = row["map_goods_name"].ParseToNullableString(),
map_goods_id = row["map_goods_id"].ParseToNullableString(),
map_skus = row["map_skus"].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\":\"输入为空\"}";
}
/// <summary>
@@ -476,7 +664,6 @@ namespace KJD_Web.BLL.WXXD
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("'", "\\'");
string map_skus = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "map_skus"))?.Replace("'", "\\'");
if (string.IsNullOrEmpty(spu_code) || string.IsNullOrEmpty(sku_code))
return "{\"code\":500,\"msg\":\"缺少系统商品或SKU编号\"}";
@@ -37,4 +37,23 @@ namespace KJD_Web.Model.WxModel
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
}
public class WXBuyMapSkusInfo
{
public long id { get; set; }
public string user_name { get; set; }
public string spu_code { get; set; }
public string map_url { get; set; }
public string map_goods_name { get; set; }
public string map_goods_id { get; set; }
public string map_skus { get; set; }
/// <summary>
/// 发货地(省,市)
/// </summary>
public string map_send_address { get; set; }
public string transit_warehouse_id { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
}
}
+24 -1
View File
@@ -319,8 +319,30 @@ namespace KJD_Web
Context.Response.End();
}
[WebMethod]
public void wx_add_mdy_buy_prod_map_skus()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXOrderManage().WXAddMdyBuyProdMapSkus(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void wx_get_buy_pord_map_skus()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXOrderManage().WXGetBuyPordMapSkus(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void wx_add_mdy_buy_prod_map()
{
string jsontext = GetRequestJsonString();
@@ -331,6 +353,7 @@ namespace KJD_Web
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void wx_get_buy_prod_map()
{