Преглед на файлове

Merge branch 'cygx/cygx_14_8' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

zhangchuanxing преди 1 ден
родител
ревизия
39b64be4a4
променени са 4 файла, в които са добавени 132 реда и са изтрити 37 реда
  1. 23 18
      controllers/cygx/morning_meeting_review.go
  2. 9 2
      models/cygx/morning_meeting_review_log.go
  3. 84 2
      services/cygx/morning_meeting.go
  4. 16 15
      utils/constants.go

+ 23 - 18
controllers/cygx/morning_meeting_review.go

@@ -176,11 +176,16 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 		OpUserId:      sysUser.AdminId,
 		OpUserName:    sysUser.RealName,
 	}
-	reviewItem.Status = 2
+	if reqList.DoType == 1 {
+		reviewItem.Status = 2
+	}
+
 	if reqList.MeetingId <= 0 {
 		if reqList.DoType == 1 {
-			reviewItem.PublishTime = time.Now()
-
+			//reviewItem.PublishTime = time.Now()
+			//reviewItem.Status = 2
+		} else {
+			reviewItem.Status = 5
 		}
 
 		meetingId, err := cygx.AddCygxMorningMeetingReviews(&reviewItem)
@@ -257,10 +262,10 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 			br.Msg = "保存成功"
 			br.Data = meetingId
 		} else {
-			for _, item := range reqList.List {
-				go services.SendWxMsgWithCygxMorningMeeting(int(meetingId), item.IndustryId, item.IndustryName)
-				go cygxService.UpdateIndustrialManagementTimeLineDateList3ByRedis(item.IndustryId) //处理产业管理时间线相关内容的数据
-			}
+			//for _, item := range reqList.List {
+			//go services.SendWxMsgWithCygxMorningMeeting(int(meetingId), item.IndustryId, item.IndustryName)
+			//	go cygxService.UpdateIndustrialManagementTimeLineDateList3ByRedis(item.IndustryId) //处理产业管理时间线相关内容的数据
+			//}
 			//添加到首页最新
 			listchapter, err := cygx.GetCygxMorningMeetingReviewsListById(int(meetingId))
 			if err != nil {
@@ -270,9 +275,9 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 			}
 			for _, itemchapter := range listchapter {
 				//go cygxService.UpdateResourceData(itemchapter.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
-				go cygxService.UpdateMeetingreviewchaptResourceData(itemchapter.Id)                                 //写入首页最新  cygx_resource_data 表
-				go elastic.AddComprehensiveMeetingreviewchapt(itemchapter.Id)                                       //Es添加晨会精华
-				go cygxService.AddCygxMorningMeetingReviewLog(itemchapter, "发布", sysUser.RealName, sysUser.AdminId) //添加晨会精华日志信息,并发送模版消息
+				//go cygxService.UpdateMeetingreviewchaptResourceData(itemchapter.Id)                                 //写入首页最新  cygx_resource_data 表
+				//go elastic.AddComprehensiveMeetingreviewchapt(itemchapter.Id)                                       //Es添加晨会精华
+				go cygxService.AddCygxMorningMeetingReviewLog(itemchapter, "发布", sysUser.RealName, sysUser.AdminId, 2) //添加晨会精华日志信息,并发送模版消息
 			}
 			br.Msg = "发布成功"
 			br.Data = meetingId
@@ -290,10 +295,10 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 		}
 
 		if reqList.DoType == 1 {
-			reviewItem.PublishTime = time.Now()
-			reviewItem.Status = 1
+			//reviewItem.PublishTime = time.Now()
+			//reviewItem.Status = 2
 		} else {
-			reviewItem.PublishTime = reviewInfo.PublishTime
+			//reviewItem.PublishTime = reviewInfo.PublishTime
 			reviewItem.Status = reviewInfo.Status
 		}
 
@@ -435,10 +440,10 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 		if reqList.DoType == 0 {
 			br.Msg = "保存成功"
 		} else {
-			for _, item := range reqList.List {
-				go services.SendWxMsgWithCygxMorningMeeting(reqList.MeetingId, item.IndustryId, item.IndustryName)
-				go cygxService.UpdateIndustrialManagementTimeLineDateList3ByRedis(item.IndustryId) //处理产业管理时间线相关内容的数据
-			}
+			//for _, item := range reqList.List {
+			//	go services.SendWxMsgWithCygxMorningMeeting(reqList.MeetingId, item.IndustryId, item.IndustryName)
+			//	go cygxService.UpdateIndustrialManagementTimeLineDateList3ByRedis(item.IndustryId) //处理产业管理时间线相关内容的数据
+			//}
 			for _, itemchapter := range listchapter {
 				//go cygxService.UpdateResourceData(itemchapter.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
 				go cygxService.UpdateMeetingreviewchaptResourceData(itemchapter.Id) //写入首页最新  cygx_resource_data 表
@@ -945,7 +950,7 @@ func (this *MorningMeetingController) ApproveSubmitReport() {
 		return
 	}
 	for _, itemchapter := range listchapter {
-		go cygxService.AddCygxMorningMeetingReviewLog(itemchapter, operate, sysUser.RealName, sysUser.AdminId) //添加晨会精华日志信息,并发送模版消息
+		go cygxService.AddCygxMorningMeetingReviewLog(itemchapter, operate, sysUser.RealName, sysUser.AdminId, status) //添加晨会精华日志信息,并发送模版消息
 	}
 
 	br.Ret = 200

+ 9 - 2
models/cygx/morning_meeting_review_log.go

@@ -27,8 +27,15 @@ type CygxMorningMeetingReviewLog struct {
 }
 
 // 添加晨报点评章节日志信息
-func AddCygxMorningMeetingReviewLog(item *CygxMorningMeetingReviewLog) (err error) {
+func AddCygxMorningMeetingReviewLog(item *CygxMorningMeetingReviewLog) (newId int64, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
-	_, err = o.Insert(item)
+	newId, err = o.Insert(item)
+	return
+}
+
+func GetCygxMorningMeetingReviewLogByLogId(logId int) (item *CygxMorningMeetingReviewLog, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT * FROM cygx_morning_meeting_review_log WHERE  log_id =  ? `
+	err = o.Raw(sql, logId).QueryRow(&item)
 	return
 }

+ 84 - 2
services/cygx/morning_meeting.go

@@ -3,9 +3,12 @@ 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"
 )
 
@@ -46,7 +49,7 @@ func GetCygxMorningMeetingReviewChapterHistoryPvUvMap(articleIdArr []int) (mapPv
 }
 
 // 添加晨会精华操作日志
-func AddCygxMorningMeetingReviewLog(itemReq *cygx.CygxMorningMeetingReviewChapter, operate, opUserName string, opUserId int) (mapPvResp, mapUvResp map[int]int) {
+func AddCygxMorningMeetingReviewLog(itemReq *cygx.CygxMorningMeetingReviewChapter, operate, opUserName string, opUserId, status int) {
 
 	var err error
 	defer func() {
@@ -75,6 +78,85 @@ func AddCygxMorningMeetingReviewLog(itemReq *cygx.CygxMorningMeetingReviewChapte
 	item.OpUserName = opUserName
 	item.OpUserId = opUserId
 
-	err = cygx.AddCygxMorningMeetingReviewLog(item)
+	newId, e := cygx.AddCygxMorningMeetingReviewLog(item)
+	if e != nil {
+		err = errors.New("AddCygxMorningMeetingReviewLog, Err: " + e.Error())
+		return
+	}
+
+	if status == 2 {
+		go 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)
+		}
+	}()
+	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
 }

+ 16 - 15
utils/constants.go

@@ -504,21 +504,22 @@ const (
 
 // 查研观向小程序 模板消息地址路由
 const (
-	WX_MSG_PATH_ARTICLE_DETAIL                  = "pageMy/reportDetail/reportDetail?IsSendWx=1&id="                          //文章详情模板消息地址
-	WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL         = "activityPages/specialDetail/specialDetail?IsSendWx=1&id="                 //专项调研活动模板消息地址
-	WX_MSG_PATH_ROAD_ESSENCE                    = "reportPages/roadEssence/roadEssence?IsSendWx=1&id="                       //路演精华模板消息地址
-	WX_MSG_PATH_ACTIVITY_DETAIL                 = "activityPages/activityDetail/activityDetail?IsSendWx=1&id="               //活动模板消息地址
-	WX_MSG_PATH_PRODUCTINTERIOR_DETAIL          = "reportPages/internalDetials/internalDetials?IsSendWx=1&id="               //产品内测模版消息地址
-	WX_MSG_PATH_ACTIVITY_SIGNIN                 = "pages-signIn/isSignIn/isSignIn"                                           //扫s码签到地址
-	WX_MSG_PATH_THIS_WEEK_DETAIL                = "/reportPages/reportSecretDetail/reportSecretDetail?type=2&IsSendWx=1&id=" //本周研究汇总详情模板消息地址
-	WX_MSG_PATH_LAST_WEEK_DETAIL                = "/reportPages/reportSecretDetail/reportSecretDetail?type=3&IsSendWx=1&id=" //上周纪要汇总详情模板消息地址
-	WX_MSG_PATH_KEY_COMPANY_DETAIL              = "/reportPages/keyCompany/keyCompany?IsSendWx=1&id="                        //重点公司详情模板消息地址
-	WX_MSG_PATH_INDUSTRY_DETAIL                 = "/reportPages/IndustryReport/IndustryReport?IsSendWx=1&id="                //产业详情模板消息地址
-	CYGX_YANXUAN_POINTS_KEY              string = "CYGX_YANXUAN_POINTS_KEY"                                                  //查研观向研选活动扣点KEY(冲突,先放这里)
-	WX_MSG_PATH_YX_SPECIAL_DETAIL               = "pages-purchaser/noteAndViewpoint/noteAndViewpoint?IsSendWx=1&id="         //研选专栏详情
-	WX_MSG_PATH_YX_SPECIAL_ENABLE_DETAIL        = "pages-purchaser/toExamine/toExamine?IsSendWx=1&id="                       //研选专栏审核详情页面
-	WX_MSG_PATH_YX_SPECIAL_CENTER               = "pages-purchaser/contentAllPage/contentAllPage?Status=4"                   //研选专栏内容中心
-	WX_MSG_PATH_QUESTIONNAIRE_DETAIL            = "pages-purchaser/themeVote/themeVote?IsSendWx=1&id="                       //问卷调查详情页
+	WX_MSG_PATH_ARTICLE_DETAIL                    = "pageMy/reportDetail/reportDetail?IsSendWx=1&id="                          //文章详情模板消息地址
+	WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL           = "activityPages/specialDetail/specialDetail?IsSendWx=1&id="                 //专项调研活动模板消息地址
+	WX_MSG_PATH_ROAD_ESSENCE                      = "reportPages/roadEssence/roadEssence?IsSendWx=1&id="                       //路演精华模板消息地址
+	WX_MSG_PATH_ACTIVITY_DETAIL                   = "activityPages/activityDetail/activityDetail?IsSendWx=1&id="               //活动模板消息地址
+	WX_MSG_PATH_PRODUCTINTERIOR_DETAIL            = "reportPages/internalDetials/internalDetials?IsSendWx=1&id="               //产品内测模版消息地址
+	WX_MSG_PATH_ACTIVITY_SIGNIN                   = "pages-signIn/isSignIn/isSignIn"                                           //扫s码签到地址
+	WX_MSG_PATH_THIS_WEEK_DETAIL                  = "/reportPages/reportSecretDetail/reportSecretDetail?type=2&IsSendWx=1&id=" //本周研究汇总详情模板消息地址
+	WX_MSG_PATH_LAST_WEEK_DETAIL                  = "/reportPages/reportSecretDetail/reportSecretDetail?type=3&IsSendWx=1&id=" //上周纪要汇总详情模板消息地址
+	WX_MSG_PATH_KEY_COMPANY_DETAIL                = "/reportPages/keyCompany/keyCompany?IsSendWx=1&id="                        //重点公司详情模板消息地址
+	WX_MSG_PATH_INDUSTRY_DETAIL                   = "/reportPages/IndustryReport/IndustryReport?IsSendWx=1&id="                //产业详情模板消息地址
+	CYGX_YANXUAN_POINTS_KEY                string = "CYGX_YANXUAN_POINTS_KEY"                                                  //查研观向研选活动扣点KEY(冲突,先放这里)
+	WX_MSG_PATH_YX_SPECIAL_DETAIL                 = "pages-purchaser/noteAndViewpoint/noteAndViewpoint?IsSendWx=1&id="         //研选专栏详情
+	WX_MSG_PATH_YX_SPECIAL_ENABLE_DETAIL          = "pages-purchaser/toExamine/toExamine?IsSendWx=1&id="                       //研选专栏审核详情页面
+	WX_MSG_PATH_YX_SPECIAL_CENTER                 = "pages-purchaser/contentAllPage/contentAllPage?Status=4"                   //研选专栏内容中心
+	WX_MSG_PATH_QUESTIONNAIRE_DETAIL              = "pages-purchaser/themeVote/themeVote?IsSendWx=1&id="                       //问卷调查详情页
+	WX_MSG_PATH_MORNING_MEETING_LOG_DETAIL        = "pages-meeting/toExamine/toExamine?LogId="                                 //晨会精华模板消息日志跳转详情
 )
 
 // 图表类型