修复店铺过多时客服无法正确读取店铺问题

This commit is contained in:
wule committed 2026-10-20 17:22:19 +08:00
1 parent def6c87d2c
commit 2373b94444
2 files changed
+31 -46

No files matched your search

+1 -1
View File
@@ -319,7 +319,7 @@ namespace TemuKJD
{
Thread.Sleep(500);
}
if (BaseClass.UserAuthority.Contains("充值用户"))
if (BaseClass.UserAuthority.Contains("充值用户") && this.Created)
{
Invoke(new Action(() =>
{
+30 -45
View File
@@ -544,37 +544,10 @@ namespace TemuKJD.WXForms.AiTalkForms
Thread.Sleep(500);
}
int pageSize = 5000;
for (int i = 1; i <= 100; i++)
{
var shopIds = string.Join(",", GlobalConfig.ShopLoginList.Select(s => s.ShopId));
url = AiTalkUrl + "/api/stores?page=" + i + "&pageSize=" + pageSize + "&keyword=" + shopIds;
refer = AiTalkUrl + "/api/stores";
var adminCookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null));
rst = HttpResponseWxAiTalkBLL.GetResponse(new ShopLoginInfo() { Cookies = JsonHelper.SerializeObject(adminCookies) }, url, refer);
if (rst.Contains("\"stores\":["))
{
List<ShopAiTalkInfo> aiTalkInfoLst = JsonHelper.DeserializeJsonToList<ShopAiTalkInfo>(JsonHelper.JObjectParse(rst)["stores"].ParseToString());
foreach (var shop in GlobalConfig.ShopLoginList)
{
shop.shopAiTalkInfo = aiTalkInfoLst.FirstOrDefault(s => s.id == shop.ShopId);
}
if (aiTalkInfoLst.Count < pageSize)
break;
}
else
{
BaseMsgForm.ShowError("AI客服账户登录失败,请稍候重试!");
return;
}
}
// 刷新Ai客服店铺状态
refreshAiStatus(GlobalConfig.ShopLoginList.Select(s => s.ShopId).ToList(), true);
Thread.Sleep(1000);
foreach (var shop in GlobalConfig.ShopLoginList)
{
BindAiTalkStatus(shop);
}
Thread.Sleep(1000);
Invoke(new Action(() => {
pnlCover.Visible = false;
@@ -1393,23 +1366,35 @@ namespace TemuKJD.WXForms.AiTalkForms
});
}
void refreshAiStatus(List<string> shopIds)
void refreshAiStatus(List<string> shopIds, bool showLoginErr = false)
{
var url = AiTalkUrl + "/api/stores?page=1&pageSize=5000&keyword=" + string.Join(",", shopIds);
var refer = AiTalkUrl + "/api/stores";
var adminCookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null));
var rst = HttpResponseWxAiTalkBLL.GetResponse(new ShopLoginInfo() { Cookies = JsonHelper.SerializeObject(adminCookies) }, url, refer);
while (shopIds.Count > 0)
{
var tmpShopIds = shopIds.Take(300).ToList();
shopIds.RemoveAll(id => tmpShopIds.Contains(id));
if (rst.Contains("\"stores\":["))
{
List<ShopAiTalkInfo> aiTalkInfoLst = JsonHelper.DeserializeJsonToList<ShopAiTalkInfo>(JsonHelper.JObjectParse(rst)["stores"].ParseToString());
foreach (var shopId in shopIds)
{
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
if (shop != null)
shop.shopAiTalkInfo = aiTalkInfoLst.FirstOrDefault(ai => ai.id == shop.ShopId);
}
}
// http://14.103.99.254/api/stores?page=1&pageSize=5000&keyword=
var url = AiTalkUrl + "/api/stores?page=1&pageSize=1000&keyword=" + string.Join(",", tmpShopIds);
var refer = AiTalkUrl + "/api/stores";
var adminCookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null));
var rst = HttpResponseWxAiTalkBLL.GetResponse(new ShopLoginInfo() { Cookies = JsonHelper.SerializeObject(adminCookies) }, url, refer);
if (rst.Contains("\"stores\":["))
{
List<ShopAiTalkInfo> aiTalkInfoLst = JsonHelper.DeserializeJsonToList<ShopAiTalkInfo>(JsonHelper.JObjectParse(rst)["stores"].ParseToString());
foreach (var shopId in tmpShopIds)
{
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
if (shop != null)
shop.shopAiTalkInfo = aiTalkInfoLst.FirstOrDefault(ai => ai.id == shop.ShopId);
}
}
else if (showLoginErr)
{
BaseMsgForm.ShowError("AI客服账户登录失败,请稍候重试!");
return;
}
}
foreach (var shop in GlobalConfig.ShopLoginList)
{