MakeHelper.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections;
  2. using System.Text.RegularExpressions;
  3. using Common;
  4. using Custom;
  5. using Infrastructure;
  6. using LitJson;
  7. using Microsoft.CodeAnalysis.CSharp.Scripting;
  8. using Model;
  9. using Services;
  10. namespace Task
  11. {
  12. public class MakeHelper
  13. {
  14. public readonly static MakeHelper Instance = new MakeHelper();
  15. private MakeHelper()
  16. { }
  17. public void Start(string QueueName)
  18. {
  19. RabbitMQClient.Instance.StartReceive(QueueName, content => DoWorks(content));
  20. }
  21. public void DoWorks(string content)
  22. {
  23. try
  24. {
  25. if (!string.IsNullOrEmpty(content))
  26. {
  27. DoQueue(content);
  28. }
  29. }
  30. catch (Exception ex)
  31. {
  32. Utils.WriteLog(DateTime.Now.ToString() + "\n" + ex, "接收生成SQL回调异常");
  33. }
  34. }
  35. public void DoQueue(string content)
  36. {
  37. string[] array = content.Split(new string[] { "#cut#" }, StringSplitOptions.None);
  38. string requestId = array[0];
  39. string attach = array[1];
  40. string data = array[2];
  41. var attachObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(attach);
  42. if(attachObj["kind"] == "db")
  43. {
  44. int databaseId = int.Parse(attachObj["id"]);
  45. var dbService = App.GetService<IDatabaseInfoService>();
  46. var databaseInfo = dbService.GetFirst(m => m.id == databaseId) ?? new DatabaseInfo();
  47. var logService = App.GetService<IDatabaseMakeLogService>();
  48. logService.Add(new DatabaseMakeLog()
  49. {
  50. createTime = DateTime.Now,
  51. updateTime = DateTime.Now,
  52. createBy = attachObj["operator"],
  53. updateBy = attachObj["operator"],
  54. makeObject = 1,
  55. makeObjectId = databaseId,
  56. makeObjectName = databaseInfo.dbName,
  57. makeContent = data,
  58. });
  59. }
  60. }
  61. }
  62. }