9
9
"ferry/models/system"
10
10
"ferry/pkg/notify"
11
11
"ferry/tools"
12
- "ferry/tools/app"
13
12
"fmt"
14
13
"reflect"
15
14
"time"
@@ -341,7 +340,6 @@ func (h *Handle) HandleWorkOrder(
341
340
currentUserInfo system.SysUser
342
341
sendToUserList []system.SysUser
343
342
noticeList []int
344
- stateList []map [string ]interface {}
345
343
sendSubject string = "您有一条待办工单,请及时处理"
346
344
sendDescription string = "您有一条待办工单请及时处理,工单描述如下"
347
345
)
@@ -635,7 +633,6 @@ func (h *Handle) HandleWorkOrder(
635
633
Where ("user_id = ?" , tools .GetUserId (c )).
636
634
Find (& currentUserInfo ).Error
637
635
if err != nil {
638
- app .Error (c , - 1 , err , fmt .Sprintf ("当前用户查询失败,%v" , err .Error ()))
639
636
return
640
637
}
641
638
@@ -657,10 +654,17 @@ func (h *Handle) HandleWorkOrder(
657
654
h .tx .Rollback ()
658
655
return
659
656
}
657
+
658
+ // 获取流程通知类型列表
659
+ err = json .Unmarshal (processInfo .Notice , & noticeList )
660
+ if err != nil {
661
+ return
662
+ }
663
+
660
664
// 判断目标是否是结束节点
661
665
if h .targetStateValue ["clazz" ] == "end" && h .endHistory == true {
662
- sendSubject = "您的工单已完成 "
663
- sendDescription = "您的工单已完成 ,工单描述如下"
666
+ sendSubject = "您的工单已处理完成 "
667
+ sendDescription = "您的工单已处理完成 ,工单描述如下"
664
668
err = h .tx .Create (& process.CirculationHistory {
665
669
Model : base.Model {},
666
670
Title : h .workOrderDetails .Title ,
@@ -675,20 +679,41 @@ func (h *Handle) HandleWorkOrder(
675
679
h .tx .Rollback ()
676
680
return
677
681
}
682
+
683
+ // 查询工单创建人信息
684
+ err = h .tx .Model (& system.SysUser {}).
685
+ Where ("user_id = ?" , h .workOrderDetails .Creator ).
686
+ Find (& sendToUserList ).Error
687
+ if err != nil {
688
+ return
689
+ }
690
+
691
+ // 发送通知
692
+ go func () {
693
+ bodyData := notify.BodyData {
694
+ SendTo : map [string ]interface {}{
695
+ "userList" : sendToUserList ,
696
+ },
697
+ Subject : sendSubject ,
698
+ Description : sendDescription ,
699
+ Classify : noticeList ,
700
+ ProcessId : h .workOrderDetails .Process ,
701
+ Id : h .workOrderDetails .Id ,
702
+ Title : h .workOrderDetails .Title ,
703
+ Creator : currentUserInfo .NickName ,
704
+ Priority : h .workOrderDetails .Priority ,
705
+ CreatedAt : h .workOrderDetails .CreatedAt .Format ("2006-01-02 15:04:05" ),
706
+ }
707
+ bodyData .SendNotify ()
708
+ }()
678
709
}
679
710
680
711
h .tx .Commit () // 提交事务
681
712
682
713
// 发送通知
683
- err = json .Unmarshal (processInfo .Notice , & noticeList )
684
- if err != nil {
685
- app .Error (c , - 1 , err , "" )
686
- return
687
- }
688
714
if len (noticeList ) > 0 {
689
- sendToUserList , err = GetPrincipalUserInfo (stateList , h .workOrderDetails .Creator )
715
+ sendToUserList , err = GetPrincipalUserInfo (h . updateValue [ "state" ].([] interface {}) , h .workOrderDetails .Creator )
690
716
if err != nil {
691
- app .Error (c , - 1 , err , fmt .Sprintf ("获取所有处理人的用户信息失败,%v" , err .Error ()))
692
717
return
693
718
}
694
719
0 commit comments