Procházet zdrojové kódy

发货需要给mq发货

lcl před 2 roky
rodič
revize
eacb22833b

+ 75 - 0
AppStart/Tables/MqOrder.cs

@@ -0,0 +1,75 @@
+using System;
+namespace MySystem
+{
+    public class MqOrder
+    {
+        //订单Id
+        public int id { get; set; }
+
+        //订单状态(0待付款,1已付款,2已完成,3已发货,4已退款)
+        public int status { get; set; }
+
+        //创建时间
+        public DateTime? createDate { get; set; }
+
+        //发货的机具券码
+        public string snNos { get; set; }
+
+        //备注
+        public string remark { get; set; }
+
+        //购买数量
+        public int buyCount { get; set; }
+
+        //支付状态
+        public int payStatus { get; set; }
+
+        //商品id
+        public int productId { get; set; }
+
+        //发货状态
+        public int sendStatus { get; set; }
+
+        //提货方式(1邮寄到付,2上门自提)
+        public int deliveryType { get; set; }
+
+        //退款状态
+        public int refundStatus { get; set; }
+
+        //支付方式(1支付宝,3余额,4储蓄金)
+        public int payMode { get; set; }
+
+        //发货时间
+        public string sendDate { get; set; }
+
+        //支付时间
+        public string payDate { get; set; }
+
+        //邮政编码
+        public string postalCode { get; set; }
+
+        //详细地址
+        public string address { get; set; }
+
+        //所在省市区
+        public string areas { get; set; }
+
+        //支付总金额
+        public decimal totalPrice { get; set; }
+
+        //联系手机号
+        public string mobile { get; set; }
+
+        //联系人姓名
+        public string realName { get; set; }
+
+        //订单号
+        public string orderNo { get; set; }
+
+        //创客Id
+        public int userId { get; set; }
+
+        //父级订单Id(拆单用)
+        public int parentOrderId { get; set; }
+    }
+}

+ 5 - 0
Areas/Admin/Controllers/MainServer/OrdersController.cs

@@ -578,6 +578,11 @@ namespace MySystem.Areas.Admin.Controllers
             new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("Orders", Fields, data.Id);
             AddSysLog(data.Id.ToString(), "Orders", "Send");
             db.SaveChanges();
+            Orders order = db.Orders.FirstOrDefault(m => m.Id == data.Id) ?? new Orders();
+            if(order.ProductId == 10 || order.ProductId == 11 || order.ProductId == 77 || order.ProductId == 78 || order.ProductId == 79)
+            {
+                Utils.Instance.SendMqOrder(order);
+            }
 
             return "success";
         }

+ 75 - 0
Util/Utils.cs

@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Library;
+using MySystem.Models;
+
+namespace MySystem
+{
+    public class Utils
+    {
+        public readonly static Utils Instance = new Utils();
+        private Utils()
+        { }
+ 
+
+        #region 推送订单信息
+
+        public void SendMqOrder(Orders order)
+        {
+            string data = Newtonsoft.Json.JsonConvert.SerializeObject(new MqOrder()
+            {
+                id = order.Id,
+                status = order.Status,
+                createDate = order.CreateDate,
+                snNos = order.SnNos,
+                remark = order.Remark,
+                buyCount = order.BuyCount,
+                payStatus = order.PayStatus,
+                productId = order.ProductId, 
+                sendStatus = order.SendStatus,
+                deliveryType = order.DeliveryType,
+                refundStatus = order.RefundStatus,
+                payMode = order.PayMode,
+                sendDate = order.SendDate == null ? "" : order.SendDate.Value.ToString("yyyy-MM-ddTHH:mm:ss"),
+                payDate = order.PayDate == null ? "" : order.PayDate.Value.ToString("yyyy-MM-ddTHH:mm:ss"),
+                postalCode = order.PostalCode,
+                address = order.Address,
+                areas = order.Areas,
+                totalPrice = order.TotalPrice,
+                mobile = order.Mobile,
+                realName = order.RealName,
+                orderNo = order.OrderNo,
+                userId = order.UserId,
+                parentOrderId = order.ParentOrderId,
+            });
+            function.WriteLog(DateTime.Now.ToString() + "\n" + data, "订单推送MQ日志");
+            RedisDbconn.Instance.AddList("KxsOrderQueue", data);
+        }
+
+        #endregion
+
+        #region 推送激活数据信息
+
+        public void SendActData(PosMachinesTwo pos)
+        {
+            int actType = pos.BrandId != 14 ? 1 : 2;
+            string data = "{";
+            data += "\"userId\":\"" + pos.BuyUserId + "\",";
+            data += "\"brandId\":\"" + pos.BrandId + "\",";
+            data += "\"actTime\":\"" + pos.ActivationTime.Value.ToString("yyyy-MM-ddTHH:mm:ss") + "\",";
+            data += "\"bindTime\":\"" + pos.BindingTime.Value.ToString("yyyy-MM-ddTHH:mm:ss") + "\",";
+            data += "\"sn\":\"" + pos.PosSn + "\",";
+            data += "\"actType\":\"" + actType + "\"";
+            data += "}";
+            function.WriteLog(DateTime.Now.ToString() + "\n" + data, "订单推送MQ日志");
+            RedisDbconn.Instance.AddList("KxsActQueue", data);
+        }
+
+        #endregion 
+    
+    
+    
+    
+    }
+}