Sfoglia il codice sorgente

fix: 体验版用户-手工数据权限

hsun 10 mesi fa
parent
commit
4418e0538f

+ 2 - 1
controllers/eta_trial.go

@@ -887,7 +887,8 @@ func (this *ETATrialController) Approval() {
 
 		// 新增试用客户手工权限
 		go func() {
-			_ = services.CreateTrialUserManualAuth(newId, admin.RealName)
+			//_ = services.CreateTrialUserManualAuth(newId, admin.RealName)
+			_ = services.EtaTrialManualUserAddAuth(newId, admin.RealName)
 		}()
 	}
 

+ 4 - 4
models/eta_trial/eta_trial_manual.go

@@ -15,7 +15,7 @@ type ETATrialManualClassify struct {
 // GetETATrialManualClassify 获取ETA试用手工数据分类
 func GetETATrialManualClassify() (items []*ETATrialManualClassify, err error) {
 	o := orm.NewOrmUsingDB("weekly_trial")
-	sql := `SELECT classify_id, classify_name, parent_id FROM edb_trial.edbdata_classify WHERE is_show=1 ORDER BY sort ASC`
+	sql := `SELECT classify_id, classify_name, parent_id FROM edb_trial_new.edbdata_classify WHERE is_show=1 ORDER BY sort ASC`
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
@@ -31,7 +31,7 @@ func GetNoAuthTrialUserIds() (items []*ETATrialUserAdmin, err error) {
 	o := orm.NewOrmUsingDB("weekly_trial")
 	sql := `SELECT a.admin_id, a.real_name FROM weekly_report_trial.admin AS a
 			WHERE a.admin_id NOT IN (
-				SELECT DISTINCT b.admin_id FROM hz_data_trial.manual_user_classify AS b
+				SELECT DISTINCT b.admin_id FROM hz_data_trial_new.manual_user_classify AS b
 			)
 			AND a.department_id = 12 AND a.department_name = "ETA试用客户"`
 	_, err = o.Raw(sql).QueryRows(&items)
@@ -54,14 +54,14 @@ func InsertTrialUserManualAuth(adminId int, adminRealName string, classifyIds []
 	}()
 
 	// 新增权限用户
-	sql := `INSERT INTO hz_data_trial.manual_user (admin_id, admin_real_name, sys_user_id, sys_user_real_name, create_time) VALUES ("%d", "%s", 0, "", NOW())`
+	sql := `INSERT INTO hz_data_trial_new.manual_user (admin_id, admin_real_name, sys_user_id, sys_user_real_name, create_time) VALUES ("%d", "%s", 0, "", NOW())`
 	sql = fmt.Sprintf(sql, adminId, adminRealName)
 	if _, err = tx.Raw(sql).Exec(); err != nil {
 		return
 	}
 	// 新增权限分类
 	for i := range classifyIds {
-		sql = `INSERT INTO hz_data_trial.manual_user_classify (admin_id, classify_id, create_time) VALUES ("%d", "%d", NOW())`
+		sql = `INSERT INTO hz_data_trial_new.manual_user_classify (admin_id, classify_id, create_time) VALUES ("%d", "%d", NOW())`
 		sql = fmt.Sprintf(sql, adminId, classifyIds[i])
 		if _, err = tx.Raw(sql).Exec(); err != nil {
 			return

+ 77 - 0
services/crm_eta.go

@@ -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
+}

+ 2 - 1
services/eta_trial.go

@@ -191,7 +191,8 @@ func ApprovalApply(approvalId int) (err error) {
 
 		// 新增试用客户手工权限
 		go func() {
-			_ = CreateTrialUserManualAuth(newId, admin.RealName)
+			//_ = CreateTrialUserManualAuth(newId, admin.RealName)
+			_ = EtaTrialManualUserAddAuth(newId, admin.RealName)
 		}()
 	}