using System.Collections; using System.Text.RegularExpressions; using Common; using Custom; using Infrastructure; using LitJson; using Microsoft.CodeAnalysis.CSharp.Scripting; using Model; using Services; namespace Task { public class MakeHelper { public readonly static MakeHelper Instance = new MakeHelper(); private MakeHelper() { } public void Start(string QueueName) { RabbitMQClient.Instance.StartReceive(QueueName, content => DoWorks(content)); } public void DoWorks(string content) { try { if (!string.IsNullOrEmpty(content)) { DoQueue(content); } } catch (Exception ex) { Utils.WriteLog(DateTime.Now.ToString() + "\n" + ex, "接收生成SQL回调异常"); } } public void DoQueue(string content) { string[] array = content.Split(new string[] { "#cut#" }, StringSplitOptions.None); string requestId = array[0]; string attach = array[1]; string data = array[2]; var attachObj = Newtonsoft.Json.JsonConvert.DeserializeObject>(attach); if(attachObj["kind"] == "db") { int databaseId = int.Parse(attachObj["id"]); var dbService = App.GetService(); var databaseInfo = dbService.GetFirst(m => m.id == databaseId) ?? new DatabaseInfo(); var logService = App.GetService(); logService.Add(new DatabaseMakeLog() { createTime = DateTime.Now, updateTime = DateTime.Now, createBy = attachObj["operator"], updateBy = attachObj["operator"], makeObject = 1, makeObjectId = databaseId, makeObjectName = databaseInfo.dbName, makeContent = data, }); } } } }