Browse Source

添加创客信息同步队列

lcl 10 months ago
parent
commit
524e3cd28b
3 changed files with 60 additions and 2 deletions
  1. 12 2
      AppStart/RabbitMQClient.cs
  2. 47 0
      AppStart/Service/SycnJavaUsersService.cs
  3. 1 0
      Startup.cs

+ 12 - 2
AppStart/RabbitMQClient.cs

@@ -252,9 +252,19 @@ namespace MySystem
             {
             {
                 string MsgContent = Encoding.Default.GetString(e.Body.ToArray());
                 string MsgContent = Encoding.Default.GetString(e.Body.ToArray());
                 function.WriteLog(MsgContent, "接收mq数据队列");
                 function.WriteLog(MsgContent, "接收mq数据队列");
-                if(SycnSpBindService.Instance.SimDo(MsgContent))
+                if(QueueName == "QUEUE_KXS_TO_LKB_USER_INFO_DIVISION")
                 {
                 {
-                    channel.BasicAck(e.DeliveryTag, true); //收到回复后,RabbitMQ会直接在队列中删除这条消息
+                    if(SycnJavaUsersService.Instance.Add(MsgContent))
+                    {
+                        channel.BasicAck(e.DeliveryTag, true); //收到回复后,RabbitMQ会直接在队列中删除这条消息
+                    }
+                }
+                else
+                {
+                    if(SycnSpBindService.Instance.SimDo(MsgContent))
+                    {
+                        channel.BasicAck(e.DeliveryTag, true); //收到回复后,RabbitMQ会直接在队列中删除这条消息
+                    }
                 }
                 }
             };
             };
             channel.BasicConsume(QueueName, false, consumer);
             channel.BasicConsume(QueueName, false, consumer);

+ 47 - 0
AppStart/Service/SycnJavaUsersService.cs

@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+using System.Threading;
+
+namespace MySystem
+{
+    public class SycnJavaUsersService
+    {
+        public readonly static SycnJavaUsersService Instance = new SycnJavaUsersService();
+        private SycnJavaUsersService()
+        { }
+
+        public bool Add(string content)
+        {
+            try
+            {
+                JsonData jsonObj = JsonMapper.ToObject(content);
+
+                WebCMSEntities db = new WebCMSEntities();
+
+                db.Users.Add(new Users()
+                {
+                    Id = int.Parse(jsonObj["id"].ToString()),
+                    ParentUserId = int.Parse(jsonObj["pid"].ToString()),
+                    ParentNav = jsonObj["pidPath"].ToString(),
+                    CreateDate = DateTime.Parse(jsonObj["create_time"].ToString()),
+                    MakerCode = jsonObj["userCode"].ToString(),
+                    Mobile = jsonObj["phone"].ToString(),
+                    UserLevel = int.Parse(jsonObj["userLevel"].ToString()),
+                });
+                
+                db.SaveChanges();
+                db.Dispose();
+                return true;
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "同步创客信息异常");
+                return false;
+            }
+        }
+    }
+}

+ 1 - 0
Startup.cs

@@ -135,6 +135,7 @@ namespace MySystem
 
 
             //必须打开的
             //必须打开的
             RabbitMQClient.Instance.StartReceive("QUEUE_GD_ACT_DIVISION");
             RabbitMQClient.Instance.StartReceive("QUEUE_GD_ACT_DIVISION");
+            RabbitMQClient.Instance.StartReceive("QUEUE_KXS_TO_LKB_USER_INFO_DIVISION");
             RabbitMQClient.Instance.CreateConn2("QUEUE_LKB_TRADE_DIVISION");
             RabbitMQClient.Instance.CreateConn2("QUEUE_LKB_TRADE_DIVISION");
             RabbitMQClient.Instance.CreateConn3("QUEUE_KXS_ACT_DIVISION");
             RabbitMQClient.Instance.CreateConn3("QUEUE_KXS_ACT_DIVISION");
             RabbitMQPrize.Instance.CreateConn();
             RabbitMQPrize.Instance.CreateConn();