Files
KJD_WebService/TEMUKJD/BLL/ShopBLL.cs
T
2025-12-26 09:53:29 +08:00

277 lines
13 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using AllBase;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TemuKJD.BaseForms;
using Work;
namespace TemuKJD.BLL
{
public class ShopBLL
{
public static string AddServerShop(ShopLoginInfo _shop)
{
var url = BaseClass.BuildObjString("shop/add_shop");
var data = UserLogin.GetSignaturex()
+ "&login_name=" + _shop.LoginName
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
+ "&shop_id=" + _shop.ShopId
+ "&shop_account=" + _shop.ShopAccount
+ "&cookie=" + _shop.Cookies
+ "&cookie2=" + _shop.Cookies2
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
+ "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName)
+ "&notes=" + GetHtml.UrlEncodeUtf8(_shop.Notes)
+ "&login_status=" + _shop.LoginStatus
+ "&anti_contents=" + JsonHelper.SerializeObject(_shop.AntiContents);
var result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref result, "msg");
if (string.IsNullOrEmpty(msg))
msg = "店铺保存失败!";
BaseMsgForm.ShowError(msg);
}
return result;
}
/// <summary>
/// 更新店铺子账号和分组备注信息
/// </summary>
/// <param name="_shop"></param>
/// <returns></returns>
public static string MdyServerShopSubInfo(ShopLoginInfo _shop, bool isEditSingleShopNotes = false)
{
var url = BaseClass.BuildObjString("shop/mdy_shop");
var data = UserLogin.GetSignaturex();
if (isEditSingleShopNotes)
{
data += "&login_name=" + _shop.LoginName;
data += "&shop_id=" + _shop.ShopId;
data += "&notes=" + GetHtml.UrlEncodeUtf8(_shop.Notes);
}
else
{
data += "&login_name=" + _shop.LoginName;
data += "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password);
data += "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName);
data += "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName);
}
var result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref result, "msg");
if (string.IsNullOrEmpty(msg))
msg = "店铺保存失败!";
BaseMsgForm.ShowError(msg);
}
return result;
}
public static string MdyAntiContent(ShopLoginInfo shop)
{
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
var data = UserLogin.GetSignaturex()
+ "&login_name=" + shop.LoginName
+ "&shop_id=" + shop.ShopId
+ "&anti_contents=[]"; //+ JsonHelper.SerializeObject(shop.AntiContents);
var result = GetHtml.PostUtf8(urlAddress, data);
NaiBa.Util.Helper.ConfigHelper.SaveConfig("verifi_code\\" + shop.ShopId, JsonHelper.SerializeObject(shop.AntiContents));
return result;
}
public static List<ShopLoginInfo> AdminGetServerShopLstByIds(List<string> shop_ids)
{
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
shop_ids = shop_ids.Where(s => !string.IsNullOrEmpty(s)).ToList();
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
var data = UserLogin.GetSignaturex() +
"&shop_ids='" + string.Join("','", shop_ids) + "'";
data += "&page_size=200";
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html)
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
{
return new List<ShopLoginInfo>();
}
return ShopBLL.DeserializationShop(html);
}
public static string AdminGetServerShopLstForSetCookie(ShopLoginInfo loginShop, List<ShopLoginInfo> lstRst)
{
if (lstRst == null)
lstRst = new List<ShopLoginInfo>();
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
var data = UserLogin.GetSignaturex() +
"&search_user_name=" + loginShop.UserName +
"&search_login_name=" + loginShop.LoginName;
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html)
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
{
return "获取失败:" + BaseRegex.GetStringJson(ref html, "msg");
}
lstRst.AddRange(ShopBLL.DeserializationShop(html));
return "success";
}
public static string AdminAddServerShop(ShopLoginInfo _shop)
{
var url = BaseClass.BuildObjString("shop/admin_add_shop");
var data = UserLogin.GetSignaturex()
+ "&login_name=" + _shop.LoginName
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
+ "&shop_id=" + _shop.ShopId
+ "&shop_account=" + _shop.ShopAccount
+ "&cookie=" + _shop.Cookies
+ "&cookie2=" + _shop.Cookies2
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
+ "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName)
+ "&notes=" + GetHtml.UrlEncodeUtf8(_shop.Notes)
+ "&login_status=" + _shop.LoginStatus
+ "&shop_user_name=" + _shop.UserName;
var result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref result, "msg");
if (string.IsNullOrEmpty(msg))
msg = "店铺保存失败!";
BaseMsgForm.ShowError(msg);
}
return result;
}
public static string AdminMdyServerShop(ShopLoginInfo _shop, bool isEditSingleShopNotes = false)
{
var url = BaseClass.BuildObjString("shop/admin_mdy_shop");
var data = UserLogin.GetSignaturex();
if (isEditSingleShopNotes)
{
data += "&shop_user_name=" + _shop.UserName;
data += "&login_name=" + _shop.LoginName;
data += "&shop_id=" + _shop.ShopId;
data += "&notes=" + GetHtml.UrlEncodeUtf8(_shop.Notes);
}
else
{
data += "&shop_user_name=" + _shop.UserName;
data += "&login_name=" + _shop.LoginName;
data += "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password);
data += "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName);
data += "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName);
}
var result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref result, "msg");
if (string.IsNullOrEmpty(msg))
msg = "店铺保存失败!";
BaseMsgForm.ShowError(msg);
}
return result;
}
public static bool AdminDelServerShop(ShopLoginInfo _shop)
{
var url = BaseClass.BuildObjString("shop/admin_del_shop");
var data = UserLogin.GetSignaturex() + "&login_name=" + _shop.LoginName
+ "&shop_user_name=" + _shop.UserName;
var result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200"))
{
BaseMsgForm.ShowError("删除失败:" + BaseRegex.GetStringJson(ref result, "msg"));
return false;
}
return true;
}
public static List<ShopLoginInfo> DeserializationShop(string shopJson)
{
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
if (!shopJson.Contains("data"))
return list;
var jArr = JObject.Parse(shopJson)["data"];
if (jArr.Count() == 0)
return list;
foreach (JObject jObj in jArr)
{
string shopStr = jObj.ToString();
ShopLoginInfo shop = new ShopLoginInfo();
shop.DbId = BaseRegex.GetStringJson(ref shopStr, "id");
if (shop.DbId == null)
continue;
shop.LoginName = BaseRegex.GetStringJson(ref shopStr, "login_name");
shop.Password = BaseRegex.GetStringJson(ref shopStr, "login_pass");
shop.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id");
shop.ShopAccount = BaseRegex.GetStringJson(ref shopStr, "shop_account");
shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name");
shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name");
shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group");
shop.Cookies = jObj["cookie"].ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\"");
shop.Cookies2 = jObj["cookie2"].ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\"");
shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name");
shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes");
shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status");
shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2");
shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name");
shop.AddProductRemaining = BaseRegex.GetIntJson(ref shopStr, "add_product_remaining");
shop.ad_cookie = BaseRegex.GetStringJson(ref shopStr, "ad_cookie").ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\"");
shop.ad_login_status = BaseRegex.GetStringJson(ref shopStr, "ad_login_status");
shop.ad_seller_unique_id = BaseRegex.GetStringJson(ref shopStr, "ad_seller_unique_id");
shop.ad_url = BaseRegex.GetStringJson(ref shopStr, "ad_url");
shop.pddid = BaseRegex.GetStringJson(ref shopStr, "pddid");
shop.jit_expire_time = BaseRegex.GetStringJson(ref shopStr, "jit_expire_time") == null ? new DateTime?() : Convert.ToDateTime(BaseRegex.GetStringJson(ref shopStr, "jit_expire_time"));
if (BaseClass.MainPath == "binxixi")
{
shop.AntiContents.Clear();
//shop.AntiContents.AddRange(JsonHelper.DeserializeJsonToList<string>(jObj["anti_contents"].IsNullOrEmpty() ? "[]" : jObj["anti_contents"].ToString()));
shop.AntiContents = NaiBa.Util.Helper.ConfigHelper.LoadConfig<NaiBa.Util.ConcurrentList<string>>("verifi_code\\" + shop.ShopId);
if (shop.AntiContents == null)
shop.AntiContents = new NaiBa.Util.ConcurrentList<string>();
}
list.Add(shop);
}
return list;
}
}
}