浏览代码

fix 新增模板消息

Roc 3 年之前
父节点
当前提交
3d7f39b3ba
共有 3 个文件被更改,包括 78 次插入15 次删除
  1. 44 1
      services/company_approval_message.go
  2. 24 7
      services/wechat_send_msg.go
  3. 10 7
      utils/config.go

+ 44 - 1
services/company_approval_message.go

@@ -7,6 +7,7 @@ import (
 	"time"
 )
 
+// AddCompanyApprovalMessage 添加待办消息
 func AddCompanyApprovalMessage(createUserId, receiveUserId, companyId, companyApprovalId, msgType, sourceType, approvalStatus int, companyName, remark, content, mobile string) (err error) {
 	defer func() {
 		if err != nil {
@@ -34,7 +35,49 @@ func AddCompanyApprovalMessage(createUserId, receiveUserId, companyId, companyAp
 	msgItem.ApprovalStatus = approvalStatus //审批状态,1:待审批,2:已审批,3:已驳回
 	err = company_approval_message.AddCompanyApprovalMessage(msgItem)
 	if mobile != "" {
-		go SendCompanyApplyWxTemplateMsg(mobile, content)
+		//跳转地址
+		redirectUrl := ""
+		//微信小程序路径
+		wxAppPath := ``
+		//微信消息map数据
+		wxMsgMap := make(map[int]string)
+		switch msgType {
+		case 1:
+			wxMsgMap[0] = "Hi,您有新的审批单待处理"
+		case 2:
+			wxMsgMap[0] = "Hi,您有新的审批单已处理"
+		case 3:
+			wxMsgMap[0] = "Hi,有新的消息待查看"
+			wxAppPath = "pages-todomessages/list/list?type=" + fmt.Sprint(sourceType)
+		}
+		//审批类型
+		wxMsgMap[1] = content
+		//产生时间
+		wxMsgMap[2] = time.Now().Format(utils.FormatDateTime)
+		//任务描述
+		wxMsgMap[3] = content
+
+		//pages-todomessages/list/list?type=1(1:客户,2:合同,3:用印)
+		if sourceType == 1 { //目前只有客户审批才有手机端审核页面
+			redirectUrl = utils.TemplateCompanyApplyRedirectUrl
+		}
+		if wxAppPath == "" {
+			//小程序跳转路径map;下标是:来源_消息类型
+			wxAppPathMap := map[string]string{
+				"1_1": "pages-approve/custome/list",
+				"1_2": "pages-approve/custome/detail?id=" + fmt.Sprint(companyApprovalId),
+				"2_1": "pages-approve/contract/list",
+				"2_2": "pages-approve/contract/detail?ContractApprovalId=0&ContractId=0&ContractApprovalRecordId=" + fmt.Sprint(companyApprovalId),
+				"3_1": "pages-approve/seal/list",
+				"3_2": "pages-approve/seal/detail?ContractApprovalId=0&SealId=0&ContractApprovalRecordId=" + fmt.Sprint(companyApprovalId),
+			}
+			key := fmt.Sprint(sourceType, "_", msgType)
+			if tmpWxAppPath, ok := wxAppPathMap[key]; ok {
+				wxAppPath = tmpWxAppPath
+			}
+		}
+		fmt.Println(mobile, redirectUrl, wxAppPath, wxMsgMap)
+		go SendCompanyApplyWxTemplateMsg(mobile, redirectUrl, wxAppPath, wxMsgMap)
 	}
 	return
 }

+ 24 - 7
services/wechat_send_msg.go

@@ -127,7 +127,8 @@ type SendTemplateResponse struct {
 	MsgID   int    `json:"msgid"`
 }
 
-func SendCompanyApplyWxTemplateMsg(mobile, applyType string) (err error) {
+// SendCompanyApplyWxTemplateMsg 发送待办消息
+func SendCompanyApplyWxTemplateMsg(mobile, redirectUrl, wxAppPath string, wxMsgMap map[int]string) (err error) {
 	var msg string
 	defer func() {
 		if err != nil {
@@ -168,12 +169,24 @@ func SendCompanyApplyWxTemplateMsg(mobile, applyType string) (err error) {
 		sendMap := make(map[string]interface{})
 		sendData := make(map[string]interface{})
 
-		redirectUrl := "" //utils.TemplateRedirectUrl + strconv.Itoa(reportId)
-		keyword1 := applyType
-		first := "Hi,有新的订单需要审批"
-		keyword2 := time.Now().Format(utils.FormatDateTime)
-		keyword3 := ""
-		remark := ""
+		var first, keyword1, keyword2, keyword3, remark string
+		if tmpStr, ok := wxMsgMap[0]; ok {
+			first = tmpStr
+		} else {
+			first = "Hi,有新的订单需要审批"
+		}
+		if tmpStr, ok := wxMsgMap[1]; ok {
+			keyword1 = tmpStr
+		}
+		if tmpStr, ok := wxMsgMap[2]; ok {
+			keyword2 = tmpStr
+		}
+		if tmpStr, ok := wxMsgMap[3]; ok {
+			keyword3 = tmpStr
+		}
+		if tmpStr, ok := wxMsgMap[4]; ok {
+			remark = tmpStr
+		}
 
 		sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
 		sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": "#173177"}
@@ -184,6 +197,10 @@ func SendCompanyApplyWxTemplateMsg(mobile, applyType string) (err error) {
 		sendMap["template_id"] = utils.TemplateIdByCompanyApply
 		sendMap["url"] = redirectUrl
 		sendMap["data"] = sendData
+		//小程序信息
+		if wxAppPath != "" {
+			sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId2, "pagepath": wxAppPath}
+		}
 		sendTemplateMsg(sendUrl, sendMap, openIdList)
 	}
 	utils.FileLog.Info("send end")

+ 10 - 7
utils/config.go

@@ -14,13 +14,14 @@ var (
 
 //微信配置信息
 var (
-	WxId                     string //微信原始ID
-	WxAppId                  string
-	WxAppSecret              string
-	TemplateIdByProduct      string //产品运行报告通知-模板ID
-	TemplateRedirectUrl      string //模板消息跳转地址
-	WxPlatform               int    //用户来源,需要入库,用来保存该用户来自哪个平台,默认是:1
-	TemplateIdByCompanyApply string //客户申请单审批通知-模板ID
+	WxId                            string //微信原始ID
+	WxAppId                         string
+	WxAppSecret                     string
+	TemplateIdByProduct             string //产品运行报告通知-模板ID
+	TemplateRedirectUrl             string //模板消息跳转地址
+	WxPlatform                      int    //用户来源,需要入库,用来保存该用户来自哪个平台,默认是:1
+	TemplateIdByCompanyApply        string //客户申请单审批通知-模板ID
+	TemplateCompanyApplyRedirectUrl string //审批单模板消息跳转地址
 
 	//微信小程序appid
 	WxId2        string //微信原始ID
@@ -72,6 +73,7 @@ func init() {
 		TemplateRedirectUrl = "https://ficc.hzinsights.com/reportdtl?id="
 		WxPlatform = 1
 		TemplateIdByCompanyApply = "ZKcOfNIWBpwHJxpptufHIK1mp2nIwkT3cxub-35cFqI"
+		TemplateCompanyApplyRedirectUrl = "https://ficc.hzinsights.com/approval/approval/list"
 
 		//oss
 		STATIC_DIR = "/home/static/imgs/"
@@ -85,6 +87,7 @@ func init() {
 		TemplateRedirectUrl = "http://rddpweb.brilliantstart.cn/reportdtl?id="
 		WxPlatform = 1
 		TemplateIdByCompanyApply = "eTalI1LbiT_B0mTaBeDTlfSMITenK8dQIgEB5yqjjvA"
+		TemplateCompanyApplyRedirectUrl = "http://advisoryadmin.brilliantstart.cn/approval/approval/list"
 
 		//oss配置
 		STATIC_DIR = "static/imgs/"