• 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

  • 相关阅读:
    【PowerOJ1754&网络流24题】负载平衡问题(费用流)
    【PowerOJ1753&网络流24题】分配问题(KM)
    【PowerOJ1752&网络流24题】运输问题(费用流)
    【PowerOJ1751&网络流24题】数字梯形问题(费用流)
    【PowerOJ1746&网络流24题】航空路线问题(费用流)
    【PowerOJ1744&网络流24题】方格取数问题(最小割)
    【PowerOJ1742&网络流24题】试题库问题(最大流)
    【PowerOJ1741&网络流24题】最长递增子序列问题(最大流)
    【PowerOJ1739&网络流24题】魔术球问题(最大流)
    邮件系统相关协议之SMTP
  • 原文地址:https://www.cnblogs.com/perock/p/2294351.html
Copyright © 2020-2023  润新知