소스 검색

Merge branch 'feature-dgy-广电卡交易' into feature-dgy-后台测试

DuGuYang 2 년 전
부모
커밋
23f9ecf051

+ 374 - 0
AppStart/Helper/SIMPosMerchantTradeService.cs

@@ -0,0 +1,374 @@
+using System;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using Library;
+using MySystem.Models;
+using System.Collections.Generic;
+
+/// <summary>
+/// 广电卡交易数据导入
+/// </summary>
+namespace MySystem
+{
+    public class SIMPosMerchantTradeService
+    {
+        public readonly static SIMPosMerchantTradeService Instance = new SIMPosMerchantTradeService();
+        private SIMPosMerchantTradeService()
+        {
+        }
+
+        public void Start()//启动
+        {
+            Thread thread = new Thread(ImportPostDo);
+            thread.IsBackground = true;
+            thread.Start();
+        }
+
+        public void ImportPostDo()
+        {
+            while (true)
+            {
+                try
+                {
+                    string data = RedisDbconn.Instance.RPop<string>("SIMPosMerchantTradeQueue");
+                    if (!string.IsNullOrEmpty(data))
+                    {
+                        string[] dataList = data.Split("#cut#");
+                        string _ExcelPath = dataList[0];
+                        string _Kind = dataList[1];
+                        string checkKey = dataList[2];
+                        string Operator = dataList[3]; // 操作人
+                        int SuccessCount = 0;
+                        int DoCount = 0;
+                        string FullExcelPath = function.getPath(_ExcelPath);
+                        FullExcelPath = FullExcelPath.Replace("//", "/");
+                        DataTable list = new PublicFunction().ExcelToDataTable(FullExcelPath);
+                        int TotalCount = list.Rows.Count;
+                        while (DoCount < list.Rows.Count)
+                        {
+                            WebCMSEntities db = new WebCMSEntities();
+                            SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
+                            //导激活
+                            if (_Kind == "1")
+                            {
+                                var tran = db.Database.BeginTransaction();
+                                try
+                                {
+                                    int Size = 100;
+                                    if (list.Rows.Count - DoCount < 100)
+                                    {
+                                        Size = list.Rows.Count - DoCount;
+                                    }
+                                    Dictionary<string, int> storeData = new Dictionary<string, int>();
+                                    for (int i = DoCount; i < DoCount + Size; i++)
+                                    {
+                                        DataRow dr = list.Rows[i];
+                                        string OrderNo = dr["订单编码"].ToString();
+                                        string CreateDate = dr["订单创建时间"].ToString();
+                                        string PhoneNumber = dr["选择号码"].ToString();
+                                        string HasFirstCharge = dr["是否有首充"].ToString();
+                                        string FirstChargeAmount = dr["首充金额(元)"].ToString();
+                                        string Province = dr["号码归属省份"].ToString();
+                                        string City = dr["号码归属地市"].ToString();
+                                        string ProductName = dr["商品名称"].ToString();
+                                        string ActiveName = dr["促销活动名称"].ToString();
+                                        string ProductType = dr["商品类型名称"].ToString();
+                                        string ActualAmount = dr["实付金额(元)"].ToString();
+                                        string OrderStatus = dr["订单状态"].ToString();
+                                        string ActStatus = dr["激活状态名称"].ToString();
+                                        string ActDate = dr["激活时间"].ToString();
+                                        string WorkNo = dr["BOSS员工工号"].ToString();
+                                        string AccountName = dr["账号姓名"].ToString();
+                                        string SimNo = dr["SIM卡号"].ToString();
+
+                                        // PosMerchantInfo checkMer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == PhoneNumber && m.Field5 == ActStatus);
+                                        // if (checkMer == null)
+                                        // {
+                                        string json = "{";
+                                        json += "\"OrderNo\":\"" + OrderNo + "\",";
+                                        json += "\"CreateDate\":\"" + CreateDate + "\",";
+                                        json += "\"PhoneNumber\":\"" + PhoneNumber + "\",";
+                                        json += "\"HasFirstCharge\":\"" + HasFirstCharge + "\",";
+                                        json += "\"FirstChargeAmount\":\"" + FirstChargeAmount + "\",";
+                                        json += "\"Province\":\"" + Province + "\",";
+                                        json += "\"City\":\"" + City + "\",";
+                                        json += "\"ProductName\":\"" + ProductName + "\",";
+                                        json += "\"ActiveName\":\"" + ActiveName + "\",";
+                                        json += "\"ProductType\":\"" + ProductType + "\",";
+                                        json += "\"ActualAmount\":\"" + ActualAmount + "\",";
+                                        json += "\"OrderStatus\":\"" + OrderStatus + "\",";
+                                        json += "\"ActStatus\":\"" + ActStatus + "\",";
+                                        json += "\"ActDate\":\"" + ActDate + "\",";
+                                        json += "\"WorkNo\":\"" + WorkNo + "\",";
+                                        json += "\"AccountName\":\"" + AccountName + "\",";
+                                        json += "\"SimNo\":\"" + SimNo + "\"";
+                                        json += "}";
+
+                                        spdb.BindRecord.Add(new SpModels.BindRecord()
+                                        {
+                                            CreateDate = DateTime.Parse(CreateDate),
+                                            UpdateTime = DateTime.Parse(CreateDate), //机具绑定、解绑时间
+                                            CreateTime = DateTime.Parse(CreateDate), //商户操作时间
+                                            MerNewSnNo = PhoneNumber, //商户手机号
+                                            MerSnNo = SimNo, //序列号
+                                            MerName = AccountName, //商户名称
+                                            MerNo = PhoneNumber, //商户编号
+                                            Remark = ProductType,
+                                            Field1 = Province,
+                                            Field2 = ActiveName,
+                                            Field3 = ProductName,
+                                            Field4 = WorkNo,
+                                            Field5 = ActStatus,
+                                            SeoTitle = ActualAmount,
+                                            SeoKeyword = ActDate,
+                                            SeoDescription = json,
+                                            ProductType = "14",
+                                            Status = 1,
+                                        });
+
+                                        spdb.Merchants.Add(new SpModels.Merchants()
+                                        {
+                                            SnNo = SimNo,
+                                            CreateTime = DateTime.Parse(CreateDate),
+                                            UpdateTime = DateTime.Parse(CreateDate),
+                                            AgentName = AccountName,
+                                            MerRealName = AccountName,
+                                            MerMobile = PhoneNumber,
+                                            MerNo = PhoneNumber,
+                                            MerName = AccountName,
+                                            ProductType = "14",
+                                            Status = 1,
+                                        });
+                                        SuccessCount += 1;
+                                    }
+                                    DoCount += Size;
+                                    db.SaveChanges();
+                                    tran.Commit();
+                                    if (DoCount >= list.Rows.Count)
+                                    {
+                                        RedisDbconn.Instance.Set("SIMPosMerchantTradeCheckImport:" + checkKey, "success|" + SuccessCount);
+                                        RedisDbconn.Instance.SetExpire("SIMPosMerchantTradeCheckImport:" + checkKey, 60000);
+                                    }
+                                }
+                                catch (Exception ex)
+                                {
+                                    DoCount = list.Rows.Count;
+                                    function.WriteLog(ex.ToString(), "导入广电卡激活数据");
+                                    tran.Rollback();
+                                    ErrorMsg msg = new ErrorMsg()
+                                    {
+                                        Time = DateTime.Now,
+                                        ErrorContent = ex.ToString(),
+                                    };
+                                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "导入广电卡激活数据Excel文件异常");
+                                }
+                                tran.Dispose();
+                            }
+                            //导交易
+                            if (_Kind == "2")
+                            {
+                                var tran = db.Database.BeginTransaction();
+                                try
+                                {
+                                    int Size = 100;
+                                    if (list.Rows.Count - DoCount < 100)
+                                    {
+                                        Size = list.Rows.Count - DoCount;
+                                    }
+                                    Dictionary<string, int> storeData = new Dictionary<string, int>();
+                                    for (int i = DoCount; i < DoCount + Size; i++)
+                                    {
+                                        DataRow dr = list.Rows[i];
+                                        string Mobile = dr["用户手机号"].ToString();
+                                        string SimNo = dr["SIM卡号"].ToString();
+                                        string CreateMonth = dr["入网月份"].ToString();
+                                        string SettleMonth = dr["结算月份"].ToString();
+                                        string SettleTime = dr["结算账期"].ToString();
+                                        string SettleSpace = dr["结算场景"].ToString();
+                                        string BusinessType = dr["业务类型"].ToString();
+                                        string Province = dr["用户省份"].ToString();
+                                        string City = dr["用户地市"].ToString();
+                                        string Team = dr["团队归属"].ToString();
+                                        string WorkName = dr["行销宝姓名"].ToString();
+                                        string WorkNo = dr["行销宝工号"].ToString();
+                                        string ProductName = dr["商品名称"].ToString();
+                                        string TotalAmount = dr["账单总金额"].ToString();
+                                        string InAmount = dr["套内金额"].ToString();
+                                        string OutAmount = dr["套外金额"].ToString();
+                                        string UserStatus = dr["用户状态"].ToString();
+                                        string ChannelCode = dr["渠道编码"].ToString();
+                                        string ChannelName = dr["渠道名称"].ToString();
+                                        string OrderCreateTime = dr["订单创建时间"].ToString();
+                                        string OrderStatus = dr["订单状态"].ToString();
+                                        string ActTime = dr["激活时间"].ToString();
+                                        string SourceProductName = dr["原订单商品名称"].ToString();
+                                        string ProductType = dr["商品类型名称"].ToString();
+                                        string ActivityName = dr["促销活动名称"].ToString();
+                                        string Percent = dr["分成比例"].ToString();
+                                        string OrgDivi = dr["机构分成"].ToString();
+
+                                        string json = "{";
+                                        json += "\"Mobile\":\"" + Mobile + "\",";
+                                        json += "\"SimNo\":\"" + SimNo + "\",";
+                                        json += "\"CreateMonth\":\"" + CreateMonth + "\",";
+                                        json += "\"SettleMonth\":\"" + SettleMonth + "\",";
+                                        json += "\"SettleTime\":\"" + SettleTime + "\",";
+                                        json += "\"SettleSpace\":\"" + SettleSpace + "\",";
+                                        json += "\"BusinessType\":\"" + BusinessType + "\",";
+                                        json += "\"Province\":\"" + Province + "\",";
+                                        json += "\"City\":\"" + City + "\",";
+                                        json += "\"Team\":\"" + Team + "\",";
+                                        json += "\"WorkName\":\"" + WorkName + "\",";
+                                        json += "\"WorkNo\":\"" + WorkNo + "\",";
+                                        json += "\"ProductName\":\"" + ProductName + "\",";
+                                        json += "\"TotalAmount\":\"" + TotalAmount + "\",";
+                                        json += "\"InAmount\":\"" + InAmount + "\",";
+                                        json += "\"OutAmount\":\"" + OutAmount + "\",";
+                                        json += "\"UserStatus\":\"" + UserStatus + "\",";
+                                        json += "\"ChannelCode\":\"" + ChannelCode + "\",";
+                                        json += "\"ChannelName\":\"" + ChannelName + "\",";
+                                        json += "\"OrderCreateTime\":\"" + OrderCreateTime + "\",";
+                                        json += "\"OrderStatus\":\"" + OrderStatus + "\",";
+                                        json += "\"ActTime\":\"" + ActTime + "\",";
+                                        json += "\"SourceProductName\":\"" + SourceProductName + "\",";
+                                        json += "\"ProductType\":\"" + ProductType + "\",";
+                                        json += "\"ActivityName\":\"" + ActivityName + "\",";
+                                        json += "\"Percent\":\"" + Percent + "\",";
+                                        json += "\"OrgDivi\":\"" + OrgDivi + "\"";
+                                        json += "}";
+
+                                        bool op = true;
+                                        string OrderNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
+                                        decimal TotalAmountNum = decimal.Parse(function.CheckNum(numberString: TotalAmount));
+                                        DateTime CreateDate = DateTime.Parse(OrderCreateTime);
+                                        string CheckDate = DateTime.Now.AddMonths(-3).ToString("yyyyMM");
+                                        if (int.Parse(CreateMonth) >= int.Parse(CheckDate)) op = false;
+                                        if (OrderStatus == "待激活") op = false;
+                                        if (UserStatus.Contains("注销") || UserStatus.Contains("欠费"))
+                                        {
+                                            op = false;
+                                            SimposMerchantInfo checkSimMer = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mobile && m.KqSnNo == SimNo);
+                                            if (checkSimMer != null)
+                                            {
+                                                checkSimMer.Status = -1;
+                                                if (UserStatus.Contains("欠费") && checkSimMer.Status != -1)
+                                                {
+                                                    checkSimMer.Status = -2;
+                                                }
+                                                db.SaveChanges();
+                                            }
+                                            PosMerchantInfo checkMer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mobile && m.KqSnNo == SimNo);
+                                            if (checkMer != null)
+                                            {
+                                                checkMer.Status = -1;
+                                                if (UserStatus.Contains("欠费") && checkMer.Status != -1)
+                                                {
+                                                    checkMer.Status = -2;
+                                                }
+                                                db.SaveChanges();
+                                            }
+                                            PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == SimNo);
+                                            if (pos != null)
+                                            {
+                                                pos.Status = -1;
+                                                if (UserStatus.Contains("欠费") && pos.Status != -1)
+                                                {
+                                                    pos.Status = -2;
+                                                }
+                                                db.SaveChanges();
+                                            }
+                                        }
+                                        if (UserStatus.Contains("正常"))
+                                        {
+                                            SimposMerchantInfo checkSimMer = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mobile && m.KqSnNo == SimNo);
+                                            if (checkSimMer != null)
+                                            {
+                                                if (checkSimMer.Status == -2) checkSimMer.Status = 0;
+                                                db.SaveChanges();
+                                            }
+                                            PosMerchantInfo checkMer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mobile && m.KqSnNo == SimNo);
+                                            if (checkMer != null)
+                                            {
+                                                if (checkMer.Status == -2) checkMer.Status = 1;
+                                                db.SaveChanges();
+                                            }
+
+                                            PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == SimNo);
+                                            if (pos != null && pos.Status < 0)
+                                            {
+                                                if (pos.Status == -2)
+                                                {
+                                                    pos.Status = 0;
+                                                }
+                                                db.SaveChanges();
+                                            }
+                                        }
+
+                                        if (TotalAmountNum > 0 && op)
+                                        {
+                                            spdb.TradeRecord.Add(new SpModels.TradeRecord()
+                                            {
+                                                CreateDate = DateTime.Now.AddMonths(-1), //创建时间
+                                                TradeSerialNo = OrderNo, //订单编号
+                                                AgentNo = WorkName + WorkNo, //一级服务商编号
+                                                MerNo = Mobile, //商户编
+                                                TradeSnNo = SimNo, //sim卡号
+                                                ChannelSerial = OrderNo, //请求号
+                                                TradeAmount = TotalAmountNum, //账单总金额
+                                                TradeStatus = OrderStatus, //订单状态
+                                                TradeDate = CreateMonth,
+                                                TradeTime = CreateDate.ToString("yyyyMMdd"),
+                                                BankCardType = "01",
+                                                TradeType = "01",
+                                                ProductType = "14",
+                                                Status = 1,
+                                                Field1 = ProductName,
+                                                Field2 = SourceProductName,
+                                                Field3 = ProductType,
+                                                Field4 = BusinessType,
+                                                SeoDescription = json,
+                                            });
+
+                                            spdb.SaveChanges();
+                                        }
+                                    }
+                                    DoCount += Size;
+                                    db.SaveChanges();
+                                    tran.Commit();
+                                    if (DoCount >= list.Rows.Count)
+                                    {
+                                        RedisDbconn.Instance.Set("SIMPosMerchantTradeCheckImport:" + checkKey, "success|");
+                                        RedisDbconn.Instance.SetExpire("SIMPosMerchantTradeCheckImport:" + checkKey, 60000);
+                                    }
+                                }
+                                catch (Exception ex)
+                                {
+                                    DoCount = list.Rows.Count;
+                                    function.WriteLog(ex.ToString(), "导入广电卡交易数据");
+                                    tran.Rollback();
+                                    ErrorMsg msg = new ErrorMsg()
+                                    {
+                                        Time = DateTime.Now,
+                                        ErrorContent = ex.ToString(),
+                                    };
+                                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "导入广电卡交易数据Excel文件异常");
+                                }
+                                tran.Dispose();
+                            }
+
+                        }
+                    }
+                    else
+                    {
+                        Thread.Sleep(5000);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "后台导入Excel文件队列异常");
+                }
+            }
+        }
+    }
+}

+ 1 - 1
AppStart/Helper/SycnProfitServiceV3.cs

@@ -75,7 +75,7 @@ namespace MySystem
             {
                 StartId = "0";
             }
-            OtherMySqlConn.op("insert into ProfitRecord (CreateDate,CreateMan,SeoTitle,ParentNav,BrandId,UserId,DirectFlag,ProfitAmount) select now(),'root','" + date + "',(select ParentNav from Users where Id=p.UserId)," + BrandId + ",UserId,ProfitType,sum(CreditTradeProfit+DebitNonTradeCapProfit+DebitTradeCapProfit) from ProfitRewardRecord p where Id>=" + StartId + " and CheckStatus=0 and BrandId=" + BrandId + " and UserId>0 and TradeMonth='" + date + "' group by UserId,ProfitType order by UserId");
+            OtherMySqlConn.op("insert into ProfitRecord (CreateDate,CreateMan,SeoTitle,ParentNav,BrandId,UserId,DirectFlag,SeoDescription,ProfitAmount) select now(),'root','" + date + "',(select ParentNav from Users where Id=p.UserId)," + BrandId + ",UserId,ProfitType,(case when Version=1 then '存量' else '新增' end),sum(CreditTradeProfit+DebitNonTradeCapProfit+DebitTradeCapProfit) from ProfitRewardRecord p where Id>=" + StartId + " and CheckStatus=0 and BrandId=" + BrandId + " and UserId>0 and TradeMonth='" + date + "' group by UserId,ProfitType,Version order by UserId");
             DataTable dt = OtherMySqlConn.dtable("select UserId,sum(CreditTradeProfit+DebitNonTradeCapProfit+DebitTradeCapProfit) from ProfitRewardRecord where Id>=" + StartId + " and CheckStatus=0 and BrandId=" + BrandId + " and UserId>0 and TradeMonth='" + date + "' group by UserId");
             function.WriteLog("分润:" + BrandId + ":" + dt.Rows.Count, "同步分润数据");
             int index = 0;

+ 2 - 0
Areas/Admin/Controllers/BsServer/BaseController.cs

@@ -171,11 +171,13 @@ namespace MySystem.Areas.Admin.Controllers
                     var info = db.UserMoveInfo.FirstOrDefault(m => m.UserId == UserId) ?? new Models.UserMoveInfo();
                     if (!string.IsNullOrEmpty(PayPwd)) info.PayPwd = PayPwd;
                     if (!string.IsNullOrEmpty(LoginPwd)) info.LoginPwd = LoginPwd;
+                    info.UpdateTime = DateTime.Now;
                 }
                 else
                 {
                     Models.UserMoveInfo query = db.UserMoveInfo.Add(new Models.UserMoveInfo()
                     {
+                        UpdateTime = DateTime.Now,
                         UserId = UserId,
                         PayPwd = PayPwd,
                         LoginPwd = LoginPwd

+ 1 - 1
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -1209,7 +1209,7 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "机具SN不存在";
             }
-            if (pos.Status == -1)
+            if (pos.Status < 0 && pos.BrandId != 14)
             {
                 Users posUsers = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
                 decimal Deposits = decimal.Parse(function.CheckNum(pos.SeoKeyword));

+ 61 - 1
Areas/Admin/Controllers/MainServer/TradeRecordController.cs

@@ -510,10 +510,11 @@ namespace MySystem.Areas.Admin.Controllers
         #endregion
 
         #region 导入交易数据
-        public IActionResult ImportTrade(string right)
+        public IActionResult ImportTrade(string right, string ExcelKind)
         {
             ViewBag.RightInfo = RightInfo;
             ViewBag.right = right;
+            ViewBag.ExcelKind = ExcelKind;
             return View();
         }
         /// <summary>
@@ -688,6 +689,65 @@ namespace MySystem.Areas.Admin.Controllers
         }
         #endregion
 
+
+        #region 通过队列导入数据
+        /// <summary>
+        /// 通过队列导入数据
+        /// </summary>
+        /// <param name="ExcelPath"></param>
+        [HttpPost]
+        public string ImportByQueuePost(string ExcelPath, int Kind = 0)
+        {
+            string key = function.MD5_16(Guid.NewGuid().ToString());
+            RedisDbconn.Instance.AddList("SIMPosMerchantTradeQueue", ExcelPath + "#cut#" + Kind + "#cut#" + key + "#cut#" + SysUserName);
+            return "success|" + key;
+        }
+        public string CheckImport(string key)
+        {
+            string result = RedisDbconn.Instance.Get<string>("SIMPosMerchantTradeCheckImport:" + key);
+            if (!string.IsNullOrEmpty(result))
+            {
+                string[] datalist = result.Split('|');
+                if (datalist[0] == "success")
+                {
+                    return result;
+                }
+                return datalist[0];
+            }
+            return "0";
+        }
+        public Dictionary<string, object> CheckImportV2(string key)
+        {
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string result = RedisDbconn.Instance.Get<string>("SIMPosMerchantTradeCheckImport:" + key);
+            if (!string.IsNullOrEmpty(result))
+            {
+                string[] datalist = result.Split('|');
+                if (datalist[0] == "success")
+                {
+                    List<string> errList = RedisDbconn.Instance.GetList<string>("ErrList" + key);
+                    if (errList.Count > 0)
+                    {
+                        Obj.Add("status", 2);
+                        Obj.Add("errList", errList);
+                    }
+                    else
+                    {
+                        Obj.Add("status", 1);
+                        Obj.Add("data", result);
+                    }
+                    return Obj;
+                }
+                Obj.Add("status", 0);
+                Obj.Add("data", datalist[0]);
+                return Obj;
+            }
+            Obj.Add("status", -1);
+            Obj.Add("data", "执行中...");
+            return Obj;
+        }
+        #endregion
+
         #region 导出Excel
 
         /// <summary>

+ 3 - 1
Areas/Admin/Controllers/MainServer/UserAccountRecordController.cs

@@ -190,8 +190,10 @@ namespace MySystem.Areas.Admin.Controllers
                     dic["TopMakerCode"] = tuser.MakerCode;
                     dic["TopRealName"] = tuser.RealName;
                 }
+                var ProductTypeName = "";
                 int ProductTypes = int.Parse(dic["ProductType"].ToString());
-                dic["ProductTypeName"] = RelationClass.GetKqProductBrandInfo(ProductTypes);
+                if (ProductTypes > 0) ProductTypeName = RelationClass.GetKqProductBrandInfo(ProductTypes);
+                dic["ProductTypeName"] = ProductTypeName;
                 int ChangeTypes = int.Parse(dic["ChangeType"].ToString());
                 dic["ChangeTypeName"] = RelationClassForConst.GetChangeTypeInfo(ChangeTypes);
 

+ 1 - 1
Areas/Admin/Views/MainServer/TradeRecord/ImportTrade.cshtml

@@ -108,7 +108,7 @@
             
 
             //上传文件
-            WebUploadJs('ExcelPathBtn', '@(Library.ConfigurationManager.AppSettings["Database"].ToString())/upload/v2', {width:0,height:0,quality:0},{max_file_size:1048576},  function (filename) {
+            WebUploadJs('ExcelPathBtn', '@(Library.ConfigurationManager.AppSettings["Database"].ToString())/upload/v2', {width:0,height:0,quality:0},{max_file_size:104857600},  function (filename) {
                 $('#ExcelPathFile').html(filename);
                 $('#ExcelPath').val(filename);
             });

+ 4 - 4
Models/CustomQuerySub.cs

@@ -17,11 +17,11 @@ namespace MySystem.Models
         public string SeoTitle { get; set; }
         public string SeoKeyword { get; set; }
         public string SeoDescription { get; set; }
-        public string AdminNames { get; set; }
-        public string Title { get; set; }
-        public string SqlContent { get; set; }
-        public int ParentId { get; set; }
         public string Alias { get; set; }
         public int Kind { get; set; }
+        public int ParentId { get; set; }
+        public string SqlContent { get; set; }
+        public string AdminNames { get; set; }
+        public string Title { get; set; }
     }
 }

+ 20 - 0
Models/ProfitRewardExport.cs

@@ -39,5 +39,25 @@ namespace MySystem.Models
         public decimal ProfitCreditTradeAmt { get; set; }
         public decimal ProfitCreditTradeProfit2 { get; set; }
         public decimal ProfitCreditTradeAmt2 { get; set; }
+        public decimal ProfitCreditTradeProfit2Before { get; set; }
+        public decimal ProfitCreditTradeAmt2Before { get; set; }
+        public decimal ProfitCreditTradeProfitBefore { get; set; }
+        public decimal ProfitCreditTradeAmtBefore { get; set; }
+        public decimal DebitTradeProfitBefore { get; set; }
+        public decimal DebitTradeAmtBefore { get; set; }
+        public decimal NotHelpCreditTradeProfitBefore { get; set; }
+        public decimal NotHelpCreditTradeAmtBefore { get; set; }
+        public decimal HelpCreditTradeProfitBefore { get; set; }
+        public decimal HelpCreditTradeAmtBefore { get; set; }
+        public decimal NonQrCreditTradeProfitBefore { get; set; }
+        public decimal NonQrCreditTradeAmtBefore { get; set; }
+        public decimal QrCreditTradeProfitBefore { get; set; }
+        public decimal QrCreditTradeAmtBefore { get; set; }
+        public decimal CreditTradeProfitBefore { get; set; }
+        public decimal CreditTradeAmtBefore { get; set; }
+        public int BeforeRank { get; set; }
+        public int LeaderRank { get; set; }
+        public int OperateRank { get; set; }
+        public int MaxRank { get; set; }
     }
 }

+ 10 - 0
Models/RecommendOrderCheck.cs

@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.Models
+{
+    public partial class RecommendOrderCheck
+    {
+        public int OrderId { get; set; }
+    }
+}

+ 1 - 0
Models/UserMoveInfo.cs

@@ -8,5 +8,6 @@ namespace MySystem.Models
         public int UserId { get; set; }
         public string PayPwd { get; set; }
         public string LoginPwd { get; set; }
+        public DateTime? UpdateTime { get; set; }
     }
 }

+ 23 - 0
Models/UserRankWhiteBefore.cs

@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.Models
+{
+    public partial class UserRankWhiteBefore
+    {
+        public int Id { get; set; }
+        public int Sort { get; set; }
+        public int QueryCount { get; set; }
+        public int Status { get; set; }
+        public int Version { get; set; }
+        public DateTime? CreateDate { get; set; }
+        public DateTime? UpdateDate { get; set; }
+        public string CreateMan { get; set; }
+        public string UpdateMan { get; set; }
+        public string SeoTitle { get; set; }
+        public string SeoKeyword { get; set; }
+        public string SeoDescription { get; set; }
+        public int Rank { get; set; }
+        public int UserId { get; set; }
+    }
+}

+ 168 - 38
Models/WebCMSEntities.cs

@@ -185,6 +185,7 @@ namespace MySystem.Models
         public virtual DbSet<PullNewDetail> PullNewDetail { get; set; }
         public virtual DbSet<PullnewSummary> PullnewSummary { get; set; }
         public virtual DbSet<RecommendDirectUser> RecommendDirectUser { get; set; }
+        public virtual DbSet<RecommendOrderCheck> RecommendOrderCheck { get; set; }
         public virtual DbSet<RecommendTradeSummary> RecommendTradeSummary { get; set; }
         public virtual DbSet<RecycMachineOrder> RecycMachineOrder { get; set; }
         public virtual DbSet<RecycMachineOrderPos> RecycMachineOrderPos { get; set; }
@@ -284,6 +285,7 @@ namespace MySystem.Models
         public virtual DbSet<UserProfitSubsidySummary> UserProfitSubsidySummary { get; set; }
         public virtual DbSet<UserRank> UserRank { get; set; }
         public virtual DbSet<UserRankWhite> UserRankWhite { get; set; }
+        public virtual DbSet<UserRankWhiteBefore> UserRankWhiteBefore { get; set; }
         public virtual DbSet<UserRebateDetail> UserRebateDetail { get; set; }
         public virtual DbSet<UserSnActInfo> UserSnActInfo { get; set; }
         public virtual DbSet<UserSnDelayChange> UserSnDelayChange { get; set; }
@@ -2716,6 +2718,10 @@ namespace MySystem.Models
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
+                entity.Property(e => e.ExcuteFlag)
+                    .HasColumnType("int(11)")
+                    .HasComment("是否执行");
+
                 entity.Property(e => e.QueryCount)
                     .HasColumnType("int(11)")
                     .HasComment("点击量");
@@ -2768,15 +2774,11 @@ namespace MySystem.Models
                 entity.Property(e => e.Version)
                     .HasColumnType("int(11)")
                     .HasComment("版本号");
-
-                entity.Property(e => e.ExcuteFlag)
-                    .HasColumnType("int(11)")
-                    .HasComment("是否执行");
             });
 
             modelBuilder.Entity<CustomQuerySub>(entity =>
             {
-                entity.HasComment("自定义查询子项");
+                entity.HasComment("自定义操作子项");
 
                 entity.Property(e => e.Id).HasColumnType("int(11)");
 
@@ -2786,19 +2788,28 @@ namespace MySystem.Models
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
-                entity.Property(e => e.CreateDate)
-                    .HasColumnType("datetime")
-                    .HasComment("创建时间");
+                entity.Property(e => e.Alias)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("别名")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.CreateDate).HasColumnType("datetime");
 
                 entity.Property(e => e.CreateMan)
                     .HasColumnType("varchar(50)")
-                    .HasComment("创建人")
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
-                entity.Property(e => e.QueryCount)
+                entity.Property(e => e.Kind)
                     .HasColumnType("int(11)")
-                    .HasComment("点击量");
+                    .HasComment("类型");
+
+                entity.Property(e => e.ParentId)
+                    .HasColumnType("int(11)")
+                    .HasComment("父级Id");
+
+                entity.Property(e => e.QueryCount).HasColumnType("int(11)");
 
                 entity.Property(e => e.SeoDescription)
                     .HasColumnType("varchar(500)")
@@ -2815,9 +2826,7 @@ namespace MySystem.Models
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
-                entity.Property(e => e.Sort)
-                    .HasColumnType("int(11)")
-                    .HasComment("排序序号");
+                entity.Property(e => e.Sort).HasColumnType("int(11)");
 
                 entity.Property(e => e.SqlContent)
                     .HasColumnType("mediumtext")
@@ -2825,9 +2834,7 @@ namespace MySystem.Models
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
-                entity.Property(e => e.Status)
-                    .HasColumnType("int(11)")
-                    .HasComment("状态");
+                entity.Property(e => e.Status).HasColumnType("int(11)");
 
                 entity.Property(e => e.Title)
                     .HasColumnType("varchar(50)")
@@ -2835,33 +2842,14 @@ namespace MySystem.Models
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
-                entity.Property(e => e.UpdateDate)
-                    .HasColumnType("datetime")
-                    .HasComment("更新时间");
+                entity.Property(e => e.UpdateDate).HasColumnType("datetime");
 
                 entity.Property(e => e.UpdateMan)
                     .HasColumnType("varchar(50)")
-                    .HasComment("更新人")
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
-                entity.Property(e => e.Version)
-                    .HasColumnType("int(11)")
-                    .HasComment("版本号");
-
-                entity.Property(e => e.ParentId)
-                    .HasColumnType("int(11)")
-                    .HasComment("类型");
-
-                entity.Property(e => e.Kind)
-                    .HasColumnType("int(11)")
-                    .HasComment("父级Id");
-
-                entity.Property(e => e.Alias)
-                    .HasColumnType("varchar(50)")
-                    .HasComment("别名")
-                    .HasCharSet("utf8")
-                    .HasCollation("utf8_general_ci");
+                entity.Property(e => e.Version).HasColumnType("int(11)");
             });
 
             modelBuilder.Entity<CustomTagSet>(entity =>
@@ -12328,6 +12316,10 @@ namespace MySystem.Models
             {
                 entity.Property(e => e.Id).HasColumnType("int(11)");
 
+                entity.Property(e => e.BeforeRank)
+                    .HasColumnType("int(11)")
+                    .HasComment("创客存量预设职级");
+
                 entity.Property(e => e.BrandName)
                     .HasColumnType("varchar(30)")
                     .HasCharSet("utf8")
@@ -12342,12 +12334,28 @@ namespace MySystem.Models
 
                 entity.Property(e => e.CreditTradeAmt).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.CreditTradeAmtBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量贷记卡交易额");
+
                 entity.Property(e => e.CreditTradeProfit).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.CreditTradeProfitBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量贷记卡分润");
+
                 entity.Property(e => e.DebitTradeAmt).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.DebitTradeAmtBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量借记卡交易额");
+
                 entity.Property(e => e.DebitTradeProfit).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.DebitTradeProfitBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量借记卡分润");
+
                 entity.Property(e => e.DirectFlag)
                     .HasColumnType("varchar(10)")
                     .HasCharSet("utf8")
@@ -12355,37 +12363,97 @@ namespace MySystem.Models
 
                 entity.Property(e => e.HelpCreditTradeAmt).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.HelpCreditTradeAmtBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付扶持期贷记卡交易额");
+
                 entity.Property(e => e.HelpCreditTradeProfit).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.HelpCreditTradeProfitBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付扶持期贷记卡分润");
+
+                entity.Property(e => e.LeaderRank)
+                    .HasColumnType("int(11)")
+                    .HasComment("盟主预设职级");
+
                 entity.Property(e => e.MakerCode)
                     .HasColumnType("varchar(50)")
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
+                entity.Property(e => e.MaxRank)
+                    .HasColumnType("int(11)")
+                    .HasComment("最大职级");
+
                 entity.Property(e => e.NonQrCreditTradeAmt).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.NonQrCreditTradeAmtBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付贷记卡交易额");
+
                 entity.Property(e => e.NonQrCreditTradeProfit).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.NonQrCreditTradeProfitBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付贷记卡分润");
+
                 entity.Property(e => e.NotHelpCreditTradeAmt).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.NotHelpCreditTradeAmtBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付稳定期贷记卡交易额");
+
                 entity.Property(e => e.NotHelpCreditTradeProfit).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.NotHelpCreditTradeProfitBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付稳定期贷记卡分润");
+
+                entity.Property(e => e.OperateRank)
+                    .HasColumnType("int(11)")
+                    .HasComment("运营中心预设职级");
+
                 entity.Property(e => e.ProfitCreditTradeAmt).HasColumnType("decimal(18,2)");
 
                 entity.Property(e => e.ProfitCreditTradeAmt2)
                     .HasColumnType("decimal(18,2)")
                     .HasComment("非云闪付盈利期2贷记卡交易额");
 
+                entity.Property(e => e.ProfitCreditTradeAmt2Before)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付盈利期2贷记卡交易额");
+
+                entity.Property(e => e.ProfitCreditTradeAmtBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付盈利期贷记卡交易额");
+
                 entity.Property(e => e.ProfitCreditTradeProfit).HasColumnType("decimal(18,2)");
 
                 entity.Property(e => e.ProfitCreditTradeProfit2)
                     .HasColumnType("decimal(18,2)")
                     .HasComment("非云闪付盈利期2贷记卡分润");
 
+                entity.Property(e => e.ProfitCreditTradeProfit2Before)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付盈利期2贷记卡分润");
+
+                entity.Property(e => e.ProfitCreditTradeProfitBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量非云闪付盈利期贷记卡分润");
+
                 entity.Property(e => e.QrCreditTradeAmt).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.QrCreditTradeAmtBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量云闪付贷记卡交易额");
+
                 entity.Property(e => e.QrCreditTradeProfit).HasColumnType("decimal(18,2)");
 
+                entity.Property(e => e.QrCreditTradeProfitBefore)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("存量云闪付贷记卡分润");
+
                 entity.Property(e => e.QueryCount).HasColumnType("int(11)");
 
                 entity.Property(e => e.Rank).HasColumnType("int(11)");
@@ -13244,6 +13312,18 @@ namespace MySystem.Models
                 entity.Property(e => e.UserId).HasColumnType("int(11)");
             });
 
+            modelBuilder.Entity<RecommendOrderCheck>(entity =>
+            {
+                entity.HasKey(e => e.OrderId)
+                    .HasName("PRIMARY");
+
+                entity.HasComment("推荐王订单");
+
+                entity.Property(e => e.OrderId)
+                    .HasColumnType("int(11)")
+                    .HasComment("订单Id");
+            });
+
             modelBuilder.Entity<RecommendTradeSummary>(entity =>
             {
                 entity.HasIndex(e => new { e.UserId, e.TradeMonth, e.PosSn })
@@ -19455,6 +19535,10 @@ namespace MySystem.Models
                     .HasComment("支付密码")
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.UpdateTime)
+                    .HasColumnType("datetime")
+                    .HasComment("更新时间");
             });
 
             modelBuilder.Entity<UserOfflineSignInRecords>(entity =>
@@ -19827,6 +19911,52 @@ namespace MySystem.Models
                 entity.Property(e => e.Version).HasColumnType("int(11)");
             });
 
+            modelBuilder.Entity<UserRankWhiteBefore>(entity =>
+            {
+                entity.Property(e => e.Id).HasColumnType("int(11)");
+
+                entity.Property(e => e.CreateDate).HasColumnType("datetime");
+
+                entity.Property(e => e.CreateMan)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.QueryCount).HasColumnType("int(11)");
+
+                entity.Property(e => e.Rank).HasColumnType("int(11)");
+
+                entity.Property(e => e.SeoDescription)
+                    .HasColumnType("varchar(500)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.SeoKeyword)
+                    .HasColumnType("varchar(200)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.SeoTitle)
+                    .HasColumnType("varchar(100)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Sort).HasColumnType("int(11)");
+
+                entity.Property(e => e.Status).HasColumnType("int(11)");
+
+                entity.Property(e => e.UpdateDate).HasColumnType("datetime");
+
+                entity.Property(e => e.UpdateMan)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.UserId).HasColumnType("int(11)");
+
+                entity.Property(e => e.Version).HasColumnType("int(11)");
+            });
+
             modelBuilder.Entity<UserRebateDetail>(entity =>
             {
                 entity.HasComment("返利明细表");

+ 2 - 0
Startup.cs

@@ -141,6 +141,7 @@ namespace MySystem
 
             if (Env == "Develop")
             {
+                SIMPosMerchantTradeService.Instance.Start(); //导入广电卡数据
             }
             if (Env == "Production")
             {
@@ -150,6 +151,7 @@ namespace MySystem
                 SycnHelpProfitService.Instance.Start();
                 ExcelHelper.Instance.Start();
                 OpExcelHelper.Instance.Start();
+                SIMPosMerchantTradeService.Instance.Start(); //导入广电卡数据
                 SycnUserMachineCountHelper.Instance.Start(); //重置创客机具数量
 
                 TestHelper.Instance.Start(); //生成兑换券

+ 139 - 13
wwwroot/layuiadmin/modules_main/TradeRecord_Admin.js

@@ -35,6 +35,40 @@ function ConfirmImportTrade() {
     });
 }
 
+function CheckImport(table, key, loadindex, index) {
+    $.ajax({
+        url: "/Admin/TradeRecord/CheckImportV2?r=" + Math.random(1),
+        data: "key=" + key,
+        dataType: "json",
+        success: function (data) {
+            console.log(data);
+            if (data.status == 1) {
+                layer.msg("成功操作" + data.data + "条", {
+                    time: 2000
+                }, function () {
+                    layer.close(index); //关闭弹层
+                    layer.close(loadindex);
+                    table.reload('LAY-list-manage'); //数据刷新
+                });
+            } else if (data.status == 2) {
+                layer.close(index); //关闭弹层
+                layer.close(loadindex);
+                var content = '';
+                for (var i = 0; i < data.errList.length; i++) {
+                    content += data.errList[i] + '<br/>'
+                }
+                layer.alert(content);
+            } else {
+                layer.msg(data.data, {
+                    time: 1000
+                }, function () {
+                    CheckImport(table, key, loadindex, index);
+                });
+            }
+        }
+    });
+}
+
 var excel;
 layui.config({
     base: '/layuiadmin/' //静态资源所在路径
@@ -372,10 +406,57 @@ layui.config({
             layer.full(perContent);
         }
         , Import: function () {
+            // var perContent = layer.open({
+            //     type: 2,
+            //     title: '导激活',
+            //     content: 'Import',
+            //     maxmin: true,
+            //     area: ['650px', '350px'],
+            //     btn: ['确定', '取消'],
+            //     yes: function (index, layero) {
+            //         var iframeWindow = window['layui-layer-iframe' + index],
+            //             submitID = 'LAY-list-front-submit',
+            //             submit = layero.find('iframe').contents().find('#' + submitID);
+
+
+            //         //监听提交
+            //         iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
+            //             var field = data.field; //获取提交的字段
+            //             var userdata = "";
+            //             for (var prop in field) {
+            //                 userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
+            //             }
+            //             //提交 Ajax 成功后,静态更新表格中的数据
+            //             //$.ajax({});
+            //             var loadindex = layer.load(1, {
+            //                 shade: [0.5, '#000']
+            //             });
+            //             $.ajax({
+            //                 type: "POST",
+            //                 url: "/Admin/TradeRecord/ImportPost?r=" + Math.random(1),
+            //                 data: userdata,
+            //                 dataType: "text",
+            //                 success: function (data) {
+            //                     layer.close(loadindex);
+            //                     if (data == 'success') {
+            //                         layer.msg('导入成功', {time:2000}, function(){
+            //                             window.location.reload();
+            //                         });
+            //                     } else {
+            //                         layer.msg(data);
+            //                     }
+            //                 }
+            //             });
+            //         });
+
+            //         submit.trigger('click');
+            //     }
+            // });
+
             var perContent = layer.open({
                 type: 2,
                 title: '导激活',
-                content: 'Import',
+                content: 'ImportTrade?ExcelKind=1',
                 maxmin: true,
                 area: ['650px', '350px'],
                 btn: ['确定', '取消'],
@@ -399,15 +480,14 @@ layui.config({
                         });
                         $.ajax({
                             type: "POST",
-                            url: "/Admin/TradeRecord/ImportPost?r=" + Math.random(1),
+                            url: "/Admin/TradeRecord/ImportByQueuePost?r=" + Math.random(1),
                             data: userdata,
                             dataType: "text",
                             success: function (data) {
-                                layer.close(loadindex);
-                                if (data == 'success') {
-                                    layer.msg('导入成功', {time:2000}, function(){
-                                        window.location.reload();
-                                    });
+                                if (data.indexOf("success") == 0) {
+                                    var datalist = data.split('|');
+                                    var key = datalist[1];
+                                    CheckImport(table, key, loadindex, index);
                                 } else {
                                     layer.msg(data);
                                 }
@@ -420,10 +500,56 @@ layui.config({
             });
         }        
         , ImportTrade: function () {
+            // var perContent = layer.open({
+            //     type: 2,
+            //     title: '导交易',
+            //     content: 'ImportTrade',
+            //     maxmin: true,
+            //     area: ['650px', '350px'],
+            //     btn: ['确定', '取消'],
+            //     yes: function (index, layero) {
+            //         var iframeWindow = window['layui-layer-iframe' + index],
+            //             submitID = 'LAY-list-front-submit',
+            //             submit = layero.find('iframe').contents().find('#' + submitID);
+
+
+            //         //监听提交
+            //         iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
+            //             var field = data.field; //获取提交的字段
+            //             var userdata = "";
+            //             for (var prop in field) {
+            //                 userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
+            //             }
+            //             //提交 Ajax 成功后,静态更新表格中的数据
+            //             //$.ajax({});
+            //             var loadindex = layer.load(1, {
+            //                 shade: [0.5, '#000']
+            //             });
+            //             $.ajax({
+            //                 type: "POST",
+            //                 url: "/Admin/TradeRecord/ImportTradePost?r=" + Math.random(1),
+            //                 data: userdata,
+            //                 dataType: "text",
+            //                 success: function (data) {
+            //                     layer.close(loadindex);
+            //                     if (data.indexOf('success') == 0) {
+            //                         var count = data.split('|')[1];
+            //                         layer.msg('成功导入' + count + '条');
+            //                     } else {
+            //                         layer.msg(data);
+            //                     }
+            //                 }
+            //             });
+            //         });
+
+            //         submit.trigger('click');
+            //     }
+            // });
+
             var perContent = layer.open({
                 type: 2,
                 title: '导交易',
-                content: 'ImportTrade',
+                content: 'ImportTrade?ExcelKind=2',
                 maxmin: true,
                 area: ['650px', '350px'],
                 btn: ['确定', '取消'],
@@ -447,14 +573,14 @@ layui.config({
                         });
                         $.ajax({
                             type: "POST",
-                            url: "/Admin/TradeRecord/ImportTradePost?r=" + Math.random(1),
+                            url: "/Admin/TradeRecord/ImportByQueuePost?r=" + Math.random(1),
                             data: userdata,
                             dataType: "text",
                             success: function (data) {
-                                layer.close(loadindex);
-                                if (data.indexOf('success') == 0) {
-                                    var count = data.split('|')[1];
-                                    layer.msg('成功导入' + count + '条');
+                                if (data.indexOf("success") == 0) {
+                                    var datalist = data.split('|');
+                                    var key = datalist[1];
+                                    CheckImport(table, key, loadindex, index);
                                 } else {
                                     layer.msg(data);
                                 }