|
@@ -6,9 +6,97 @@ import (
|
|
|
"hongze/hongze_clpt/models"
|
|
|
"hongze/hongze_clpt/utils"
|
|
|
"strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
+// 研选专栏有新内容审核通过时,给关注此专栏的客户发送模板消息
|
|
|
+func SendWxMsgSpecialFollow(specialId int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("研选专栏有新内容审核通过时,给关注此专栏的客户发送模板消息失败", specialId, ", specialId", err.Error()), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var first string
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var remark string
|
|
|
+
|
|
|
+ followers, e := models.GetYanxuanSpecialFollowUserById(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(followers) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ specialItem, e := models.GetYanxuanSpecialItemById(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var allInUserId string
|
|
|
+ for _, v := range followers {
|
|
|
+ allInUserId += strconv.Itoa(v) + ","
|
|
|
+ }
|
|
|
+
|
|
|
+ allInUserId = strings.TrimRight(allInUserId, ",")
|
|
|
+
|
|
|
+ userList, err := models.GetWxUserListByUserIds(allInUserId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ mobile := ``
|
|
|
+
|
|
|
+ for _, v := range userList {
|
|
|
+ mobile += v.Mobile + ","
|
|
|
+ }
|
|
|
+
|
|
|
+ mobile = strings.TrimRight(mobile, ",")
|
|
|
+
|
|
|
+ openIdList, e := models.GetWxOpenIdByMobileList(mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSellerByAdminId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //first =
|
|
|
+ keyword1 = "研选专栏:" + specialItem.SpecialName
|
|
|
+ keyword2 = "发布了新内容,点击查看详情"
|
|
|
+ keyword3 = "-"
|
|
|
+ //keyword4 = "【" + activityInfo.ResearchTheme + "】已有10人预报名"
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ redirectUrl := ""
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_YX_SPECIAL_DETAIL + strconv.Itoa(specialId)
|
|
|
+ sendInfo := new(SendWxTemplate)
|
|
|
+ sendInfo.First = first
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
+ sendInfo.Keyword3 = keyword3
|
|
|
+ sendInfo.Keyword4 = keyword4
|
|
|
+ sendInfo.Remark = remark
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdAskMsgXzs
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.Resource = strconv.Itoa(specialId)
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = PublicSendTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// SendReviewTemplateMsgAdmin 提交审核时给王芳,汪洋发消息
|
|
|
func SendReviewTemplateMsgAdmin(specialId int) (err error) {
|
|
|
defer func() {
|
|
@@ -73,6 +161,70 @@ func SendReviewTemplateMsgAdmin(specialId int) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// 研选专栏审核完成时,给提交人发送模板消息
|
|
|
+func SendWxMsgSpecialAuthor(specialId, status int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("研选专栏审核完成时,给提交人发送模板消息", specialId, ", specialId", err.Error()), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var first string
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var remark string
|
|
|
+ var redirectUrl string
|
|
|
+
|
|
|
+ specialItem, e := models.GetYanxuanSpecialItemById(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ user, e := models.GetWxUserItemByUserId(specialItem.UserId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetWxUserItemByUserId, Err: " + e.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ openIdList, err := models.GetUserRecordListByMobile(4, user.Mobile)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ keyword1 = "研选专栏内容审核"
|
|
|
+ if status == 1 {
|
|
|
+ keyword2 = "已通过审核,点击查看详情"
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_YX_SPECIAL_DETAIL + strconv.Itoa(specialId)
|
|
|
+ } else {
|
|
|
+ keyword2 = "未通过审核,点击查看驳回原因"
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_YX_SPECIAL_CENTER
|
|
|
+ }
|
|
|
+ keyword3 = "-"
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ sendInfo := new(SendWxTemplate)
|
|
|
+ sendInfo.First = first
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
+ sendInfo.Keyword3 = keyword3
|
|
|
+ sendInfo.Keyword4 = keyword4
|
|
|
+ sendInfo.Remark = remark
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdArticleUserRemind
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.Resource = strconv.Itoa(specialId)
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = PublicSendTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// 更新研选专栏 写入首页最新 cygx_resource_data 表
|
|
|
func UpdateYanxuanSpecialResourceData(sourceId int) {
|
|
|
var err error
|
|
@@ -189,3 +341,51 @@ func GetBestNewYanxuanSpecialByUserId(userIds []int) (mapResp map[int]*models.Cy
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// 研选专栏审批记录
|
|
|
+func AddAddCygxYanxuanSpecialApprovalLog(user *models.WxUserItem, specialId, status int, reason string) {
|
|
|
+ var err error
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("获取研选专栏用户信息失败,GetYanxuanSpecialAuthorInfo Err ", err, "userId", user.UserId), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ detail, e := models.GetYanxuanSpecialBySpecialId(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialBySpecialId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ specialAuthor, e := models.GetCygxYanxuanSpecialAuthorByUserId(detail.UserId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxYanxuanSpecialAuthorByUserId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ item := new(models.CygxYanxuanSpecialApprovalLog)
|
|
|
+ item.UserId = detail.UserId
|
|
|
+ item.Content = detail.Content
|
|
|
+ item.Tags = detail.Tags
|
|
|
+ item.ApprovalStatus = status
|
|
|
+ item.ImgUrl = detail.ImgUrl
|
|
|
+ item.DocUrl = detail.DocUrl
|
|
|
+ item.Reason = reason
|
|
|
+ item.Title = detail.Title
|
|
|
+ item.Type = detail.Type
|
|
|
+ item.CompanyTags = detail.CompanyTags
|
|
|
+ item.IndustryTags = detail.IndustryTags
|
|
|
+ item.YanxuanSpecialId = specialId
|
|
|
+ item.AdminName = user.RealName
|
|
|
+ item.AdminUserId = user.UserId
|
|
|
+ item.SpecialName = specialAuthor.SpecialName
|
|
|
+ item.NickName = specialAuthor.NickName
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
+
|
|
|
+ e = models.AddCygxYanxuanSpecialApprovalLog(item)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("AddCygxYanxuanSpecialApprovalLog, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|