From 7c56b936a4d84c91ff858765d2789ee6c85f169e Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Thu, 13 Jul 2023 11:46:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA=E5=8C=BB?= =?UTF-8?q?=E7=94=9F=E5=88=9B=E5=BB=BAim=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/service/userDoctor.go | 5 +++++ extend/tencentIm/account.go | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 extend/tencentIm/account.go diff --git a/api/service/userDoctor.go b/api/service/userDoctor.go index be1427a..6f11cca 100644 --- a/api/service/userDoctor.go +++ b/api/service/userDoctor.go @@ -784,6 +784,11 @@ func (r *UserDoctorService) AddUserDoctor(userId string, a requests.AddUserDocto } // 创建im账户 + res, err = tencentIm.CreateAccount(strconv.FormatInt(userDoctor.UserId, 10), a.CardName, a.Avatar) + if err != nil || res != true { + tx.Rollback() + return false, errors.New(err.Error()) + } tx.Commit() return true, nil diff --git a/extend/tencentIm/account.go b/extend/tencentIm/account.go new file mode 100644 index 0000000..77435d7 --- /dev/null +++ b/extend/tencentIm/account.go @@ -0,0 +1,37 @@ +// Package tencentIm 账号 +package tencentIm + +import ( + "encoding/json" + "errors" + "hospital-admin-api/config" +) + +// CreateAccount 创建账号 +func CreateAccount(userId, nickName, avatar string) (bool, error) { + // 构建请求数据 + requestData := make(map[string]interface{}) + requestData["UserID"] = userId + requestData["Nick"] = nickName + requestData["FaceUrl"] = avatar + + // 将请求数据转换为 JSON + requestBody, err := json.Marshal(requestData) + if err != nil { + return false, errors.New("创建im账户失败") + } + + // 构建请求 URL + res, result := getRequestUrlParams("administrator") + if res != true { + return false, errors.New(result) + } + + url := config.C.Im.ImBaseUrl + "v4/im_open_login_svc/account_import?" + result + _, err = postRequest(url, requestBody) + if err != nil { + return false, errors.New(err.Error()) + } + + return true, nil +}