MakeHelper.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System.Collections;
  2. using System.Text.RegularExpressions;
  3. using Common;
  4. using LitJson;
  5. using Microsoft.CodeAnalysis.CSharp.Scripting;
  6. namespace Task
  7. {
  8. public class MakeHelper
  9. {
  10. public readonly static MakeHelper Instance = new MakeHelper();
  11. private MakeHelper()
  12. { }
  13. public void Start(string QueueName)
  14. {
  15. RabbitMQClient.Instance.StartReceive(QueueName, content => DoWorks(content));
  16. }
  17. public void DoWorks(string content)
  18. {
  19. try
  20. {
  21. if (!string.IsNullOrEmpty(content))
  22. {
  23. DoQueue(content);
  24. }
  25. }
  26. catch (Exception ex)
  27. {
  28. Utils.WriteLog(DateTime.Now.ToString() + "\n" + ex, "生成异常");
  29. }
  30. }
  31. public void DoQueue(string content)
  32. {
  33. JsonData jsonObj = JsonMapper.ToObject(content);
  34. string requestId = jsonObj["requestId"].ToString();
  35. string modePath = jsonObj["modePath"].ToString();
  36. string templateString = Function.ReadInstance("Template/" + modePath); //读取数据库sql模板
  37. string resultString = Util.Maker.StartMake(jsonObj["data"], templateString);
  38. RabbitMQClient.Instance.Push("MakeSqlCallBackQueue", requestId + "#cut#" + resultString);
  39. }
  40. }
  41. }