Browse Source

查研观向7.3

xingzai 2 years ago
parent
commit
f6d017c8de
4 changed files with 92 additions and 4 deletions
  1. 8 1
      controllers/activity.go
  2. 8 0
      models/yidong.go
  3. 73 3
      services/yidong.go
  4. 3 0
      utils/config.go

+ 8 - 1
controllers/activity.go

@@ -954,7 +954,14 @@ func (this *ActivityCoAntroller) Detail() {
 		activityInfo.Listndustrial = industrialList
 		if activityInfo.YidongActivityId != "" {
 			ydTgc, _ := services.GetYiDongCreateUserInfo(user)
-			activityInfo.YidongActivityUrl += "?source=11&fromHz=true&tgc=" + ydTgc
+			yidongLongLink, err := services.GetYiDongOriginalLink(activityInfo)
+			if err != nil {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "GetYiDongOriginalLink,Err:" + err.Error() + "activityId:" + strconv.Itoa(activityId)
+				return
+			}
+			//yidongKwy := activityInfo.YidongActivityUrl
+			activityInfo.YidongActivityUrl = yidongLongLink + "?source=11&fromHz=true&tgc=" + ydTgc
 		}
 		//处理音频回放
 		var mapActivityId []int

+ 8 - 0
models/yidong.go

@@ -129,3 +129,11 @@ type ApifoxModalSingUpClass struct {
 type SingUpMap struct {
 	Msg string `json:"msg"` // 请求信息,成功信息
 }
+
+type ApifoxgetOriginalLink struct {
+	Result    string  `json:"result"`    // 结果Map
+	Success   bool    `json:"success"`   // 成功标识,可作为请求是否成功标识
+	ErrorCode *string `json:"errorCode"` // 错误码,001:活动不存在;002:该活动不支持此渠道报名;003:该手机号或邮箱已经被其他账号提交报名;004:不在报名时间;005:报名人数已满
+	ErrorMsg  *string `json:"errorMsg"`  // 错误信息
+	Timestamp float64 `json:"timestamp"` // 时间戳
+}

+ 73 - 3
services/yidong.go

@@ -258,8 +258,15 @@ func GetYiDongActivity(cont context.Context) (err error) {
 			item.ActivityTypeId = 3
 			item.ActivityTypeName = "公司调研电话会"
 			sliceCompanyInfo := strings.Split(v.Title, "(")
+			sliceActivityTitle := strings.Split(v.Title, ")")
 			companyInfo := sliceCompanyInfo[0]
-			item.ActivityName = v.Title
+			if len(sliceActivityTitle) > 1 {
+				item.ActivityName = companyInfo + sliceActivityTitle[len(sliceActivityTitle)-1]
+			} else {
+				item.ActivityName = v.Title
+			}
+			//fmt.Println(item.ActivityName)
+			//return err
 			item.LastUpdatedTime = time.Now()
 			item.Label = companyInfo
 			item.TemporaryLabel = companyInfo
@@ -283,7 +290,7 @@ func GetYiDongActivity(cont context.Context) (err error) {
 				item.DistinguishedGuest += vdetail.PersonName + " " + vdetail.JobName + ","
 			}
 			item.DistinguishedGuest = strings.TrimRight(item.DistinguishedGuest, ",")
-			item.Body = "<p>" + "【" + v.Title + "】" + "<p>时间:" + v.Start + "</p>嘉宾:" + item.DistinguishedGuest + "</p>"
+			item.Body = "<p>" + "【" + item.ActivityName + "】" + "<p>时间:" + item.ActivityTimeText + "</p>嘉宾:" + item.DistinguishedGuest + "</p>"
 			//fmt.Println(item.Body)
 			//return err
 			if mapOldYiDong[v.ID] == "" {
@@ -304,7 +311,7 @@ func GetYiDongActivity(cont context.Context) (err error) {
 					updateParams["ActivityName"] = item.ActivityName
 					updateParams["Body"] = item.Body
 					updateParams["Label"] = item.Label
-					updateParams["TemporaryLabel"] = item.TemporaryLabel
+					//updateParams["TemporaryLabel"] = item.TemporaryLabel
 					updateParams["DistinguishedGuest"] = item.DistinguishedGuest
 					updateParams["ChartPermissionId"] = item.ChartPermissionId
 					updateParams["ChartPermissionName"] = item.ChartPermissionName
@@ -434,6 +441,68 @@ func GetYiDongCreateUserInfo(user *models.WxUserItem) (userTgc string, err error
 	return
 }
 
+//GetYiDongOriginalLink 将易懂的短连接转为长链接
+func GetYiDongOriginalLink(item *models.ActivityDetail) (yidongLongLink string, err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg("将易懂的短连接转为长链接 失败:"+err.Error(), 2)
+			utils.FileLog.Info(err.Error())
+		}
+	}()
+	sliceYidongActivityUrl := strings.Split(item.YidongActivityUrl, "/")
+	var shortLink string
+	if len(sliceYidongActivityUrl) > 1 {
+		shortLink = sliceYidongActivityUrl[len(sliceYidongActivityUrl)-1]
+	}
+	var token string
+	token, err = GetYiDongToken()
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	url := utils.YiDonggetOriginalLink + shortLink + "&access_token=" + token
+	fmt.Println(url)
+	method := "GET"
+
+	client := &http.Client{}
+	req, err := http.NewRequest(method, url, nil)
+
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	res, err := client.Do(req)
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	defer res.Body.Close()
+
+	var ApifoxModal *models.ApifoxgetOriginalLink
+	body, err := ioutil.ReadAll(res.Body)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	err = json.Unmarshal(body, &ApifoxModal)
+	if err != nil {
+		fmt.Println("Getres.PublicGetDate Err:", err.Error())
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	lingLink := ApifoxModal.Result
+
+	slicelingLink := strings.Split(lingLink, "redirect_uri=")
+	//var shortLink string
+	if len(slicelingLink) > 1 {
+		lingLink = slicelingLink[len(slicelingLink)-1]
+	}
+	yidongLongLink = lingLink
+	return
+}
+
 //处理易董这边过来的时间格式
 func GetActivityTextTime(timeYidong string) (timeText string) {
 	strTime := timeYidong
@@ -579,6 +648,7 @@ func YidongActivityGroup(subjectName string, activityId int) (err error) {
 	if len(subjectList) == 0 {
 		return err
 	}
+	fmt.Println("去掉临时标签的活动", activityId)
 	err = models.UpdateActivityshowSubject(activityId)
 	if err != nil {
 		go utils.SendAlarmMsg("UpdateActivityshowSubject :根据易董推过来的匹配信息,判断临时标签是否展示失败"+err.Error(), 2)

+ 3 - 0
utils/config.go

@@ -78,6 +78,7 @@ var (
 	YiDongZhengTongYunAppid   string //易董 证通云请求appid
 	YiDongZhengTongYunSecret  string //易董 证通云请求secret
 	YiDongHuaWeiYunUrl        string //易董 华为云请求域名
+	YiDonggetOriginalLink     string //易董 短连接转为长链接
 )
 
 func init() {
@@ -232,11 +233,13 @@ func YiDongApiConfig() {
 		YiDongZhengTongYunAppid = "ca86a257ebb46fce"
 		YiDongZhengTongYunSecret = "338db2b2ca86a257ebb46fced9003f53"
 		YiDongHuaWeiYunUrl = "https://achievement.valueonline.cn/"
+		YiDonggetOriginalLink = "https://services.easy-board.com.cn/short-link/getOriginalLink?shortKey="
 	} else {
 		YiDongZhengTongYunUrl = "https://services-dev.valueonline.cn/"
 		YiDongZhengTongYunAppid = "d9bfb79627ac30d0"
 		YiDongZhengTongYunSecret = "96a61dd2d9bfb79627ac30d02188bbe2"
 		YiDongHuaWeiYunUrl = "https://achievement-test.valueonline.cn/"
+		YiDonggetOriginalLink = "https://services-dev.valueonline.cn/short-link/getOriginalLink?shortKey="
 	}
 }