public void GetSessionStateTest() { // var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.GetSessionState(_appId, _appSecret, _testOpenId); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void CloseSessionTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.CloseSession(accessToken, _testOpenId, "zcc@SenparcRobot"); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void GetSessionListTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.GetSessionList(accessToken, _testOpenId); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void GetWaitCaseTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.GetWaitCase(accessToken); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void DeleteCustomTest() { // var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.DeleteCustom(_appId, _appSecret, "zcc@InnocellenceRobot"); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void CloseSessionTest() { // var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.CloseSession(_appId, _appSecret, _testOpenId, "zcc@InnocellenceRobot"); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public ActionResult Remove(RemoveCustomViewModel model) { var message = new MessageInfo { Message = "操作成功!", MessageType = MessageTypes.Success }; if (!ModelState.IsValid) { message.Message = "客服账号输入有误!"; message.MessageType = MessageTypes.Danger; return(Json(message)); } try { //TODO:切换SDK var result = CustomServiceApi.DeleteCustom( WeChatConfigManager.Current.GetAccessToken(), model.Account); if (result.errcode != ReturnCode.请求成功) { message.Message = result.errmsg; message.MessageType = MessageTypes.Danger; } } catch (ErrorJsonResultException ex) { message.Message = ex.Message; message.MessageType = MessageTypes.Danger; } return(Json(message)); }
public void GetCustomOnlineInfoTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.GetCustomOnlineInfo(accessToken); Assert.IsTrue(result.kf_online_list.Count > 0); }
public void AddCustomTest() { var accessToken = AccessTokenContainer.GetToken(_appId); var result = CustomServiceApi.AddCustom(accessToken, "zcc@SenparcRobot", "zcc", _custonPassWord); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void UpdateCustomTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.UpdateCustom(accessToken, "zcc@ChainCloudsRobot", "zcc", _custonPassWord); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public async Task <WxJsonResult> DeleteCustom(int mpId, string kfAccount) { var account = await _mpAccountAppService.Get(new Abp.Application.Services.Dto.EntityDto <int> { Id = mpId }); var access_token = await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret); WxJsonResult result = null; try { result = await CustomServiceApi.DeleteCustomAsync(access_token, kfAccount); } catch { access_token = await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret, true); try { result = await CustomServiceApi.DeleteCustomAsync(access_token, kfAccount); } catch (Exception e) { throw new UserFriendlyException(e.Message); } } return(result); }
public async Task <WxJsonResult> UploadCustomHeadimg(int mpId, string kfAccount, string filePath) { var tempProfilePicturePath = Path.Combine(_appFolders.TempFileDownloadFolder, filePath); var account = await _mpAccountAppService.Get(new Abp.Application.Services.Dto.EntityDto <int> { Id = mpId }); var access_token = await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret); WxJsonResult result = null; try { result = await CustomServiceApi.UploadCustomHeadimgAsync(access_token, kfAccount, tempProfilePicturePath); } catch { access_token = await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret, true); try { result = await CustomServiceApi.UploadCustomHeadimgAsync(access_token, kfAccount, tempProfilePicturePath); } catch (Exception e) { throw new UserFriendlyException(e.Message); } } return(result); }
public async Task <WxJsonResult> UpdateCustom(int mpId, string kfAccount, string nickName, string passWord) { Logger.Info("加密前"); string _password = !string.IsNullOrWhiteSpace(passWord) ?GetMD5(passWord):""; Logger.Info($"加密后密码为{_password}"); var account = await _mpAccountAppService.Get(new Abp.Application.Services.Dto.EntityDto <int> { Id = mpId }); var access_token = await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret); WxJsonResult result = null; try { result = await CustomServiceApi.UpdateCustomAsync(access_token, kfAccount, nickName, _password); } catch (Exception ex) { Logger.Info($"第一次错误:{ex.Message}"); access_token = await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret, true); try { result = await CustomServiceApi.UpdateCustomAsync(access_token, kfAccount, nickName, _password); } catch (Exception e) { Logger.Info($"第二次错误:{e.Message}"); throw new UserFriendlyException(e.Message); } } return(result); }
public void DeleteCustomTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.DeleteCustom(accessToken, "zcc@SenparcRobot"); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void GetCustomBasicInfoTest() { // var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.GetCustomBasicInfo(_appId, _appSecret); Assert.IsTrue(result.kf_list.Count > 0); }
public void GetRecordTest() { var openId = "o3IHxjkke04__4n1kFeXpfMjjRBc"; var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.GetRecord(accessToken, DateTime.Today, DateTime.Now, 10, 1); Assert.IsTrue(result.recordlist.Count > 0); }
public void UploadCustomHeadimgCustom() { string file = "C:\\Users\\czhang\\Desktop\\logo.png"; var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = CustomServiceApi.UploadCustomHeadimg(accessToken, "zcc@SenparcRobot", file); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
// GET: Custom public ActionResult Index(int pageIndex = 1, int pageSize = 20) { var data = CustomServiceApi.GetCustomBasicInfo(AccessToken); var dataList = data.kf_list .Select(p => new CustomViewModel { Id = p.kf_id, NickName = p.kf_nick, Account = p.kf_account, HeadImgUrl = p.kf_headimgurl }); var pagedList = new PagedList <CustomViewModel>(dataList, pageIndex, pageSize, dataList.Count()); return(View(pagedList)); }
public ActionResult Edit(string id, AddCustomViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var result = CustomServiceApi.UpdateCustom( AccessToken, id, model.NickName, model.Password); if (result.errcode != ReturnCode.请求成功) { ViewBag.Messages = new List <MessageInfo> { new MessageInfo { Message = result.errmsg, MessageType = MessageTypes.Danger } }; return(View(model)); } var kf = db.WeiChat_KFCInfos.First(p => p.Account == id); kf.NickName = model.NickName; db.SaveChanges(); } catch (ErrorJsonResultException ex) { if (ex.JsonResult.errcode == ReturnCode.客服帐号已存在kf_account_exsited) { ViewBag.Messages = new List <MessageInfo> { new MessageInfo { Message = "客服账号已存在!", MessageType = MessageTypes.Danger } }; return(View(model)); } } return(RedirectToAction("Index")); }
public async Task <bool> IsAsking(int mpid, string openid) { var account = await _mpAccountAppService.GetCache(mpid); if (account != null) { GetSessionStateResultJson result = null; try { result = await CustomServiceApi.GetSessionStateAsync(await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret), openid); } catch { result = await CustomServiceApi.GetSessionStateAsync(await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret, true), openid); } if (result.errcode == ReturnCode.请求成功) { if (!string.IsNullOrEmpty(result.kf_account)) { return(true); } GetWaitCaseResultJson waitresult = null; try { waitresult = await CustomServiceApi.GetWaitCaseAsync(await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret)); } catch { waitresult = await CustomServiceApi.GetWaitCaseAsync(await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret, true)); } if (waitresult.errcode == ReturnCode.请求成功) { if (waitresult.waitcaselist.Count(c => c.openid == openid) > 0) { return(true); } } } } return(false); }
public async Task <WxJsonResult> AddCustom(int mpId, string kfAccount, string nickName, string passWord, string inviteWx) { try { string _password = !string.IsNullOrWhiteSpace(passWord)?GetMD5(passWord):""; var account = _mpAccountAppService.Get(new Abp.Application.Services.Dto.EntityDto <int> { Id = mpId }).Result; var access_token = _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret).Result; WxJsonResult result = null; try { result = await CustomServiceApi.AddCustomAsync(access_token, kfAccount, nickName, _password); Logger.Error(result.errmsg); } catch { access_token = _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret, true).Result; try { result = await CustomServiceApi.AddCustomAsync(access_token, kfAccount, nickName, _password); Logger.Error(result.errmsg); } catch (Exception e) { Logger.Error(e.Message); throw new UserFriendlyException(e.Message); } } await CustomServiceApi.InviteWorkerAsync(access_token, kfAccount, inviteWx); return(result); } catch (Exception eh) { throw new UserFriendlyException(eh.Message); } }
public ActionResult Add(AddCustomViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var result = CustomServiceApi.AddCustom( WeChatConfigManager.Current.GetAccessToken(), string.Format("{0}@{1}", model.Account, WeChatConfigManager.Current.GetConfig().WeiXinAccount), model.NickName, model.Password); if (result.errcode != ReturnCode.请求成功) { ViewBag.Messages = new List <MessageInfo> { new MessageInfo { Message = result.errmsg, MessageType = MessageTypes.Danger } }; return(View(model)); } var kf = new WeiChat_KFCInfo { Account = string.Format("{0}@{1}", model.Account, WeChatConfigManager.Current.GetConfig().WeiXinAccount), HeadImgUrl = "", NickName = model.NickName }; db.WeiChat_KFCInfos.Add(kf); db.SaveChanges(); } catch (ErrorJsonResultException ex) { if (ex.JsonResult.errcode == ReturnCode.客服帐号已存在kf_account_exsited) { ViewBag.Messages = new List <MessageInfo> { new MessageInfo { Message = "客服账号已存在!", MessageType = MessageTypes.Danger } }; return(View(model)); } if (ex.JsonResult.errcode == ReturnCode.客服帐号个数超过限制) { ViewBag.Messages = new List <MessageInfo> { new MessageInfo { Message = "客服帐号个数超过限制!", MessageType = MessageTypes.Danger } }; return(View(model)); } } return(RedirectToAction("Index")); }