123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package cygx
- import (
- "errors"
- "fmt"
- "hongze/hz_crm_api/models"
- "hongze/hz_crm_api/models/cygx"
- "hongze/hz_crm_api/services"
- "hongze/hz_crm_api/services/alarm_msg"
- "hongze/hz_crm_api/utils"
- "strconv"
- "time"
- )
- //func init() {
- // fmt.Println(GetCygxMorningMeetingReviewChapterHistoryPvUvMap([]int{111}))
- //}
- // 根据ID获取pvUv
- func GetCygxMorningMeetingReviewChapterHistoryPvUvMap(articleIdArr []int) (mapPvResp, mapUvResp map[int]int) {
- lenArr := len(articleIdArr)
- if lenArr == 0 {
- return
- }
- var err error
- defer func() {
- if err != nil {
- fmt.Println(err)
- go alarm_msg.SendAlarmMsg("根据文章ID获取文章行业分类,信息失败,GetCygxArticlePerssionNameListMap Err:"+err.Error(), 3)
- }
- }()
- var condition string
- var pars []interface{}
- condition = ` AND meeting_id IN (` + utils.GetOrmInReplace(lenArr) + `)`
- pars = append(pars, articleIdArr)
- list, e := cygx.GetCygxMorningMeetingReviewChapterHistoryPvUv(condition, pars)
- if e != nil && e.Error() != utils.ErrNoRow() {
- err = errors.New("GetArticlList, Err: " + e.Error())
- return
- }
- mapPvResp = make(map[int]int, 0)
- mapUvResp = make(map[int]int, 0)
- for _, v := range list {
- mapPvResp[v.ArticleId] = v.Pv
- mapUvResp[v.ArticleId] = v.Uv
- }
- return
- }
- // 添加晨会精华操作日志
- func AddCygxMorningMeetingReviewLog(itemReq *cygx.CygxMorningMeetingReviewChapter, operate, opUserName string, opUserId, status int) {
- var err error
- defer func() {
- if err != nil {
- fmt.Println(err)
- go alarm_msg.SendAlarmMsg("添加晨会精华操作日志 失败,AddCygxMorningMeetingReviewLog Err:"+err.Error(), 3)
- }
- }()
- item := new(cygx.CygxMorningMeetingReviewLog)
- item.MeetingTime = itemReq.MeetingTime
- item.CreateTime = time.Now()
- item.ModifyTime = time.Now()
- item.IndustryId = itemReq.IndustryId
- item.IndustryName = itemReq.IndustryName
- item.ChartPermissionName = itemReq.ChartPermissionName
- item.ChartPermissionId = itemReq.ChartPermissionId
- item.IndustrialSubjectIds = itemReq.IndustrialSubjectIds
- item.MeetingId = int(itemReq.MeetingId)
- item.Content = itemReq.Content
- item.ReportLink = itemReq.ReportLink
- item.LinkArticleId = itemReq.LinkArticleId
- item.Title = itemReq.Title
- //item.Remark = remark
- item.Operate = operate
- item.OpUserName = opUserName
- item.OpUserId = opUserId
- newId, e := cygx.AddCygxMorningMeetingReviewLog(item)
- if e != nil {
- err = errors.New("AddCygxMorningMeetingReviewLog, Err: " + e.Error())
- return
- }
- if status == 2 {
- SendWxMsgMorningMeetingApproveSubmit(int(newId))
- }
- return
- }
- // 晨会点评提交新内容审核时,给合规(指定手机号15721524062、15221002612)发送模板消息
- func SendWxMsgMorningMeetingApproveSubmit(logId int) (err error) {
- defer func() {
- if err != nil {
- go alarm_msg.SendAlarmMsg(fmt.Sprint("晨会点评内容完成审核时,给提交人发送模板消息失败 logId ", logId, err.Error()), 2)
- }
- }()
- time.Sleep(1 * time.Second) // 延迟1秒
- var first string
- var keyword1 string
- var keyword2 string
- var keyword3 string
- var keyword4 string
- var remark string
- logDetail, e := cygx.GetCygxMorningMeetingReviewLogByLogId(logId)
- if e != nil {
- err = errors.New("GetCygxMorningMeetingReviewLogByLogId, Err: " + e.Error())
- return
- }
- meetingId := logDetail.MeetingId
- keyword1 = logDetail.OpUserName
- keyword2 = "--"
- keyword3 = time.Now().Format(utils.FormatDateTime)
- keyword4 = "提交了晨会点评待审核"
- configCode := "cygx_morning_meeting_mobile"
- detailConfig, e := cygx.GetConfigByCode(configCode)
- if e != nil {
- err = errors.New("GetConfigByCode, Err: " + e.Error())
- return
- }
- mobile := detailConfig.ConfigValue
- openIdList, e := models.GetWxOpenIdByMobileList(mobile)
- if e != nil {
- err = errors.New("GetWxOpenIdByMobileList, Err: " + e.Error())
- return
- }
- if len(openIdList) == 0 {
- return
- }
- openIdArr := make([]string, 0)
- for _, v := range openIdList {
- openIdArr = append(openIdArr, v.OpenId)
- }
- redirectUrl := ""
- redirectUrl = utils.WX_MSG_PATH_MORNING_MEETING_LOG_DETAIL + strconv.Itoa(logId)
- if utils.RunMode != "release" {
- redirectUrl = ""
- }
- sendInfo := new(services.SendWxTemplate)
- sendInfo.First = first
- sendInfo.Keyword1 = keyword1
- sendInfo.Keyword2 = keyword2
- sendInfo.Keyword3 = keyword3
- sendInfo.Keyword4 = keyword4
- sendInfo.Remark = remark
- sendInfo.TemplateId = utils.WxMsgTemplateIdAskByUser
- sendInfo.RedirectUrl = redirectUrl
- sendInfo.RedirectTarget = 3
- sendInfo.Resource = strconv.Itoa(meetingId)
- sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
- sendInfo.OpenIdArr = openIdArr
- err = services.SendTemplateMsg(sendInfo)
- return
- }
|