Exemplo n.º 1
0
        public async Task <Result <string> > UpdWxKfImg([FromBody] WxKfInfoShow item)
        {
            try
            {
                // 转换路径
                if (string.IsNullOrEmpty(item.KfHeadUpVir))
                {
                    return(new Result <string> {
                        Message = "请先上传客服头像!"
                    });
                }

                // 头像物理路径
                var phyPath = ComHelper.GetPhyWWWRoot(item.KfHeadUpVir);
                var apiRes  = PubKfApi.SetKFHeadImg(phyPath, item.KfAccount);
                logHelper.Debug("UpdWxKfImg:修改客服头像结果:" + apiRes.JsonSerialize());
                if (!apiRes.IsSuss)
                {
                    var msg = "修改客服头像:错误代码:" + apiRes.errcode + "     信息:" + apiRes.errmsg;
                    logHelper.Error("UpdWxKfImg:" + msg);
                    return(new Result <string> {
                        Message = msg
                    });
                }

                // 保存客服信息
                item.Updater    = currentUser.UserName;
                item.UpdateTime = DateTime.Now;
                var upRes = await repo.UpdateAsync(item, new List <string> {
                    "KfHeadUpVir", "Updater", "UpdateTime"
                });

                return(new Result <string> {
                    IsSucc = upRes, Message = $"更新微信客服头像{(upRes ? "成功!" : "失败!")}"
                });
            }
            catch (Exception ex)
            {
                logHelper.Error("UpdWxKfImg:更新微信客服头像失败:" + ex.Message + "     " + ex.StackTrace);
            }

            return(new Result <string> {
                Message = "更新微信客服头像失败!"
            });
        }
Exemplo n.º 2
0
        public async Task <Result <string> > InviteWxKf([FromBody] WxKfInfoShow item)
        {
            try
            {
                if (string.IsNullOrEmpty(item.InviteWx))
                {
                    return(new Result <string> {
                        Message = "请先输入客服微信号!"
                    });
                }

                var apiRes = PubKfApi.SendKfInvite(item.KfAccount, item.InviteWx);
                logHelper.Debug("InviteWxKf:邀请微信客服结果:" + apiRes.JsonSerialize());
                if (!apiRes.IsSuss)
                {
                    var msg = "邀请微信客服:错误代码:" + apiRes.errcode + "     信息:" + apiRes.errmsg;
                    logHelper.Error("InviteWxKf:" + msg);
                    return(new Result <string> {
                        Message = msg
                    });
                }

                // 保存客服信息
                item.InviteWx     = item.InviteWx;
                item.InviteStatus = "waiting";
                item.Updater      = currentUser.UserName;
                item.UpdateTime   = DateTime.Now;
                var upRes = await repo.UpdateAsync(item, new List <string> {
                    "InviteWx", "InviteStatus", "Updater", "UpdateTime"
                });

                return(new Result <string> {
                    IsSucc = upRes, Message = $"邀请微信客服{(upRes ? "成功!" : "失败!")}"
                });
            }
            catch (Exception ex)
            {
                logHelper.Error("InviteWxKf:邀请微信客服失败:" + ex.Message + "     " + ex.StackTrace);
            }

            return(new Result <string> {
                Message = "邀请微信客服失败!"
            });
        }
Exemplo n.º 3
0
        public async Task <Result <string> > DelWxKfImg([FromBody] WxKfInfoShow item)
        {
            try
            {
                if (string.IsNullOrEmpty(item.KfAccount))
                {
                    return(new Result <string> {
                        Message = "请先输入客服账号!"
                    });
                }

                var apiRes = PubKfApi.DeleteKF(item.KfAccount);
                logHelper.Debug("DelWxKfImg:删除微信客服结果:" + apiRes.JsonSerialize());
                if (!apiRes.IsSuss)
                {
                    var msg = "删除微信客服:错误代码:" + apiRes.errcode + "     信息:" + apiRes.errmsg;
                    logHelper.Error("DelWxKfImg:" + msg);
                    return(new Result <string> {
                        Message = msg
                    });
                }

                // 保存客服信息
                item.IsDel      = 1;
                item.Updater    = currentUser.UserName;
                item.UpdateTime = DateTime.Now;
                var upRes = await repo.UpdateAsync(item, new List <string> {
                    "IsDel", "Updater", "UpdateTime"
                });

                return(new Result <string> {
                    IsSucc = upRes, Message = $"删除微信客服{(upRes ? "成功!" : "失败!")}"
                });
            }
            catch (Exception ex)
            {
                logHelper.Error("DelWxKfImg:删除微信客服失败:" + ex.Message + "     " + ex.StackTrace);
            }

            return(new Result <string> {
                Message = "删除微信客服失败!"
            });
        }
Exemplo n.º 4
0
        public async Task <Result <string> > SyncWxKf([FromBody] WxKfInfoShow item)
        {
            try
            {
                var apiRes = PubKfApi.GetKFList();
                logHelper.Debug("SyncWxKf:同步微信客服信息结果:" + apiRes.JsonSerialize());
                if (!apiRes.IsSuss)
                {
                    var msg = "同步微信客服信息:错误代码:" + apiRes.errcode + "     信息:" + apiRes.errmsg;
                    logHelper.Error("SyncWxKf:" + msg);
                    return(new Result <string> {
                        Message = msg
                    });
                }

                var lstKf = apiRes.kf_list;
                // 保存客服列表信息
                var dtNow        = DateTime.Now;
                var userName     = currentUser.UserName;
                var lstKfAcounts = new List <string>();
                foreach (var kf in lstKf)
                {
                    var exist = await repo.FirstOrDefaultAsync <WxKfInfoShow>(x => x.KfAccount == kf.kf_account);

                    if (exist == null)
                    {
                        exist            = new WxKfInfoShow();
                        exist.Creater    = userName;
                        exist.CreateTime = dtNow;
                    }

                    exist.KfAccount        = kf.kf_account;
                    exist.KfNick           = kf.kf_nick;
                    exist.KfId             = kf.kf_id;
                    exist.KfHeadimgurl     = kf.kf_headimgurl;
                    exist.KfWx             = kf.kf_wx;
                    exist.InviteWx         = kf.invite_wx;
                    exist.InviteExpireTime = kf.invite_expire_time;
                    exist.InviteStatus     = kf.invite_status;
                    exist.IsDel            = 0;
                    exist.Updater          = userName;
                    exist.UpdateTime       = dtNow;
                    var saveRes = await repo.SaveAsync(exist);

                    lstKfAcounts.Add(exist.KfAccount);
                }

                // 删除不用的客服
                if (lstKfAcounts.Count > 0)
                {
                    var delRes = await repo.ExecuteCommandAsync(" UPDATE WxKfInfo SET IsDel = 1, Updater = @userName, UpdateTime = @dtNow WHERE KfAccount NOT IN (@lstKfAcounts) ",
                                                                new { userName, dtNow, lstKfAcounts });
                }

                return(new Result <string> {
                    IsSucc = true, Message = "同步微信客服信息成功!"
                });
            }
            catch (Exception ex)
            {
                logHelper.Error("SyncWxKf:同步微信客服信息失败:" + ex.Message + "     " + ex.StackTrace);
            }

            return(new Result <string> {
                Message = "同步微信客服信息失败!"
            });
        }
Exemplo n.º 5
0
        public async Task <Result <string> > SaveWxKf([FromBody] WxKfInfoShow item)
        {
            try
            {
                var dtNow    = DateTime.Now;
                var userName = currentUser.UserName;
                // 客服信息
                var kfInfo = new PubKf();
                // 客服账号名称
                var kfSuffix = cacheHelper.GetDbConfValByKey("kfsuffix");
                var accName  = item.KfAccount;
                if (!accName.EndsWith(kfSuffix))
                {
                    item.KfAccount = string.Format("{0}@{1}", accName, kfSuffix);
                }

                kfInfo.kf_account = item.KfAccount;
                kfInfo.nickname   = item.KfNick;
                kfInfo.password   = ComHelper.MD5Sign("ramikf");
                if (!item.CreateTime.HasValue)
                {
                    // 创建客服
                    var addRes = PubKfApi.AddKF(kfInfo);
                    logHelper.Debug("SaveWxKf:创建客服结果:" + addRes.JsonSerialize());
                    if (!addRes.IsSuss)
                    {
                        var msg = "创建客服失败:错误代码:" + addRes.errcode + "     信息:" + addRes.errmsg;
                        logHelper.Error("SaveWxKf:" + msg);
                        return(new Result <string> {
                            Message = msg
                        });
                    }

                    // 保存客服信息
                    item.Creater    = userName;
                    item.Updater    = userName;
                    item.CreateTime = dtNow;
                    item.UpdateTime = dtNow;
                    await repo.AddAsync(item);

                    return(new Result <string> {
                        IsSucc = true, Message = "创建客服成功!"
                    });
                }
                else
                {
                    // 修改客服
                    var editRes = PubKfApi.UpdateKF(kfInfo);
                    logHelper.Debug("SaveWxKf:更新客服结果:" + editRes.JsonSerialize());
                    if (!editRes.IsSuss)
                    {
                        var msg = "更新客服失败:错误代码:" + editRes.errcode + "     信息:" + editRes.errmsg;
                        logHelper.Error("SaveWxKf:" + msg);
                        return(new Result <string> {
                            Message = msg
                        });
                    }

                    // 保存客服信息
                    item.Updater    = userName;
                    item.UpdateTime = dtNow;
                    var upRes = repo.Update(item, new List <string> {
                        "KfNick", "Updater", "UpdateTime"
                    });

                    return(new Result <string> {
                        IsSucc = upRes, Message = $"更新客服{(upRes ? "成功!" : "失败!")}"
                    });
                }
            }
            catch (Exception ex)
            {
                logHelper.Error("SaveWxKf:更新微信客服信息失败:" + ex.Message + "     " + ex.StackTrace);
            }

            return(new Result <string> {
                Message = "更新微信客服信息失败!"
            });
        }