完善邮件通知功能。
This commit is contained in:
@@ -9,7 +9,6 @@ import (
|
||||
"ferry/models/system"
|
||||
"ferry/pkg/notify"
|
||||
"ferry/tools"
|
||||
"ferry/tools/app"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"time"
|
||||
@@ -341,7 +340,6 @@ func (h *Handle) HandleWorkOrder(
|
||||
currentUserInfo system.SysUser
|
||||
sendToUserList []system.SysUser
|
||||
noticeList []int
|
||||
stateList []map[string]interface{}
|
||||
sendSubject string = "您有一条待办工单,请及时处理"
|
||||
sendDescription string = "您有一条待办工单请及时处理,工单描述如下"
|
||||
)
|
||||
@@ -635,7 +633,6 @@ func (h *Handle) HandleWorkOrder(
|
||||
Where("user_id = ?", tools.GetUserId(c)).
|
||||
Find(¤tUserInfo).Error
|
||||
if err != nil {
|
||||
app.Error(c, -1, err, fmt.Sprintf("当前用户查询失败,%v", err.Error()))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -657,10 +654,17 @@ func (h *Handle) HandleWorkOrder(
|
||||
h.tx.Rollback()
|
||||
return
|
||||
}
|
||||
|
||||
// 获取流程通知类型列表
|
||||
err = json.Unmarshal(processInfo.Notice, ¬iceList)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// 判断目标是否是结束节点
|
||||
if h.targetStateValue["clazz"] == "end" && h.endHistory == true {
|
||||
sendSubject = "您的工单已完成"
|
||||
sendDescription = "您的工单已完成,工单描述如下"
|
||||
sendSubject = "您的工单已处理完成"
|
||||
sendDescription = "您的工单已处理完成,工单描述如下"
|
||||
err = h.tx.Create(&process.CirculationHistory{
|
||||
Model: base.Model{},
|
||||
Title: h.workOrderDetails.Title,
|
||||
@@ -675,20 +679,41 @@ func (h *Handle) HandleWorkOrder(
|
||||
h.tx.Rollback()
|
||||
return
|
||||
}
|
||||
|
||||
// 查询工单创建人信息
|
||||
err = h.tx.Model(&system.SysUser{}).
|
||||
Where("user_id = ?", h.workOrderDetails.Creator).
|
||||
Find(&sendToUserList).Error
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// 发送通知
|
||||
go func() {
|
||||
bodyData := notify.BodyData{
|
||||
SendTo: map[string]interface{}{
|
||||
"userList": sendToUserList,
|
||||
},
|
||||
Subject: sendSubject,
|
||||
Description: sendDescription,
|
||||
Classify: noticeList,
|
||||
ProcessId: h.workOrderDetails.Process,
|
||||
Id: h.workOrderDetails.Id,
|
||||
Title: h.workOrderDetails.Title,
|
||||
Creator: currentUserInfo.NickName,
|
||||
Priority: h.workOrderDetails.Priority,
|
||||
CreatedAt: h.workOrderDetails.CreatedAt.Format("2006-01-02 15:04:05"),
|
||||
}
|
||||
bodyData.SendNotify()
|
||||
}()
|
||||
}
|
||||
|
||||
h.tx.Commit() // 提交事务
|
||||
|
||||
// 发送通知
|
||||
err = json.Unmarshal(processInfo.Notice, ¬iceList)
|
||||
if err != nil {
|
||||
app.Error(c, -1, err, "")
|
||||
return
|
||||
}
|
||||
if len(noticeList) > 0 {
|
||||
sendToUserList, err = GetPrincipalUserInfo(stateList, h.workOrderDetails.Creator)
|
||||
sendToUserList, err = GetPrincipalUserInfo(h.updateValue["state"].([]interface{}), h.workOrderDetails.Creator)
|
||||
if err != nil {
|
||||
app.Error(c, -1, err, fmt.Sprintf("获取所有处理人的用户信息失败,%v", err.Error()))
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user