瀏覽代碼

Merge branch 'master' of http://8.136.199.33:3000/hongze/hongze_task

xingzai 2 年之前
父節點
當前提交
d322458754

+ 1 - 0
models/admin.go

@@ -15,6 +15,7 @@ type Admin struct {
 	GroupId      int    `description:"分组id"`
 	Authority    int    `description:"管理权限,0:无,1:部门负责人,2:小组负责人"`
 	Position     string `description:"职位"`
+	OpenId       string `description:"弘则部门公众号的openid"`
 }
 
 func GetAdminByAdminId(adminId int) (item *Admin, err error) {

+ 12 - 0
models/company_product.go

@@ -232,6 +232,18 @@ func GetSellers() (items []*Sellers, err error) {
 	return
 }
 
+func GetSellersOpenId() (items []*Sellers, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT a.real_name,a.email,a.open_id,a.mobile,a.role_type_code,a.admin_id
+           FROM admin AS a
+			WHERE role_type_code IN('ficc_seller','ficc_group','ficc_team','rai_seller','rai_group')
+			and (
+				(a.email != "") or ( a.open_id<>'')
+			)`
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
 func GetRemindCompany(sellerId int, endDate string) (items []*CompanyProduct, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT b.end_date,b.contract_end_date,a.company_name,b.status,b.seller_id,b.seller_name FROM

+ 4 - 0
models/data_manage/edb_data_base.go

@@ -73,6 +73,10 @@ func GetEdbDataTableName(source int) (tableName string) {
 		tableName = "edb_data_predict_calculate_tcz"
 	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
 		tableName = "edb_data_mysteel_chemical"
+	case utils.DATA_SOURCE_CALCULATE_CJJX:
+		tableName = "edb_data_calculate_cjjx"
+	case utils.DATA_SOURCE_EIA_STEO:
+		tableName = "edb_data_eia_steo"
 	default:
 		tableName = ""
 		errors.New("无效的渠道:" + strconv.Itoa(source))

+ 2 - 2
models/report_view.go

@@ -80,7 +80,7 @@ func GetRddpReportViewersDetail(startTime, endTime string) (items []*ResearchRep
 			WHERE uvh.create_time >?
             AND uvh.create_time <=?
 			AND c.company_id NOT IN (1)
-			AND r.classify_name_first not in ("周报","双周报","月报","数据点评","会议纪要","年报合集","需求报告")
+			AND r.classify_name_first not in ("周报","大宗商品","月报","数据点评","会议纪要","年报合集","需求报告")
 			ORDER BY uvh.create_time DESC
 `
 	o := orm.NewOrm()
@@ -136,7 +136,7 @@ FROM
 			WHERE uvh.create_time >?
             AND uvh.create_time <=?
 			AND c.company_id NOT IN (1)
-			AND r.classify_name_first = "双周报"
+			AND r.classify_name_first = "大宗商品"
 			ORDER BY uvh.create_time DESC
 `
 	o := orm.NewOrm()

+ 1 - 1
services/company_product.go

@@ -257,7 +257,7 @@ func CompanyRemind(cont context.Context) (err error) {
 		}
 	}()
 	//获取销售
-	sellers, err := models.GetSellers()
+	sellers, err := models.GetSellersOpenId()
 	for k, v := range sellers {
 		fmt.Println(k, v.AdminId, v.Mobile)
 		CompanyRemind30Day(v)

+ 3 - 0
services/data/base_edb_lib.go

@@ -102,6 +102,9 @@ func RefreshEdbData(edbInfoId, source int, edbCode, startDate string) (resp *mod
 		urlStr = "google_travel/refresh"
 	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
 		urlStr = "mysteel_chemical/refresh"
+		urlStr = "mysteel_chemical/refresh"
+	case utils.DATA_SOURCE_EIA_STEO:
+		urlStr = "eia_steo/refresh"
 	}
 	if urlStr == "" {
 		err = fmt.Errorf(fmt.Sprint("source:", source, ";未实现该指标的刷新接口,请联系管理员"))

+ 58 - 0
services/data/edb_info.go

@@ -1790,3 +1790,61 @@ func RefreshDataFromMysteelChemical(wg *sync.WaitGroup) (err error) {
 	}
 	return err
 }
+
+// RefreshDataFromEiaSteo 刷新eia steo 报告数据
+func RefreshDataFromEiaSteo(wg *sync.WaitGroup) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("RefreshDataFromEiaSteo Err:" + err.Error())
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromGl ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			go alarm_msg.SendAlarmMsg("RefreshDataFromEiaSteo ErrMsg:"+err.Error(), 3)
+		}
+		wg.Done()
+	}()
+	var condition string
+	var pars []interface{}
+	condition += " AND source=? "
+	pars = append(pars, utils.DATA_SOURCE_EIA_STEO)
+	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
+	if err != nil {
+		return errors.New("GetEdbInfoByCondition:" + err.Error())
+	}
+
+	//var endDate string
+	//endDate = time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
+	for _, v := range items {
+		startDate := ""
+		if v.Frequency == "日度" {
+			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+		} else if v.Frequency == "周度" {
+			startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
+		} else if v.Frequency == "月度" {
+			startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
+		} else if v.Frequency == "季度" {
+			startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
+		} else if v.Frequency == "年度" {
+			startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
+		} else {
+			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+		}
+
+		resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
+		if err != nil {
+			return errors.New("RefreshDataFromEiaSteoData Err:" + err.Error())
+		}
+		if resp.Ret != 200 {
+			return errors.New("RefreshDataFromEiaSteoData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
+		}
+		//item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
+		//if err != nil {
+		//	return err
+		//}
+		//if item != nil {
+		//	err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
+		//	if err != nil {
+		//		return err
+		//	}
+		//}
+	}
+	return err
+}

+ 53 - 143
services/data_entry.go

@@ -67,60 +67,30 @@ func FrequencyByDay() (err error) {
 		if noticeSecondTotal >= nowBeforSecond && noticeSecondTotal <= nowAfterSecond {
 			//获取用户信息
 			var openId string
-			isAdmin := true
 			admin, err := models.GetAdminByAdminId(v.UserId)
 			if err != nil {
 				if err.Error() == utils.ErrNoRow() {
-					isAdmin = false
-				} else {
+					err = errors.New("账号不存在")
 					return err
 				}
+				return err
 			}
-			if admin == nil {
-				isAdmin = false
-			}
-			if isAdmin {
-				if admin.Mobile == "" {
+			openId = admin.OpenId
+			//发送消息
+			if openId != "" {
+				openIdList := make([]*models.OpenIdList, 0)
+				openIdItem := new(models.OpenIdList)
+				openIdItem.OpenId = openId
+				openIdList = append(openIdList, openIdItem)
 
-				} else {
-					wxUser, err := models.GetWxUserByMobile(admin.Mobile)
-					if err != nil {
-						return err
-					}
-					if wxUser == nil {
-						err = errors.New("用户信息不存在:mobile:" + admin.Mobile)
-						return err
-					}
-					openId = wxUser.OpenId
-				}
-			} else {
-				wxUser, err := models.GetWxUserByUserId(v.UserId)
+				first := "数据录入提醒"
+				keyword1 := v.SecName
+				keyword2 := "每日 " + v.NoticeTime
+				remark := v.SecName + "该更新了"
+				err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
 				if err != nil {
 					return err
 				}
-				if wxUser == nil {
-					err = errors.New("用户信息不存在:userId:" + strconv.Itoa(v.UserId))
-					return err
-				}
-				openId = wxUser.OpenId
-			}
-			//发送消息
-			if openId == "" {
-				err = errors.New("openId is empty")
-				return err
-			}
-			openIdList := make([]*models.OpenIdList, 0)
-			openIdItem := new(models.OpenIdList)
-			openIdItem.OpenId = openId
-			openIdList = append(openIdList, openIdItem)
-
-			first := "数据录入提醒"
-			keyword1 := v.SecName
-			keyword2 := "每日 " + v.NoticeTime
-			remark := v.SecName + "该更新了"
-			err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
-			if err != nil {
-				return err
 			}
 		}
 	}
@@ -224,72 +194,42 @@ func FrequencyByWeek() (err error) {
 		if noticeSecondTotal >= nowBeforSecond && noticeSecondTotal <= nowAfterSecond {
 			//获取用户信息
 			var openId string
-			isAdmin := true
 			admin, err := models.GetAdminByAdminId(v.UserId)
 			if err != nil {
 				if err.Error() == utils.ErrNoRow() {
-					isAdmin = false
-				} else {
-					return err
-				}
-			}
-			if admin == nil {
-				isAdmin = false
-			}
-			if isAdmin {
-				if admin.Mobile == "" {
-
-				} else {
-					wxUser, err := models.GetWxUserByMobile(admin.Mobile)
-					if err != nil {
-						return err
-					}
-					if wxUser == nil {
-						err = errors.New("用户信息不存在:mobile:" + admin.Mobile)
-						return err
-					}
-					openId = wxUser.OpenId
-				}
-			} else {
-				wxUser, err := models.GetWxUserByUserId(v.UserId)
-				if err != nil {
-					return err
-				}
-				if wxUser == nil {
-					err = errors.New("用户信息不存在:userId:" + strconv.Itoa(v.UserId))
+					err = errors.New("账号不存在")
 					return err
 				}
-				openId = wxUser.OpenId
-			}
-			//发送消息
-			if openId == "" {
-				err = errors.New("openId is empty")
 				return err
 			}
-			openIdList := make([]*models.OpenIdList, 0)
-			openIdItem := new(models.OpenIdList)
-			openIdItem.OpenId = openId
-			openIdList = append(openIdList, openIdItem)
+			openId = admin.OpenId
+			//发送消息
+			if openId != "" {
+				openIdList := make([]*models.OpenIdList, 0)
+				openIdItem := new(models.OpenIdList)
+				openIdItem.OpenId = openId
+				openIdList = append(openIdList, openIdItem)
 
-			first := "数据录入提醒"
-			keyword1 := v.SecName
-			keyword2 := "每周 " + v.NoticeTime
-			remark := v.SecName + "该更新了"
+				first := "数据录入提醒"
+				keyword1 := v.SecName
+				keyword2 := "每周 " + v.NoticeTime
+				remark := v.SecName + "该更新了"
 
-			err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
-			if err != nil {
-				return err
-			}
-			//发送成功,记录发送日志
-			{
-				sendRecord := new(models.EdbinfoSendMsgRecord)
-				sendRecord.UserId = v.UserId
-				sendRecord.TradeCode = v.TradeCode
-				sendRecord.CreateTime = time.Now()
-				err = models.AddEdbinfoSendMsgRecord(sendRecord)
+				err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
 				if err != nil {
 					return err
 				}
+				//发送成功,记录发送日志
+				{
+					sendRecord := new(models.EdbinfoSendMsgRecord)
+					sendRecord.UserId = v.UserId
+					sendRecord.TradeCode = v.TradeCode
+					sendRecord.CreateTime = time.Now()
+					err = models.AddEdbinfoSendMsgRecord(sendRecord)
+					if err != nil {
+						return err
+					}
+				}
 			}
 		} else {
 			utils.FileLog.Info("%s", v.TradeCode+":不在推送消息时间范围内")
@@ -382,61 +322,31 @@ func FrequencyByMonth() (err error) {
 		if noticeSecondTotal >= nowBeforSecond && noticeSecondTotal <= nowAfterSecond {
 			//获取用户信息
 			var openId string
-			isAdmin := true
 			admin, err := models.GetAdminByAdminId(v.UserId)
 			if err != nil {
 				if err.Error() == utils.ErrNoRow() {
-					isAdmin = false
-				} else {
+					err = errors.New("账号不存在")
 					return err
 				}
+				return err
 			}
-			if admin == nil {
-				isAdmin = false
-			}
-			if isAdmin {
-				if admin.Mobile == "" {
+			openId = admin.OpenId
+			//发送消息
+			if openId != "" {
+				openIdList := make([]*models.OpenIdList, 0)
+				openIdItem := new(models.OpenIdList)
+				openIdItem.OpenId = openId
+				openIdList = append(openIdList, openIdItem)
 
-				} else {
-					wxUser, err := models.GetWxUserByMobile(admin.Mobile)
-					if err != nil {
-						return err
-					}
-					if wxUser == nil {
-						err = errors.New("用户信息不存在:mobile:" + admin.Mobile)
-						return err
-					}
-					openId = wxUser.OpenId
-				}
-			} else {
-				wxUser, err := models.GetWxUserByUserId(v.UserId)
+				first := "数据录入提醒"
+				keyword1 := v.SecName
+				keyword2 := "每月 " + v.NoticeTime
+				remark := v.SecName + "该更新了"
+
+				err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
 				if err != nil {
 					return err
 				}
-				if wxUser == nil {
-					err = errors.New("用户信息不存在:userId:" + strconv.Itoa(v.UserId))
-					return err
-				}
-				openId = wxUser.OpenId
-			}
-			//发送消息
-			if openId == "" {
-				err = errors.New("openId is empty")
-				return err
-			}
-			openIdList := make([]*models.OpenIdList, 0)
-			openIdItem := new(models.OpenIdList)
-			openIdItem.OpenId = openId
-			openIdList = append(openIdList, openIdItem)
-
-			first := "数据录入提醒"
-			keyword1 := v.SecName
-			keyword2 := "每月 " + v.NoticeTime
-			remark := v.SecName + "该更新了"
-
-			err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
-			if err != nil {
-				return err
 			}
 		}
 	}

+ 1 - 1
services/report_view.go

@@ -255,7 +255,7 @@ func ReportViewDetail() (err error) {
 				cellE := row.AddCell()
 				cellE.Value = item.ClassifyNameSecond
 				cellF := row.AddCell()
-				cellF.Value = `双周报`
+				cellF.Value = `大宗商品`
 			}
 			continue
 		} else if v.TypeName == `月报` {

+ 11 - 30
services/task.go

@@ -236,7 +236,7 @@ func OneMinute(cont context.Context) (err error) {
 
 func RefreshData(cont context.Context) (err error) {
 	wg := sync.WaitGroup{}
-	wg.Add(12)
+	wg.Add(13)
 	//hour := time.Now().Hour()
 	//if hour != 0 {
 	//}
@@ -263,6 +263,8 @@ func RefreshData(cont context.Context) (err error) {
 	go data.RefreshDataFromGoogleTravel(&wg)
 	//钢联化工
 	go data.RefreshDataFromMysteelChemical(&wg)
+	//eia steo报告指标
+	go data.RefreshDataFromEiaSteo(&wg)
 
 	wg.Wait()
 	////计算指标
@@ -683,48 +685,27 @@ func AddEdbTask(cont context.Context) (err error) {
 					openIdList := make([]*models.OpenIdList, 0)
 
 					//获取用户信息
-					isAdmin := true
 					admin, err := models.GetAdminByAdminId(tmpEdb.UserId)
 					if err != nil {
 						if err.Error() == utils.ErrNoRow() {
-							isAdmin = false
+							funcErr = errors.New("openId 列表为空" + strconv.Itoa(tmpEdb.UserId))
+							return
 						} else {
 							return err
 						}
 					}
 					if admin == nil {
-						isAdmin = false
-					}
-					if isAdmin {
-						if admin.Mobile == "" {
-
-						} else {
-							wxUser, err := models.GetWxUserByMobile(admin.Mobile)
-							if err != nil {
-								return err
-							}
-							if wxUser == nil {
-								funcErr = errors.New("用户信息不存在:mobile:" + admin.Mobile)
-								return err
-							}
-							tmpOpenidList, err := models.GetUserOpenidListByUserId(int(wxUser.UserId))
-							if err != nil {
-								return err
-							}
-							openIdList = tmpOpenidList
-						}
-					} else {
-						tmpOpenidList, err := models.GetUserOpenidListByUserId(tmpEdb.UserId)
-						if err != nil {
-							return err
-						}
-						openIdList = tmpOpenidList
+						funcErr = errors.New("openId 列表为空" + strconv.Itoa(tmpEdb.UserId))
+						return
 					}
 					//发送消息
-					if len(openIdList) <= 0 {
+					if admin.OpenId == "" {
 						funcErr = errors.New("openId 列表为空" + strconv.Itoa(tmpEdb.UserId))
 						return
 					}
+					openIdTemp := new(models.OpenIdList)
+					openIdTemp.OpenId = admin.OpenId
+					openIdList = append(openIdList, openIdTemp)
 
 					first := "数据录入提醒"
 					keyword1 := tmpEdb.SecName

+ 41 - 4
services/wx_template_msg.go

@@ -24,7 +24,7 @@ func SendWxMsgWithFrequency(first, keyword1, keyword2, remark string, openIdList
 		fmt.Println("line 21", err, msg)
 	}()
 	utils.FileLog.Info("services SendMsg")
-	accessToken, err := models.GetWxAccessToken()
+	/*accessToken, err := models.GetWxAccessToken()
 	if err != nil {
 		msg = "GetWxAccessToken Err:" + err.Error()
 		return
@@ -50,7 +50,24 @@ func SendWxMsgWithFrequency(first, keyword1, keyword2, remark string, openIdList
 	sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": "#173177"}
 	sendData["remark"] = map[string]interface{}{"value": remark, "color": "#173177"}
 	sendMap["data"] = sendData
-	WxSendTemplateMsg(sendUrl, sendMap, openIdList)
+	WxSendTemplateMsg(sendUrl, sendMap, openIdList)*/
+	wxAppPath := ""
+	openIdArr := make([]string, len(openIdList))
+	for i, v := range openIdList {
+		openIdArr[i] = v.OpenId
+	}
+	sendInfo := new(SendWxTemplate)
+	sendInfo.WxAppId = utils.AdminWxAppId
+	sendInfo.First = first
+	sendInfo.Keyword1 = keyword1
+	sendInfo.Keyword2 = keyword2
+	sendInfo.RedirectUrl = wxAppPath
+	sendInfo.RedirectTarget = 0
+	sendInfo.TemplateId = utils.TemplateId
+	sendInfo.Resource = wxAppPath
+	sendInfo.OpenIdArr = openIdArr
+	sendInfo.Remark = remark
+	err = SendTemplateMsgV2(sendInfo)
 	return
 }
 
@@ -100,7 +117,7 @@ func SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark string, openId
 		}
 	}()
 	utils.FileLog.Info("%s", "services SendMsg")
-	accessToken, err := models.GetWxAccessToken()
+	/*accessToken, err := models.GetWxAccessToken()
 	if err != nil {
 		msg = "GetWxAccessToken Err:" + err.Error()
 		return
@@ -120,7 +137,24 @@ func SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark string, openId
 	sendData["date"] = map[string]interface{}{"value": keyword2, "color": "#173177"}
 	sendData["remark"] = map[string]interface{}{"value": remark, "color": "#173177"}
 	sendMap["data"] = sendData
-	WxSendTemplateMsg(sendUrl, sendMap, openIdList)
+	WxSendTemplateMsg(sendUrl, sendMap, openIdList)*/
+	wxAppPath := ""
+	openIdArr := make([]string, len(openIdList))
+	for i, v := range openIdList {
+		openIdArr[i] = v.OpenId
+	}
+	sendInfo := new(SendWxTemplate)
+	sendInfo.WxAppId = utils.AdminWxAppId
+	sendInfo.First = first
+	sendInfo.Productname = keyword1
+	sendInfo.Date = keyword2
+	sendInfo.RedirectUrl = wxAppPath
+	sendInfo.RedirectTarget = 0
+	sendInfo.TemplateId = utils.RemindTemplateId
+	sendInfo.Resource = wxAppPath
+	sendInfo.OpenIdArr = openIdArr
+	sendInfo.Remark = remark
+	err = SendTemplateMsgV2(sendInfo)
 	return
 }
 
@@ -165,11 +199,14 @@ func SendWxMsgWithActivityAppointmentRemind(first, keyword1, keyword2, keyword3,
 }
 
 type SendWxTemplate struct {
+	WxAppId        string   `description:"公众号appId"`
 	First          string   `description:"模板消息first字段"`
 	Keyword1       string   `description:"模板消息keyword1字段"`
 	Keyword2       string   `description:"模板消息keyword2字段"`
 	Keyword3       string   `description:"模板消息keyword3字段"`
 	Keyword4       string   `description:"模板消息keyword4字段"`
+	Productname    string   `description:"模板消息productname字段"`
+	Date           string   `description:"模板消息date字段"`
 	Remark         string   `description:"模板消息remark字段"`
 	TemplateId     string   `description:"模板id"`
 	RedirectUrl    string   `description:"跳转地址"`

+ 11 - 4
utils/config.go

@@ -31,6 +31,9 @@ var (
 
 	WxYbAppId string //微信研报小程序
 
+	//内部员工公众号(弘则部门)
+	AdminWxAppId                    string
+	AdminWxAppSecret                string
 )
 
 //oss配置
@@ -115,13 +118,17 @@ ZwIDAQAB
 
 	WxYbAppId = "wxb059c872d79b9967" //弘则研报小程序
 
+	//内部员工公众号(弘则部门)
+	AdminWxAppId = "wx1392111da5426e9e"
+	AdminWxAppSecret = "30eceb7cf29bf2f046031155ab55d7b4"
+
 	if RunMode == "release" {
 		CompanyId = 16
 		RealName = "超级管理员"
 		WxAppId = "wx4a844c734d8c8e56"
 		WxAppSecret = "26c586e7ccb3c575433f0f37797b3eeb"
-		TemplateId = "P0klzaZjEI2UYth-z-WnmtOQgyxcF8klPoA_MlsA8Eo"
-		RemindTemplateId = "PaHpQjVffrvmeW8wiOUcqlEhnD1LXyU9FnPVF-Jg9wM"
+		TemplateId = "DGvLwidav-OZc07klLv5mxwxO63qHdWS5Cj-rTDvTQo"
+		RemindTemplateId = "rCvkgRatnK_3N9pnQEErUyjFkyVpyAGuYtv3HwY82K4"
 		//同花顺正式地址
 		THS_SendUrl = `https://board.10jqka.com.cn/gateway/ps/syncNews`
 		THS_SyncWxGroupUrl = `https://board.10jqka.com.cn/gateway/ps/syncWechatGroupInfo`
@@ -140,8 +147,8 @@ ZwIDAQAB
 		AdminId = 11
 		WxAppId = "wx9b5d7291e581233a"
 		WxAppSecret = "f4d52e34021eee262dce9682b31f8861"
-		TemplateId = "pDk4o924gSZWj80ZdNnHodnLMIXjPSlKZU0ciQMOhec"
-		RemindTemplateId = "9JYV6sHMJlu2EHRBIj_8ift6wkrrTb9_UO-M_-YXKBw"
+		TemplateId = "DGvLwidav-OZc07klLv5mxwxO63qHdWS5Cj-rTDvTQo"
+		RemindTemplateId = "rCvkgRatnK_3N9pnQEErUyjFkyVpyAGuYtv3HwY82K4"
 		AppointmentRemindTemplateId = `Y59n_AHg-RLCKaz293geW76KDHpGL1qOnE7eF_lxelY` //活动预约通知模板id
 
 		//同花顺测试地址

+ 3 - 17
utils/constants.go

@@ -98,6 +98,8 @@ const (
 	DATA_SOURCE_PREDICT_CALCULATE_TBZ            //预测指标同比值->32
 	DATA_SOURCE_PREDICT_CALCULATE_TCZ            //预测指标同差值->33
 	DATA_SOURCE_MYSTEEL_CHEMICAL                 //钢联化工->34
+	DATA_SOURCE_CALCULATE_CJJX                   //超季节性->35
+	DATA_SOURCE_EIA_STEO                         //eia steo报告->36
 )
 
 //http://datawind.hzinsights.com:8040/hz_server
@@ -143,21 +145,5 @@ const (
 
 //模板消息推送类型
 const (
-	TEMPLATE_MSG_REPORT                = iota + 1 //日度点评报告推送
-	TEMPLATE_MSG_INDEX                            //指标更新
-	TEMPLATE_MSG_APPLY                            //审批通知
-	TEMPLATE_MSG_RECEIVE                          //销售领取客户通知
-	TEMPLATE_MSG_CYGX_ACTIVITY_CACLE              //查研观向活动取消通知
-	TEMPLATE_MSG_CYGX_ACTIVITY_UPDATE             //查研观向活动更改时间通知
-	TEMPLATE_MSG_CYGX_ARTICLE                     //关注的作者发布报告通知
-	TEMPLATE_MSG_CYGX_DAY_REPORT                  //发送日报(周报、双周报、月报)
-	TEMPLATE_MSG_ACTIVITY_APPOINTMENT             //活动预约/报名时间通知
-	TEMPLATE_MSG_RECEIVE_PERMISSION               //销售"添加客户/领取客户"权限变更通知
-	TEMPLATE_MSG_YB_COMMUNITY_QUESTION            //研报问答社区
-	TEMPLATE_MSG_CYGX_ACTIVITY_ADD                //查研观向小程序活动更新推送 12
-	TEMPLATE_MSG_CYGX_ARTICLE_ADD                 //查研观向报告更新推送  13
-	TEMPLATE_MSG_YB_PRICE_DRIVEN                  //研报价格驱动 14
-	TEMPLATE_MSG_SEAL_FINISHED                    //用印申请已迁回通知 15
-	TEMPLATE_MSG_YB_COMMUNITY_VIDEO               //研报视频社区 16
-	TEMPLATE_MSG_YB_VOICE_BROADCAST               //研报语音播报 17
+	TEMPLATE_MSG_YB_VOICE_BROADCAST = 20 //研报语音播报
 )