1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package services
- import (
- "fmt"
- "hongze/hongze_mobile_admin/models/tables/company_approval_message"
- "hongze/hongze_mobile_admin/utils"
- "time"
- )
- // AddCompanyApprovalMessage 添加待办消息
- func AddCompanyApprovalMessage(createUserId, receiveUserId, companyId, companyApprovalId, msgType, sourceType, approvalStatus int, companyName, remark, content, mobile string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("异常提醒:"+utils.RunMode, "给用户发送消息失败,ERR:"+err.Error()+"", utils.EmailSendToUsers)
- go utils.SendEmail("异常提醒:"+utils.RunMode, "给用户发送消息失败,ERR:"+err.Error()+"", utils.EmailSendToUsers)
- }
- }()
- if msgType == 2 {
- company_approval_message.ModifyCompanyApprovalMessage(companyApprovalId, sourceType)
- }
- msgItem := new(company_approval_message.CompanyApprovalMessage)
- msgItem.CreateUserId = createUserId
- msgItem.ReceiveUserId = receiveUserId
- msgItem.MessageStatus = 0 //消息状态:0未读,1:已读,2:作废
- msgItem.Remark = remark
- msgItem.Content = content
- msgItem.CompanyId = companyId
- msgItem.CompanyName = companyName
- msgItem.CreateTime = time.Now()
- msgItem.ModifyTime = time.Now()
- msgItem.CompanyApprovalId = companyApprovalId
- msgItem.OperationStatus = 1 //消息状态:1:待审批,2:已审批
- msgItem.MessageType = msgType //1:申请消息,2:审批结果,3:消息通知
- msgItem.SourceType = sourceType //消息来源,1:客户,2:合同,3:用印
- msgItem.ApprovalStatus = approvalStatus //审批状态,1:待审批,2:已审批,3:已驳回
- err = company_approval_message.AddCompanyApprovalMessage(msgItem)
- if mobile != "" {
- //跳转地址
- 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)
- }
- //审批类型
- switch sourceType {
- case 2:
- wxMsgMap[1] = "合同审批"
- case 3:
- wxMsgMap[1] = "用印审批"
- default:
- wxMsgMap[1] = "客户审批"
- }
- //产生时间
- 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
- }
- }
- go SendCompanyApplyWxTemplateMsg(mobile, redirectUrl, wxAppPath, wxMsgMap)
- }
- return
- }
|