EventInbox 在线发送消息与Email给用户
2011-12-20 10:33
441 查看
#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
#{
# 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
相关文章推荐
- AX向在线用户发送消息
- 广泛使用的一个对特定在线用户发送系统消息的程序
- smack+openfire插件实现广播。向所有在线用户发送消息。
- 投票结果显示: iPhone用户更有可能喜欢发送暧昧消息
- 【SSH网上商城项目实战25】使用java email给用户发送邮件
- Remoting异步回调,向在线用户广播消息
- [精彩] 疑问:文件/图片上传、在线发送EMAIL?
- 发送消息---被动回复用户消息
- linux 终端中向其他用户发送消息
- linux 终端中向其他用户发送消息
- 在网页里实现在线发送msn消息
- React-Native新版本RCTEventEmitter的使用(从原生发送消息到JS)
- 内核模块向用户进程发送消息
- linux向用户发送消息
- 2017微信数据报告 截至9月日登录用户超9亿日发送消息380亿次
- 公众号用户发送消息后台PHP回复没有反应的解决办法
- openfire服务端消息回执插件(接收方离线时的情况),判断用户的在线状态
- Java实现app接口和Socket消息传递(11)获取在线用户列表
- linux 终端中向其他用户发送消息
- linux 终端中向其他用户发送消息