SendMessageStatement.cs 987 B

123456789101112131415161718192021222324252627282930
  1. using IwbZero.IocNamed;
  2. using IwbZero.IwbBase;
  3. using IwbZero.ToolCommon.StringModel;
  4. using WeEngine.ComponentInfo;
  5. using WeEngine.Components.InterfaceFactory;
  6. using WeEngine.Enum;
  7. namespace WeEngine.Components.Statements
  8. {
  9. /// <summary>
  10. /// 发送消息
  11. /// </summary>
  12. [IocNamed(CompStmtType.SendMessage)]
  13. public class SendMessageStatement : IStatementRunner
  14. {
  15. public bool Run(ComponentRunner runner, IwbXmlNode poStatement)
  16. {
  17. var curNode = runner.CurrentNode;
  18. var msgType = poStatement.GetChildValue("MsgType").IsNotEmpty()
  19. ? poStatement.GetChildValue("MsgType").GetEnumByName<MessageType>()
  20. : MessageType.CommonMessage;
  21. var msg = poStatement.GetChildValue("Content");
  22. curNode.CurPackageInfo.MessageSender.SendMsg(msgType, curNode.CurPackageInfo.RunningId,
  23. curNode.CurPackageInfo.TargetClientId, msg);
  24. return true;
  25. }
  26. }
  27. }