|
@@ -3,6 +3,7 @@ package services
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
+ "hongze/hz_crm_api/services/alarm_msg"
|
|
|
"hongze/hz_crm_api/utils"
|
|
|
"io/ioutil"
|
|
|
"net/http"
|
|
@@ -178,3 +179,79 @@ func CodeLoginFromMiddleServer(authCode string) (tokenResp GetEtaTokenData, err
|
|
|
tokenResp = result.Data
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// EtaTrialManualUserAddAuthReq 体验版用户添加手工权限
|
|
|
+type EtaTrialManualUserAddAuthReq struct {
|
|
|
+ AdminId int `json:"admin_id" description:"用户ID"`
|
|
|
+ AdminName string `json:"admin_name" description:"用户名"`
|
|
|
+}
|
|
|
+
|
|
|
+// EtaTrialManualUserAddAuth CRM_ETA服务-体验版用户添加手工权限
|
|
|
+func EtaTrialManualUserAddAuth(adminId int, adminName string) (err error) {
|
|
|
+ // 体验版无测试环境
|
|
|
+ //if utils.RunMode != "release" {
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ alarm_msg.SendAlarmMsg(fmt.Sprintf("EtaTrialManualUserAddAuth, 新增试用客户手工录入权限失败, ErrMsg: %s", err.Error()), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ url := fmt.Sprint(utils.CrmEtaServerUrl, "/api/eta_trial/manual_user/add_auth")
|
|
|
+ param := EtaTrialManualUserAddAuthReq{
|
|
|
+ AdminId: adminId,
|
|
|
+ AdminName: adminName,
|
|
|
+ }
|
|
|
+ data, e := json.Marshal(param)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("data json marshal err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ body := ioutil.NopCloser(strings.NewReader(string(data)))
|
|
|
+ client := &http.Client{}
|
|
|
+ req, e := http.NewRequest("POST", url, body)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("http create request err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ contentType := "application/json;charset=utf-8"
|
|
|
+ req.Header.Set("Content-Type", contentType)
|
|
|
+ req.Header.Set("Authorization", utils.CrmEtaAuthorization)
|
|
|
+ resp, e := client.Do(req)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("http client do err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ _ = resp.Body.Close()
|
|
|
+ }()
|
|
|
+ b, e := ioutil.ReadAll(resp.Body)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("resp body read err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(b) == 0 {
|
|
|
+ err = fmt.Errorf("resp body is empty")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 生产环境解密, 注意有个坑前后的双引号
|
|
|
+ if utils.RunMode == "release" {
|
|
|
+ str := string(b)
|
|
|
+ str = strings.Trim(str, `"`)
|
|
|
+ b = utils.DesBase64Decrypt([]byte(str))
|
|
|
+ }
|
|
|
+
|
|
|
+ result := new(MiddleServerResultData)
|
|
|
+ if e = json.Unmarshal(b, &result); e != nil {
|
|
|
+ err = fmt.Errorf("result unmarshal err: %s\nresult: %s", e.Error(), string(b))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.Code != 200 {
|
|
|
+ err = fmt.Errorf("result: %s", string(b))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|