修复店铺过多时客服无法正确读取店铺问题
This commit is contained in:
1 parent
def6c87d2c
commit
2373b94444
2 files changed
+31
-46
No files matched your search
+1
-1
@@ -319,7 +319,7 @@ namespace TemuKJD
|
||||
{
|
||||
Thread.Sleep(500);
|
||||
}
|
||||
if (BaseClass.UserAuthority.Contains("充值用户"))
|
||||
if (BaseClass.UserAuthority.Contains("充值用户") && this.Created)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user