Browse Source

no message

xingzai 3 years ago
parent
commit
a9fc171571
5 changed files with 80 additions and 19 deletions
  1. 29 4
      models/activity.go
  2. 42 5
      services/activity.go
  3. 1 1
      services/task.go
  4. 1 2
      services/wx_template_msg.go
  5. 7 7
      utils/config.go

+ 29 - 4
models/activity.go

@@ -140,8 +140,6 @@ type CygxActivityList struct {
 	ActiveState             string `description:"活动进行状态 未开始:1、进行中2、已结束3"`
 	IsCancelMeetingReminder int    `description:"是否取消会议提醒 1展示取消会议提醒 ,0展示会议提醒"`
 	IsBrackets              int    `description:"是否有方括号 1是 ,0 否"`
-	OpenId                  string `description:"OenId"`
-	FailType                int    `description:"失败原因,0,未失败,1总人数已满,2单机构超限制,3,爽约次数超限"`
 }
 
 type GetCygxActivityListRep struct {
@@ -254,8 +252,35 @@ func UpdateActivitySattusToComplete() (err error) {
 	return
 }
 
+//活动详情
+type WxMsgCygxActivityList struct {
+	ActivityId              int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
+	ActivityTypeId          int    `description:"活动类型id"`
+	ActivityName            string `description:"活动名称"`
+	ActivityTypeName        string `description:"活动类型名称"`
+	Speaker                 string `description:"主讲人"`
+	SignupType              int    `description:"报名方式,1预约外呼,2我要报名"`
+	ChartPermissionId       int    `description:"行业id"`
+	ChartPermissionName     string `description:"行业名称"`
+	IsLimitPeople           int    `description:"是否限制人数 1是,0否"`
+	LimitPeopleNum          int    `description:"限制的人数数量"`
+	ActivityTime            string `description:"活动时间"`
+	ActivityTimeText        string `description:"活动时间带文字"`
+	City                    string `description:"城市"`
+	Address                 string `description:"活动地址"`
+	DistinguishedGuest      string `description:"嘉宾"`
+	Expert                  string `description:"专家"`
+	IsSignup                int    `description:"是否已报名 1是 ,0 否"`
+	SignupNum               int    `description:"已报名人数"`
+	ActiveState             string `description:"活动进行状态 未开始:1、进行中2、已结束3"`
+	IsCancelMeetingReminder int    `description:"是否取消会议提醒 1展示取消会议提醒 ,0展示会议提醒"`
+	IsBrackets              int    `description:"是否有方括号 1是 ,0 否"`
+	OpenId                  string `description:"OenId"`
+	FailType                int    `description:"失败原因,0,未失败,1总人数已满,2单机构超限制,3,爽约次数超限"`
+}
+
 //列表
-func GetActivitySendMsgListAll(endDate string) (items []*CygxActivityList, err error) {
+func GetActivitySendMsgListAll(endDate string) (items []*WxMsgCygxActivityList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 	s.fail_type,
@@ -271,7 +296,7 @@ WHERE
 	AND a.publish_status = 1 
 	AND a.activity_time <= ? AND a.activity_time >= NOW() 
 	AND s.is_cancel = 0
-	AND s.fail_type = 0
+	AND( a.activity_type_id IN (4,5,6) OR (a.activity_type_id = 3 AND a.is_limit_people = 1 ))
 	GROUP BY s.activity_id`
 	_, err = o.Raw(sql, endDate).QueryRows(&items)
 	return

+ 42 - 5
services/activity.go

@@ -20,14 +20,13 @@ func UpdateActivitySattus() (err error) {
 	return
 }
 
-//推送会议开始消息提醒
+//推送会议开始消息提醒30分钟前
 func SendActivityBeginMsg() (err error) {
 	defer func() {
 		if err != nil {
 			fmt.Println("发送失败,Err:", err.Error())
 		}
 	}()
-	openIdList := make([]*models.OpenIdList, 0)
 	endDate := time.Now().Add(+time.Minute * 30).Format("2006-01-02 15:04:05")
 	listActivity, err := models.GetActivitySendMsgListAll(endDate)
 	fmt.Println(len(listActivity))
@@ -40,11 +39,11 @@ func SendActivityBeginMsg() (err error) {
 	}
 	var remark = "如报名成功,点击详情可获取专属参会二维码凭证,并在签到时出示。如有住宿,请携带您的有效身份证件。期待与您见面!"
 	for _, v := range listActivity {
-		fmt.Println(v.OpenId)
 		var reserveResults string
 		var first string
 		openIdItem := new(models.OpenIdList)
 		openIdItem.OpenId = "oN0jD1QwcA2uRD0BC4mH5zJMo0eg"
+		//openIdItem.OpenId = v.OpenId
 		openIdList := make([]*models.OpenIdList, 0)
 		openIdList = append(openIdList, openIdItem)
 		if v.FailType == 0 {
@@ -58,9 +57,47 @@ func SendActivityBeginMsg() (err error) {
 		}
 		first = "您有一场【" + v.ActivityTypeName + "】将在30分钟后开始"
 		SendWxMsgWithFrequency(first, v.ActivityName, reserveResults, v.ActivityTime, v.Address, remark, openIdList)
-		//openIdItem.OpenId = v.OpenId
 	}
-	fmt.Println(openIdList)
+	return
+}
+
+//推送会议开始消息提醒15分钟前
+func SendActivityBeginMsgMeeting() (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("发送失败,Err:", err.Error())
+		}
+	}()
+	endDate := time.Now().Add(+time.Minute * 15).Format("2006-01-02 15:04:05")
+	listActivity, err := models.GetActivitySendMsgListAll(endDate)
 	fmt.Println(len(listActivity))
+	if err != nil {
+		fmt.Println("GetActivitySendMsgListAll Err:", err.Error())
+		return
+	}
+	if len(listActivity) == 0 {
+		return
+	}
+	var remark = "如报名成功,点击详情可获取专属参会二维码凭证,并在签到时出示。如有住宿,请携带您的有效身份证件。期待与您见面!"
+	for _, v := range listActivity {
+		var reserveResults string
+		var first string
+		openIdItem := new(models.OpenIdList)
+		openIdItem.OpenId = "oN0jD1QwcA2uRD0BC4mH5zJMo0eg"
+		//openIdItem.OpenId = v.OpenId
+		openIdList := make([]*models.OpenIdList, 0)
+		openIdList = append(openIdList, openIdItem)
+		if v.FailType == 0 {
+			reserveResults = "成功"
+		} else if v.FailType == 1 {
+			reserveResults = "失败(总人数已满)"
+		} else if v.FailType == 2 {
+			reserveResults = "失败(单机构超限制)"
+		} else if v.FailType == 3 {
+			reserveResults = "失败(爽约次数超限)"
+		}
+		first = "您有一场【" + v.ActivityTypeName + "】将在30分钟后开始"
+		SendWxMsgWithFrequency(first, v.ActivityName, reserveResults, v.ActivityTime, v.Address, remark, openIdList)
+	}
 	return
 }

+ 1 - 1
services/task.go

@@ -40,7 +40,7 @@ func Task() {
 
 	//UpdateIndustrialManagementSubjectNnames()
 
-	SendActivityBeginMsg()
+	//SendActivityBeginMsg()
 
 	toolbox.StartTask()
 

+ 1 - 2
services/wx_template_msg.go

@@ -36,8 +36,7 @@ func SendWxMsgWithFrequency(first, activityName, reserveResults, activityTime, a
 	sendMap := make(map[string]interface{})
 	sendData := make(map[string]interface{})
 	sendMap["template_id"] = templateId
-	sendMap["url"] = "https://details.hzinsights.com/raiReportDtl?id=672d30ab508237ac28b92c3472c56688&fromType=manage"
-	sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxPublicAppId, "path": "pages/index/index"}
+	sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "path": "pages/activityDetail/activityDetail?id=6"}
 	//sendMap["miniprogram"] = map[string]interface{}{"appid": "wx4a844c734d8c8e56", "path": "pages/index/index"}
 	sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
 	sendData["activity_name"] = map[string]interface{}{"value": activityName, "color": "#173177"}

+ 7 - 7
utils/config.go

@@ -65,9 +65,9 @@ func init() {
 	}
 	OnlineTime = "2021-06-01 00:00:01" //上线时间
 	if RunMode == "release" {
-		//WxAppId = "wxcc32b61f96720d2f"
-		//WxAppSecret = "06894933fafb24dafead7eaae09c08e0"
-		//WxId = "gh_a9d3744e1072"
+		WxAppId = "wxcc32b61f96720d2f"
+		WxAppSecret = "06894933fafb24dafead7eaae09c08e0"
+		WxId = "gh_a9d3744e1072"
 		//模板消息ID
 		WxMsgTemplateIdApply = "PaoDanHGlt1kFw5q-4_ipJSwO3FyZpxSSNg4rwB7YCk"
 		WxMsgTemplateIdApplyCancel = "iEi4YRHwcPbc2PSEF1pptc39H4NsAJPrUIPEk2ynwiA"
@@ -78,6 +78,9 @@ func init() {
 		WxPublicId = "gh_b67e0049fb8c"
 		IndexName = "cygx_article_v5"
 	} else {
+		WxAppId = "wxcc32b61f96720d2f"
+		WxAppSecret = "06894933fafb24dafead7eaae09c08e0"
+		WxId = "gh_a9d3744e1072"
 		//模板消息ID
 		WxMsgTemplateIdApply = "qfNuops-sKrfIkbA7U97A7gSrX03mUpoEpJksRUdloo"
 		WxMsgTemplateIdApplyCancel = "UU_d7ks0XZBnWg2xFzxL9Heilm4kisX39K7dr4SDdO8"
@@ -85,10 +88,7 @@ func init() {
 		WxMsgTemplateIdActivityApply = "Y59n_AHg-RLCKaz293geW76KDHpGL1qOnE7eF_lxelY"
 		//WxMsgTemplateIdActivityApply = "MwZ5wxfd0O1Yt0Pkf6OkfWP4USQzZbiEo5SkZ26735s"
 		WxMsgTemplateIdActivityChange = "qfNuops-CB7bOl7f3viMG4s1uhRo7WM0Jbx3WvodKuIZ8A_z8fM"
-
-		//WxPublicAppId = "wx9b5d7291e581233a"
-		WxPublicAppId = "wxcc32b61f96720d2f"
-
+		WxPublicAppId = "wx9b5d7291e581233a"
 		WxPublicAppSecret = "f4d52e34021eee262dce9682b31f8861"
 		WxPublicId = "gh_5dc508325c6f"
 		IndexName = "cygx_article_v4"