Пример #1
0
        public async Task GetKfList()
        {
            var wxType = KFType.WX.ToString();
            await Repository.DeleteAsync(m => m.KfType == wxType);

            var mpid = await _userMpAppService.GetDefaultMpId();

            var kflist = await _wxMediaAppService.GetCurstomerList(mpid);

            foreach (var kf in kflist.kf_list)
            {
                var item = Repository.FirstOrDefault(m => m.KfAccount == kf.kf_account);
                if (item == null)
                {
                    CustomerServiceOnline model = new CustomerServiceOnline()
                    {
                        KfAccount            = kf.kf_account,
                        KfNick               = kf.kf_nick,
                        KfId                 = kf.kf_id.ToString(),
                        KfHeadingUrl         = kf.kf_headimgurl,
                        PreKfAccount         = kf.kf_account.Substring(0, kf.kf_account.IndexOf("@")),
                        PublicNumberAccount  = kf.kf_account.Substring(kf.kf_account.IndexOf("@") + 1, kf.kf_account.Length - kf.kf_account.IndexOf("@") - 1),
                        MpID                 = mpid,
                        LastModificationTime = DateTime.Now,
                        AutoJoin             = false,
                        AutoJoinCount        = 0,
                        ConnectState         = 1,
                        CreationTime         = DateTime.Now,
                        IsDeleted            = false,
                        KfType               = KFType.WX.ToString(),
                        OnlineState          = 1,
                        LocalHeadingUrl      = kf.kf_headimgurl,
                        KfWx                 = kf.kf_wx
                    };
                    Repository.Insert(model);
                }
                else
                {
                    Repository.Update(item.Id, m =>
                    {
                        m.KfHeadingUrl         = kf.kf_headimgurl;
                        m.LastModificationTime = DateTime.Now;
                        m.KfId = kf.kf_id.ToString();
                        m.KfWx = kf.kf_wx;
                    });
                }
            }
        }