zoukankan      html  css  js  c++  java
  • EventInbox 在线发送消息与Email给用户

    #server static void markEmailAs(SysEmailItemId _emailItemId,SysEmailStatus _emailStatus, boolean _increaseRetryCount = false)
            #{
            #    SysOutgoingEmailTable outgoingEmailTable;
            #    SAG_BanKIntegrationLog logs;
            #    EventInbox inbox;
            #    EventInboxId inboxId;
            #    ;
            #    ttsbegin;
            #
            #        select forupdate outgoingEmailTable
            #            index hint EmailIdx
            #            where outgoingEmailTable.EmailItemId == _emailItemId;
            #
            #        outgoingEmailTable.Status = _emailStatus;
            #
            #        if (_emailStatus != SysEmailStatus::Executing)
            #        {
            #            outgoingEmailTable.LatestStatusChangeDateTime = DateTimeUtil::getSystemDateTime();
            #        }
            #
            #        if (_increaseRetryCount)
            #            outgoingEmailTable.RetryNum = outgoingEmailTable.RetryNum + 1;
            #
            #        outgoingEmailTable.update();
            #
            #    ttscommit;
            #
            #    ttsbegin;
            #    if(_emailStatus != SysEmailStatus::Unsent)
            #    {
            #        logs = logs.find(outgoingEmailTable.SAG_LogRecId);
            #        if(logs.EmailRec == outgoingEmailTable.RecId)
            #        {
            #            logs.Status = _emailStatus;
            #            logs.EmailUpdateDT = DateTimeUtil::getSystemDateTime();
            #            logs.update();
            #        }
            #    }
            #    ttscommit;
            #    //send alert to user
            #    ttsbegin;
            #    if((_emailStatus == SysEmailStatus::Failed) && outgoingEmailTable.SAG_LogRecId)
            #    {
            #        inboxId = EventInbox::nextEventId();
            #        inbox.initValue();
            #        inbox.ShowPopup = NoYes::Yes;
            #        inbox.Subject = "@HFM1708";
            #        inbox.Message = outgoingEmailTable.Origin;
            #        inbox.AlertedFor = "@HFM1709";
            #        inbox.SendEmail = NoYes::No;
            #        inbox.UserId = outgoingEmailTable.UserId;
            #        inbox.TypeId = classnum(EventType);
            #        inbox.AlertTableId = TableNum(SysOutgoingEmailTable);
            #        inbox.AlertFieldId = fieldNum(SysOutgoingEmailTable ,Status);
            #        inbox.TypeTrigger = EventTypeTrigger::FieldChanged;
            #        inbox.CompanyId = CurExt();
            #        inbox.InboxId = inboxId;
            #        inbox.AlertCreatedDateTime = DateTimeUtil::getSystemDateTime();
            #        inbox.insert();
            #    }
            #    ttscommit;
            #}
          ENDSOURCE

  • 相关阅读:
    案例分享:只因在 update 语句中误用一个双引号,生产数据竟然都变成了 0
    快速了解Service Mesh微服务架构实现服务间gRPC通信
    实战|如何优雅地自定义Prometheus监控指标
    微服务架构中如何快速构建一个数据报告服务?
    k8s微服务接入SkyWalking,三分钟教你怎么玩!
    Python基础-27-面向对象
    Python基础-21-字典
    Jmeter JSON提取器
    Jmeter正则表达式提取器
    访问github,修改host文件
  • 原文地址:https://www.cnblogs.com/perock/p/2294351.html
Copyright © 2011-2022 走看看