Browse Source

no message

zhangchuanxing 4 months ago
parent
commit
a6893e21bd
3 changed files with 102 additions and 0 deletions
  1. 9 0
      models/activity.go
  2. 3 0
      services/task.go
  3. 90 0
      services/yidong.go

+ 9 - 0
models/activity.go

@@ -1392,3 +1392,12 @@ WHERE
 	_, err = o.Raw(sql, endDate).QueryRows(&items)
 	return
 }
+
+// UpdateCygxActivityyidongActivityId  ,建立与易董的活动关联
+func UpdateCygxActivityyidongActivityId(yidongActivityId, activityTime, yidongTitle string) (err error) {
+	yidongTitle = "%" + yidongTitle + "%"
+	o := orm.NewOrm()
+	sql := ` UPDATE cygx_activity SET yidong_activity_id_by_cygx = ?  WHERE yidong_activity_id= '' AND   yidong_activity_id_by_cygx = ''  AND jmcj_activity_id= ''  AND  active_state = 3  AND  activity_time =?  AND activity_name_task LIKE  ?    `
+	_, err = o.Raw(sql, yidongActivityId, activityTime, yidongTitle).Exec()
+	return
+}

+ 3 - 0
services/task.go

@@ -41,6 +41,9 @@ func Task() {
 		yiDongSignAppointmentsForThird := task.NewTask("yiDongSignAppointmentsForThird", "0 */10 * * * *", YiDongSignAppointmentsForThird) //会前一小时将,报名信息同步到易董
 		task.AddTask("yiDongSignAppointmentsForThird", yiDongSignAppointmentsForThird)
 
+		groupingActivityToYiDong := task.NewTask("groupingActivityToYiDong", "0 00 1 * * *", GroupingActivityToYiDong) //建立与易董的活动关联
+		task.AddTask("groupingActivityToYiDong", groupingActivityToYiDong)
+
 		getYiDongActivity := task.NewTask("getYiDongActivity", "0 */10 * * * *", GetYiDongActivity) //同步易董的活动信息
 		task.AddTask("getYiDongActivity", getYiDongActivity)
 

+ 90 - 0
services/yidong.go

@@ -975,3 +975,93 @@ type YiDongSignAppointmentsForThirdResp struct {
 	Success   bool    `json:"success"`   // 成功标识,true:成功;false:失败。可作为判断报名是否成功的标识
 	Timestamp float64 `json:"timestamp"` // 时间戳
 }
+
+//func init() {
+//	GroupingActivityToYiDong()
+//}
+
+// GroupingActivityToYiDong 建立与易董的活动关联
+func GroupingActivityToYiDong(cont context.Context) (err error) {
+	//func GroupingActivityToYiDong() (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg("建立与易董的活动关联失败  GroupingActivityToYiDong"+err.Error(), 2)
+		}
+	}()
+	startDate := time.Now().AddDate(0, 0, -2).Format(utils.FormatDate)
+	endDate := time.Now().AddDate(0, 0, 0).Format(utils.FormatDate)
+
+	var token string
+	token, _ = GetYiDongToken()
+	url := utils.YiDongZhengTongYunUrl + "interact/activityManageApi/getRoadshowList?access_token=" + token
+	method := "POST"
+	payload := strings.NewReader(`{
+									  "meetingStatus": "2",
+									  "conveneStartStr": "` + startDate + `",
+									  "conveneEndStr":  "` + endDate + `"}`)
+	client := &http.Client{}
+	req, err := http.NewRequest(method, url, payload)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	req.Header.Add("Content-Type", "application/json")
+
+	res, err := client.Do(req)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	defer res.Body.Close()
+	var ApifoxModal *models.ApifoxModal
+	body, err := ioutil.ReadAll(res.Body)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+
+	//添加请求日志记录
+	itemApiLog := new(models.CygxThreeApiLog)
+	itemApiLog.CreateTime = time.Now()
+	itemApiLog.Source = 1
+	itemApiLog.Url = url
+	itemApiLog.Body = utils.ReplaceSpaceAndWrap(fmt.Sprint(payload))
+	itemApiLog.Result = string(body)
+	go models.AddCygxThreeApiLog(itemApiLog)
+
+	err = json.Unmarshal(body, &ApifoxModal)
+	if err != nil {
+		fmt.Println("Getres.PublicGetDate Err:", err.Error())
+		return
+	}
+
+	//var itemsAdd []*models.CygxActivity
+	if len(ApifoxModal.Result) > 0 {
+		actList := ApifoxModal.Result
+		for _, v := range actList {
+			//同步有效性 1有效,0失效
+			if v.SyncFlag == "0" {
+				continue
+			}
+			var yidongTitle string
+			titleSlice := strings.Split(v.Title, "】")
+
+			for _, vt := range titleSlice {
+				yidongTitle = vt
+			}
+
+			e := models.UpdateCygxActivityyidongActivityId(v.ID, v.Start, yidongTitle)
+			if e != nil {
+				err = errors.New("UpdateCygxActivityyidongActivityId, Err: " + e.Error())
+				return
+			}
+		}
+	}
+
+	return
+
+}