Browse Source

Merge branch 'develop' of http://47.109.31.237:13000/kxs-end/admin-server into feature-dgy-后台优化

DuGuYang 3 years ago
parent
commit
4695804800
100 changed files with 4705 additions and 2129 deletions
  1. BIN
      .DS_Store
  2. 68 19
      AppStart/ExcelHelper.cs
  3. 124 0
      AppStart/Helper/InstallmentDeductionService.cs
  4. 0 13
      AppStart/Helper/SycnProfitService.cs
  5. 0 5
      AppStart/Helper/SycnProfitServiceV2.cs
  6. 0 1
      AppStart/Helper/SycnProfitServiceV3.cs
  7. 0 273
      AppStart/Helper/SycnSpTradeService.cs
  8. 113 31
      AppStart/Helper/TimeOutPosChargeService.cs
  9. 0 1
      AppStart/OpExcelHelper.cs
  10. 0 2
      AppStart/PublicFunction.cs
  11. 0 21
      AppStart/RabbitMQClient.cs
  12. BIN
      Areas/.DS_Store
  13. BIN
      Areas/Admin/.DS_Store
  14. BIN
      Areas/Admin/Controllers/.DS_Store
  15. 0 5
      Areas/Admin/Controllers/BsServer/BaseController.cs
  16. 0 6
      Areas/Admin/Controllers/BsServer/ColController.cs
  17. 0 7
      Areas/Admin/Controllers/CashServer/WithdrawRecordController.cs
  18. 48 48
      Areas/Admin/Controllers/HomeController.cs
  19. 0 11
      Areas/Admin/Controllers/MainServer/ActiveRewardController.cs
  20. 1 5
      Areas/Admin/Controllers/MainServer/CouponsForUserController.cs
  21. 1 5
      Areas/Admin/Controllers/MainServer/ErpCompanysController.cs
  22. 1 5
      Areas/Admin/Controllers/MainServer/MerchantClassController.cs
  23. 0 3
      Areas/Admin/Controllers/MainServer/MerchantDepositSetController.cs
  24. 1 5
      Areas/Admin/Controllers/MainServer/MerchantsController.cs
  25. 0 2
      Areas/Admin/Controllers/MainServer/MsgAlertController.cs
  26. 0 3
      Areas/Admin/Controllers/MainServer/OpenRewardController.cs
  27. 1 5
      Areas/Admin/Controllers/MainServer/OrderProductController.cs
  28. 0 12
      Areas/Admin/Controllers/MainServer/OrderRefundController.cs
  29. 1 5
      Areas/Admin/Controllers/MainServer/OrderRefundReasonController.cs
  30. 0 17
      Areas/Admin/Controllers/MainServer/OrdersController.cs
  31. 0 24
      Areas/Admin/Controllers/MainServer/PosMachinesFeeChangeRecordController.cs
  32. 8 163
      Areas/Admin/Controllers/MainServer/PosMachinesTwoChangeController.cs
  33. 148 167
      Areas/Admin/Controllers/MainServer/PosMachinesTwoController.cs
  34. 35 7
      Areas/Admin/Controllers/MainServer/PosMerchantInfoListController.cs
  35. 0 7
      Areas/Admin/Controllers/MainServer/PreSendStockDetailController.cs
  36. 1 5
      Areas/Admin/Controllers/MainServer/ProductFareAreasController.cs
  37. 1 5
      Areas/Admin/Controllers/MainServer/ProductKeysController.cs
  38. 1 5
      Areas/Admin/Controllers/MainServer/ProductNormController.cs
  39. 1 5
      Areas/Admin/Controllers/MainServer/ProductNormItemController.cs
  40. 1 5
      Areas/Admin/Controllers/MainServer/ProductNormTempController.cs
  41. 0 10
      Areas/Admin/Controllers/MainServer/ProfitRewardRecordController.cs
  42. 0 38
      Areas/Admin/Controllers/MainServer/ProfitSubsidyDetailController.cs
  43. 0 1
      Areas/Admin/Controllers/MainServer/RecycMachineOrderController.cs
  44. 0 3
      Areas/Admin/Controllers/MainServer/RecycMachineOrderPosController.cs
  45. 0 18
      Areas/Admin/Controllers/MainServer/SchoolMakerStudyController.cs
  46. 0 1
      Areas/Admin/Controllers/MainServer/SmallStoreHouseController.cs
  47. 0 9
      Areas/Admin/Controllers/MainServer/StoreHouseAmountPromissController.cs
  48. 10 4
      Areas/Admin/Controllers/MainServer/StoreHouseAmountRecordController.cs
  49. 171 133
      Areas/Admin/Controllers/MainServer/StoreHouseController.cs
  50. 17 0
      Areas/Admin/Controllers/MainServer/StoreMachineApplyController.cs
  51. 23 16
      Areas/Admin/Controllers/MainServer/SysRechargeRecordController.cs
  52. 230 426
      Areas/Admin/Controllers/MainServer/SysToolsController.cs
  53. 163 19
      Areas/Admin/Controllers/MainServer/ToChargeBackRecordController.cs
  54. 376 0
      Areas/Admin/Controllers/MainServer/ToChargeBackRecordSubController.cs
  55. 420 0
      Areas/Admin/Controllers/MainServer/ToChargeByStageController.cs
  56. 0 69
      Areas/Admin/Controllers/MainServer/TradeDaySummaryController.cs
  57. 0 11
      Areas/Admin/Controllers/MainServer/TradeRecordController.cs
  58. 1 0
      Areas/Admin/Controllers/MainServer/UserAccountController.cs
  59. 0 4
      Areas/Admin/Controllers/MainServer/UserAccountRecordController.cs
  60. 1 5
      Areas/Admin/Controllers/MainServer/UserAddressController.cs
  61. 0 38
      Areas/Admin/Controllers/MainServer/UserCashRecordController.cs
  62. 1 5
      Areas/Admin/Controllers/MainServer/UserLevelSetController.cs
  63. 0 36
      Areas/Admin/Controllers/MainServer/UserTradeDaySummaryController.cs
  64. 0 40
      Areas/Admin/Controllers/MainServer/UserTradeMonthSummaryController.cs
  65. 211 30
      Areas/Admin/Controllers/MainServer/UsersController.cs
  66. 135 0
      Areas/Admin/Controllers/OperateServer/AmountRecordOperateController.cs
  67. 0 35
      Areas/Admin/Controllers/OperateServer/StoreHouseOperateController.cs
  68. 8 19
      Areas/Admin/Controllers/OperateServer/StoreMachineApplyOperateController.cs
  69. 8 4
      Areas/Admin/Controllers/OperateServer/StoreMachineApplysOperateController.cs
  70. 0 26
      Areas/Admin/Controllers/OperateServer/SysAdminOperateController.cs
  71. 1 5
      Areas/Admin/Controllers/OperateServer/SystemSetOperateController.cs
  72. 0 5
      Areas/Admin/Controllers/OperateServer/UserAccountRecordOperateController.cs
  73. 0 16
      Areas/Admin/Controllers/OperateServer/UserCashRecordOperateController.cs
  74. 0 16
      Areas/Admin/Controllers/OperateServer/UserCashRecordOperatesController.cs
  75. BIN
      Areas/Admin/Views/.DS_Store
  76. 2 2
      Areas/Admin/Views/Home/Login.cshtml
  77. BIN
      Areas/Admin/Views/MainServer/.DS_Store
  78. 134 0
      Areas/Admin/Views/MainServer/PosMachinesTwo/Import.cshtml
  79. 36 4
      Areas/Admin/Views/MainServer/PosMachinesTwo/Index.cshtml
  80. 7 0
      Areas/Admin/Views/MainServer/PosMerchantInfoList/Indexrg.cshtml
  81. 1 1
      Areas/Admin/Views/MainServer/StoreHouseAmountRecord/Indexs.cshtml
  82. 1 1
      Areas/Admin/Views/MainServer/SysRechargeRecord/Index.cshtml
  83. 4 4
      Areas/Admin/Views/MainServer/SysTools/CheckMachine.cshtml
  84. 229 0
      Areas/Admin/Views/MainServer/SysTools/SeeMerchantTradeDetail.cshtml
  85. 16 3
      Areas/Admin/Views/MainServer/SysTools/TransferPos.cshtml
  86. 78 68
      Areas/Admin/Views/MainServer/ToChargeBackRecord/Add.cshtml
  87. 69 70
      Areas/Admin/Views/MainServer/ToChargeBackRecord/Edit.cshtml
  88. 27 10
      Areas/Admin/Views/MainServer/ToChargeBackRecord/Index.cshtml
  89. 243 0
      Areas/Admin/Views/MainServer/ToChargeBackRecordSub/Add.cshtml
  90. 250 0
      Areas/Admin/Views/MainServer/ToChargeBackRecordSub/Edit.cshtml
  91. 159 0
      Areas/Admin/Views/MainServer/ToChargeBackRecordSub/Index.cshtml
  92. 390 0
      Areas/Admin/Views/MainServer/ToChargeByStage/Add.cshtml
  93. 264 0
      Areas/Admin/Views/MainServer/ToChargeByStage/Edit.cshtml
  94. 172 0
      Areas/Admin/Views/MainServer/ToChargeByStage/Index.cshtml
  95. 1 2
      Areas/Admin/Views/MainServer/UserAccount/CloseRemark.cshtml
  96. 31 18
      Areas/Admin/Views/MainServer/UserAccount/Index.cshtml
  97. 131 0
      Areas/Admin/Views/MainServer/Users/CancleUsers.cshtml
  98. 88 0
      Areas/Admin/Views/OperateServer/AmountRecordOperate/Index.cshtml
  99. 1 0
      Config/MysqlConn.cs
  100. 40 1
      Controllers/HomeController.cs

BIN
.DS_Store


+ 68 - 19
AppStart/ExcelHelper.cs

@@ -27,7 +27,6 @@ namespace MySystem
             while (true)
             {
                 string data = RedisDbconn.Instance.RPop<string>("ExcelImportV2");
-                // string data = RedisDbconn.Instance.RPop<string>("ExcelImportV3");
                 if (!string.IsNullOrEmpty(data))
                 {
                     string[] dataList = data.Split("#cut#");
@@ -348,9 +347,6 @@ namespace MySystem
                                                                         StoreId = store.Id, //仓库
                                                                     });
 
-                                                                    // RemoveClass.DeletePosMachineList("PosMachineTwoList:" + storefor.StoreId, machine.Id);
-                                                                    // RedisDbconn.Instance.AddList("PosMachineTwoList:" + tostorefor.StoreId, machine);
-
                                                                     if (!storeData.ContainsKey(storefor.StoreId + "_" + BrandId))
                                                                     {
                                                                         storeData.Add(storefor.StoreId + "_" + BrandId, 1);
@@ -559,7 +555,7 @@ namespace MySystem
                                                     PosMachinesTwo machine = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machinefor.SnId && m.BuyUserId == 0 && m.UserId == 0) ?? new PosMachinesTwo();
                                                     if (machine.Id > 0)
                                                     {
-                                                        if(machine.BrandId == BrandId)
+                                                        if (machine.BrandId == BrandId)
                                                         {
                                                             StoreStockChange stockchange = db.StoreStockChange.Add(new StoreStockChange()
                                                             {
@@ -671,7 +667,7 @@ namespace MySystem
                                                             db.SaveChanges();
 
                                                             RemoveClass.DeletePosMachineList("PosMachineTwoList:" + storefor.StoreId, machine.Id);
-                                                            
+
                                                             if (!storeData.ContainsKey(storefor.StoreId + "_" + BrandId))
                                                             {
                                                                 storeData.Add(storefor.StoreId + "_" + BrandId, 1);
@@ -822,7 +818,7 @@ namespace MySystem
                                                     if (machine.Id > 0)
                                                     {
                                                         function.WriteLog(DateTime.Now.ToString() + "\n" + Newtonsoft.Json.JsonConvert.SerializeObject(machine), "机具回仓库日志");
-                                                        if(!opData.Contains(machine.BuyUserId + ":" + machine.BrandId))
+                                                        if (!opData.Contains(machine.BuyUserId + ":" + machine.BrandId))
                                                         {
                                                             opData.Add(machine.BuyUserId + ":" + machine.BrandId);
                                                         }
@@ -960,7 +956,7 @@ namespace MySystem
                                         db.SaveChanges();
                                     }
                                     db.SaveChanges();
-                                    foreach(string sub in opData)
+                                    foreach (string sub in opData)
                                     {
                                         string[] datalist = sub.Split(":");
                                         PublicFunction.SycnMachineCount(int.Parse(datalist[0]), int.Parse(datalist[1]));
@@ -1151,7 +1147,7 @@ namespace MySystem
                                                 {
                                                     UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
                                                     if (account != null)
-                                                    {                                                        
+                                                    {
                                                         account.QueryCount = 1;
                                                         decimal TradeAmount = edit.TradeAmount;
                                                         decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
@@ -1217,7 +1213,7 @@ namespace MySystem
                                                     if (account != null)
                                                     {
                                                         decimal TradeAmount = edit.TradeAmount;
-                                                        if(account.FreezeAmount < TradeAmount)
+                                                        if (account.FreezeAmount < TradeAmount)
                                                         {
                                                             RedisDbconn.Instance.AddList("ErrList" + checkKey, "提现记录单号为" + CashOrderNo + "的创客冻结金额异常");
                                                         }
@@ -1304,10 +1300,7 @@ namespace MySystem
                                         decimal Amount = decimal.Parse(function.CheckNum(dr[1].ToString())); // 调整费率
                                         int Kind = int.Parse(function.CheckInt(dr[2].ToString())); // 1 调升 2 调低
                                         var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosNo) ?? new PosMachinesTwo();
-                                        if (pos.BrandId == 1 || pos.BrandId == 3 || pos.BrandId == 6)
-                                        {
-                                            warning += PosNo + ",";
-                                        }
+                                        warning += PosNo + ",";
                                     }
                                     if (!string.IsNullOrEmpty(warning))
                                     {
@@ -1322,10 +1315,7 @@ namespace MySystem
                                             decimal Amount = decimal.Parse(function.CheckNum(dr[1].ToString())); // 调整费率
                                             int Kind = int.Parse(function.CheckInt(dr[2].ToString())); // 1 调升 2 调低
                                             var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosNo) ?? new PosMachinesTwo();
-                                            if (pos.BrandId == 1 || pos.BrandId == 3 || pos.BrandId == 6)
-                                            {
-                                                warning += PosNo + ",";
-                                            }
+                                            warning += PosNo + ",";
                                             if (Kind == 1)
                                             {
                                                 pos.UpFeeFlag = 1;
@@ -1391,6 +1381,66 @@ namespace MySystem
                                 }
                             }
                         }
+                        else if (_Kind == "ImportJKCreateData")
+                        {
+                            var brandInfo = db.KqProducts.ToList();
+                            using (var tran = db.Database.BeginTransaction())
+                            {
+                                try
+                                {
+                                    int Size = 100;
+                                    if (list.Rows.Count - DoCount < 100)
+                                    {
+                                        Size = list.Rows.Count - DoCount;
+                                    }
+                                    for (int i = DoCount; i < DoCount + Size; i++)
+                                    {
+                                        DataRow dr = list.Rows[i];
+                                        string PosSn = dr[0].ToString(); // 提现单号
+                                        string CreateDate = dr[1].ToString(); // 备注
+                                        var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new PosMachinesTwo();
+                                        if (pos.Id > 0)
+                                        {
+                                            var brandName = brandInfo.FirstOrDefault(m => m.Id == pos.BrandId);
+                                            if (brandName.Name.StartsWith("金控"))
+                                            {
+                                                pos.CreateDate = DateTime.Parse(CreateDate);
+                                                SuccessCount += 1;
+                                                RedisDbconn.Instance.Set("CheckImport:" + checkKey, SuccessCount + " / " + TotalCount);
+                                            }
+                                            else
+                                            {
+                                                RedisDbconn.Instance.AddList("ErrList" + checkKey, "以下操作失败" + PosSn + ',' + "该机具号品牌不符合修改规则");
+                                            }
+                                        }
+                                        else
+                                        {
+                                            RedisDbconn.Instance.AddList("ErrList" + checkKey, "以下操作失败" + PosSn + ',' + "该机具号不存在");
+                                        }
+                                    }
+                                    DoCount += Size;
+                                    db.SaveChanges();
+                                    tran.Commit();
+                                    if (DoCount >= list.Rows.Count)
+                                    {
+                                        RedisDbconn.Instance.Set("CheckImport:" + checkKey, "success|" + SuccessCount);
+                                        RedisDbconn.Instance.SetExpire("CheckImport:" + checkKey, 60000);
+                                    }
+                                }
+                                catch (Exception ex)
+                                {
+                                    DoCount = list.Rows.Count;
+                                    tran.Rollback();
+                                    ErrorMsg msg = new ErrorMsg()
+                                    {
+                                        Time = DateTime.Now,
+                                        ErrorContent = ex.ToString(),
+                                    };
+                                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "导入Excel文件异常(金控导入修改入库时间)");
+                                }
+                            }
+                        }
+
                         db.Dispose();
                     }
                 }
@@ -1398,7 +1448,6 @@ namespace MySystem
                 {
                     Thread.Sleep(5000);
                 }
-                // return "success|" + SuccessCount;
             }
         }
     }

+ 124 - 0
AppStart/Helper/InstallmentDeductionService.cs

@@ -0,0 +1,124 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Threading;
+using MySystem.Models;
+using Library;
+
+namespace MySystem
+{
+    /// <summary>
+    /// 分期扣款(每月20号执行)
+    /// </summary>
+    public class InstallmentDeductionService
+    {
+        public readonly static InstallmentDeductionService Instance = new InstallmentDeductionService();
+        private InstallmentDeductionService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(doSomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void doSomething()
+        {
+            while (true)
+            {
+                // if (DateTime.Now.Day == 20 && DateTime.Now.Hour < 12)
+                if (DateTime.Now.Hour < 20)
+                {
+                    try
+                    {
+                        string check = function.ReadInstance("/InstallmentDeduction/check" + DateTime.Now.ToString("yyyy-MM-20") + ".txt");
+                        if (string.IsNullOrEmpty(check))
+                        {
+                            function.WritePage("/InstallmentDeduction/", "check" + DateTime.Now.ToString("yyyy-MM-20") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                            WebCMSEntities db = new WebCMSEntities();
+                            var startdate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-20 00:00:00"));
+                            var enddate = startdate.AddDays(1);
+                            // var info = db.ToChargeBackRecordSub.Where(m => m.Status == 0 && m.StartDate >= startdate && m.StartDate < enddate).ToList();//分期扣款记录明细
+                            var info = db.ToChargeByStage.Where(m => m.Status == 0).ToList();//分期扣款记录
+                            foreach (var item in info)
+                            {
+                                var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Status == 0 && m.ParentId == item.Id && m.StartDate >= startdate && m.StartDate < enddate) ?? new ToChargeBackRecordSub();
+                                if (toChargeBackRecordSub.Id > 0)
+                                {
+                                    var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == item.UserId);
+                                    if (userAccount == null)
+                                    {
+                                        userAccount = db.UserAccount.Add(new UserAccount()
+                                        {
+                                            Id = item.UserId,
+                                            UserId = item.UserId,
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    toChargeBackRecordSub.Status = 2;
+                                    userAccount.ToChargeAmount += toChargeBackRecordSub.ChargeAmount;//增加预扣款
+                                    var toChargeBackRecord = db.ToChargeBackRecord.Add(new ToChargeBackRecord
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        Sort = toChargeBackRecordSub.Id,
+                                        UserId = item.UserId,
+                                        ChargeAmount = toChargeBackRecordSub.ChargeAmount,
+                                        ChargeType = 2,//分期预扣款
+                                        Remark = toChargeBackRecordSub.Remark,
+
+                                    }).Entity;
+                                }
+
+                                // //只能存在一笔分期扣款记录(先前有的但是余额不够未扣除的则不添加新的)
+                                // var checks = db.ToChargeBackRecord.Any(m => m.Sort > 0 && (m.Status == 0 || m.Status == 3) && m.ChargeType == 2 && m.UserId == item.UserId);
+                                // if (!checks)
+                                // {
+                                //     string checkAdd = RedisDbconn.Instance.Get<string>("InstallmentDeductionAddRecord:" + item.UserId);
+                                //     if (string.IsNullOrEmpty(check))
+                                //     {
+                                //         var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Status == 0 && m.ParentId == item.Id && m.StartDate >= startdate && m.StartDate < enddate) ?? new ToChargeBackRecordSub();
+                                //         if (toChargeBackRecordSub.Id > 0)
+                                //         {
+                                //             var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == item.UserId);
+                                //             if (userAccount == null)
+                                //             {
+                                //                 userAccount = db.UserAccount.Add(new UserAccount()
+                                //                 {
+                                //                     Id = item.UserId,
+                                //                     UserId = item.UserId,
+                                //                 }).Entity;
+                                //                 db.SaveChanges();
+                                //             }
+                                //             userAccount.ToChargeAmount += toChargeBackRecordSub.ChargeAmount;//增加预扣款
+                                //             var toChargeBackRecord = db.ToChargeBackRecord.Add(new ToChargeBackRecord
+                                //             {
+                                //                 CreateDate = DateTime.Now,
+                                //                 Sort = toChargeBackRecordSub.Id,
+                                //                 UserId = item.UserId,
+                                //                 ChargeAmount = toChargeBackRecordSub.ChargeAmount,
+                                //                 ChargeType = 2,//分期预扣款
+                                //                 Remark = "分期预扣款",
+
+                                //             }).Entity;
+                                //         }
+                                //     }
+                                //     RedisDbconn.Instance.Set("InstallmentDeductionAddRecord:" + item.UserId, "wait");
+                                //     RedisDbconn.Instance.SetExpire("InstallmentDeductionAddRecord:" + item.UserId, 300);
+                                // }
+                            }
+                            db.SaveChanges();
+
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "执行分期扣费异常");
+                    }
+                }
+                Thread.Sleep(1000);
+            }
+        }
+    }
+}

+ 0 - 13
AppStart/Helper/SycnProfitService.cs

@@ -36,14 +36,6 @@ namespace MySystem
                         string date = data[1];
                         int OpType = int.Parse(data[2]);
                         string SysUserName = data[3];
-                        // if(OpType == 0)
-                        // {
-                        //     DoTradeProfit(BrandId, date, SysUserName, OpType);
-                        // }
-                        // else if(OpType == 1)
-                        // {
-                        //     DoTradeProfit2(BrandId, date, SysUserName, OpType);
-                        // }
                         DoTradeProfit(BrandId, date, SysUserName, OpType);
                         DoSubsidyProfit(BrandId, date, OpType);
                         function.WriteLog(DateTime.Now.ToString() + "\r\n\r\n", "同步分润数据");
@@ -146,8 +138,6 @@ namespace MySystem
                             Remark = ProfitType == 1 ? "直拓商户分润" : "品牌推广服务费",
                         }).Entity;
                         db.SaveChanges();
-                        // RedisDbconn.Instance.Clear("UserAccount:" + UserId);
-                        // RedisDbconn.Instance.Clear("UserAccount:Income:" + UserId + ":" + DateTime.Now.ToString("yyyyMM"));
                     }
                     tran.Commit();
                 }
@@ -207,7 +197,6 @@ namespace MySystem
                         AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
                         BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
                         AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                        // Remark = ProfitType == 1 ? "直拓商户分润" : "品牌推广服务费",
                     }).Entity;
                     db.SaveChanges();
                     tran.Commit();
@@ -294,8 +283,6 @@ namespace MySystem
                             Remark = "直拓商户补贴",
                         }).Entity;
                         db.SaveChanges();
-                        // RedisDbconn.Instance.Clear("UserAccount:" + UserId);
-                        // RedisDbconn.Instance.Clear("UserAccount:Income:" + UserId + ":" + DateTime.Now.ToString("yyyyMM"));
                     }
                     tran.Commit();
                 }

+ 0 - 5
AppStart/Helper/SycnProfitServiceV2.cs

@@ -40,7 +40,6 @@ namespace MySystem
                         {
                             DoTradeProfit(BrandId, date, SysUserName);
                             DoSubsidyProfit(BrandId, date);
-                            // RedisDbconn.Instance.AddList("PosExpiredRingQueue", "1");
                         }
                         else if (OpType == 1)
                         {
@@ -138,8 +137,6 @@ namespace MySystem
                             decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
                             decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
                             decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                            // account.BalanceAmount += ProfitAmount;
-                            // account.TotalAmount += ProfitAmount;
                             decimal AfterTotalAmount = account.TotalAmount + ProfitAmount; //变更后总金额
                             decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
                             decimal AfterBalanceAmount = account.BalanceAmount + ProfitAmount; //变更后余额
@@ -276,8 +273,6 @@ namespace MySystem
                             decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
                             decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
                             decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                            // account.BalanceAmount += ProfitMoney;
-                            // account.TotalAmount += ProfitMoney;
                             decimal AfterTotalAmount = account.TotalAmount + ProfitMoney; //变更后总金额
                             decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
                             decimal AfterBalanceAmount = account.BalanceAmount + ProfitMoney; //变更后余额

+ 0 - 1
AppStart/Helper/SycnProfitServiceV3.cs

@@ -50,7 +50,6 @@ namespace MySystem
                                 DoUserProfit(date);
                                 DoUserServiceFee();
                                 //扣过期机具费
-                                // RedisDbconn.Instance.AddList("DoChargeAmountQueue", "0");
                             }
                         }
                         function.WriteLog(DateTime.Now.ToString() + "\r\n\r\n", "同步分润数据");

+ 0 - 273
AppStart/Helper/SycnSpTradeService.cs

@@ -1,273 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using MySystem.Models;
-using Library;
-using LitJson;
-
-namespace MySystem
-{
-    public class SycnSpTradeService
-    {
-        public readonly static SycnSpTradeService Instance = new SycnSpTradeService();
-        private SycnSpTradeService()
-        { }
-
-        public void Start(string PosSn, DateTime start, DateTime end, int StartId = 0)
-        {
-            SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
-            WebCMSEntities db = new WebCMSEntities();
-            IQueryable<SpModels.TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id > StartId && m.CreateDate >= start && m.CreateDate < end && m.TradeSnNo == PosSn);
-            foreach (SpModels.TradeRecord trade in trades.ToList())
-            {
-                bool op = true;
-                if (trade.SerEntryMode == "N")
-                {
-                    if (trade.TradeAmount == 9900 || trade.TradeAmount == 19900 || trade.TradeAmount == 29900)
-                    {
-                        op = false;
-                        MachineForMerNo posFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == trade.MerNo) ?? new MachineForMerNo();
-                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
-                        if (pos != null)
-                        {
-                            if (trade.SerEntryMode == "N" && trade.ProductType == "1")
-                            {
-                                pos.SeoKeyword = trade.TradeAmount.ToString("f2");
-                                // pos.IsPurchase = 0;
-                                db.SaveChanges();
-                            }
-                        }
-                        SpModels.TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
-                        if (edit != null)
-                        {
-                            edit.Status = 2;
-                        }
-                        spdb.SaveChanges();
-                    }
-                }
-                if (trade.DiscountRateFlag == "True")
-                {
-                    op = false;
-                    SpModels.TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
-                    if (edit != null)
-                    {
-                        edit.Status = 2;
-                    }
-                    spdb.SaveChanges();
-                }
-                if(trade.ProductType == "7" && trade.TradeStatus != "00")
-                {
-                    op = false;
-                    SpModels.TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
-                    if (edit != null)
-                    {
-                        edit.Status = 2;
-                    }
-                    spdb.SaveChanges();
-                }
-                if (op)
-                {
-                    MachineForMerNo posFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == trade.MerNo) ?? new MachineForMerNo();
-                    PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
-                    if (pos != null)
-                    {
-                        if (pos.BindMerchantId > 0)
-                        {
-                            Users user = db.Users.FirstOrDefault(m => m.Id == pos.UserId) ?? new Users();
-                            int TopUserId = 0;
-                            if (!string.IsNullOrEmpty(user.ParentNav))
-                            {
-                                TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
-                            }
-                            bool check = db.SpOrderNos.Any(m => m.OrderNo == trade.TradeSerialNo);
-                            if (!check)
-                            {
-                                decimal TradeAmount = trade.TradeAmount;
-                                int BankCardType = -1;
-                                int QrPayFlag = 0;
-                                int VipFlag = 0;
-                                int PayType = 0;
-                                if (pos.BrandId == 1 || pos.BrandId == 3)
-                                {
-                                    TradeAmount = TradeAmount / 100;
-                                    BankCardType = int.Parse(trade.BankCardType);
-                                    if (trade.TradeType == "02") QrPayFlag = 1;
-                                    else if (trade.TradeType == "NQ") PayType = 1;
-                                    if (trade.SettleMethod == "E") VipFlag = 1;
-                                }
-                                else if (pos.BrandId == 2)
-                                {
-                                    if (trade.TradeType == "DEBIT_BY_CARD")
-                                    {
-                                        BankCardType = 0;
-                                    }
-                                    else
-                                    {
-                                        BankCardType = 1;
-                                    }
-                                    if (trade.TradeType == "CLOUD_PAY") QrPayFlag = 1;
-                                }
-                                else if (pos.BrandId == 4 || pos.BrandId == 5 || pos.BrandId == 8 || pos.BrandId == 9)
-                                {
-                                    TradeAmount = TradeAmount / 100;
-                                    if (trade.BankCardType == "100")
-                                    {
-                                        BankCardType = 1;
-                                    }
-                                    else if (trade.BankCardType == "200")
-                                    {
-                                        BankCardType = 0;
-                                    }
-                                    if (trade.TradeType == "200") QrPayFlag = 1;
-                                    if (trade.Field1 == "1") VipFlag = 1;
-                                }
-                                else if (pos.BrandId == 6)
-                                {
-                                    TradeAmount = TradeAmount / 100;
-                                    if (trade.BankCardType == "01" || trade.BankCardType == "11")
-                                    {
-                                        BankCardType = 0;
-                                    }
-                                    else
-                                    {
-                                        BankCardType = 1;
-                                    }
-                                }
-                                else if (pos.BrandId == 7)
-                                {
-                                    TradeAmount = TradeAmount / 100;
-                                    if (trade.BankCardType == "OA" || trade.BankCardType == "CC" || trade.BankCardType == "SCC")
-                                    {
-                                        BankCardType = 1;
-                                    }
-                                    else
-                                    {
-                                        BankCardType = 0;
-                                    }
-                                }
-                                int BrandId = int.Parse(trade.ProductType);
-                                if (BrandId == 1 && trade.MerNo.StartsWith("M900"))
-                                {
-                                    BrandId = 3;
-                                }
-                                if (BrandId == 4 && trade.DeviceType == "200")
-                                {
-                                    BrandId = 5;
-                                }
-                                decimal SourceTradeAmount = TradeAmount;
-                                if (pos.Sort == 0 && pos.BrandId == 7)
-                                {
-                                    decimal deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                                    if (deposit > 0)
-                                    {
-                                        TradeAmount -= deposit;
-                                        pos.Sort = 1;
-                                    }
-                                }
-                                if (TradeAmount > 0)
-                                {
-                                    ulong MerHelpFlag = 0;
-                                    decimal DepositAmt = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                                    if (DepositAmt > 0)
-                                    {
-                                        int Days = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + pos.BrandId + ":HelpPolicy:Days")); //天数
-                                        if (pos.BindingTime != null)
-                                        {
-                                            if (pos.BindingTime.Value.AddDays(Days) > DateTime.Now)
-                                            {
-                                                MerHelpFlag = 1;
-                                            }
-                                        }
-                                    }
-                                    int CapFlag = 0;
-                                    if(BankCardType == 0 && TradeAmount >= 1666.67M)
-                                    {
-                                        CapFlag = 1;
-                                    }
-                                    db.TradeRecord.Add(new TradeRecord()
-                                    {
-                                        ParentNav = user.ParentNav,
-                                        CreateDate = trade.CreateDate,
-                                        UpdateDate = trade.UpdateDate,
-                                        RecordNo = trade.TradeSerialNo, //单号
-                                        UserId = pos.UserId, //创客
-                                        MerchantId = pos.BindMerchantId, //商户
-                                        MerNo = trade.MerNo, //渠道商户编号
-                                        MerHelpFlag = MerHelpFlag, //是否属于扶持周期内商户
-                                        HelpMonthCount = 0, //扶持第几个月
-                                        MerBuddyType = user.MerchantType, //商户创客类型
-                                        SnNo = trade.TradeSnNo, //渠道SN号
-                                        TradeSerialNo = trade.ChannelSerial, //交易流水号
-                                        TradeAmount = TradeAmount, //交易金额
-                                        BankCardType = BankCardType, //银行卡类型
-                                        QrPayFlag = QrPayFlag, //云闪付标识
-                                        CapFlag = CapFlag, //借记卡是否封顶
-                                        VipFlag = VipFlag, //会员标记
-                                        PayType = PayType, //支付方式
-                                        BrandId = BrandId, //品牌
-                                        Remark = trade.Remark, //备注
-                                        TopUserId = TopUserId, //顶级创客
-                                        MerUserId = pos.UserId, //商户直属创客
-                                    });
-                                }
-                                decimal CheckMoney = 1000;
-                                int CheckDays = 30;
-                                if (pos.BrandId == 6)
-                                {
-                                    CheckMoney = 5000;
-                                }
-                                if (BankCardType == 1 || (BankCardType == 2 && pos.BrandId == 1) || (BankCardType == 2 && pos.BrandId == 3))
-                                {
-                                    pos.CreditTrade += SourceTradeAmount;
-                                }
-                                else if (BankCardType == 0)
-                                {
-                                    pos.DebitCardTrade += TradeAmount;
-                                }
-                                // if (pos.CreditTrade < CheckMoney)
-                                // {
-                                //     decimal deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                                //     if (deposit > 0 && pos.IsPurchase != 1)
-                                //     {
-                                //         pos.IsPurchase = 0;
-                                //     }
-                                // }
-                                if (pos.CreditTrade >= CheckMoney && pos.ActivationState == 0 && pos.TransferTime < pos.BindingTime && pos.BindingTime > DateTime.Now.AddDays(-CheckDays))
-                                {
-                                    // decimal deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                                    // if (deposit == 0 && pos.IsPurchase != 1)
-                                    // {
-                                    //     pos.IsPurchase = 0;
-                                    // }
-                                    pos.ActivationState = 1;
-                                    pos.ActivationTime = DateTime.Now;
-                                    PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
-                                    if (merchant != null)
-                                    {
-                                        merchant.ActiveStatus = 1;
-                                        merchant.MerStandardDate = DateTime.Now;
-                                        db.SaveChanges();
-                                    }
-                                    //发放大盟主奖励
-                                    if(pos.LeaderUserId > 0)
-                                    {
-                                        RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
-                                    }
-                                }
-                                db.SaveChanges();
-                            }
-                            SpModels.TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
-                            if (edit != null)
-                            {
-                                edit.Status = 2;
-                            }
-                            spdb.SaveChanges();
-                        }
-                    }
-                }
-            }
-            spdb.Dispose();
-            db.Dispose();
-        }
-    }
-}

+ 113 - 31
AppStart/Helper/TimeOutPosChargeService.cs

@@ -28,7 +28,7 @@ namespace MySystem
         {
             while (true)
             {
-                if (DateTime.Now.Hour < 20)
+                if (DateTime.Now.Hour < 3)
                 {
                     try
                     {
@@ -40,8 +40,8 @@ namespace MySystem
                             var date = DateTime.Now.AddDays(-60).ToString("yyyy-MM-dd 00:00:00");//过期限制时间
                             var time = DateTime.Parse(date);//过期限制时间
 
-                            DataTable dt = CustomerSqlConn.dtable("SELECT BuyUserId FROM PosMachinesTwo WHERE `Status`>-1 AND BuyUserId>0 AND BindingState=0 AND ActivationState=0 AND ScanQrTrade=0 AND RecycEndDate <'" + date + "' GROUP BY BuyUserId", MysqlConn.connstr);//扣费创客
-                            var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BindingState == 0 && m.ActivationState == 0 && m.ScanQrTrade == 0 && m.RecycEndDate < time).ToList();//循环过期超过60天机具
+                            DataTable dt = CustomerSqlConn.dtable("SELECT BuyUserId FROM PosMachinesTwo WHERE `Status`>-1 AND BuyUserId>0 AND BindingState=0 AND ActivationState=0 AND ScanQrTrade=0 AND RecycEndDate <'" + date + "' GROUP BY BuyUserId", MysqlConn.SqlConnStr);//扣费创客
+                            var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BindingState == 0 && m.ActivationState == 0 && m.ScanQrTrade == 0 && m.RecycEndDate < time).ToList();//循环过期超过15天机具
                             var brandInfo = db.KqProducts.ToList();
                             foreach (DataRow item in dt.Rows)
                             {
@@ -85,34 +85,7 @@ namespace MySystem
                             }
                             db.SaveChanges();
 
-                            var info = db.ToChargeBackRecord.Where(m => m.Status == 0).ToList();//过期机具扣费记录
-                            foreach (var items in info)
-                            {
-                                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == items.UserId) ?? new UserAccount();
-                                var record = info.FirstOrDefault(m => m.Id == items.Id);
-                                if (userAccount.BalanceAmount >= record.ChargeAmount)
-                                {
-                                    var userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord
-                                    {
-                                        CreateDate = DateTime.Now,
-                                        UserId = items.UserId,
-                                        BeforeBalanceAmount = userAccount.BalanceAmount,
-                                        AfterBalanceAmount = userAccount.BalanceAmount - record.ChargeAmount,
-                                        ChangeAmount = record.ChargeAmount,
-                                        ChangeType = 124,//过期机具货款扣费
-                                        Remark = "扣机具货款",
-
-                                    }).Entity;
-                                    record.Status = 1;
-                                    if (userAccount.ToChargeAmount >= record.ChargeAmount)
-                                    {
-                                        userAccount.ToChargeAmount -= record.ChargeAmount;//扣减预扣款
-                                    }
-                                    userAccount.BalanceAmount -= record.ChargeAmount;//扣减余额
-                                }
-                            }
-                            db.SaveChanges();
-
+                            DoChargeAmount(db);
                         }
                     }
                     catch (Exception ex)
@@ -123,5 +96,114 @@ namespace MySystem
                 Thread.Sleep(1000);
             }
         }
+
+
+
+        public void StartDoChargeAmount()
+        {
+            Thread th = new Thread(StartDoChargeAmountReady);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDoChargeAmountReady()
+        {
+            while (true)
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                DoChargeAmount(db);
+                db.Dispose();
+                Thread.Sleep(600000);
+            }
+        }
+
+        public void ListenChargeAmount()
+        {
+            Thread th = new Thread(ListenChargeAmountReady);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void ListenChargeAmountReady()
+        {
+            while (true)
+            {
+                string content = RedisDbconn.Instance.RPop<string>("DoChargeAmountQueue");
+                if (!string.IsNullOrEmpty(content))
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    DoChargeAmount(db, int.Parse(function.CheckInt(content)));
+                    db.Dispose();
+                }
+            }
+        }
+
+        public void DoChargeAmount(WebCMSEntities db, int UserId = 0)
+        {
+            IQueryable<ToChargeBackRecord> list = db.ToChargeBackRecord.Where(m => m.Status == 0);//过期机具扣费记录
+            if (UserId > 0)
+            {
+                list = list.Where(m => m.UserId == UserId);
+            }
+            var info = list.ToList();
+            foreach (var items in info)
+            {
+                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == items.UserId) ?? new UserAccount();
+                var record = info.FirstOrDefault(m => m.Id == items.Id);
+
+                if (userAccount.BalanceAmount >= record.ChargeAmount)
+                {
+                    var ChangeType = 0;
+                    var Remark = "";
+                    if (record.ChargeType == 124)//过期机具货款扣费
+                    {
+                        ChangeType = 124;
+                        Remark = "扣机具货款";
+                    }
+                    if (record.ChargeType == 1)//普通预扣款
+                    {
+                        ChangeType = 202;
+                        // Remark = "普通扣款";
+                        Remark = items.Remark;
+                    }
+                    if (record.ChargeType == 2)//分期预扣款
+                    {
+                        ChangeType = 201;
+                        // Remark = "分期扣款";
+                        Remark = items.Remark;
+                    }
+                    var userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord
+                    {
+                        CreateDate = DateTime.Now,
+                        UserId = items.UserId,
+                        BeforeBalanceAmount = userAccount.BalanceAmount,
+                        AfterBalanceAmount = userAccount.BalanceAmount - record.ChargeAmount,
+                        ChangeAmount = record.ChargeAmount,
+                        ChangeType = ChangeType,
+                        Remark = Remark,
+
+                    }).Entity;
+                    record.Status = 1;
+                    if (record.ChargeType == 2)
+                    {
+                        var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Id == record.Sort) ?? new ToChargeBackRecordSub();
+                        var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == toChargeBackRecordSub.ParentId && m.TimeNumber > m.QueryCount) ?? new ToChargeByStage();
+                        toChargeBackRecordSub.Status = 1;
+                        toChargeByStage.QueryCount += 1;
+                        toChargeByStage.ChargeAmount += toChargeBackRecordSub.ChargeAmount;
+                        if (toChargeByStage.TimeNumber == toChargeByStage.QueryCount)
+                        {
+                            toChargeByStage.Status = 1;
+                        }
+                    }
+                    if (userAccount.ToChargeAmount >= record.ChargeAmount)
+                    {
+                        userAccount.ToChargeAmount -= record.ChargeAmount;//分期扣款
+                    }
+                    userAccount.BalanceAmount -= record.ChargeAmount;//扣减余额
+                }
+            }
+            db.SaveChanges();
+        }
     }
 }

+ 0 - 1
AppStart/OpExcelHelper.cs

@@ -254,7 +254,6 @@ namespace MySystem
                 {
                     Thread.Sleep(5000);
                 }
-                // return "success|" + SuccessCount;
             }
         }
     }

+ 0 - 2
AppStart/PublicFunction.cs

@@ -476,13 +476,11 @@ namespace MySystem
                 {
                     store.LaveNum += 1;
                 }
-                // db.SaveChanges();
             }
             MachineApply apply = db.MachineApply.FirstOrDefault(m => m.SwapSnExpand.Contains(PosSn));
             if(apply != null)
             {
                 apply.SwapSnExpand = apply.SwapSnExpand.Replace(PosSn, PosSn.Substring(0, 3) + "d" + PosSn.Substring(4));
-                // db.SaveChanges();
             }
 
         }

+ 0 - 21
AppStart/RabbitMQClient.cs

@@ -23,27 +23,6 @@ namespace MySystem
         public void SendMsg(string content, string QueueName = "")
         {
             RedisDbconn.Instance.AddList("BsServerMq", QueueName + "#cut#" + content);
-            //创建连接对象工厂
-            // var factory = new ConnectionFactory()
-            // {
-            //     UserName = UserName,
-            //     Password = Password,
-            //     AutomaticRecoveryEnabled = true,  //如果connection挂掉是否重新连接
-            //     TopologyRecoveryEnabled = true  //连接恢复后,连接的交换机,队列等是否一同恢复
-            // };
-            // List<AmqpTcpEndpoint> p = new List<AmqpTcpEndpoint>();
-            // string[] HostNames = HostName.Split(',');
-            // foreach (string subHostName in HostNames)
-            // {
-            //     string[] subHostNameData = subHostName.Split(':');
-            //     p.Add(new AmqpTcpEndpoint(subHostNameData[0], int.Parse(subHostNameData[1])));
-            // }
-            // var conn = factory.CreateConnection(p);
-            // var channel = conn.CreateModel();
-            // channel.QueueDeclare(QueueName, true, false, false);
-            // channel.BasicPublish("", QueueName, null, Encoding.Default.GetBytes(content));
-            // channel.Dispose();
-            // conn.Dispose();
         }
         #endregion
 

BIN
Areas/.DS_Store


BIN
Areas/Admin/.DS_Store


BIN
Areas/Admin/Controllers/.DS_Store


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

@@ -218,11 +218,6 @@ namespace MySystem.Areas.Admin.Controllers
         public string getUserLevel(int level)
         {
             string result = "";
-            // UserLevelSet set = bsdb.UserLevelSet.FirstOrDefault(m => m.Id == level);
-            // if (set != null)
-            // {
-            //     result = set.Name;
-            // }
             return result;
         }
 

+ 0 - 6
Areas/Admin/Controllers/BsServer/ColController.cs

@@ -67,18 +67,12 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("ColName", "2"); //名称
             Fields.Add("ColEnName", "2"); //英文名
             string condition = " and ColId like '" + CurColId + "%'";
-            // if (SysUserName != "admin" && SysUserName != "root")
-            // {
-            //     condition += " and ColId in ('" + RightInfo.Trim(',').Replace(",", "','") + "')";
-            // }
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.BsTables).IndexData("Col", Fields, "ColId asc", "False", page, limit, condition);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             List<Dictionary<string, object>> result = new List<Dictionary<string, object>>();
             foreach (Dictionary<string, object> dic in diclist)
             {
                 string ColId = dic["ColId"].ToString();
-                // dic["ColName"] = dic["ColName"].ToString();
-                // dic["Status"] = dic["Status"].ToString() == "1" ? "正常" : "关闭";
                 string UrlString = dic["Url"].ToString();
                 if (string.IsNullOrEmpty(UrlString))
                 {

+ 0 - 7
Areas/Admin/Controllers/CashServer/WithdrawRecordController.cs

@@ -94,13 +94,6 @@ namespace MySystem.Areas.Admin.Controllers
                 if (TradeStatus == 8) dic["TradeStatusName"] = "代付处理中";
                 //代付渠道
                 dic["CashChannel"] = "云汇算";
-                // string CashChannel = dic["CashChannel"].ToString();
-                // if (CashChannel == "CloudAcc") dic["CashChannel"] = "云账户";
-                // if (CashChannel == "KuaiQian") dic["CashChannel"] = "快钱";
-                // if (CashChannel == "CloudPay") dic["CashChannel"] = "云银付";
-                // if (CashChannel == "CloudPayAF") dic["CashChannel"] = "安福灵新";
-                // if (CashChannel == "JuHeBa") dic["CashChannel"] = "聚合吧云慧算";
-                // if (CashChannel == "") dic["CashChannel"] = "";
 
             }
             return Json(obj);

+ 48 - 48
Areas/Admin/Controllers/HomeController.cs

@@ -149,60 +149,60 @@ namespace MySystem.Areas.Admin.Controllers
         [HttpPost]
         public string Login(string UserName, string Pwd, string CheckCode)
         {
-            // string result = "";
-            // if (function.GetCookie(_accessor.HttpContext, "checkcode") != CheckCode)
-            // {
-            //     result = "验证码错误!!";
-            // }
-            // else
-            // {
-            //     Pwd = function.MD5_32(Pwd);
-            //     var user = db.SysAdmin.FirstOrDefault(m => m.AdminName == UserName && m.Password == Pwd);
-            //     if (user != null)
-            //     {
-            //         user.LastLoginDate = DateTime.Now;
-            //         db.SaveChanges();
-            //         function.WriteCookie(_accessor.HttpContext, "SysUserName", user.AdminName);
-            //         function.WriteCookie(_accessor.HttpContext, "SysRealName", user.RealName);
-            //         function.WriteCookie(_accessor.HttpContext, "SysRealRole", user.Role);
-            //         int RoleId = int.Parse(function.CheckInt(user.Role));
-            //         BsModels.SysAdminRole Role = db.SysAdminRole.FirstOrDefault(m => m.Id == RoleId) ?? new BsModels.SysAdminRole();
-            //         string RightInfo = function.CheckNull(Role.RightInfo);
-            //         function.WriteSession(_accessor.HttpContext, "RightInfo", RightInfo);
-            //         string UserId = user.Id.ToString();
-            //         function.WriteCookie(_accessor.HttpContext, "SysId", UserId);
-            //         function.WriteSession(_accessor.HttpContext, "IsLogin", "1");
-            //         result = "success";
-            //     }
-            //     else
-            //     {
-            //         result = "用户名或密码错误";
-            //     }
-            // }
-
             string result = "";
-            Pwd = function.MD5_32(Pwd);
-            var user = db.SysAdmin.FirstOrDefault(m => m.AdminName == UserName && m.Password == Pwd);
-            if (user != null)
+            if (function.GetCookie(_accessor.HttpContext, "checkcode") != CheckCode)
             {
-                user.LastLoginDate = DateTime.Now;
-                db.SaveChanges();
-                function.WriteCookie(_accessor.HttpContext, "SysUserName", user.AdminName);
-                function.WriteCookie(_accessor.HttpContext, "SysRealName", user.RealName);
-                function.WriteCookie(_accessor.HttpContext, "SysRealRole", user.Role);
-                int RoleId = int.Parse(function.CheckInt(user.Role));
-                BsModels.SysAdminRole Role = db.SysAdminRole.FirstOrDefault(m => m.Id == RoleId) ?? new BsModels.SysAdminRole();
-                string RightInfo = function.CheckNull(Role.RightInfo);
-                function.WriteSession(_accessor.HttpContext, "RightInfo", RightInfo);
-                string UserId = user.Id.ToString();
-                function.WriteCookie(_accessor.HttpContext, "SysId", UserId);
-                function.WriteSession(_accessor.HttpContext, "IsLogin", "1");
-                result = "success";
+                result = "验证码错误!!";
             }
             else
             {
-                result = "用户名或密码错误";
+                Pwd = function.MD5_32(Pwd);
+                var user = db.SysAdmin.FirstOrDefault(m => m.AdminName == UserName && m.Password == Pwd);
+                if (user != null)
+                {
+                    user.LastLoginDate = DateTime.Now;
+                    db.SaveChanges();
+                    function.WriteCookie(_accessor.HttpContext, "SysUserName", user.AdminName);
+                    function.WriteCookie(_accessor.HttpContext, "SysRealName", user.RealName);
+                    function.WriteCookie(_accessor.HttpContext, "SysRealRole", user.Role);
+                    int RoleId = int.Parse(function.CheckInt(user.Role));
+                    BsModels.SysAdminRole Role = db.SysAdminRole.FirstOrDefault(m => m.Id == RoleId) ?? new BsModels.SysAdminRole();
+                    string RightInfo = function.CheckNull(Role.RightInfo);
+                    function.WriteSession(_accessor.HttpContext, "RightInfo", RightInfo);
+                    string UserId = user.Id.ToString();
+                    function.WriteCookie(_accessor.HttpContext, "SysId", UserId);
+                    function.WriteSession(_accessor.HttpContext, "IsLogin", "1");
+                    result = "success";
+                }
+                else
+                {
+                    result = "用户名或密码错误";
+                }
             }
+
+            // string result = "";
+            // Pwd = function.MD5_32(Pwd);
+            // var user = db.SysAdmin.FirstOrDefault(m => m.AdminName == UserName && m.Password == Pwd);
+            // if (user != null)
+            // {
+            //     user.LastLoginDate = DateTime.Now;
+            //     db.SaveChanges();
+            //     function.WriteCookie(_accessor.HttpContext, "SysUserName", user.AdminName);
+            //     function.WriteCookie(_accessor.HttpContext, "SysRealName", user.RealName);
+            //     function.WriteCookie(_accessor.HttpContext, "SysRealRole", user.Role);
+            //     int RoleId = int.Parse(function.CheckInt(user.Role));
+            //     BsModels.SysAdminRole Role = db.SysAdminRole.FirstOrDefault(m => m.Id == RoleId) ?? new BsModels.SysAdminRole();
+            //     string RightInfo = function.CheckNull(Role.RightInfo);
+            //     function.WriteSession(_accessor.HttpContext, "RightInfo", RightInfo);
+            //     string UserId = user.Id.ToString();
+            //     function.WriteCookie(_accessor.HttpContext, "SysId", UserId);
+            //     function.WriteSession(_accessor.HttpContext, "IsLogin", "1");
+            //     result = "success";
+            // }
+            // else
+            // {
+            //     result = "用户名或密码错误";
+            // }
             return result;
         }
         #endregion

+ 0 - 11
Areas/Admin/Controllers/MainServer/ActiveRewardController.cs

@@ -132,20 +132,9 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and ActType=" + ActTypeSelect;
             }
-
-            // if(!string.IsNullOrEmpty(ActDateData))
-            // {
-            //     string[] datelist = ActDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-            //     string start = datelist[0];
-            //     string end = datelist[1];
-            //     condition += " and ActDate>='" + start + " 00:00:00' and ActDate<='" + end + " 23:59:59'";
-            // }
             if (!string.IsNullOrEmpty(ActDateData))
             {
                 string[] datelist = ActDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-                // string start = datelist[0];
-                // string end = datelist[1];
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
                 var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
                 var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
                 var check = db.ActiveReward.Any(m => m.ActDate >= start && m.BrandId == Convert.ToInt32(BrandId));

+ 1 - 5
Areas/Admin/Controllers/MainServer/CouponsForUserController.cs

@@ -71,11 +71,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("IsLock", "1"); //是否锁定
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("CouponsForUser", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

+ 1 - 5
Areas/Admin/Controllers/MainServer/ErpCompanysController.cs

@@ -70,11 +70,7 @@ Fields.Add("Code", "2"); //编码
 Fields.Add("Phone", "2"); //客服电话
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ErpCompanys", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-                
-            //}
+            
             return Json(obj);
         }
 

+ 1 - 5
Areas/Admin/Controllers/MainServer/MerchantClassController.cs

@@ -69,11 +69,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("ColName", "2"); //名称
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("MerchantClass", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-                
-            //}
+            
             return Json(obj);
         }
 

+ 0 - 3
Areas/Admin/Controllers/MainServer/MerchantDepositSetController.cs

@@ -55,9 +55,6 @@ namespace MySystem.Areas.Admin.Controllers
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
-
-            // Fields.Add("CreateDate", "3"); //时间
-            // Fields.Add("MerNo", "1"); //商户编号
             Fields.Add("SnNo", "1"); //机具SN
 
 

+ 1 - 5
Areas/Admin/Controllers/MainServer/MerchantsController.cs

@@ -72,11 +72,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("IsAuth", "1"); //是否认证
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("Merchants", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

+ 0 - 2
Areas/Admin/Controllers/MainServer/MsgAlertController.cs

@@ -56,7 +56,6 @@ namespace MySystem.Areas.Admin.Controllers
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
 
-            // Fields.Add("CreateDate", "3"); //时间
             Fields.Add("Title", "1"); //标题
 
 
@@ -143,7 +142,6 @@ namespace MySystem.Areas.Admin.Controllers
         public string Add(MsgAlert data, string MakerCodes)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
-            // string[] MakerCodeList = MakerCodes.Replace("\r", "").Replace("\n", ",").Split(',');
 
             Fields.Add("MsgType", data.MsgType); //消息类型
             Fields.Add("Status", 1); //默认开启

+ 0 - 3
Areas/Admin/Controllers/MainServer/OpenRewardController.cs

@@ -99,9 +99,6 @@ namespace MySystem.Areas.Admin.Controllers
                 if (RewardType == 0) dic["RewardType"] = "无开机奖励";
                 if (RewardType == 1) dic["RewardType"] = "开机直接奖励";
                 if (RewardType == 2) dic["RewardType"] = "开机间接奖励";
-                // int CheckStatus = int.Parse(dic["CheckStatus"].ToString());
-                // if (CheckStatus == 0) dic["CheckStatus"] = "初始";
-                // if (CheckStatus == 1) dic["CheckStatus"] = "已验证和同步";
             }
             return Json(obj);
         }

+ 1 - 5
Areas/Admin/Controllers/MainServer/OrderProductController.cs

@@ -66,11 +66,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("ProductName", "2"); //商品名称
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("OrderProduct", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-                
-            //}
+            
             return Json(obj);
         }
 

+ 0 - 12
Areas/Admin/Controllers/MainServer/OrderRefundController.cs

@@ -169,18 +169,6 @@ namespace MySystem.Areas.Admin.Controllers
         public string Edit(OrderRefund data)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
-            // Fields.Add("Reason", data.Reason); //退款原因
-            // Fields.Add("Amount", data.Amount); //退款金额
-            // Fields.Add("Contents", data.Contents); //补充说明
-            // Fields.Add("Mobile", data.Mobile); //申请人手机号
-            // Fields.Add("GoodStatus", data.GoodStatus); //货物状态
-            // Fields.Add("Photos", data.Photos); //凭证
-            // Fields.Add("ErpCompany", data.ErpCompany); //快递公司
-            // Fields.Add("ErpCode", data.ErpCode); //快递运单号
-
-            // Fields.Add("SeoTitle", data.SeoTitle);
-            // Fields.Add("SeoKeyword", data.SeoKeyword);
-            // Fields.Add("SeoDescription", data.SeoDescription);
             OrderRefund refund = db.OrderRefund.FirstOrDefault(m => m.Id == data.Id);
             if (refund != null)
             {

+ 1 - 5
Areas/Admin/Controllers/MainServer/OrderRefundReasonController.cs

@@ -66,11 +66,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("Name", "2"); //名称
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("OrderRefundReason", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

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

@@ -560,11 +560,6 @@ namespace MySystem.Areas.Admin.Controllers
             Orders order = db.Orders.FirstOrDefault(m => m.Id == data.Id);
             if (order != null)
             {
-                // TODO: 调用支付接口退款,需要测试
-                // PublicAccountSet set = new AlipayFunction(_accessor.HttpContext).SetData();
-                // string result = new Alipay.AlipayPublicClass(_accessor.HttpContext).Refund(set.AlipayAppId, set.AlipayPrivateKey, set.AlipayPublicKey, order.OrderNo, order.TotalPrice);
-                // if (result.StartsWith("success"))
-                // {
                 if (order.PayStatus > 0)
                 {
                     return "已支付订单不可退货";
@@ -577,11 +572,6 @@ namespace MySystem.Areas.Admin.Controllers
                     db.SaveChanges();
                     return "success";
                 }
-                // }
-                // else
-                // { 
-                //     return result.Split('|')[1];
-                // }
             }
             return "退货失败";
         }
@@ -997,11 +987,6 @@ namespace MySystem.Areas.Admin.Controllers
                 RedisDbconn.Instance.Set("CheckExport:" + RedisKey, i.ToString() + " / " + diclist.Count);
             }
 
-            // Dictionary<string, object> result = new Dictionary<string, object>();
-            // result.Add("Status", "1");
-            // result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
-            // result.Add("Obj", diclist);
-
             var title = table.CreateRow(0);
             int j = 0;
             foreach (string key in ReturnFields.Keys)
@@ -1032,7 +1017,6 @@ namespace MySystem.Areas.Admin.Controllers
                 workbook.Write(fs);   //向打开的这个xls文件中写入mySheet表并保存。
             }
 
-            // result.Add("Fields", ReturnFields);
             AddSysLog("0", "Orders", "ExportExcel");
             RedisDbconn.Instance.Set("CheckExport:" + RedisKey, "finish");
             return "success|/static/export/" + FileName;
@@ -1061,7 +1045,6 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("RealName", "1"); //姓名
             Fields.Add("Mobile", "1"); //手机号
             Fields.Add("ErpCode", "1"); //运单号
-            // Fields.Add("SendDate", "3"); //发货时间
             Fields.Add("TradeNo", "1"); //支付交易号
             Fields.Add("StoreContact", "1"); //仓库联系人
             Fields.Add("SnNos", "2"); //SN编号

+ 0 - 24
Areas/Admin/Controllers/MainServer/PosMachinesFeeChangeRecordController.cs

@@ -88,14 +88,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and Sort = " + Convert.ToInt32(SortSelect);
             }
-            // if (data.Sort > 0)
-            // {
-            //     condition += " and Sort = " + data.Sort;
-            // }
-            // if (data.Sort == 0)
-            // {
-            //     condition += " and Sort = 1";
-            // }
             if (!string.IsNullOrEmpty(StatusSelect))
             {
                 if (Convert.ToInt32(StatusSelect) > 0)
@@ -504,19 +496,6 @@ namespace MySystem.Areas.Admin.Controllers
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             foreach (Dictionary<string, object> dic in diclist)
             {
-                // //创客
-                // int UserId = int.Parse(function.CheckInt(dic["UserId"].ToString()));
-                // Users userid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
-                // dic["UserIdMakerCode"] = userid_Users.MakerCode;
-                // dic["UserIdRealName"] = userid_Users.RealName;
-                // dic.Remove("UserId");
-                // //机具所属人
-                // int PosUserId = int.Parse(function.CheckInt(dic["PosUserId"].ToString()));
-                // Users posuserid_Users = db.Users.FirstOrDefault(m => m.Id == PosUserId) ?? new Users();
-                // dic["PosUserIdMakerCode"] = posuserid_Users.MakerCode;
-                // dic["PosUserIdRealName"] = posuserid_Users.RealName;
-                // dic.Remove("PosUserId");
-
                 var PosSn = dic["PosSn"].ToString();
                 var ChangeFee = function.CheckNum(dic["ChangeFee"].ToString());
                 dic.Add("Kind", "2");
@@ -528,9 +507,6 @@ namespace MySystem.Areas.Admin.Controllers
             result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
             result.Add("Obj", diclist);
             Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
-            // ReturnFields.Add("UserIdMakerCode", "创客编号");
-            // ReturnFields.Add("UserIdRealName", "创客真实姓名");
-            // ReturnFields.Add("ChangeFee", "调整费率");
             ReturnFields.Add("PosSn", "机具SN");
             ReturnFields.Add("ChangeFee", "调整费率");
             ReturnFields.Add("Kind", "调整类型(2-调降)");

+ 8 - 163
Areas/Admin/Controllers/MainServer/PosMachinesTwoChangeController.cs

@@ -95,18 +95,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and BrandId = " + Convert.ToInt32(BrandSelect);
             }
-            // if (data.BrandId > 0)
-            // {
-            //     condition += " and BrandId = " + data.BrandId;
-            // }
-            // if (data.BrandId == 0)
-            // {
-            //     condition += " and BrandId = 1";
-            // }
-            // if (!string.IsNullOrEmpty(UpFeeFlagSelect))
-            // {
-            //     condition += " and UpFeeFlag = " + UpFeeFlagSelect;
-            // }
 
             if (!string.IsNullOrEmpty(ActivationDateData))
             {
@@ -131,7 +119,6 @@ namespace MySystem.Areas.Admin.Controllers
                 //是否真实调升/降
                 if (!string.IsNullOrEmpty(dic["ActivityList"].ToString()))
                 {
-                    // int ActivityList = Convert.ToInt32(dic["ActivityList"].ToString());
                     string ActivityList = dic["ActivityList"].ToString();
                     if (ActivityList == "1") dic["ActivityList"] = "已真实调升";
                     if (ActivityList == "2") dic["ActivityList"] = "已真实调降";
@@ -162,8 +149,6 @@ namespace MySystem.Areas.Admin.Controllers
                 dic.Remove("StoreId");
                 //产品类型
                 dic["BrandId"] = RelationClass.GetKqProductBrandInfo(int.Parse(dic["BrandId"].ToString()));
-                // // 参加活动
-                // dic["ActivityList"] = RelationClass.GetProfitObjectsActivesList(dic["ActivityList"].ToString());
                 //绑定商户
                 int BindMerchantId = int.Parse(function.CheckInt(dic["BindMerchantId"].ToString()));
                 PosMerchantInfo bindmerchantid_MerchantInfo = db.PosMerchantInfo.FirstOrDefault(m => m.Id == BindMerchantId) ?? new PosMerchantInfo();
@@ -233,11 +218,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 TotalCount = int.Parse(function.CheckNum(dt.Rows[0][0].ToString()));
             }
-            // dt = OtherMySqlConn.dtable("select sum(TotalPrice) from Orders where PayStatus=1" + condition);
-            // if (dt.Rows.Count > 0)
-            // {
-            //     FailAmount = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString())).ToString("f2");
-            // }
             other.Add("TotalCount", TotalCount);
             other.Add("KysCount99", 0);
             other.Add("KssCount99", 0);
@@ -463,7 +443,12 @@ namespace MySystem.Areas.Admin.Controllers
         /// <returns></returns>
         public string BatchSetting(string Id)
         {
-            // string[] idlist = Id.Split(new char[] { ',' });
+            string opdate = function.ReadInstance("/PublicParams/UpFeeDate/" + DateTime.Now.ToString("yyyyMMdd") + ".txt");
+            if (!string.IsNullOrEmpty(opdate))
+            {
+                return "已提交,请勿重复操作";
+            }
+            function.WritePage("/PublicParams/UpFeeDate/", DateTime.Now.ToString("yyyyMMdd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
             AddSysLog(Id, "PosMachinesTwo", "UpFeePosMachinesTwo");
             List<int> posIds = new List<int>();
             List<int> upposIds = new List<int>();
@@ -481,64 +466,12 @@ namespace MySystem.Areas.Admin.Controllers
                 {
                     userIds += pos.BuyUserId + ",";
                 }
+                string info = "{\"RecordId\":\"\",\"PosId\":\"" + pos.Id + "\",\"Fee\": \"" + 0.63 + "\",\"Kind\": \"" + 1 + "\",\"OpMan\": \"" + SysUserName + "\"}";
+                RedisDbconn.Instance.AddList("SetDepositPostQueue", info);
 
-                if (pos.BrandId == 1 || pos.BrandId == 3 || pos.BrandId == 2 || pos.BrandId == 4 || pos.BrandId == 5 || pos.BrandId == 6 || pos.BrandId == 7)
-                {
-                    // PosId:机具Id
-                    // Kind:1或2,1为费率0.63,2为费率0.6
-                    // OpMan:操作人,app传创客编号,后台传SysUserName
-                    string info = "{\"RecordId\":\"\",\"PosId\":\"" + pos.Id + "\",\"Fee\": \"" + 0.63 + "\",\"Kind\": \"" + 1 + "\",\"OpMan\": \"" + SysUserName + "\"}";
-                    RedisDbconn.Instance.AddList("SetDepositPostQueue", info);
-                }
-                // else
-                // {
-                //     upposIds.Add(pos.Id);
-                // }
                 new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosMachinesTwo", Fields, pos.Id);
 
             }
-            // string[] lists = userIds.TrimEnd(',').Split(new char[] { ',' });
-            // int times = lists.ToList().Count;
-            // if (upposIds.Count > 0)
-            // {
-            //     //调升
-            //     for (int i = 0; i < times; i++)
-            //     {
-            //         var UserId = lists[i];
-            //         var posInfo = db.PosMachinesTwo.Where(m => upposIds.Contains(m.Id) && m.BuyUserId == Convert.ToInt32(UserId)).ToList();
-            //         string snhtml = "<div style='margin-bottom: .48rem;'>";
-            //         foreach (var items in posInfo)
-            //         {
-            //             var mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == items.BindMerchantId);
-            //             string Name = mer.MerchantName;
-            //             if (mer.BrandId == 2)
-            //             {
-            //                 if (Name.Contains("-"))
-            //                 {
-            //                     Name = Name.Split('-')[1];
-            //                 }
-            //                 else if (Name.Contains("_"))
-            //                 {
-            //                     Name = Name.Split('_')[1];
-            //                 }
-            //             }
-            //             var brand = db.KqProducts.FirstOrDefault(m => m.Id == items.BrandId);
-            //             snhtml += "<div style='margin-bottom: .48rem;'><div class='f16'>商户姓名:" + Name + "</div>";
-            //             snhtml += "<div class='f16'>机具品牌:" + brand.Name + "</div>";
-            //             snhtml += "<div class='f16'>SN:" + items.PosSn + "</div></div>";
-            //         }
-            //         snhtml += "</div>";
-            //         RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-            //         {
-            //             UserId = Convert.ToInt32(UserId), //创客
-            //             Title = "商户费率变更通知", //标题
-            //             Content = "<div class='f16' style='margin-bottom: .72rem'>您的部分机具已绑定超过120天,刷卡费率已自动变更为0.63%,如需调整费率,请前往我的商户-商户详情中调整费率</div>" + snhtml, //内容
-            //             Summary = "您的部分机具已绑定超过120天,刷卡费率已自动变更为0.63%,如需调整费率,请前往我的商户-商户详情中调整费率",
-            //             CreateDate = DateTime.Now,
-
-            //         }));
-            //     }
-            // }
             db.SaveChanges();
             return "success";
         }
@@ -546,86 +479,6 @@ namespace MySystem.Areas.Admin.Controllers
         #endregion
 
 
-        // #region 批量调升费率(无接口限制)
-
-        // /// <summary>
-        // /// 批量调升费率
-        // /// </summary>
-        // /// <returns></returns>
-        // public string BatchSetting(string Id)
-        // {
-        //     string[] idlist = Id.Split(new char[] { ',' });
-        //     AddSysLog(Id, "PosMachinesTwo", "UpFeePosMachinesTwo");
-        //     List<int> posIds = new List<int>();
-        //     List<int> upposIds = new List<int>();
-        //     string userIds = "";
-        //     foreach (string subids in idlist)
-        //     {
-        //         int id = int.Parse(subids);
-        //         var pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == id) ?? new PosMachinesTwo();
-        //         Dictionary<string, object> Fields = new Dictionary<string, object>();
-        //         Fields.Add("UpFeeFlag", 1);
-        //         Fields.Add("UpFeeMan", SysUserName);
-        //         Fields.Add("UpFeeDate", DateTime.Now);
-
-        //         if (!userIds.Contains(pos.BuyUserId.ToString()))
-        //         {
-        //             userIds += pos.BuyUserId + ",";
-        //         }
-        //         upposIds.Add(id);
-        //         new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("PosMachinesTwo", Fields, id);
-
-        //     }
-        //     string[] lists = userIds.TrimEnd(',').Split(new char[] { ',' });
-        //     int times = lists.ToList().Count;
-        //     if (upposIds.Count > 0)
-        //     {
-        //         //调升
-        //         for (int i = 0; i < times; i++)
-        //         {
-        //             var UserId = lists[i];
-        //             var posInfo = db.PosMachinesTwo.Where(m => upposIds.Contains(m.Id) && m.BuyUserId == Convert.ToInt32(UserId)).ToList();
-        //             string snhtml = "<div style='margin-bottom: .48rem;'>";
-        //             foreach (var items in posInfo)
-        //             {
-        //                 var mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == items.BindMerchantId);
-        //                 string Name = mer.MerchantName;
-        //                 if (mer.BrandId == 2)
-        //                 {
-        //                     if (Name.Contains("-"))
-        //                     {
-        //                         Name = Name.Split('-')[1];
-        //                     }
-        //                     else if (Name.Contains("_"))
-        //                     {
-        //                         Name = Name.Split('_')[1];
-        //                     }
-        //                 }
-        //                 var brand = db.KqProducts.FirstOrDefault(m => m.Id == items.BrandId);
-        //                 snhtml += "<div style='margin-bottom: .48rem;'><div class='f16'>商户姓名:" + Name + "</div>";
-        //                 snhtml += "<div class='f16'>机具品牌:" + brand.Name + "</div>";
-        //                 snhtml += "<div class='f16'>SN:" + items.PosSn + "</div></div>";
-        //             }
-        //             snhtml += "</div>";
-        //             RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-        //             {
-        //                 UserId = Convert.ToInt32(UserId), //创客
-        //                 Title = "商户费率变更通知", //标题
-        //                 Content = "<div class='f16' style='margin-bottom: .72rem'>您的部分机具已绑定超过120天,刷卡费率已自动变更为0.63%,如需调整费率,请前往我的商户-商户详情中调整费率</div>" + snhtml, //内容
-        //                 Summary = "您的部分机具已绑定超过120天,刷卡费率已自动变更为0.63%,如需调整费率,请前往我的商户-商户详情中调整费率",
-        //                 CreateDate = DateTime.Now,
-
-        //             }));
-        //         }
-        //     }
-        //     db.SaveChanges();
-        //     db.Dispose();
-        //     return "success";
-        // }
-
-        // #endregion
-
-
         #region 导入费率调整结果
         /// <summary>
         /// 导入费率调整结果
@@ -902,8 +755,6 @@ namespace MySystem.Areas.Admin.Controllers
                 dic.Remove("StoreId");
                 //产品类型
                 dic["BrandId"] = RelationClass.GetKqProductBrandInfo(int.Parse(dic["BrandId"].ToString()));
-                //参加活动
-                // dic["ActivityList"] = RelationClass.GetProfitObjectsActivesList(dic["ActivityList"].ToString());
                 //绑定商户
                 int BindMerchantId = int.Parse(function.CheckInt(dic["BindMerchantId"].ToString()));
                 PosMerchantInfo bindmerchantid_MerchantInfo = db.PosMerchantInfo.FirstOrDefault(m => m.Id == BindMerchantId) ?? new PosMerchantInfo();
@@ -914,11 +765,6 @@ namespace MySystem.Areas.Admin.Controllers
                 int PosSnType = int.Parse(dic["PosSnType"].ToString());
                 if (PosSnType == 0) dic["PosSnType"] = "兑换机具";
                 if (PosSnType == 1) dic["PosSnType"] = "循环机具";
-                // //设备类型
-                // string DeviceType = dic["DeviceType"].ToString();
-                // if (DeviceType == "KysSignPos") dic["DeviceType"] = "快益刷电签POS";
-                // if (DeviceType == "KssSignPos") dic["DeviceType"] = "快闪刷电签POS";
-                // if (DeviceType == "") dic["DeviceType"] = "";
 
             }
 
@@ -934,7 +780,6 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("BrandId", "产品类型");
             ReturnFields.Add("PosSn", "SN编号");
             ReturnFields.Add("PosSnType", "SN类型");
-            // ReturnFields.Add("ActivityList", "参加活动");
             ReturnFields.Add("BindMerchantIdMerchantNo", "绑定商户编号");
             ReturnFields.Add("BindMerchantIdMerchantName", "绑定商户姓名");
             ReturnFields.Add("DeviceType", "设备类型");

+ 148 - 167
Areas/Admin/Controllers/MainServer/PosMachinesTwoController.cs

@@ -200,23 +200,9 @@ namespace MySystem.Areas.Admin.Controllers
                 if (IsFirst == 0) dic["IsFirst"] = "否";
                 if (IsFirst == 1) dic["IsFirst"] = "是";
 
-                //循环开始时间
-                // if (!string.IsNullOrEmpty(dic["RecycEndDate"].ToString()))
-                // {
-                //     // var RecycStartDate = Convert.ToDateTime(dic["RecycEndDate"].ToString()).AddDays(-360).ToString("yyyy-MM-dd HH:mm:ss");
-                //     // dic["RecycStartDate"] = RecycStartDate;
-                //     string PosSn = dic["PosSn"].ToString();
-                //     bool op = db.StoreChangeHistory.Any(m => m.SnNo == PosSn && m.TransType == 2);
-                //     if(op)
-                //     {
-                //         StoreChangeHistory item = db.StoreChangeHistory.FirstOrDefault(m => m.SnNo == PosSn && m.TransType == 2) ?? new StoreChangeHistory();
-                //         dic["RecycStartDate"] = item.ToDate == null ? "" : item.ToDate.Value.ToString("yyyy-MM-dd");
-                //     }
-                // }
-
                 //实际押金
                 string SeoKeyword = dic["SeoKeyword"].ToString();
-                if (SeoKeyword.Length > 2)
+                if (SeoKeyword.Length > 3)
                 {
                     SeoKeyword = (decimal.Parse(SeoKeyword) / 100).ToString();
                 }
@@ -242,11 +228,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 TotalCount = int.Parse(function.CheckNum(dt.Rows[0][0].ToString()));
             }
-            // dt = OtherMySqlConn.dtable("select sum(TotalPrice) from Orders where PayStatus=1" + condition);
-            // if (dt.Rows.Count > 0)
-            // {
-            //     FailAmount = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString())).ToString("f2");
-            // }
             other.Add("TotalCount", TotalCount);
             other.Add("KysCount99", 0);
             other.Add("KssCount99", 0);
@@ -463,148 +444,147 @@ namespace MySystem.Areas.Admin.Controllers
         }
         #endregion
 
-        #region 导入数据
+
+        #region 导入金控入库时间数据
         /// <summary>
-        /// 导入数据
+        /// 导入金控入库时间数据
         /// </summary>
-        /// <param name="ExcelData"></param>
-        public string Import(string ExcelData, int Kind = 0)
+        /// <param name="ImportCreateData"></param>
+        public string ImportCreateData(string ExcelData)
         {
             ExcelData = HttpUtility.UrlDecode(ExcelData);
             JsonData list = JsonMapper.ToObject(ExcelData);
-            if (Kind == 1)
-            {
-                string error = "";
-                List<string> PosSnList = new List<string>();
-                for (int i = 1; i < list.Count; i++)
+            string error = "";
+            string info = "";
+            var brandInfo = db.KqProducts.ToList();
+            for (int i = 1; i < list.Count; i++)
+            {
+                JsonData dr = list[i];
+                string itemJson = dr.ToJson();
+                string PosSn = itemJson.Contains("\"A\"") ? dr["A"].ToString() : "";
+                string CreateDate = itemJson.Contains("\"B\"") ? dr["B"].ToString() : "";
+                var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new PosMachinesTwo();
+                if (pos.Id > 0)
                 {
-                    JsonData dr = list[i];
-                    string itemJson = dr.ToJson();
-                    string PosSn = itemJson.Contains("\"A\"") ? dr["A"].ToString() : "";
-                    string BrandId = itemJson.Contains("\"B\"") ? dr["B"].ToString() : "";
-                    string MakerCode = itemJson.Contains("\"C\"") ? dr["C"].ToString() : "";
-                    string StoreNo = itemJson.Contains("\"D\"") ? dr["D"].ToString() : "";
-                    string No = itemJson.Contains("\"E\"") ? dr["E"].ToString() : "";
-                    string Remark = itemJson.Contains("\"F\"") ? dr["F"].ToString() : "";
-                    UserForMakerCode userForMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
-                    var user = db.Users.FirstOrDefault(m => m.Id == userForMakerCode.UserId) ?? new Users();
-                    MachineForSnNo machineForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new MachineForSnNo();
-                    var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.UserId == user.Id && m.BindingState == 0);
-                    if (posInfo == null)
+                    var brandName = brandInfo.FirstOrDefault(m => m.Id == pos.BrandId);
+                    if (brandName.Name.StartsWith("金控"))
                     {
-                        error += "以下操作失败" + PosSn + ',' + "未找到该品牌的机具" + '\n';
-                    }
-                    else if (PosSnList.Contains(PosSn))
-                    {
-                        error += "以下操作失败" + PosSn + ',' + "该机具号重复" + '\n';
-                    }
-                    else if (!string.IsNullOrEmpty(error))
-                    {
-                        return "Warning|" + error;
+                        info += "机具Sn:" + PosSn + "原入库时间:" + pos.CreateDate + "新入库时间:" + CreateDate;
+                        pos.CreateDate = DateTime.Parse(CreateDate);
                     }
                     else
                     {
-                        PosSnList.Add(PosSn);
+                        error += "以下操作失败" + PosSn + ',' + "该机具号品牌不符合修改规则" + '\n';
                     }
+                }
+                else
+                {
+                    error += "以下操作失败" + PosSn + ',' + "该机具号不存在" + '\n';
+                }
+            }
+            if (!string.IsNullOrEmpty(error))
+            {
+                return "Warning|" + error;
+            }
+            else
+            {
+                db.SaveChanges();
+                string text = string.Format("导入金控入库时间数据: '" + info + "',操作人: '" + SysUserName + "_" + SysRealName + "',Time'" + DateTime.Now + "'");
+                function.WriteLog(text, "导入金控入库时间数据");
+                AddSysLog("0", "ImportCreateData", "Import");
+                return "success";
+            }
+        }
+        #endregion
+
+       #region 导入数据
 
+        public IActionResult Import(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+            return View();
+        }
+        /// <summary>
+        /// 导入数据
+        /// </summary>
+        /// <param name="ExcelData"></param>
+        [HttpPost]
+        public string ImportPost(string ExcelPath)
+        {
+            string key = function.MD5_16(Guid.NewGuid().ToString());
+            RedisDbconn.Instance.AddList("ExcelImportV2", ExcelPath + "#cut#ImportJKCreateData#cut#" + key + "#cut#" + SysUserName);
+            return "success|" + key;
+        }
+        public string CheckImport(string key)
+        {
+            string result = RedisDbconn.Instance.Get<string>("CheckImport:" + key);
+            if (!string.IsNullOrEmpty(result))
+            {
+                string[] datalist = result.Split('|');
+                if (datalist[0] == "success")
+                {
+                    return result;
                 }
-                for (int i = 1; i < list.Count; i++)
+                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>("CheckImport:" + key);
+            if (!string.IsNullOrEmpty(result))
+            {
+                string[] datalist = result.Split('|');
+                if (datalist[0] == "success")
                 {
-                    JsonData dr = list[i];
-                    string itemJson = dr.ToJson();
-                    string PosSn = itemJson.Contains("\"A\"") ? dr["A"].ToString() : "";
-                    string BrandId = itemJson.Contains("\"B\"") ? dr["B"].ToString() : "";
-                    string MakerCode = itemJson.Contains("\"C\"") ? dr["C"].ToString() : "";
-                    string StoreNo = itemJson.Contains("\"D\"") ? dr["D"].ToString() : "";
-                    string No = itemJson.Contains("\"E\"") ? dr["E"].ToString() : "";
-                    string Remark = itemJson.Contains("\"F\"") ? dr["F"].ToString() : "";
-                    decimal amount = 0;
-                    UserForMakerCode userForMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
-                    var user = db.Users.FirstOrDefault(m => m.Id == userForMakerCode.UserId) ?? new Users();
-                    var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == userForMakerCode.UserId) ?? new UserAccount();
-                    var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == Convert.ToInt32(BrandId)) ?? new KqProducts();
-                    if (brandInfo.Name.Contains("电签"))
-                    {
-                        amount = 200;
-                    }
-                    if (brandInfo.Name.Contains("大POS"))
+                    List<string> errList = RedisDbconn.Instance.GetList<string>("ErrList" + key);
+                    if (errList.Count > 0)
                     {
-                        amount = 300;
+                        Obj.Add("status", 2);
+                        Obj.Add("errList", errList);
                     }
-                    userAccount.ValidAmount += amount;
-                    string text = string.Format("导入机具驳回仓库,UserId: '" + user.Id + "',BeforeChangeAmount:'" + userAccount.ValidAmount + "',AfterChangeAmount:'" + userAccount.ValidAmount + amount + "',ChangeAmount:'" + amount + "',Time'" + DateTime.Now + "'");
-                    function.WriteLog(text, "机具驳回仓库");//机具驳回仓库日志
-                    db.SaveChanges();
-                    MachineForSnNo machineForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new MachineForSnNo();
-                    var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.UserId == user.Id && m.BindingState == 0);
-                    if (posInfo != null)
+                    else
                     {
-                        var storehouse = db.StoreHouse.FirstOrDefault(m => m.Id == posInfo.StoreId);
-                        StoreStockChange stockchange = db.StoreStockChange.Add(new StoreStockChange()
-                        {
-                            CreateDate = DateTime.Now,
-                            CreateMan = SysUserName,
-                            StoreId = storehouse.Id, //出货 仓库
-                            BrandId = Convert.ToInt32(BrandId), //产品类型
-                            ProductName = RelationClass.GetKqProductBrandInfo(Convert.ToInt32(BrandId)), //产品名称
-                            BizBatchNo = No, //业务批次号
-                            TransType = 1, //交易类型
-                            SnNo = PosSn, //SN编号
-                            StockOpDirect = 1, //库存操作方向
-                            SnStatus = 1, //SN状态
-                            DeviceVendor = posInfo.DeviceName, //设备厂商
-                            DeviceModel = posInfo.DeviceKind, //设备型号
-                            DeviceType = posInfo.DeviceType, //设备类型                    
-                            SourceStoreId = posInfo.SourceStoreId, //源仓库编号
-                            BrandType = posInfo.DeviceType, //品牌类型
-                        }).Entity;
-
-                        db.StoreChangeHistory.Add(new StoreChangeHistory()
-                        {
-                            CreateDate = DateTime.Now,
-                            UserId = user.Id, //创客
-                            BrandId = Convert.ToInt32(BrandId), //产品类型
-                            ChangeRecordNo = "JJBH" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), //变更记录单号
-                            SeoTitle = "机具驳回仓库",
-                            BizBatchNo = No, //业务批次号
-                            SnNo = PosSn, //SN编号
-                        });
-                        StoreBalance balance = db.StoreBalance.Add(new StoreBalance()
-                        {
-                            CreateDate = DateTime.Now,
-                            StoreId = posInfo.StoreId, //仓库
-                            BrandId = Convert.ToInt32(BrandId), //产品类型
-                            OpStoreNum = 1, //操作库存数
-                            OpSymbol = "+", //操作符
-                            BeforeTotalNum = storehouse.TotalNum, //操作前总库存数
-                            AfterTotalNum = storehouse.TotalNum + 1, //操作后总库存数
-                            BeforeLaveNum = storehouse.LaveNum, //操作前剩余库存数
-                            AfterLaveNum = storehouse.LaveNum + 1, //操作后剩余库存数
-                            BeforeOutNum = storehouse.OutNum, //操作前出库数
-                            AfterOutNum = storehouse.OutNum - 1, //操作后出库数
-                        }).Entity;
+                        Obj.Add("status", 1);
+                        Obj.Add("data", result);
                     }
+                    return Obj;
                 }
-                db.SaveChanges();
+                Obj.Add("status", 0);
+                Obj.Add("data", datalist[0]);
+                return Obj;
             }
-            AddSysLog("0", "MachinesRejectStore", "Import");
-            return "success";
+            Obj.Add("status", -1);
+            Obj.Add("data", "执行中...");
+            return Obj;
         }
         #endregion
 
+
+
         #region 导出Excel
 
         /// <summary>
         /// 导出Excel
         /// </summary>
         /// <returns></returns>
-        public JsonResult ExportExcel(PosMachinesTwo data, string BindingStateSelect, string ActivationStateSelect, string UserIdMakerCode, string UserIdRealName, string StoreIdCode, string StoreIdName)
+        public JsonResult ExportExcel(PosMachinesTwo data, string BindingStateSelect, string ActivationStateSelect, string UserIdMakerCode, string UserIdRealName, string StoreIdCode, string StoreIdName, string BrandId, string ActivationDateData, string BindingDateData, string IsStoreSelect, string OpCode)
         {
             Dictionary<string, string> Fields = new Dictionary<string, string>();
             Fields.Add("PosSn", "1"); //SN编号
             Fields.Add("BrandId", "0"); //品牌
 
             string condition = " and Status>-1";
+            //是否仓库机
+            if (!string.IsNullOrEmpty(IsStoreSelect))
+            {
+                if (int.Parse(IsStoreSelect) > 0)
+                {
+                    condition += " and UserId=0 and BuyUserId=0";
+                }
+            }
             //绑定状态
             if (!string.IsNullOrEmpty(BindingStateSelect))
             {
@@ -618,12 +598,12 @@ namespace MySystem.Areas.Admin.Controllers
             //所属创客编号
             if (!string.IsNullOrEmpty(UserIdMakerCode))
             {
-                condition += " and UserId in (select UserId from UserForMakerCode where MakerCode='" + UserIdMakerCode + "')";
+                condition += " and BuyUserId in (select UserId from UserForMakerCode where MakerCode='" + UserIdMakerCode + "')";
             }
             //所属创客真实姓名
             if (!string.IsNullOrEmpty(UserIdRealName))
             {
-                condition += " and UserId in (select UserId from UserForRealName where RealName='" + UserIdRealName + "')";
+                condition += " and BuyUserId in (select UserId from UserForRealName where RealName='" + UserIdRealName + "')";
             }
             //所属仓库编号
             if (!string.IsNullOrEmpty(StoreIdCode))
@@ -635,9 +615,39 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and StoreId in (select StoreId from StoreForName where Name='" + StoreIdName + "')";
             }
+            //运营中心编号
+            if (!string.IsNullOrEmpty(OpCode))
+            {
+                var sysUser = opdb.SysAdmin.FirstOrDefault(m => m.OpCode == OpCode) ?? new OpModels.SysAdmin();
+                if (sysUser.Id > 0)
+                {
+                    condition += " and OpId=" + sysUser.UserId;
+                }
+            }
+            //品牌
+            if (!string.IsNullOrEmpty(BrandId))
+            {
+                condition += " and BrandId =" + BrandId;
+            }
+
+            if (!string.IsNullOrEmpty(ActivationDateData))
+            {
+                string[] datelist = ActivationDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and ActivationTime>='" + start + " 00:00:00' and ActivationTime<='" + end + " 23:59:59'";
+            }
+
+            if (!string.IsNullOrEmpty(BindingDateData))
+            {
+                string[] datelist = BindingDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and BindingTime>='" + start + " 00:00:00' and BindingTime<='" + end + " 23:59:59'";
+            }
 
 
-            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosMachinesTwo", Fields, "Id desc", "0", 1, 20000, condition, "BindingState,ActivationState,UserId,StoreId,PosSn,BrandId,ActivityList,BindMerchantId,PosSnType,DeviceType,BindingTime,ActivationTime,TransferTime", false);
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosMachinesTwo", Fields, "Id desc", "0", 1, 20000, condition, "BindingState,ActivationState,UserId,StoreId,PosSn,BrandId,ActivityList,BindMerchantId,PosSnType,DeviceType,BindingTime,ActivationTime,TransferTime,OpId", false);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             foreach (Dictionary<string, object> dic in diclist)
             {
@@ -680,8 +690,6 @@ namespace MySystem.Areas.Admin.Controllers
                 dic.Remove("StoreId");
                 //产品类型
                 dic["BrandId"] = RelationClass.GetKqProductBrandInfo(int.Parse(dic["BrandId"].ToString()));
-                //参加活动
-                // dic["ActivityList"] = RelationClass.GetProfitObjectsActivesList(dic["ActivityList"].ToString());
                 //绑定商户
                 int BindMerchantId = int.Parse(function.CheckInt(dic["BindMerchantId"].ToString()));
                 PosMerchantInfo bindmerchantid_MerchantInfo = db.PosMerchantInfo.FirstOrDefault(m => m.Id == BindMerchantId) ?? new PosMerchantInfo();
@@ -692,11 +700,13 @@ namespace MySystem.Areas.Admin.Controllers
                 int PosSnType = int.Parse(dic["PosSnType"].ToString());
                 if (PosSnType == 0) dic["PosSnType"] = "兑换机具";
                 if (PosSnType == 1) dic["PosSnType"] = "循环机具";
-                // //设备类型
-                // string DeviceType = dic["DeviceType"].ToString();
-                // if (DeviceType == "KysSignPos") dic["DeviceType"] = "快益刷电签POS";
-                // if (DeviceType == "KssSignPos") dic["DeviceType"] = "快闪刷电签POS";
-                // if (DeviceType == "") dic["DeviceType"] = "";
+                //所属运营中心
+                int OpId = int.Parse(dic["OpId"].ToString());
+                if (OpId != 0)
+                {
+                    var sys = opdb.SysAdmin.FirstOrDefault(m => m.QueryCount > 0 && m.UserId == OpId) ?? new OpModels.SysAdmin();
+                    dic["OpCode"] = sys.OpCode;
+                }
 
             }
 
@@ -712,7 +722,6 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("BrandId", "产品类型");
             ReturnFields.Add("PosSn", "SN编号");
             ReturnFields.Add("PosSnType", "SN类型");
-            // ReturnFields.Add("ActivityList", "参加活动");
             ReturnFields.Add("BindMerchantIdMerchantNo", "绑定商户编号");
             ReturnFields.Add("BindMerchantIdMerchantName", "绑定商户姓名");
             ReturnFields.Add("DeviceType", "设备类型");
@@ -721,6 +730,7 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("ActivationState", "激活状态");
             ReturnFields.Add("ActivationTime", "激活时间");
             ReturnFields.Add("TransferTime", "划拨时间");
+            ReturnFields.Add("OpCode", "所属运营中心");
 
             result.Add("Fields", ReturnFields);
             AddSysLog("0", "PosMachinesTwo", "ExportExcel");
@@ -802,18 +812,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and PosSn =" + PosSn + "";
             }
-            // if (!string.IsNullOrEmpty(AmountYk))
-            // {
-            //     condition += " and BrandId =" + BrandId;
-            // }
-            // if (!string.IsNullOrEmpty(Amountk))
-            // {
-            //     condition += " and BrandId =" + BrandId;
-            // }
-            // if (!string.IsNullOrEmpty(AmountDk))
-            // {
-            //     condition += " and BrandId =" + BrandId;
-            // }
 
             if (!string.IsNullOrEmpty(RecycEndDateData))
             {
@@ -865,15 +863,12 @@ namespace MySystem.Areas.Admin.Controllers
                     dic["AmountYk"] = amount;
                     dic["Amountk"] = ScanQrTrade;
                     dic["AmountDk"] = amount - ScanQrTrade;
-                    // AmountYks += ScanQrTrade;
-                    // AmountDks += amount - ScanQrTrade;
                 }
                 if (ScanQrTrade == 999)
                 {
                     dic["AmountYk"] = amount;
                     dic["Amountk"] = amount;
                     dic["AmountDk"] = 0;
-                    // AmountYks += amount;
                 }
 
                 //参加活动
@@ -907,20 +902,6 @@ namespace MySystem.Areas.Admin.Controllers
                 if (IsFirst == 0) dic["IsFirst"] = "否";
                 if (IsFirst == 1) dic["IsFirst"] = "是";
 
-                //循环开始时间
-                // if (!string.IsNullOrEmpty(dic["RecycEndDate"].ToString()))
-                // {
-                //     // var RecycStartDate = Convert.ToDateTime(dic["RecycEndDate"].ToString()).AddDays(-360).ToString("yyyy-MM-dd HH:mm:ss");
-                //     // dic["RecycStartDate"] = RecycStartDate;
-                //     string PosSn = dic["PosSn"].ToString();
-                //     bool op = db.StoreChangeHistory.Any(m => m.SnNo == PosSn && m.TransType == 2);
-                //     if(op)
-                //     {
-                //         StoreChangeHistory item = db.StoreChangeHistory.FirstOrDefault(m => m.SnNo == PosSn && m.TransType == 2) ?? new StoreChangeHistory();
-                //         dic["RecycStartDate"] = item.ToDate == null ? "" : item.ToDate.Value.ToString("yyyy-MM-dd");
-                //     }
-                // }
-
                 //实际押金
                 string SeoKeyword = dic["SeoKeyword"].ToString();
                 if (SeoKeyword.Length > 2)

+ 35 - 7
Areas/Admin/Controllers/MainServer/PosMerchantInfoListController.cs

@@ -177,7 +177,7 @@ namespace MySystem.Areas.Admin.Controllers
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
 
-            decimal ReturnAmounts = 0.00M;
+            Fields.Add("KqMerNo", "1"); //商户编号
             string condition = " and Status>-1 and StandardStatus=-2";
             //身份证号
             if (!string.IsNullOrEmpty(MerIdcardNo))
@@ -201,7 +201,7 @@ namespace MySystem.Areas.Admin.Controllers
             //机具号
             if (!string.IsNullOrEmpty(PosSn))
             {
-                condition += " and KqSnNo=" + PosSn;
+                condition += " and KqSnNo='" + PosSn + "'";
             }
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("PosMerchantInfo", Fields, "Id desc", "0", page, limit, condition);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
@@ -261,13 +261,20 @@ namespace MySystem.Areas.Admin.Controllers
 
                 var KqSnNo = dic["KqSnNo"].ToString();
                 var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == KqSnNo) ?? new PosMachinesTwo();
+
                 //实际押金
-                string SeoKeyword = pos.SeoKeyword.ToString();
-                if (SeoKeyword.Length > 3)
+                string SeoKeyword = "0";
+                if (!string.IsNullOrEmpty(pos.SeoKeyword))
                 {
-                    SeoKeyword = (decimal.Parse(SeoKeyword) / 100).ToString();
+                    if (pos.SeoKeyword.Length > 3)
+                    {
+                        SeoKeyword = (decimal.Parse(pos.SeoKeyword) / 100).ToString();
+                    }
+                    else
+                    {
+                        SeoKeyword = pos.SeoKeyword;
+                    }
                 }
-                ReturnAmounts += decimal.Parse(SeoKeyword);
                 dic["SeoKeyword"] = SeoKeyword;
 
                 //设置押金
@@ -279,12 +286,33 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["PrizeParams"] = PrizeParams;
             }
             Dictionary<string, object> other = new Dictionary<string, object>();
+            decimal ReturnAmounts = 0.00M;
             decimal ReturnAmount = 0.00M;
             DataTable dt = OtherMySqlConn.dtable("SELECT SUM(Remark) FROM PosMerchantInfo WHERE 1=1" + condition);
             if (dt.Rows.Count > 0)
             {
                 ReturnAmount = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString()));
             }
+            DataTable dts = OtherMySqlConn.dtable("SELECT KqSnNo FROM PosMerchantInfo WHERE 1=1" + condition);
+            if (dt.Rows.Count > 0)
+            {
+                foreach (DataRow item in dts.Rows)
+                {
+                    string KqSnNo = item["KqSnNo"].ToString();
+                    var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == KqSnNo) ?? new PosMachinesTwo();
+                    if (!string.IsNullOrEmpty(pos.SeoKeyword))
+                    {
+                        if (pos.SeoKeyword.Length > 3)
+                        {
+                            ReturnAmounts += decimal.Parse(pos.SeoKeyword) / 100;
+                        }
+                        else
+                        {
+                            ReturnAmounts += decimal.Parse(pos.SeoKeyword);
+                        }
+                    }
+                }
+            }
             other.Add("ReturnAmount", ReturnAmount.ToString("f2"));
             other.Add("ReturnAmounts", ReturnAmounts.ToString("f2"));
             obj.Add("other", other);
@@ -779,7 +807,7 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 JsonData dr = list[i];
                 string KqMerNo = dr[0].ToString(); // 商户编号
-                string Amount = dr[0].ToString(); // 已退金额
+                string Amount = dr[1].ToString(); // 已退金额
                 var posMerchantInfo = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == KqMerNo) ?? new PosMerchantInfo();
                 posMerchantInfo.StandardStatus = -2;
                 posMerchantInfo.Remark = Amount;

+ 0 - 7
Areas/Admin/Controllers/MainServer/PreSendStockDetailController.cs

@@ -57,10 +57,7 @@ namespace MySystem.Areas.Admin.Controllers
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
             Fields.Add("StoreId", "1");
-
-            // Fields.Add("CreateDate", "3"); //时间
             Fields.Add("SnNo", "1"); //SN编号
-            // Fields.Add("ApplyDate", "3"); //申请时间
 
 
             string condition = " and Status>-1";
@@ -617,13 +614,9 @@ namespace MySystem.Areas.Admin.Controllers
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
             Fields.Add("StoreId", "1");
-
-            // Fields.Add("CreateDate", "3"); //时间
             Fields.Add("SnNo", "1"); //SN编号
-            // Fields.Add("ApplyDate", "3"); //申请时间
 
 
-            // string condition = " and Status>-1 and DATE_SUB(CURDATE(), INTERVAL 30 DAY) >= date(CreateDate) and ApplyFlag =0 and AuthFlag =1";
             string condition = " and Status=1 and DATE_SUB(CURDATE(), INTERVAL 30 DAY) >= date(CreateDate) and ApplyFlag =0";
             //仓库名称
             if (!string.IsNullOrEmpty(StoreIdStoreName))

+ 1 - 5
Areas/Admin/Controllers/MainServer/ProductFareAreasController.cs

@@ -64,11 +64,7 @@ namespace MySystem.Areas.Admin.Controllers
             Dictionary<string, string> Fields = new Dictionary<string, string>();
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ProductFareAreas", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

+ 1 - 5
Areas/Admin/Controllers/MainServer/ProductKeysController.cs

@@ -66,11 +66,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("Name", "2"); //关键词
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ProductKeys", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-                
-            //}
+            
             return Json(obj);
         }
 

+ 1 - 5
Areas/Admin/Controllers/MainServer/ProductNormController.cs

@@ -66,11 +66,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("ColName", "2"); //名称
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ProductNorm", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

+ 1 - 5
Areas/Admin/Controllers/MainServer/ProductNormItemController.cs

@@ -66,11 +66,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("ColName", "2"); //名称
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ProductNormItem", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-                
-            //}
+            
             return Json(obj);
         }
 

+ 1 - 5
Areas/Admin/Controllers/MainServer/ProductNormTempController.cs

@@ -68,11 +68,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("Name", "2"); //名称
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ProductNormTemp", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

+ 0 - 10
Areas/Admin/Controllers/MainServer/ProfitRewardRecordController.cs

@@ -93,14 +93,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and CheckStatus=" + CheckStatusSelect;
             }
-            //交易时间
-            // if(!string.IsNullOrEmpty(CreateDateData))
-            // {
-            //     string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-            //     string start = datelist[0];
-            //     string end = datelist[1];
-            //     condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
-            // }
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
@@ -551,8 +543,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (string.IsNullOrEmpty(check))
             {
                 function.WritePage("/Balance/" + BrandId + "/", date + OpTypeString + ".txt", DateTime.Now.ToString());
-                // DoTradeProfit(BrandId, date, OpType);
-                // DoSubsidyProfit(BrandId, date, OpType);
                 RedisDbconn.Instance.AddList("SycnProfitQueue2", BrandId + "#cut#" + date + "#cut#" + OpType + "#cut#" + SysUserName);
                 return "success";
             }

+ 0 - 38
Areas/Admin/Controllers/MainServer/ProfitSubsidyDetailController.cs

@@ -89,54 +89,16 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and SubsidyType=" + SubsidyTypeSelect;
             }
-            //交易月份
-            // if(!string.IsNullOrEmpty(TradeMonthSelect))
-            // {
-            //     condition += " and TradeMonth=" + TradeMonthSelect.Replace("-", "");
-            // }
             if (!string.IsNullOrEmpty(TradeMonthSelect))
             {
                 string[] datelist = TradeMonthSelect.Split(new string[] { " - " }, StringSplitOptions.None);
                 string start = datelist[0];
                 condition += " and TradeMonth=" + start;
-
-                // var check = db.ProfitSubsidyDetail.Any(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start));
-                // var checks = db.ProfitSubsidyDetail.Any(m => Convert.ToInt32(m.TradeMonth) <= Convert.ToInt32(end));
-                // if (check)
-                // {
-                //     var sId = db.ProfitSubsidyDetail.Where(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start)).Min(m => m.Id);
-                //     condition += "  and Id >=" + sId;
-                // }
-                // if (checks)
-                // {
-                //     var eId = db.ProfitSubsidyDetail.Where(m => Convert.ToInt32(m.TradeMonth) <= Convert.ToInt32(start)).Max(m => m.Id);
-                //     condition += " and Id <=" + eId;
-                // }
             }
             else
             {
                 var start = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
                 condition += " and TradeMonth>=" + start;
-
-                // var check = db.ProfitSubsidyDetail.Any(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start));
-                // if (check)
-                // {
-                //     var minId = db.ProfitSubsidyDetail.Where(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start)).Min(m => m.Id);
-                //     var Info = Convert.ToInt32(function.ReadInstance("/WritePage/ProfitSubsidyDetail/ProfitSubsidyDetail.txt"));
-                //     if (string.IsNullOrEmpty(Info.ToString()))
-                //     {
-                //         function.WritePage("/WritePage/ProfitSubsidyDetail/", "ProfitSubsidyDetail.txt", minId.ToString());
-                //         condition += " and Id >=" + minId;
-                //     }
-                //     else
-                //     {
-                //         condition += " and Id >=" + Info;
-                //     }
-                // }
-                // else
-                // {
-                //     condition += " and Id =0";
-                // }
             }
             //产品类型
             if (!string.IsNullOrEmpty(BrandIdSelect))

+ 0 - 1
Areas/Admin/Controllers/MainServer/RecycMachineOrderController.cs

@@ -56,7 +56,6 @@ namespace MySystem.Areas.Admin.Controllers
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
 
-            // Fields.Add("CreateDate", "3"); //时间
             Fields.Add("ErpName", "1"); //快递名称
             Fields.Add("ErpCode", "1"); //快递单号
             Fields.Add("RecycOrderNo", "1"); //申请单号

+ 0 - 3
Areas/Admin/Controllers/MainServer/RecycMachineOrderPosController.cs

@@ -56,9 +56,6 @@ namespace MySystem.Areas.Admin.Controllers
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
-            // Fields.Add("OrderId", "1");
-
-            // Fields.Add("CreateDate", "3"); //时间
             Fields.Add("SnNo", "1"); //机具SN
 
 

+ 0 - 18
Areas/Admin/Controllers/MainServer/SchoolMakerStudyController.cs

@@ -95,24 +95,6 @@ namespace MySystem.Areas.Admin.Controllers
                 PColId = "001";
             }
             ViewBag.PColId = PColId;
-            // string code = "";
-            // int len = PColId.Length + 3;
-            // Col model = bsdb.Col.Where(m => m.ColId.StartsWith(PColId) && m.ColId.Length == len).OrderByDescending(m => m.ColId).FirstOrDefault();
-            // if (model != null)
-            // {
-            //     string CurCode = model.ColId;
-            //     int num = int.Parse(CurCode.Substring(CurCode.Length - 3)) + 1;
-            //     code = num.ToString();
-            //     for (int i = 0; i < 3 - num.ToString().Length; i++)
-            //     {
-            //         code = "0" + code;
-            //     }
-            //     code = PColId + code;
-            // }
-            // else
-            // {
-            //     code = PColId + "001";
-            // }
 
             return View();
         }

+ 0 - 1
Areas/Admin/Controllers/MainServer/SmallStoreHouseController.cs

@@ -57,7 +57,6 @@ namespace MySystem.Areas.Admin.Controllers
             Dictionary<string, string> Fields = new Dictionary<string, string>();
 
             Fields.Add("StoreNo", "1"); //仓库编号
-            // Fields.Add("CreateDate", "3"); //时间
             Fields.Add("StoreName", "1"); //仓库名称
             Fields.Add("Mobile", "1"); //仓库归属人手机号
 

+ 0 - 9
Areas/Admin/Controllers/MainServer/StoreHouseAmountPromissController.cs

@@ -139,7 +139,6 @@ namespace MySystem.Areas.Admin.Controllers
             Dictionary<string, object> Fields = new Dictionary<string, object>();
             var FromUserIdInfo = db.Users.FirstOrDefault(m => m.MakerCode == FromUserId);
             var ToUserIdInfo = db.Users.FirstOrDefault(m => m.MakerCode == ToUserId);
-            // ToUserIdInfo.ValidAmount += PromissAmount;//添加担保金
 
             db.StoreHouseAmountPromiss.Add(new StoreHouseAmountPromiss()
             {
@@ -150,14 +149,6 @@ namespace MySystem.Areas.Admin.Controllers
                 SeoDescription = SeoDescription
             });
             db.SaveChanges();
-            // RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-            // {
-            //     UserId = FromUserIdInfo.Id, //接收创客
-            //     Title = "仓库担保通知", //标题
-            //     Content = "<div class='f16'>已经为创客 <br/>" + ToUserIdInfo.RealName + ' ' + ToUserIdInfo.MakerCode + "进行分仓额度担保<br/>担保金额:" + PromissAmount + " </div>", //内容
-            //     Summary = "已经为创客" + ToUserIdInfo.RealName + ' ' + ToUserIdInfo.MakerCode + "进行分仓额度担保,担保金额:" + PromissAmount,
-            //     CreateDate = DateTime.Now,
-            // }));
 
             return "success";
         }

+ 10 - 4
Areas/Admin/Controllers/MainServer/StoreHouseAmountRecordController.cs

@@ -445,7 +445,7 @@ namespace MySystem.Areas.Admin.Controllers
             //创客真实姓名
             if (!string.IsNullOrEmpty(UserIdRealName))
             {
-                condition += " and UserId in (select UserId from UserForRealName where RealName='" + UserIdRealName + "')";
+                condition += " and UserId in (select UserId from Users where RealName='" + UserIdRealName + "')";
             }
             //创客编号
             if (!string.IsNullOrEmpty(UserIdMakerCode))
@@ -548,14 +548,13 @@ namespace MySystem.Areas.Admin.Controllers
         public JsonResult ExportsExcel(StoreHouseAmountRecord data, string UserIdRealName, string UserIdMakerCode, string CreateDateData, string StatusSelect)
         {
             Dictionary<string, string> Fields = new Dictionary<string, string>();
-            // Fields.Add("CreateDate", "3"); //时间
 
 
             string condition = " and PayMode=1 and Sort=3";
             //创客真实姓名
             if (!string.IsNullOrEmpty(UserIdRealName))
             {
-                condition += " and UserId in (select UserId from UserForRealName where RealName='" + UserIdRealName + "')";
+                condition += " and UserId in (select UserId from Users where RealName='" + UserIdRealName + "')";
             }
             //创客编号
             if (!string.IsNullOrEmpty(UserIdMakerCode))
@@ -576,7 +575,7 @@ namespace MySystem.Areas.Admin.Controllers
             }
 
             var Ids = "";
-            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("StoreHouseAmountRecord", Fields, "Id desc", "0", 1, 20000, condition, "Id,UserId,UseAmount", false);
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("StoreHouseAmountRecord", Fields, "Id desc", "0", 1, 20000, condition, "Id,CreateDate,UserId,UseAmount", false);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             foreach (Dictionary<string, object> dic in diclist)
             {
@@ -597,6 +596,11 @@ namespace MySystem.Areas.Admin.Controllers
 
                 //记录Id
                 int Id = int.Parse(function.CheckInt(dic["Id"].ToString()));
+                var storeHouseAmountRecord = db.StoreHouseAmountRecord.FirstOrDefault(m => m.Id == Id) ?? new StoreHouseAmountRecord();
+                if (storeHouseAmountRecord.Status == 0) dic["Status"] = "待处理";
+                if (storeHouseAmountRecord.Status == 2) dic["Status"] = "处理中";
+                if (storeHouseAmountRecord.Status == 1) dic["Status"] = "成功";
+                if (storeHouseAmountRecord.Status == -1) dic["Status"] = "失败";
                 dic["Id"] = Id;
                 Ids += Id + ",";
             }
@@ -608,6 +612,8 @@ namespace MySystem.Areas.Admin.Controllers
             result.Add("Obj", diclist);
             Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
             ReturnFields.Add("Id", "记录ID");
+            ReturnFields.Add("CreateDate", "提现申请时间");
+            ReturnFields.Add("Status", "提现结果");
             ReturnFields.Add("UserIdRealName", "创客真实姓名");
             ReturnFields.Add("UserIdMakerCode", "创客编号");
             ReturnFields.Add("UseAmount", "申请提现临额");

+ 171 - 133
Areas/Admin/Controllers/MainServer/StoreHouseController.cs

@@ -86,18 +86,8 @@ namespace MySystem.Areas.Admin.Controllers
                 string UserIds = "";
                 foreach (DataRow item in dt.Rows)
                 {
-                    // times++;
-                    // if (times == Count)
-                    // {
-                    //     UserIds += item["Id"].ToString();
-                    // }
-                    // else
-                    // {
-                    //     UserIds += item["Id"].ToString() + ",";
-                    // }
                     UserIds += item["Id"].ToString() + ",";
                 }
-                // condition += " and UserId in (select UserId from UserForRealName where RealName='" + UserIdRealName + "')";
                 condition += " and UserId in (" + UserIds.TrimEnd(',') + ")";
             }
             //仓库管理员真实姓名
@@ -110,18 +100,8 @@ namespace MySystem.Areas.Admin.Controllers
                 string UserIdss = "";
                 foreach (DataRow items in dts.Rows)
                 {
-                    // time++;
-                    // if (time == Counts)
-                    // {
-                    //     UserIdss += items["Id"].ToString();
-                    // }
-                    // else
-                    // {
-                    //     UserIdss += items["Id"].ToString() + ",";
-                    // }
                     UserIdss += items["Id"].ToString() + ",";
                 }
-                // condition += " and ManageUserId in (select ManageUserId from UserForRealName where RealName='" + ManageUserIdRealName + "')";
                 condition += " and UserId in (" + UserIdss.TrimEnd(',') + ")";
             }
             //仓库管理员手机号
@@ -400,6 +380,7 @@ namespace MySystem.Areas.Admin.Controllers
                         account.FixedAmount = 20000;
                         account.ValidAmount = 20000;
                     }
+                    account.StoreDeposit = data.Deposit;
                     var check = db.StoreHouse.Any(m => m.Status > 0 && m.Sort == 0 && m.OpId > 0 && m.UserId == user.UserId);
                     var OpId = 0;
                     if (check)
@@ -456,7 +437,7 @@ namespace MySystem.Areas.Admin.Controllers
             ViewBag.ManageMakerCode = manage.MakerCode;
             ViewBag.ManageRealName = manage.RealName;
 
-            Users user = db.Users.FirstOrDefault(m => m.Id == editData.ManageUserId) ?? new Users();
+            Users user = db.Users.FirstOrDefault(m => m.Id == editData.UserId) ?? new Users();
             ViewBag.MakerCode = user.MakerCode;
             return View();
         }
@@ -474,6 +455,7 @@ namespace MySystem.Areas.Admin.Controllers
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
             Fields.Add("CreateMan", SysUserName); //创建人
+            Fields.Add("UpdateMan", SysUserName + "-" + SysRealName); //修改人
             Fields.Add("StoreName", data.StoreName); //仓库名称
             Fields.Add("FilePath", data.FilePath); //附件
             Fields.Add("Deposit", data.Deposit); //押金
@@ -482,11 +464,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "您输入的仓库归属创客编号不存在,请重新输入正确的仓库归属创客编号";
             }
-            var check = db.StoreHouse.Any(m => m.Sort == 0 && m.Status == 1 && m.UserId == user.UserId);
-            if (check)
-            {
-                return "创客" + MakerCode + "名下已存在分仓,不可再变更";
-            }
             Fields.Add("UserId", user.UserId); //仓库归属人
             Fields.Add("ManagerEmail", data.ManagerEmail); //管理者邮箱
             Fields.Add("ManageMobile", data.ManageMobile);
@@ -497,116 +474,179 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "您输入的仓库负责人编号不存在,请重新输入正确的仓库负责人编号";
             }
+            Fields.Add("ManageUserId", manage.UserId); //仓库管理员
+            Fields.Add("Remark", data.Remark); //备注
+            Fields.Add("LimitTopUserId", data.LimitTopUserId); //限制创客特殊仓库
+            Fields.Add("StoreKind", data.StoreKind); //仓库归属类型
+            Fields.Add("Status", data.Status);
+            Fields.Add("StoreStatus", data.Status);
             var sto = db.StoreHouse.FirstOrDefault(m => m.Id == data.Id);
             var store = db.StoreHouse.Where(m => m.Sort == 0 && m.Status == 1 && m.UserId == sto.UserId).ToList();
             UserAccount userAccountOld = db.UserAccount.FirstOrDefault(m => m.Id == sto.UserId);
             UserAccount userAccount = db.UserAccount.FirstOrDefault(m => m.Id == user.UserId);
-            if (userAccount == null)
-            {
-                userAccount = db.UserAccount.Add(new UserAccount()
-                {
-                    Id = user.UserId,
-                    UserId = user.UserId,
-                }).Entity;
-                db.SaveChanges();
-            }
-            var checks = db.StoreHouseAmountPromiss.Any(m => m.ToUserId == sto.UserId);
-            if (checks)
-            {
-                var storeHouseAmountPromiss = db.StoreHouseAmountPromiss.Where(m => m.Status == 1 && m.ToUserId == sto.UserId).ToList();
-                foreach (var item in storeHouseAmountPromiss)
-                {
-                    var info = storeHouseAmountPromiss.FirstOrDefault(m => m.Id == item.Id);
-                    info.UpdateDate = DateTime.Now;
-                    info.UpdateMan = SysRealName + "-" + SysUserName;
-                    info.ToUserId = user.UserId;
-                }
-            }
-            userAccount.StoreDeposit = data.Deposit;
-            userAccount.FixedAmount = userAccountOld.FixedAmount;
-            userAccount.ValidAmount = userAccountOld.ValidAmount;
-            userAccount.TempAmount = userAccountOld.TempAmount;
-            userAccount.TempAmountForBalance = userAccountOld.TempAmountForBalance;
-            userAccountOld.StoreDeposit = 0;
-            userAccountOld.ValidAmount = 0;
-            userAccountOld.FixedAmount = 0;
-            userAccountOld.TempAmount = 0;
-            userAccountOld.TempAmountForBalance = 0;
-            db.SaveChanges();
-            // RedisDbconn.Instance.AddList("ResetStoreReserveQueue", user.UserId.ToString());
             decimal olddeposit = 0;//旧押金
             decimal newdeposit = 0;//新押金
             newdeposit = data.Deposit;
             olddeposit = sto.Deposit;
-            if (sto.OpId > 0)
+            if (sto.UserId != user.UserId)
             {
-                var amount = opdb.UserAccount.FirstOrDefault(m => m.UserId == sto.OpId) ?? new OpModels.UserAccount();
-                if (newdeposit > olddeposit)
+                var check = db.StoreHouse.Any(m => m.Sort == 0 && m.Status == 1 && m.UserId == user.UserId);
+                if (check)
+                {
+                    return "创客" + MakerCode + "名下已存在分仓,不可再变更";
+                }
+                else
                 {
-                    var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                    if (userAccount == null)
                     {
-                        CreateDate = DateTime.Now,
-                        UserId = sto.OpId,
-                        SeoDescription = "分仓押金变更",
-                        OperateType = 1,
-                        UseAmount = newdeposit - olddeposit,
-                        BeforeAmount = amount.ValidAmount,
-                        AfterAmount = amount.ValidAmount + newdeposit - olddeposit,
-                    }).Entity;
-                    opdb.SaveChanges();
+                        userAccount = db.UserAccount.Add(new UserAccount()
+                        {
+                            Id = user.UserId,
+                            UserId = user.UserId,
+                        }).Entity;
+                        db.SaveChanges();
+                    }
+                    var checks = db.StoreHouseAmountPromiss.Any(m => m.ToUserId == sto.UserId);
+                    if (checks)
+                    {
+                        var storeHouseAmountPromiss = db.StoreHouseAmountPromiss.Where(m => m.Status == 1 && m.ToUserId == sto.UserId).ToList();
+                        foreach (var item in storeHouseAmountPromiss)
+                        {
+                            var info = storeHouseAmountPromiss.FirstOrDefault(m => m.Id == item.Id);
+                            info.UpdateDate = DateTime.Now;
+                            info.UpdateMan = SysRealName + "-" + SysUserName;
+                            info.ToUserId = user.UserId;
+                        }
+                    }
+                    userAccount.UpdateMan = SysUserName + "-" + SysRealName;
+                    userAccount.StoreDeposit = data.Deposit;
+                    userAccount.FixedAmount = userAccountOld.FixedAmount;
+                    userAccount.ValidAmount = userAccountOld.ValidAmount;
+                    userAccount.TempAmount = userAccountOld.TempAmount;
+                    userAccount.TempAmountForBalance = userAccountOld.TempAmountForBalance;
+                    userAccountOld.UpdateMan = SysUserName + "-" + SysRealName;
+                    userAccountOld.StoreDeposit = 0;
+                    userAccountOld.ValidAmount = 0;
+                    userAccountOld.FixedAmount = 0;
+                    userAccountOld.TempAmount = 0;
+                    userAccountOld.TempAmountForBalance = 0;
+                    if (sto.OpId > 0)
+                    {
+                        var amount = opdb.UserAccount.FirstOrDefault(m => m.UserId == sto.OpId) ?? new OpModels.UserAccount();
+                        if (newdeposit > olddeposit)
+                        {
+                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = sto.OpId,
+                                SeoDescription = "分仓押金变更",
+                                OperateType = 1,
+                                UseAmount = newdeposit - olddeposit,
+                                BeforeAmount = amount.ValidAmount,
+                                AfterAmount = amount.ValidAmount + newdeposit - olddeposit,
+                            }).Entity;
+                        }
+                        if (newdeposit < olddeposit)
+                        {
+                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = sto.OpId,
+                                SeoDescription = "分仓押金变更",
+                                OperateType = 2,
+                                UseAmount = olddeposit - newdeposit,
+                                BeforeAmount = amount.ValidAmount,
+                                AfterAmount = amount.ValidAmount + newdeposit - olddeposit,
+                            }).Entity;
+                        }
+                        amount.ValidAmount -= sto.Deposit;
+                        amount.ValidAmount += data.Deposit;
+                    }
+                    var oldUserInfo = db.Users.FirstOrDefault(m => m.Id == sto.UserId) ?? new Users();
+                    var newUserInfo = db.Users.FirstOrDefault(m => m.Id == user.UserId) ?? new Users();
+                    newUserInfo.UpdateMan = SysUserName + "-" + SysRealName;
+                    newUserInfo.CreateStoreDate = oldUserInfo.CreateStoreDate;
+                    newUserInfo.StoreStock = oldUserInfo.StoreStock;
+                    newUserInfo.ThisMonthSend = oldUserInfo.ThisMonthSend;
+                    oldUserInfo.UpdateMan = SysUserName + "-" + SysRealName;
+                    oldUserInfo.CreateStoreDate = null;
+                    oldUserInfo.StoreStock = 0;
+                    oldUserInfo.ThisMonthSend = 0;
+                    foreach (var item in store)
+                    {
+                        var storeInfo = store.FirstOrDefault(m => m.Id == item.Id);
+                        var storeOp = opdb.StoreForOperate.FirstOrDefault(m => m.Sort == 0 && m.StoreId == item.Id && m.Status > -1) ?? new OpModels.StoreForOperate();
+                        storeInfo.UpdateMan = SysUserName + "-" + SysRealName;
+                        storeInfo.UserId = user.UserId;
+                        storeInfo.ManageUserId = manage.UserId;
+                        storeInfo.ManagerEmail = data.ManagerEmail;
+                        storeInfo.ManageMobile = data.ManageMobile;
+                        storeInfo.Address = data.Address;
+                        storeInfo.Areas = data.Areas;
+                        storeInfo.LimitTopUserId = data.LimitTopUserId;
+                        storeInfo.FilePath = data.FilePath;
+                        storeInfo.Deposit = data.Deposit;
+                        storeInfo.Remark = data.Remark;
+                        storeOp.UpdateDate = DateTime.Now;
+                        storeOp.QueryCount = user.UserId;
+                    }
+
                 }
-                if (newdeposit < olddeposit)
+            }
+            else
+            {
+                userAccount.UpdateMan = SysUserName + "-" + SysRealName;
+                userAccount.StoreDeposit = data.Deposit;
+                if (sto.OpId > 0)
                 {
-                    var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                    var amount = opdb.UserAccount.FirstOrDefault(m => m.UserId == sto.OpId) ?? new OpModels.UserAccount();
+                    if (newdeposit > olddeposit)
                     {
-                        CreateDate = DateTime.Now,
-                        UserId = sto.OpId,
-                        SeoDescription = "分仓押金变更",
-                        OperateType = 2,
-                        UseAmount = olddeposit - newdeposit,
-                        BeforeAmount = amount.ValidAmount,
-                        AfterAmount = amount.ValidAmount + newdeposit - olddeposit,
-                    }).Entity;
-                    opdb.SaveChanges();
+                        var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                        {
+                            CreateDate = DateTime.Now,
+                            UserId = sto.OpId,
+                            SeoDescription = "分仓押金变更",
+                            OperateType = 1,
+                            UseAmount = newdeposit - olddeposit,
+                            BeforeAmount = amount.ValidAmount,
+                            AfterAmount = amount.ValidAmount + newdeposit - olddeposit,
+                        }).Entity;
+                    }
+                    if (newdeposit < olddeposit)
+                    {
+                        var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                        {
+                            CreateDate = DateTime.Now,
+                            UserId = sto.OpId,
+                            SeoDescription = "分仓押金变更",
+                            OperateType = 2,
+                            UseAmount = olddeposit - newdeposit,
+                            BeforeAmount = amount.ValidAmount,
+                            AfterAmount = amount.ValidAmount + newdeposit - olddeposit,
+                        }).Entity;
+                    }
+                    amount.ValidAmount -= sto.Deposit;
+                    amount.ValidAmount += data.Deposit;
+                }
+                foreach (var item in store)
+                {
+                    var storeInfo = store.FirstOrDefault(m => m.Id == item.Id);
+                    storeInfo.UpdateMan = SysUserName + "-" + SysRealName;
+                    storeInfo.UserId = user.UserId;
+                    storeInfo.ManageUserId = manage.UserId;
+                    storeInfo.ManagerEmail = data.ManagerEmail;
+                    storeInfo.ManageMobile = data.ManageMobile;
+                    storeInfo.Address = data.Address;
+                    storeInfo.Areas = data.Areas;
+                    storeInfo.LimitTopUserId = data.LimitTopUserId;
+                    storeInfo.FilePath = data.FilePath;
+                    storeInfo.Deposit = data.Deposit;
+                    storeInfo.Remark = data.Remark;
                 }
-                amount.ValidAmount -= sto.Deposit;
-                amount.ValidAmount += data.Deposit;
-                opdb.SaveChanges();
-            }
-            var oldUserInfo = db.Users.FirstOrDefault(m => m.Id == sto.UserId) ?? new Users();
-            var newUserInfo = db.Users.FirstOrDefault(m => m.Id == user.UserId) ?? new Users();
-            newUserInfo.CreateStoreDate = oldUserInfo.CreateStoreDate;
-            newUserInfo.StoreStock = oldUserInfo.StoreStock;
-            newUserInfo.ThisMonthSend = oldUserInfo.ThisMonthSend;
-            oldUserInfo.CreateStoreDate = null;
-            oldUserInfo.StoreStock = 0;
-            oldUserInfo.ThisMonthSend = 0;
-            foreach (var item in store)
-            {
-                var storeInfo = store.FirstOrDefault(m => m.Id == item.Id);
-                var storeOp = opdb.StoreForOperate.FirstOrDefault(m => m.Sort == 0 && m.StoreId == item.Id && m.Status > -1) ?? new OpModels.StoreForOperate();
-                storeInfo.Deposit = data.Deposit;
-                storeInfo.UserId = user.UserId;
-                storeInfo.ManageUserId = manage.UserId;
-                storeInfo.ManagerEmail = data.ManagerEmail;
-                storeInfo.ManageMobile = data.ManageMobile;
-                storeInfo.Address = data.Address;
-                storeInfo.Areas = data.Areas;
-                storeInfo.LimitTopUserId = data.LimitTopUserId;
-                storeInfo.FilePath = data.FilePath;
-                storeInfo.Deposit = data.Deposit;
-                storeInfo.Remark = data.Remark;
-                storeOp.UpdateDate = DateTime.Now;
-                storeOp.QueryCount = user.UserId;
             }
             db.SaveChanges();
             opdb.SaveChanges();
-            Fields.Add("ManageUserId", manage.UserId); //仓库管理员
-            Fields.Add("Remark", data.Remark); //备注
-            Fields.Add("LimitTopUserId", data.LimitTopUserId); //限制创客特殊仓库
-            Fields.Add("StoreKind", data.StoreKind); //仓库归属类型
-            Fields.Add("Status", data.Status);
-            Fields.Add("StoreStatus", data.Status);
 
             new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("StoreHouse", Fields, data.Id);
             AddSysLog(data.Id.ToString(), "StoreHouse", "update");
@@ -638,7 +678,7 @@ namespace MySystem.Areas.Admin.Controllers
             ViewBag.ManageMakerCode = manage.MakerCode;
             ViewBag.ManageRealName = manage.RealName;
 
-            Users user = db.Users.FirstOrDefault(m => m.Id == editData.ManageUserId) ?? new Users();
+            Users user = db.Users.FirstOrDefault(m => m.Id == editData.UserId) ?? new Users();
             ViewBag.MakerCode = user.MakerCode;
             return View();
         }
@@ -740,6 +780,18 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 storeForName.StoreId = Id;
             }
+            UserAccount userAccount = db.UserAccount.FirstOrDefault(m => m.Id == user.UserId);
+            if (userAccount == null)
+            {
+                userAccount = db.UserAccount.Add(new UserAccount()
+                {
+                    Id = user.UserId,
+                    UserId = user.UserId,
+                }).Entity;
+                db.SaveChanges();
+            }
+            userAccount.StoreDeposit = data.Deposit;
+            db.SaveChanges();
             var check = db.StoreHouse.Any(m => m.Status > 0 && m.Sort == 0 && m.OpId > 0 && m.UserId == user.UserId);
             var OpId = 0;
             if (check)
@@ -890,23 +942,10 @@ namespace MySystem.Areas.Admin.Controllers
         [HttpPost]
         public string ImportPost(string ExcelPath, int Kind = 0)
         {
-            // RedisDbconn.Instance.AddList("ExcelImport", ExcelPath + "#cut#" + Kind);
             string key = function.MD5_16(Guid.NewGuid().ToString());
             RedisDbconn.Instance.AddList("ExcelImportV2", ExcelPath + "#cut#" + Kind + "#cut#" + key + "#cut#" + SysUserName);
             return "success|" + key;
         }
-
-        // [HttpPost]
-        // public Dictionary<string, object> ImportPostV2(string ExcelPath, int Kind = 0)
-        // {
-        //     Dictionary<string, object> Obj = new Dictionary<string, object>();
-        //     string key = function.MD5_16(Guid.NewGuid().ToString());
-        //     RedisDbconn.Instance.AddList("ExcelImportV2", ExcelPath + "#cut#" + Kind + "#cut#" + key);
-        //     Obj.Add("status", "success");
-        //     Obj.Add("key", key);
-        //     Obj.Add("errlist", RedisDbconn.Instance.GetList<string>("ErrList" + key));
-        //     return Obj;
-        // }
         public string CheckImport(string key)
         {
             string result = RedisDbconn.Instance.Get<string>("CheckImport:" + key);
@@ -1745,7 +1784,6 @@ namespace MySystem.Areas.Admin.Controllers
             }
             ViewBag.RightInfo = RightInfo;
             ViewBag.right = right;
-            // ViewBag.totalAmount = "关联分仓机具需要额度:" + totalAmount + "\n" + "关联分仓获得押金:" + deposit;
             ViewBag.totalAmount = "关联分仓机具需要额度:" + totalAmount;
             ViewBag.deposit = "关联分仓获得押金:" + deposit;
 

+ 17 - 0
Areas/Admin/Controllers/MainServer/StoreMachineApplyController.cs

@@ -466,6 +466,16 @@ namespace MySystem.Areas.Admin.Controllers
             List<SendInfo> sendInfos = new List<SendInfo>();
             List<CheckSendInfo> checksendInfos = new List<CheckSendInfo>();
             StoreMachineApply apply = db.StoreMachineApply.FirstOrDefault(m => m.Id == data.Id) ?? new StoreMachineApply();
+            if (apply.QueryCount > 0)
+            {
+                string check = RedisDbconn.Instance.Get<string>("YYZXSendPos:" + apply.QueryCount + "-" + apply.Id);
+                if (!string.IsNullOrEmpty(check))
+                {
+                    return "Warning|" + "请勿频繁操作,稍后再试";
+                }
+                RedisDbconn.Instance.Set("YYZXSendPos:" + apply.QueryCount + "-" + apply.Id, "wait");
+                RedisDbconn.Instance.SetExpire("YYZXSendPos:" + apply.QueryCount + "-" + apply.Id, 15);
+            }
             JsonData ApplyList = JsonMapper.ToObject(apply.SendSn);
             decimal ApplyAmount = 0;
             decimal Amount = 0;
@@ -529,6 +539,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandId == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 CheckSendInfo items = checksendInfos.FirstOrDefault(m => m.BrandId == BrandId);
                 if (items == null)
                 {
@@ -559,6 +570,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandIds == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == BrandIds);
                 CheckSendInfo items = checksendInfos.FirstOrDefault(m => m.BrandId == BrandIds) ?? new CheckSendInfo();
                 if (items.Num > num)
@@ -581,6 +593,10 @@ namespace MySystem.Areas.Admin.Controllers
                 BrandId = Convert.ToInt32(Brand);
                 MachineForSnNo posInfo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
                 var pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posInfo.SnId) ?? new PosMachinesTwo();
+                if (pos.BindingState == 1 || pos.ActivationState == 1)
+                {
+                    error += "以下操作失败" + SnNo + ',' + "该机具已绑定或已激活" + '\n';
+                }
                 if (posInfo.SnId > 0)
                 {
                     if (pos.Id > 0)
@@ -641,6 +657,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandId == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 tostore = db.StoreHouse.FirstOrDefault(m => m.UserId == apply.UserId && m.BrandId == BrandId.ToString() && m.Status > -1 && m.Sort == 0);
                 SendInfo item = sendInfos.FirstOrDefault(m => m.FromStoreId == FromStoreId && m.ToStoreId == tostore.Id && m.BrandId == BrandId);
                 if (item == null)

+ 23 - 16
Areas/Admin/Controllers/MainServer/SysRechargeRecordController.cs

@@ -51,14 +51,10 @@ namespace MySystem.Areas.Admin.Controllers
         /// 创客奖励记录列表
         /// </summary>
         /// <returns></returns>
-        public JsonResult IndexData(SysRechargeRecord data, string MakerCode, string RealName, string RechargeRecNo, string BatchCode, string BizTimeData, string StatusSelect, string SyncStatusSelect, int page = 1, int limit = 30)
+        public JsonResult IndexData(SysRechargeRecord data, string MakerCode, string RealName, string RechargeRecNo, string BatchCode, string BizTimeData, string BizTypeSelect, string StatusSelect, string SyncStatusSelect, int page = 1, int limit = 30)
         {
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
-            // Fields.Add("RechargeRecNo", "1"); //奖励单号
-            Fields.Add("BizType", "0"); //业务类型
-            // Fields.Add("BatchCode", "1"); //批次号
-            // Fields.Add("BizTime", "3"); //奖励时间
 
             string condition = " and Status>-1";
             //创客编号
@@ -82,10 +78,10 @@ namespace MySystem.Areas.Admin.Controllers
                 condition += " and BatchCode=" + BatchCode;
             }
             //业务类型
-            // if (BizType > 0) 
-            // {
-            //     condition += " and BizType=" + BizType;
-            // }
+            if (!string.IsNullOrEmpty(BizTypeSelect))
+            {
+                condition += " and BizType=" + BizTypeSelect;
+            }
             //状态
             if (!string.IsNullOrEmpty(StatusSelect))
             {
@@ -366,13 +362,9 @@ namespace MySystem.Areas.Admin.Controllers
         /// 导出Excel
         /// </summary>
         /// <returns></returns>
-        public JsonResult ExportExcel(SysRechargeRecord data, string MakerCode, string RealName, string StatusSelect, string SyncStatusSelect, string BizTimeData)
+        public JsonResult ExportExcel(SysRechargeRecord data, string MakerCode, string RealName, string RechargeRecNo, string BatchCode, string BizTimeData, string BizTypeSelect, string StatusSelect, string SyncStatusSelect)
         {
             Dictionary<string, string> Fields = new Dictionary<string, string>();
-            Fields.Add("RechargeRecNo", "1"); //奖励单号
-            Fields.Add("BizType", "0"); //业务类型
-            Fields.Add("BatchCode", "1"); //批次号
-            // Fields.Add("BizTime", "3"); //奖励时间
 
             string condition = " and Status>-1";
             //创客编号
@@ -385,6 +377,21 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
             }
+            //奖励单号
+            if (!string.IsNullOrEmpty(RechargeRecNo))
+            {
+                condition += " and RechargeRecNo=" + RechargeRecNo;
+            }
+            //批次号
+            if (!string.IsNullOrEmpty(BatchCode))
+            {
+                condition += " and BatchCode=" + BatchCode;
+            }
+            //业务类型
+            if (!string.IsNullOrEmpty(BizTypeSelect))
+            {
+                condition += " and BizType=" + BizTypeSelect;
+            }
             //状态
             if (!string.IsNullOrEmpty(StatusSelect))
             {
@@ -400,7 +407,7 @@ namespace MySystem.Areas.Admin.Controllers
                 string[] datelist = BizTimeData.Split(new string[] { " - " }, StringSplitOptions.None);
                 string start = datelist[0];
                 string end = datelist[1];
-                condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
+                condition += " and BizTime>='" + start + " 00:00:00' and BizTime<='" + end + " 23:59:59'";
             }
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("SysRechargeRecord", Fields, "Id desc", "0", 1, 20000, condition, "RechargeRecNo,ProductType,UserId,BizType,BizTime,Amount,SyncStatus,BatchCode,Status,SeoDescription,CreateMan", false);
@@ -411,7 +418,7 @@ namespace MySystem.Areas.Admin.Controllers
                 Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
                 dic["MakerCode"] = user.MakerCode;
                 dic["RealName"] = user.RealName;
-                dic["BizType"] = RelationClassForConst.GetBizTypeInfo(int.Parse(dic["BizType"].ToString()));
+                dic["BizType"] = RelationClassForConst.GetChangeTypeInfo(int.Parse(dic["BizType"].ToString()));
                 dic["ProductType"] = RelationClass.GetKqProductBrandInfo(int.Parse(dic["ProductType"].ToString()));
                 int Status = int.Parse(dic["Status"].ToString());
                 if (Status == 0) dic["Status"] = "初始";

+ 230 - 426
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -105,7 +105,7 @@ namespace MySystem.Areas.Admin.Controllers
         }
 
         [HttpPost]
-        public string CheckMachineDo(string MakerCode, string PosSn, string MerNo = "", int AddActPrize = 0, int IsPre = 0, int IsSend = 0)
+        public string CheckMachineDo(string MakerCode, string PosSn, int AddActPrize = 0, int IsSend = 0)
         {
             if (string.IsNullOrEmpty(MakerCode))
             {
@@ -115,6 +115,8 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "请输入机具SN";
             }
+
+            var MerNo = "";
             PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn);
             KqProducts kqProducts = db.KqProducts.FirstOrDefault(m => m.Id == pos.BrandId);
             if (pos == null)
@@ -126,7 +128,7 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "创客编号不存在";
             }
-            if (IsPre == 1)
+            if (pos.PreUserId > 0)
             {
                 if (pos.BuyUserId == 0)
                 {
@@ -187,9 +189,16 @@ namespace MySystem.Areas.Admin.Controllers
                 {
                     CreditTrade = spdb.TradeRecord.Where(m => m.Id > StartId && m.TradeSnNo == pos.PosSn && m.ProductType == "9").Sum(m => m.TradeAmount) / 100;
                 }
+                else if (pos.BrandId == 10 || pos.BrandId == 11)
+                {
+                    CreditTrade = spdb.TradeRecord.Where(m => m.Id > StartId && m.TradeSnNo == pos.PosSn && m.ProductType == "10").Sum(m => m.TradeAmount);
+                }
+                else if (pos.BrandId == 12)
+                {
+                    CreditTrade = spdb.TradeRecord.Where(m => m.Id > StartId && m.TradeSnNo == pos.PosSn && m.ProductType == "12").Sum(m => m.TradeAmount);
+                }
                 pos.CreditTrade = CreditTrade;
                 db.SaveChanges();
-                StatTradeAmount(pos.PosSn, StartId);
             }
             if (AddActPrize == 1)
             {
@@ -276,11 +285,11 @@ namespace MySystem.Areas.Admin.Controllers
             pos.BuyUserId = user.Id;
             if (pos.CreditTrade >= CheckMoney && pos.ActivationState == 0 && (pos.BindingTime > DateTime.Now.AddDays(-30) || SysUserName == "admin"))
             {
-                // pos.IsPurchase = 0;
                 pos.ActivationState = 1;
                 pos.ActivationTime = DateTime.Now;
             }
             PosMerchantInfo merchant = new PosMerchantInfo();
+
             if (!string.IsNullOrEmpty(MerNo))
             {
                 merchant = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == MerNo);
@@ -357,43 +366,8 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 pos.BindMerchantId = merchant.Id;
             }
-            // var makerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode) ?? new UserForMakerCode();
-            // var prePos = db.PreSendStockDetail.FirstOrDefault(m => m.ToUserId == makerCode.UserId && m.SnId == pos.Id && m.CreateDate < DateTime.Now.AddDays(-30) && m.AuthFlag == 1 && m.ApplyFlag == 0) ?? new PreSendStockDetail();
-            // if (makerCode.UserId > 0 && prePos.Id > 0)
-            // {
-            //     if (prePos.CreateDate <= DateTime.Now.AddDays(-30))
-            //     {
-            //         var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == prePos.BrandId);
-            //         var amount = 0;
-            //         if (brandInfo.Name.Contains("电签"))
-            //         {
-            //             amount = 200;
-            //         }
-            //         if (brandInfo.Name.Contains("大POS"))
-            //         {
-            //             amount = 300;
-            //         }
-            //         var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == makerCode.UserId) ?? new UserAccount();
-            //         if (userAccount.Id > 0)
-            //         {
-            //             userAccount.SmallStoreDeposit -= amount;
-            //             var add = db.UserAccountRecord.Add(new UserAccountRecord()
-            //             {
-            //                 CreateDate = DateTime.Now,
-            //                 Remark = "小分仓押金退还",
-            //                 ChangeType = 65,
-            //                 BeforeBalanceAmount = userAccount.SmallStoreDeposit + amount, //变更前小分仓押金
-            //                 AfterBalanceAmount = userAccount.SmallStoreDeposit, //变更后小分仓押金
-            //                 ChangeAmount = amount,//变动金额
-            //                 UserId = userAccount.Id,
-
-            //             }).Entity;
-            //             db.SaveChanges();
-            //         }
-            //     }
-            // }
             db.SaveChanges();
-            function.WriteLog(DateTime.Now.ToString() + "\n" + SysUserName + "\nMakerCode:" + MakerCode + ", PosSn:" + PosSn + ", MerNo:" + MerNo + ", AddActPrize:" + AddActPrize + ", IsPre:" + IsPre, "机具补录日志");
+            function.WriteLog(DateTime.Now.ToString() + "\n" + SysUserName + "\nMakerCode:" + MakerCode + ", PosSn:" + PosSn + ", MerNo:" + MerNo + ", AddActPrize:" + AddActPrize, "机具补录日志");
             return "success";
         }
         public IActionResult CheckMachine2(string right)
@@ -471,9 +445,16 @@ namespace MySystem.Areas.Admin.Controllers
                 {
                     CreditTrade = spdb.TradeRecord.Where(m => m.Id > StartId && m.TradeSnNo == pos.PosSn && m.ProductType == "9").Sum(m => m.TradeAmount) / 100;
                 }
+                else if (pos.BrandId == 10 || pos.BrandId == 11)
+                {
+                    CreditTrade = spdb.TradeRecord.Where(m => m.Id > StartId && m.TradeSnNo == pos.PosSn && m.ProductType == "10").Sum(m => m.TradeAmount);
+                }
+                else if (pos.BrandId == 12)
+                {
+                    CreditTrade = spdb.TradeRecord.Where(m => m.Id > StartId && m.TradeSnNo == pos.PosSn && m.ProductType == "12").Sum(m => m.TradeAmount);
+                }
                 pos.CreditTrade = CreditTrade;
                 db.SaveChanges();
-                StatTradeAmount(pos.PosSn);
             }
             if (AddActPrize == 1)
             {
@@ -493,13 +474,11 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 if (pos.CreditTrade < 1000)
                 {
-                    // pos.IsPurchase = 99;
                     db.SaveChanges();
                     return "该机具贷记卡累计交易不足1000";
                 }
                 if (pos.CreditTrade >= 1000 && pos.ActivationState == 0)
                 {
-                    // pos.IsPurchase = 0;
                     pos.ActivationState = 1;
                     pos.ActivationTime = DateTime.Now;
                     PosMerchantInfo mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
@@ -525,13 +504,8 @@ namespace MySystem.Areas.Admin.Controllers
             }
             pos.UserId = user.Id;
             pos.BuyUserId = user.Id;
-            // if (pos.CreditTrade < 1000)
-            // {
-            //     pos.IsPurchase = 99;
-            // }
             if (pos.CreditTrade >= 1000 && pos.ActivationState == 0)
             {
-                // pos.IsPurchase = 0;
                 pos.ActivationState = 1;
                 pos.ActivationTime = DateTime.Now;
             }
@@ -621,15 +595,9 @@ namespace MySystem.Areas.Admin.Controllers
             PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.ActivationState == 1 && !string.IsNullOrEmpty(m.SeoKeyword) && m.Id == posid);
             if (pos != null)
             {
-                // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && !string.IsNullOrEmpty(m.MerIdcardNo));
                 PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
                 if (merchant != null)
                 {
-                    // PosMerchantOtherInfo otherInfo = db.PosMerchantOtherInfo.FirstOrDefault(m => m.CertId == merchant.MerIdcardNo && m.PrizeFlag1 == 0);
-                    // if (otherInfo != null)
-                    // {
-                    //     otherInfo.PrizeFlag1 = 1;
-                    //     db.SaveChanges();
                     string ParentNav = "";
                     Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
                     if (user != null)
@@ -679,7 +647,15 @@ namespace MySystem.Areas.Admin.Controllers
                                 prizes.Add(40);
                             }
                         }
-                        else if (pos.BrandId == 6 && ActPrize == 0)
+                        else if (pos.BrandId == 6 && ActPrize == 0) //立刷首台无押金机返50
+                        {
+                            prizes.Add(50);
+                        }
+                        else if ((pos.BrandId == 10 || pos.BrandId == 11) && pos.IsFirst == 1 && ActPrize == 0) //联动首台无押金机返50
+                        {
+                            prizes.Add(50);
+                        }
+                        else if (pos.BrandId == 12 && pos.IsFirst == 1 && ActPrize == 0) //盒易付首台无押金机返50
                         {
                             prizes.Add(50);
                         }
@@ -798,18 +774,6 @@ namespace MySystem.Areas.Admin.Controllers
             }
             db.Dispose();
         }
-        //重置交易额
-        public void StatTradeAmount(string PosSn, int StartId = 0)
-        {
-            DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
-            if (DateTime.Now.Day == 1)
-            {
-                start = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01 00:00:00");
-            }
-            DateTime end = DateTime.Now;
-            SycnSpTradeService.Instance.Start(PosSn, start, end, StartId);
-            RedisDbconn.Instance.AddList("ResetTradeAmountList", PosSn);
-        }
 
         #endregion
 
@@ -997,7 +961,7 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 Users posUsers = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
                 decimal Deposits = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                if (pos.BrandId != 2 && pos.BrandId != 7 && pos.BrandId != 10 && pos.BrandId != 11)
+                if (pos.BrandId != 2 && pos.BrandId != 7 && pos.BrandId != 10 && pos.BrandId != 11 && pos.BrandId != 12)
                 {
                     Deposits = Deposits / 100;
                 }
@@ -1009,15 +973,14 @@ namespace MySystem.Areas.Admin.Controllers
                     Users user = db.Users.FirstOrDefault(m => m.Id == rewards.UserId) ?? new Users();
                     DepositGets = "已领取";
                     DepositUsers = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName;
-                    // DepositUsers = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
                 }
                 string ActiveTimes = rewards.CreateDate == null ? "" : rewards.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
                 var storeInfo = db.StoreHouse.FirstOrDefault(m => m.Id == pos.StoreId) ?? new StoreHouse();
                 string results = "该机具为故障机" + "\n";
                 results += "所在仓库:" + storeInfo.StoreNo + "\n";
                 results += "仓库名称:" + storeInfo.StoreName + "\n";
-                results += "押金返现实际返现对象:" + DepositUsers + "\n";
-                results += "押金:" + Deposits + "\n";
+                results += "服务费返现实际返现对象:" + DepositUsers + "\n";
+                results += "服务费:" + Deposits + "\n";
                 results += "是否返现:" + DepositGets + ",领取时间:" + ActiveTimes + "\n";
                 return results;
             }
@@ -1090,7 +1053,7 @@ namespace MySystem.Areas.Admin.Controllers
             }
             string tradeAmount = pos.CreditTrade.ToString();
             decimal Deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-            if (pos.BrandId != 2 && pos.BrandId != 7 && pos.BrandId != 10 && pos.BrandId != 11)
+            if (pos.BrandId != 2 && pos.BrandId != 7 && pos.BrandId != 10 && pos.BrandId != 11 && pos.BrandId != 12)
             {
                 Deposit = Deposit / 100;
             }
@@ -1106,7 +1069,6 @@ namespace MySystem.Areas.Admin.Controllers
                 Users user = db.Users.FirstOrDefault(m => m.Id == reward.UserId) ?? new Users();
                 DepositGet = "已领取";
                 DepositUser = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName;
-                // DepositUser = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
                 var fAmount = db.ActiveReward.FirstOrDefault(m => m.KqSnNo == pos.PosSn && m.ActType == 0);
                 if (fAmount != null)
                 {
@@ -1126,7 +1088,6 @@ namespace MySystem.Areas.Admin.Controllers
                 Users user = db.Users.FirstOrDefault(m => m.Id == lisreward.UserId) ?? new Users();
                 DepositGet6 = "已领取";
                 DepositUser6 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName;
-                // DepositUser6 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
             }
             string FluxGet6 = "未领取";
             string FluxUser6 = "";
@@ -1136,11 +1097,9 @@ namespace MySystem.Areas.Admin.Controllers
                 Users user = db.Users.FirstOrDefault(m => m.Id == flux.UserId) ?? new Users();
                 FluxGet6 = "已领取(领取时间:" + flux.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") + ")";
                 FluxUser6 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName;
-                // FluxUser6 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
             }
             Users touser = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
             DepositToUser = "创客编号:" + touser.MakerCode + ",姓名:" + touser.RealName;
-            // DepositToUser = "创客编号:" + touser.MakerCode + ",姓名:" + touser.RealName + ",手机号:" + touser.Mobile;
             string OpenUser10 = "未领取";
             string OpenUser20 = "未领取";
             string Leader10 = "未领取";
@@ -1150,29 +1109,25 @@ namespace MySystem.Areas.Admin.Controllers
             if (openreward.Id > 0)
             {
                 Users user = db.Users.FirstOrDefault(m => m.Id == openreward.UserId) ?? new Users();
-                OpenUser20 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName;
-                // OpenUser20 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
+                OpenUser20 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName + "发放时间:" + openreward.CreateDate.Value.ToString("yyyy-MM-dd hh:mm:ss");
             }
             openreward = OpenRewardDetail.FirstOrDefault(m => m.CreditRewardAmount == 10) ?? new OpenRewardDetail();
             if (openreward.Id > 0)
             {
                 Users user = db.Users.FirstOrDefault(m => m.Id == openreward.UserId) ?? new Users();
                 OpenUser10 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName;
-                // OpenUser10 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
             }
             var leader10 = db.UserAccountRecord.FirstOrDefault(m => m.QueryCount == pos.Id && m.ChangeType == 116) ?? new UserAccountRecord();
             if (leader10.Id > 0)
             {
                 Users user = db.Users.FirstOrDefault(m => m.Id == leader10.UserId) ?? new Users();
                 Leader10 = "金额:" + leader10.ChangeAmount + ",创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",发奖时间:" + leader10.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
-                // Leader10 = "金额:" + leader10.ChangeAmount + ",创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
             }
             var yyzx5 = db.UserAccountRecord.FirstOrDefault(m => m.QueryCount == pos.Id && m.ChangeType == 121) ?? new UserAccountRecord();
             if (yyzx5.Id > 0)
             {
                 Users user = db.Users.FirstOrDefault(m => m.Id == yyzx5.UserId) ?? new Users();
                 YYZX5 = "金额:" + yyzx5.ChangeAmount + ",创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",发奖时间:" + yyzx5.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
-                // YYZX5 = "金额:" + yyzx5.ChangeAmount + ",创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
             }
             MachineApply apply = db.MachineApply.FirstOrDefault(m => m.SwapSnExpand.Contains(pos.PosSn)) ?? new MachineApply();
             Orders applyorder = db.Orders.FirstOrDefault(m => m.Id == apply.QueryCount) ?? new Orders();
@@ -1195,14 +1150,11 @@ namespace MySystem.Areas.Admin.Controllers
             result += "机具类型:" + PosSnType + "\n";
             result += "商户编号:" + merInfo + ",商户姓名:" + merName + "\n";
             result += "商户型机器/直拓机器:创客编号:" + posSubUser.MakerCode + ",姓名:" + posSubUser.RealName + "\n";
-            // result += "商户型机器/直拓机器:创客编号:" + posSubUser.MakerCode + ",姓名:" + posSubUser.RealName + ",手机号:" + posSubUser.Mobile + "\n";
             if (change.Id > 0)
             {
                 result += "换机来源机具SN:" + change.BackSnNo + "\n";
             }
             result += "机具所属人:创客编号:" + posUser.MakerCode + ",姓名:" + posUser.RealName + "\n";
-            // result += "机具所属人:创客编号:" + posUser.MakerCode + ",姓名:" + posUser.RealName + ",手机号:" + posUser.Mobile + "\n";
-            // result += "机器持有人顶级:创客编号:" + posTopUser.MakerCode + ",姓名:" + posTopUser.RealName + ",手机号:" + posTopUser.Mobile + "\n";
             result += "机器所属仓库:仓库编号:" + store.StoreNo + ",仓库名称:" + store.StoreName + "\n";
             if (pos.PreUserId > 0)
             {
@@ -1210,7 +1162,6 @@ namespace MySystem.Areas.Admin.Controllers
                 PreSendStockDetail preSend = db.PreSendStockDetail.FirstOrDefault(m => m.SnId == pos.Id && m.ToUserId == pos.PreUserId && m.Status == 1) ?? new PreSendStockDetail();
                 string preSendDate = preSend.CreateDate == null ? "" : preSend.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
                 result += "机具所属小分仓:创客编号:" + smallStoreUser.MakerCode + ",姓名:" + smallStoreUser.RealName + ",预发时间:" + preSendDate + "\n";
-                // result += "机具所属小分仓:创客编号:" + smallStoreUser.MakerCode + ",姓名:" + smallStoreUser.RealName + ",手机号:" + smallStoreUser.Mobile + ",预发时间:" + preSendDate + "\n";
             }
             else
             {
@@ -1225,11 +1176,11 @@ namespace MySystem.Areas.Admin.Controllers
             result += "是否循环:" + RecycFlag + ",申请循环时间:" + ApplyDate + "\n";
             result += "申请循环后的SN:" + applyorder.SnNos + "\n";
             result += "是否发货:" + SendStatus + ",发货时间:" + SendDate + "\n";
-            result += "押金:" + Deposit + "\n";
+            result += "服务费:" + Deposit + "\n";
             result += "是否返现:" + DepositGet + ",领取时间:" + ActiveTime + "\n";
             result += "返现金额:" + headAmount + " " + " " + footAmount + "\n";
-            result += "押金返现应返现对象:" + DepositToUser + "\n";
-            result += "押金返现实际返现对象:" + DepositUser + "\n";
+            result += "服务费返现应返现对象:" + DepositToUser + "\n";
+            result += "服务费返现实际返现对象:" + DepositUser + "\n";
             if (pos.BrandId == 6)
             {
                 result += "立刷10000奖励:" + DepositGet6 + ",领取时间:" + ActiveTime6 + "\n";
@@ -1238,46 +1189,10 @@ namespace MySystem.Areas.Admin.Controllers
             result += "流量费:" + FluxGet6 + "\n";
             result += "流量费发放对象:" + FluxUser6 + "\n";
             result += "开机奖20:" + OpenUser20 + "\n";
-            // result += "开机奖10:" + OpenUser10 + "\n";
             result += "盟主奖:" + Leader10 + "\n";
             result += "运营中心奖:" + YYZX5 + "\n";
             return result;
         }
-        //解析金控日志
-        // public decimal CheckLog(DateTime startDate, string PosSn)
-        // {
-        //     bool op = true;
-        //     decimal result = 0;
-        //     DateTime today = DateTime.Now;
-        //     int i = 0;
-        //     while (op)
-        //     {
-        //         DateTime check = DateTime.Parse(startDate.ToString("yyyy-MM-dd") + " 00:00:00").AddDays(i);
-        //         if (check <= today)
-        //         {
-        //             string source = function.GetWebRequest("http://sp.kexiaoshuang.com/api/test/GetLog?date=" + check.Year + "-" + check.Month + "-" + check.Day);
-        //             MatchCollection mc = Regex.Matches(source, "{.*?2022年飞天系列-小宝电签.*?}"); //激活
-        //             foreach (Match sub in mc)
-        //             {
-        //                 string content = sub.Value;
-        //                 JsonData jsonObj = JsonMapper.ToObject(content);
-        //                 decimal serviceAmount = decimal.Parse(jsonObj["serviceAmount"].ToString());
-        //                 string posSnCheck = jsonObj["posSn"].ToString();
-        //                 if (posSnCheck == PosSn && serviceAmount > 0)
-        //                 {
-        //                     result = serviceAmount / 100;
-        //                     op = false;
-        //                 }
-        //             }
-        //         }
-        //         else
-        //         {
-        //             op = false;
-        //         }
-        //         i += 1;
-        //     }
-        //     return result;
-        // }
 
         #endregion
 
@@ -1475,10 +1390,6 @@ namespace MySystem.Areas.Admin.Controllers
                 {
                     return "原机具SN不正确";
                 }
-                // if (oldpos.BindingState != 1)
-                // {
-                //     return "原机具未绑定";
-                // }
                 PosMachinesTwo newpos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == newForSnNo.SnId && m.PreUserId == 0);//添加新机是否为预发机判断
                 if (newpos == null)
                 {
@@ -1507,15 +1418,9 @@ namespace MySystem.Areas.Admin.Controllers
                 newpos.BindingTime = oldpos.BindingTime;
                 newpos.ActivationTime = oldpos.ActivationTime;
                 newpos.IsFirst = oldpos.IsFirst;
-                // bool checkActReward = db.ActiveReward.Any(m => m.KqMerNo == merchant.KqMerNo);
-                // if (!checkActReward)
-                // {
                 newpos.SeoKeyword = oldpos.SeoKeyword;
                 newpos.PrizeParams = oldpos.PrizeParams;
                 newpos.LeaderUserId = oldpos.LeaderUserId;
-                // }
-                // oldpos.BuyUserId = 0;
-                // oldpos.UserId = 0;
                 oldpos.Status = -1;
 
                 //对应调整客小爽企业版数据
@@ -1687,10 +1592,8 @@ namespace MySystem.Areas.Admin.Controllers
                     {
                         amount = 200;
                     }
-                    // var storeUserAcount = db.UserAccount.FirstOrDefault(m => m.Id == store.UserId) ?? new UserAccount();
                     var storeFromUserAcount = db.UserAccount.FirstOrDefault(m => m.Id == storeFrom.UserId) ?? new UserAccount();
                     var storeBackUserAcount = db.UserAccount.FirstOrDefault(m => m.Id == storeBack.UserId) ?? new UserAccount();
-                    // storeUserAcount.ValidAmount += amount;
                     storeFromUserAcount.ValidAmount += amount;
                     storeBackUserAcount.ValidAmount -= amount;
 
@@ -1900,7 +1803,6 @@ namespace MySystem.Areas.Admin.Controllers
                     var storeUserAcount = db.UserAccount.FirstOrDefault(m => m.Id == store.UserId) ?? new UserAccount();
                     var storeFromUserAcount = db.UserAccount.FirstOrDefault(m => m.Id == storeFrom.UserId) ?? new UserAccount();
                     var storeBackUserAcount = db.UserAccount.FirstOrDefault(m => m.Id == storeBack.UserId) ?? new UserAccount();
-                    // storeUserAcount.ValidAmount += amount;
                     storeFromUserAcount.ValidAmount += amount;
                     storeBackUserAcount.ValidAmount -= amount;
                     newpos.StoreId = oldpos.StoreId;
@@ -1998,117 +1900,6 @@ namespace MySystem.Areas.Admin.Controllers
                     }
                 }
             }
-            // for (int i = 0; i < OldSnList.Length; i++)
-            // {
-            //     string OldSnNum = OldSnList[i];
-            //     string NewSnNum = NewSnList[i];
-            //     StoreForCode storeForCode = db.StoreForCode.FirstOrDefault(m => m.Code == BackStoreNo) ?? new StoreForCode();
-            //     MachineForSnNo oldForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == OldSnNum) ?? new MachineForSnNo();
-            //     MachineForSnNo newForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == NewSnNum) ?? new MachineForSnNo();
-            //     StoreHouse oldStore = new StoreHouse();
-            //     PosMachinesTwo oldpos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == oldForSnNo.SnId && m.BindingState == 0);
-            //     if (storeForCode.StoreId > 0)
-            //     {
-            //         StoreHouse store = db.StoreHouse.FirstOrDefault(m => m.Id == storeForCode.StoreId);
-            //         if (Convert.ToInt32(store.BrandId) != Convert.ToInt32(oldpos.BrandId))
-            //         {
-            //             return "您输入的仓库不符机具对应品牌";
-            //         }
-            //         oldStore = db.StoreHouse.FirstOrDefault(m => m.Id == oldpos.StoreId);
-            //         oldpos.Status = -1;
-            //         oldpos.StoreId = store.Id;
-            //     }
-            //     if (oldpos == null)
-            //     {
-            //         return "原机具SN不正确或者不符合换机条件";
-            //     }
-            //     PosMachinesTwo newpos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == newForSnNo.SnId && m.BuyUserId == 0 && m.UserId == 0 && m.BindingState == 0);
-            //     if (newpos == null)
-            //     {
-            //         return "新机具SN不正确或者不为仓库机";
-            //     }
-            //     if (oldpos.BrandId != newpos.BrandId)
-            //     {
-            //         return "新机具和旧机具品牌不相同";
-            //     }
-
-            //     var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == newpos.BrandId) ?? new KqProducts();
-            //     if (brandInfo.Name.Contains("大POS"))
-            //     {
-            //         amount = 300;
-            //     }
-            //     if (brandInfo.Name.Contains("电签"))
-            //     {
-            //         amount = 200;
-            //     }
-            //     var storehouse = db.StoreHouse.FirstOrDefault(m => m.Id == newpos.StoreId) ?? new StoreHouse();
-            //     storehouse.LaveNum -= 1;
-            //     var userAcount = db.UserAccount.FirstOrDefault(m => m.Id == storehouse.UserId) ?? new UserAccount();
-            //     if (oldpos.StoreId != newpos.StoreId)
-            //     {
-            //         userAcount.ValidAmount += amount;
-            //         newpos.StoreId = oldpos.StoreId;
-            //         newpos.BuyUserId = oldpos.BuyUserId;
-            //         newpos.UserId = oldpos.UserId;
-            //         newpos.LeaderUserId = oldpos.LeaderUserId;
-            //         newpos.PreUserId = oldpos.PreUserId;
-            //         newpos.IsFirst = oldpos.IsFirst;
-            //         newpos.TransferTime = oldpos.TransferTime;
-            //     }
-            //     else
-            //     {
-            //         newpos.BuyUserId = oldpos.BuyUserId;
-            //         newpos.UserId = oldpos.UserId;
-            //         newpos.LeaderUserId = oldpos.LeaderUserId;
-            //         newpos.PreUserId = oldpos.PreUserId;
-            //         newpos.IsFirst = oldpos.IsFirst;
-            //         newpos.TransferTime = oldpos.TransferTime;
-            //     }
-            //     db.SaveChanges();
-
-            //     var oldPosBrand = db.KqProducts.FirstOrDefault(m => m.Id == oldpos.BrandId) ?? new KqProducts();
-            //     var newPosBrand = db.KqProducts.FirstOrDefault(m => m.Id == newpos.BrandId) ?? new KqProducts();
-            //     var UserId = 0;
-            //     if (oldpos.BuyUserId == 0)
-            //     {
-            //         UserId = oldStore.UserId;
-            //     }
-            //     else
-            //     {
-            //         UserId = oldpos.BuyUserId;
-            //     }
-            //     BrokenMachineChange add = db.BrokenMachineChange.Add(new BrokenMachineChange()
-            //     {
-            //         CreateDate = DateTime.Now,
-            //         CreateMan = SysUserName + "-" + SysRealName,
-            //         ChangeNo = "BPC" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(3), //转换单号
-            //         UserId = UserId, //创客
-            //     }).Entity;
-            //     db.SaveChanges();
-            //     BrokenMachineChangeDetail adds = db.BrokenMachineChangeDetail.Add(new BrokenMachineChangeDetail()
-            //     {
-            //         CreateDate = DateTime.Now,
-            //         CreateMan = SysUserName + "-" + SysRealName,
-            //         OutSnNo = OldSnNum,
-            //         BackSnNo = NewSnNum,
-            //         ChangeNo = add.ChangeNo, //转换单号
-            //         ChangeId = add.Id, //转换记录Id
-            //         UserId = add.UserId, //创客
-            //     }).Entity;
-            //     db.SaveChanges();
-            //     if (IsSend == 1)
-            //     {
-            //         RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-            //         {
-            //             UserId = UserId, //接收创客
-            //             MsgType = 2,
-            //             Title = "坏机换新成功通知", //标题
-            //             Summary = "您的坏机 " + oldPosBrand.Name + " SN:" + OldSn + "已经成功为您换为" + newPosBrand.Name + "SN:" + NewSn + "。",
-            //             CreateDate = DateTime.Now,
-
-            //         }));
-            //     }
-            // }
             foreach (string sub in opData)
             {
                 string[] datalist = sub.Split(":");
@@ -2119,133 +1910,6 @@ namespace MySystem.Areas.Admin.Controllers
         #endregion
 
 
-        // #region 机具解绑
-
-        // public IActionResult Unbind(string right)
-        // {
-        //     ViewBag.RightInfo = RightInfo;
-        //     ViewBag.right = right;
-
-        //     return View();
-        // }
-
-        // [HttpPost]
-        // public string UnbindDo(string PosSn, string MakerCode, string MerNo, int IsSend = 0)
-        // {
-        //     if (string.IsNullOrEmpty(PosSn))
-        //     {
-        //         return "请输入机具SN";
-        //     }
-        //     if (string.IsNullOrEmpty(MakerCode))
-        //     {
-        //         return "请输入创客编号";
-        //     }
-        //     MachineForSnNo forSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn);
-        //     if (forSnNo == null)
-        //     {
-        //         return "机具SN不存在";
-        //     }
-        //     PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId);
-        //     if (pos == null)
-        //     {
-        //         return "机具SN不存在";
-        //     }
-        //     if (string.IsNullOrEmpty(MerNo) && pos.BrandId != 1 && pos.BrandId != 3)
-        //     {
-        //         return "请输入商户编号";
-        //     }
-        //     UserForMakerCode forMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
-        //     if (forMakerCode == null)
-        //     {
-        //         return "创客不存在";
-        //     }
-        //     MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == MerNo);
-        //     if (forMerNo == null && pos.BrandId != 1 && pos.BrandId != 3)
-        //     {
-        //         return "商户编号不存在";
-        //     }
-        //     if (pos.BuyUserId != forMakerCode.UserId)
-        //     {
-        //         return "机具SN和创客不匹配";
-        //     }
-        //     if (pos.ActivationState == 1)
-        //     {
-        //         return "机具已激活,不能解绑";
-        //     }
-        //     if (pos.BuyUserId == 0)
-        //     {
-        //         return "机具是仓库机,不支持解绑";
-        //     }
-        //     if (pos.BindingState == 0)
-        //     {
-        //         return "机具未绑定,不支持解绑";
-        //     }
-        //     if (pos.BindingTime < DateTime.Now.AddDays(-30) && SysUserName != "admin")
-        //     {
-        //         return "机具绑定已超过30天,不支持解绑";
-        //     }
-        //     if (pos.CreditTrade > 0 || !string.IsNullOrEmpty(pos.SeoKeyword))
-        //     {
-        //         return "该机具已交易,无法解绑";
-        //     }
-        //     if (forMerNo != null)
-        //     {
-        //         PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
-        //         if (merchant != null)
-        //         {
-        //             //机具解绑删除客小爽企业版对应数据
-        //             var merInfo = db.BusinessPartnerMerchant.FirstOrDefault(m => m.MerchantId == merchant.Id);
-        //             if (merInfo != null)
-        //             {
-        //                 db.BusinessPartnerMerchant.Remove(merInfo);
-        //             }
-        //             var posInfo = db.BusinessPartnerPos.FirstOrDefault(m => m.PosId == pos.Id);
-        //             if (posInfo != null)
-        //             {
-        //                 db.BusinessPartnerPos.Remove(posInfo);
-        //             }
-
-        //             db.PosMerchantInfo.Remove(merchant);
-        //         }
-        //         db.MachineForMerNo.Remove(forMerNo);
-        //         db.SaveChanges();
-        //     }
-        //     db.MachineUnBind.Add(new MachineUnBind()
-        //     {
-        //         CreateDate = DateTime.Now,
-        //         SeoTitle = SysUserName + "-" + SysRealName,
-        //         MerchantId = pos.BindMerchantId,
-        //         AuditDate = DateTime.Now,
-        //         AuditDesc = "平台操作解绑",
-        //         AuditStatus = 1,
-        //         SnNo = pos.PosSn,
-        //         BrandId = pos.BrandId,
-        //         UserId = pos.BuyUserId,
-        //         ApplyNo = "U" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8),
-        //     });
-        //     pos.BindMerchantId = 0;
-        //     pos.BindingState = 0;
-        //     pos.BindingTime = DateTime.Parse("1900-01-01");
-        //     pos.UserId = pos.BuyUserId;
-        //     string IdBrand = pos.BuyUserId + "_" + pos.BrandId;
-        //     db.SaveChanges();
-        //     PublicFunction.SycnMachineCount(pos.BuyUserId, pos.BrandId);
-        //     if (IsSend == 1)
-        //     {
-        //         RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-        //         {
-        //             UserId = pos.BuyUserId, //接收创客
-        //             MsgType = 2,
-        //             Title = "解绑成功通知", //标题
-        //             Summary = "" + PosSn + "机具已成功解绑,当前机具如需绑定同一客户请再2个工作日后再进行绑定,直接绑定会导致数控异常,相关损失由您本人承担。",
-        //             CreateDate = DateTime.Now,
-        //         }));
-        //     }
-        //     return "success";
-        // }
-        // #endregion
-
-
 
         #region 机具解绑
 
@@ -2300,7 +1964,6 @@ namespace MySystem.Areas.Admin.Controllers
                 {
                     return "请输入创客编号";
                 }
-                // if (string.IsNullOrEmpty(MerNo) && pos.BrandId != 1 && pos.BrandId != 3)
                 if (string.IsNullOrEmpty(MerNo))
                 {
                     return "请输入商户编号";
@@ -2311,7 +1974,6 @@ namespace MySystem.Areas.Admin.Controllers
                     return "创客不存在";
                 }
                 MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == MerNo);
-                // if (forMerNo == null && pos.BrandId != 1 && pos.BrandId != 3)
                 if (forMerNo == null)
                 {
                     return "商户编号不存在";
@@ -2785,9 +2447,6 @@ namespace MySystem.Areas.Admin.Controllers
                             {
                                 bool directPrize = false; //直推奖标记
                                 int ParentUserId = user.ParentUserId;
-                                // List<int> proids = new List<int>();
-                                // proids.Add(10);
-                                // proids.Add(11);
                                 while (ParentUserId > 0)
                                 {
                                     Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
@@ -2915,7 +2574,6 @@ namespace MySystem.Areas.Admin.Controllers
                 OpenUser10 = "创客编号:" + user.MakerCode + ",姓名:" + user.RealName + ",手机号:" + user.Mobile;
             }
             result += "开机奖20:" + OpenUser20 + "\n";
-            // result += "开机奖10:" + OpenUser10 + "\n";
             dic.Add("id", pos.Id.ToString());
             dic.Add("code", "0");
             dic.Add("result", result);
@@ -2932,10 +2590,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "补录机,不能补发开机奖";
             }
-            // if (pos.BindingTime < DateTime.Now.AddDays(-30))
-            // {
-            //     return "绑定已超过30天";
-            // }
             decimal ActPrize = decimal.Parse(function.CheckNum(pos.SeoKeyword));
             if (ActPrize == 0)
             {
@@ -3098,14 +2752,6 @@ namespace MySystem.Areas.Admin.Controllers
                         }
                     }
                     string result = "";
-                    // if (!PrizeFlag.Contains("20"))
-                    // {
-                    //     result += "20元奖励未发,请检查上级是否满足条件\n";
-                    // }
-                    // if (!PrizeFlag.Contains("10"))
-                    // {
-                    //     result += "10元奖励未发,请检查上级是否满足条件\n";
-                    // }
                     if (string.IsNullOrEmpty(result))
                     {
                         return "发放成功";
@@ -3191,10 +2837,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "机具未激活";
             }
-            // if (pos.BindingTime < DateTime.Now.AddDays(-30))
-            // {
-            //     return "绑定已超过30天";
-            // }
             decimal ActPrize = decimal.Parse(function.CheckNum(pos.SeoKeyword));
             if (ActPrize == 0)
             {
@@ -3797,7 +3439,7 @@ namespace MySystem.Areas.Admin.Controllers
                 {
                     if (posInfo.Id > 0)
                     {
-                        PosId += posInfo.Id + ",";
+                        RedisDbconn.Instance.AddList("OpenRewardQueue", posInfo.Id.ToString());
                     }
 
                 }
@@ -3809,7 +3451,6 @@ namespace MySystem.Areas.Admin.Controllers
             PosId = PosId.TrimEnd(',');
             function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosId + ":" + SysUserName + "-" + SysRealName, "根据机具号补发开机奖励");
 
-            RedisDbconn.Instance.AddList("OpenRewardQueue", PosId);
             return "success";
         }
         #endregion
@@ -4045,7 +3686,7 @@ namespace MySystem.Areas.Admin.Controllers
                 }
                 userInfo.CertId = CertId;
                 userInfo.SettleBankCardNo = BackCard;
-                userInfo.SettleBankCardName = BackName;
+                userInfo.SettleBankName = BackName;
                 db.SaveChanges();
                 function.WriteLog(DateTime.Now.ToString() + ":请求参数," + query + ":" + SysUserName + "-" + SysRealName, "认证创客");
 
@@ -4067,6 +3708,70 @@ namespace MySystem.Areas.Admin.Controllers
         }
 
         [HttpPost]
+        // public string TransferPosDo(string PosSn, string FromMakerCode, string ToMakerCode)
+        // {
+        //     if (string.IsNullOrEmpty(PosSn))
+        //     {
+        //         return "请输入机具SN";
+        //     }
+        //     if (string.IsNullOrEmpty(FromMakerCode))
+        //     {
+        //         return "请输入机具来源创客编号";
+        //     }
+        //     if (string.IsNullOrEmpty(ToMakerCode))
+        //     {
+        //         return "请输入划拨对象创客编号";
+        //     }
+        //     var query = PosSn + "," + FromMakerCode + "," + ToMakerCode;
+        //     var machineForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new MachineForSnNo();
+        //     var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId) ?? new PosMachinesTwo();
+        //     if (posInfo.Id == 0)
+        //     {
+        //         return "机具" + PosSn + "不存在";
+        //     }
+        //     var user = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == FromMakerCode) ?? new UserForMakerCode();
+        //     var tuser = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == ToMakerCode) ?? new UserForMakerCode();
+        //     var fUserId = db.Users.FirstOrDefault(m => m.Id == user.UserId) ?? new Users();
+        //     if (fUserId.Id == 0)
+        //     {
+        //         return "来源创客" + FromMakerCode + "不存在";
+        //     }
+        //     var tUserId = db.Users.FirstOrDefault(m => m.Id == tuser.UserId) ?? new Users();
+        //     if (tUserId.Id == 0)
+        //     {
+        //         return "划拨创客" + ToMakerCode + "不存在";
+        //     }
+        //     if (posInfo.BindingState == 0)
+        //     {
+        //         if (posInfo.UserId == 0 || posInfo.BuyUserId == posInfo.UserId)
+        //         {
+        //             posInfo.BuyUserId = tUserId.Id;
+        //             posInfo.UserId = tUserId.Id;
+        //         }
+        //         else
+        //         {
+        //             posInfo.BuyUserId = tUserId.Id;
+        //         }
+        //         var fUserPos = db.UserMachineData.FirstOrDefault(m => m.IdBrand == fUserId.Id + "_" + posInfo.BrandId) ?? new UserMachineData();
+        //         var tUserPos = db.UserMachineData.FirstOrDefault(m => m.IdBrand == tUserId.Id + "_" + posInfo.BrandId) ?? new UserMachineData();
+        //         fUserPos.TotalMachineCount -= 1;
+        //         fUserPos.UnBindCount -= 1;
+        //         tUserPos.TotalMachineCount += 1;
+        //         tUserPos.UnBindCount += 1;
+        //         db.SaveChanges();
+        //         function.WriteLog(DateTime.Now.ToString() + ":请求参数," + query + ":" + SysUserName + "-" + SysRealName, "划拨创客机具");
+        //     }
+        //     else
+        //     {
+        //         return "机具" + PosSn + "已使用";
+        //     }
+
+        //     return "success";
+        // }
+        // #endregion
+
+
+
         public string TransferPosDo(string PosSn, string FromMakerCode, string ToMakerCode)
         {
             if (string.IsNullOrEmpty(PosSn))
@@ -4081,13 +3786,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "请输入划拨对象创客编号";
             }
-            var query = PosSn + "," + FromMakerCode + "," + ToMakerCode;
-            var machineForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new MachineForSnNo();
-            var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId) ?? new PosMachinesTwo();
-            if (posInfo.Id == 0)
-            {
-                return "机具" + PosSn + "不存在";
-            }
             var user = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == FromMakerCode) ?? new UserForMakerCode();
             var tuser = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == ToMakerCode) ?? new UserForMakerCode();
             var fUserId = db.Users.FirstOrDefault(m => m.Id == user.UserId) ?? new Users();
@@ -4100,29 +3798,70 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "划拨创客" + ToMakerCode + "不存在";
             }
-            if (posInfo.BindingState == 0)
+            var SnIds = "";
+            string[] PosSnList = PosSn.Replace("\r", "").Replace("\n", ",").Split(',');
+            string error = "";
+            foreach (string Sn in PosSnList)
             {
-                if (posInfo.UserId == 0 || posInfo.BuyUserId == posInfo.UserId)
+                var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Status > -1 && m.BindingState == 0 && m.ActivationState == 0 && m.PosSn == Sn && (m.BuyUserId == fUserId.Id || m.UserId == fUserId.Id)) ?? new PosMachinesTwo();
+                if (posInfo.Id == 0)
                 {
-                    posInfo.BuyUserId = tUserId.Id;
-                    posInfo.UserId = tUserId.Id;
+                    error += "以下操作失败" + Sn + ',' + "不存在或者不符合条件" + '\n';
                 }
                 else
                 {
-                    posInfo.BuyUserId = tUserId.Id;
+                    SnIds += posInfo.Id + ",";
                 }
-                var fUserPos = db.UserMachineData.FirstOrDefault(m => m.IdBrand == fUserId.Id + "_" + posInfo.BrandId) ?? new UserMachineData();
-                var tUserPos = db.UserMachineData.FirstOrDefault(m => m.IdBrand == tUserId.Id + "_" + posInfo.BrandId) ?? new UserMachineData();
-                fUserPos.TotalMachineCount -= 1;
-                fUserPos.UnBindCount -= 1;
-                tUserPos.TotalMachineCount += 1;
-                tUserPos.UnBindCount += 1;
-                db.SaveChanges();
-                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + query + ":" + SysUserName + "-" + SysRealName, "划拨创客机具");
+            }
+            if (!string.IsNullOrEmpty(error))
+            {
+                return "Warning|" + error;
             }
             else
             {
-                return "机具" + PosSn + "已使用";
+                var posList = db.PosMachinesTwo.Where(m => SnIds.Contains("," + m.Id + ",")).ToList();
+                foreach (var Sn in posList)
+                {
+                    var posInfo = posList.FirstOrDefault(m => m.Id == Sn.Id) ?? new PosMachinesTwo();
+                    if (posInfo.UserId == 0 || posInfo.BuyUserId == posInfo.UserId)
+                    {
+                        posInfo.BuyUserId = tUserId.Id;
+                        posInfo.UserId = tUserId.Id;
+                    }
+                    else
+                    {
+                        posInfo.BuyUserId = tUserId.Id;
+                    }
+                    var fUserPos = db.UserMachineData.FirstOrDefault(m => m.IdBrand == fUserId.Id + "_" + posInfo.BrandId) ?? new UserMachineData();
+                    var tUserPos = db.UserMachineData.FirstOrDefault(m => m.IdBrand == tUserId.Id + "_" + posInfo.BrandId) ?? new UserMachineData();
+                    fUserPos.TotalMachineCount -= 1;
+                    fUserPos.UnBindCount -= 1;
+                    tUserPos.TotalMachineCount += 1;
+                    tUserPos.UnBindCount += 1;
+                    db.StoreChangeHistory.Add(new StoreChangeHistory()
+                    {
+                        CreateDate = DateTime.Now,
+                        UserId = fUserId.Id, //创客
+                        BrandId = posInfo.BrandId,//产品类型
+                        ChangeRecordNo = "HBJJ" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), //变更记录单号
+                        TransType = 1, //交易类型
+                        SnNo = posInfo.PosSn, //SN编号
+                        SnType = posInfo.PosSnType, //SN机具类型
+                        StockOpDirect = 1, //库存操作方向
+                        DeviceVendor = posInfo.DeviceName, //设备厂商
+                        DeviceModel = posInfo.DeviceKind, //设备型号
+                        DeviceType = posInfo.DeviceType, //设备类型
+                        FromUserId = fUserId.Id, //出货创客
+                        FromDate = DateTime.Now, //出库时间
+                        FromRemark = "划拨创客机具", //出库备注
+                        SourceStoreId = posInfo.SourceStoreId, //源仓库
+                        ToUserId = tUserId.Id,//收货创客
+                    });
+                }
+                var query = SnIds + ";" + FromMakerCode + ";" + ToMakerCode;
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + query + ":" + SysUserName + "-" + SysRealName, "划拨创客机具");
+                db.SaveChanges();
+                db.Dispose();
             }
 
             return "success";
@@ -4258,16 +3997,12 @@ namespace MySystem.Areas.Admin.Controllers
                 string OldSnNum = OldSnList[i];
                 MachineForSnNo oldForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == OldSnNum) ?? new MachineForSnNo();
                 PosMachinesTwo oldpos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == oldForSnNo.SnId) ?? new PosMachinesTwo();
-                var store = db.StoreHouse.FirstOrDefault(m => m.Id == oldpos.StoreId) ?? new StoreHouse();
-                if (store.UserId != 142237)//判断是否是属于坏机仓的机具
-                {
-                    error += "以下操作失败" + OldSnNum + ',' + "该机具不在坏机仓或不存在" + '\n';
-                }
                 if (!opData.Contains(oldpos.BuyUserId + ":" + oldpos.BrandId))
                 {
                     opData.Add(oldpos.BuyUserId + ":" + oldpos.BrandId);
                 }
                 oldpos.Status = 1;
+                oldpos.PosSnType = 0;
                 oldpos.QueryCount = 0;
                 oldpos.UpdateDate = null;
                 oldpos.ActivityList = null;
@@ -4749,5 +4484,74 @@ namespace MySystem.Areas.Admin.Controllers
         #endregion
 
 
+        #region 查询商户达标明细
+
+        public IActionResult SeeMerchantTradeDetail(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+            return View();
+        }
+
+        [HttpPost]
+        public string SeeMerchantTradeDetailDo(string PosSn)
+        {
+            if (string.IsNullOrEmpty(PosSn))
+            {
+                return "请输入机具SN";
+            }
+            var result = "";
+            var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new PosMachinesTwo();
+            if (pos.Id > 0)
+            {
+                var mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PosMerchantInfo();
+                if (mer.Id > 0)
+                {
+                    var IsOk = "";//是否达标
+                    var timeInfo = "";
+                    if (mer.StandardMonths == 10)
+                    {
+                        IsOk = "已达标";
+                    }
+                    else
+                    {
+                        IsOk = "未达标";
+                    }
+                    result += IsOk + "\n";
+                    result += "开机时间:" + DateTime.Parse(pos.BindingTime.ToString()).ToString("yyyy-MM-dd hh:mm:sss") + "\n";
+                    result += "激活时间:" + DateTime.Parse(pos.ActivationTime.ToString()).ToString("yyyy-MM-dd hh:mm:sss") + "\n";
+                    result += "商户姓名:" + mer.MerRealName + "\n";
+                    result += "明细:\n";
+                    for (int i = 0; i < 12; i++)
+                    {
+                        var time = DateTime.Parse(pos.ActivationTime.ToString()).AddMonths(i + 1).ToString("yyyyMM");//达标计算开始时间
+                        timeInfo += "," + time;
+                    }
+                    timeInfo = timeInfo + ",";
+                    var merTradeInfo = db.PosMerchantTradeSummay.Where(m => m.MerchantId == mer.Id && timeInfo.Contains("," + m.TradeMonth + ",")).ToList();
+                    string[] month = timeInfo.TrimStart(',').TrimEnd(',').Split(',');
+                    foreach (var item in month)
+                    {
+                        var tradeAmount = merTradeInfo.Where(m => m.TradeMonth == item).Sum(m => m.TradeAmount);
+                        result += item + "交易额:" + tradeAmount + "\n";
+                    }
+                }
+                else
+                {
+                    return "未找到机具" + PosSn + "所对应的商户";
+                }
+            }
+            else
+            {
+                return "未找到机具" + PosSn;
+            }
+
+            return result;
+        }
+
+        #endregion
+
+
     }
 }

+ 163 - 19
Areas/Admin/Controllers/MainServer/ToChargeBackRecordController.cs

@@ -56,7 +56,6 @@ namespace MySystem.Areas.Admin.Controllers
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
 
-            // Fields.Add("CreateDate", "3"); //时间
 
 
             string condition = " and Status>-1";
@@ -97,18 +96,22 @@ namespace MySystem.Areas.Admin.Controllers
                 Users userid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
                 dic["UserIdMakerCode"] = userid_Users.MakerCode;
                 dic["UserIdRealName"] = userid_Users.RealName;
+                dic["UserIdMobile"] = userid_Users.Mobile;
                 dic.Remove("UserId");
+
                 //待扣类型
                 int ChargeType = int.Parse(dic["ChargeType"].ToString());
-                if (ChargeType == 124) dic["ChargeType"] = "过期机具扣款";
-                // if (ChargeType == 2) dic["ChargeType"] = "人工预扣";
-                // if (ChargeType == 0) dic["ChargeType"] = "";
+                if (ChargeType == 124) dic["ChargeTypeName"] = "过期机具扣款";
+                if (ChargeType == 1) dic["ChargeTypeName"] = "创客预扣款";
+                if (ChargeType == 2) dic["ChargeTypeName"] = "分期预扣款";
+                if (ChargeType == 0) dic["ChargeTypeName"] = "";
 
                 //扣款状态
                 int Status = int.Parse(dic["Status"].ToString());
-                if (Status == 0) dic["Status"] = "待扣款";
-                if (Status == 1) dic["Status"] = "已扣款";
-                if (Status == 2) dic["Status"] = "已退还";
+                if (Status == 0) dic["StatusName"] = "待扣款";
+                if (Status == 1) dic["StatusName"] = "已扣款";
+                if (Status == 2) dic["StatusName"] = "已退还";
+                if (Status == 3) dic["StatusName"] = "暂停扣款";
 
             }
             return Json(obj);
@@ -175,7 +178,9 @@ namespace MySystem.Areas.Admin.Controllers
 
 
             ToChargeBackRecord editData = db.ToChargeBackRecord.FirstOrDefault(m => m.Id == Id) ?? new ToChargeBackRecord();
+            var user = db.Users.FirstOrDefault(m => m.Id == editData.UserId) ?? new Users();
             ViewBag.data = editData;
+            ViewBag.MakerCode = user.MakerCode;
             return View();
         }
 
@@ -191,16 +196,25 @@ namespace MySystem.Areas.Admin.Controllers
         public string Edit(ToChargeBackRecord data)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
-
-            Fields.Add("UserId", data.UserId); //创客
+            var info = db.ToChargeBackRecord.FirstOrDefault(m => m.Id == data.Id) ?? new ToChargeBackRecord();
+            if (info.ChargeAmount != data.ChargeAmount)
+            {
+                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == info.UserId) ?? new UserAccount();
+                if (info.ChargeAmount > data.ChargeAmount)
+                {
+                    userAccount.ToChargeAmount -= info.ChargeAmount - data.ChargeAmount;
+                }
+                if (info.ChargeAmount < data.ChargeAmount)
+                {
+                    userAccount.ToChargeAmount += data.ChargeAmount - info.ChargeAmount;
+                }
+            }
             Fields.Add("ChargeAmount", data.ChargeAmount); //待扣金额
-            Fields.Add("ChargeType", data.ChargeType); //待扣类型
-            Fields.Add("Remark", data.Remark); //备注
-            Fields.Add("Field1", data.Field1); //备用字段
-
-            Fields.Add("SeoTitle", data.SeoTitle);
-            Fields.Add("SeoKeyword", data.SeoKeyword);
             Fields.Add("SeoDescription", data.SeoDescription);
+            if (info.ChargeType != 124)
+            {
+                Fields.Add("Remark", data.SeoDescription);
+            }
             new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecord", Fields, data.Id);
             AddSysLog(data.Id.ToString(), "ToChargeBackRecord", "update");
             db.SaveChanges();
@@ -223,6 +237,9 @@ namespace MySystem.Areas.Admin.Controllers
             foreach (string subid in idlist)
             {
                 int id = int.Parse(subid);
+                var toChargeBackRecord = db.ToChargeBackRecord.FirstOrDefault(m => m.Id == id) ?? new ToChargeBackRecord();
+                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == toChargeBackRecord.UserId) ?? new UserAccount();
+                userAccount.ToChargeAmount -= toChargeBackRecord.ChargeAmount;//删除预扣款记录时扣减相应预扣额度
                 Dictionary<string, object> Fields = new Dictionary<string, object>();
                 Fields.Add("Status", -1);
                 new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecord", Fields, id);
@@ -280,6 +297,54 @@ namespace MySystem.Areas.Admin.Controllers
 
         #endregion
 
+
+        #region 暂停扣款
+
+        /// <summary>
+        /// 暂停扣款
+        /// </summary>
+        /// <returns></returns>
+        public string Break(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ToChargeBackRecord", "Break");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 3);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecord", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 开启扣款
+
+        /// <summary>
+        /// 开启扣款
+        /// </summary>
+        /// <returns></returns>
+        public string Start(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ToChargeBackRecord", "Start");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 0);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecord", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+
         #region 排序
         /// <summary>
         /// 排序
@@ -294,6 +359,71 @@ namespace MySystem.Areas.Admin.Controllers
         }
         #endregion
 
+
+        #region 导入预扣信息
+        /// <summary>
+        /// 导入预扣信息
+        /// </summary>
+        /// <param name="ExcelData"></param>
+        public string ChargeImport(string ExcelData)
+        {
+            ExcelData = HttpUtility.UrlDecode(ExcelData);
+            JsonData list = JsonMapper.ToObject(ExcelData);
+            var info = "";
+            var error = "";
+            for (int i = 1; i < list.Count; i++)
+            {
+                JsonData dr = list[i];
+                string itemJson = dr.ToJson();
+                string MakerCode = itemJson.Contains("\"A\"") ? dr["A"].ToString() : "";
+                string Name = itemJson.Contains("\"B\"") ? dr["B"].ToString() : "";
+                string Amount = itemJson.Contains("\"C\"") ? dr["C"].ToString() : "";
+                string Remark = itemJson.Contains("\"D\"") ? dr["D"].ToString() : "";
+                var userForMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode) ?? new UserForMakerCode();
+                var users = db.Users.FirstOrDefault(m => m.Id == userForMakerCode.UserId && m.RealName == Name) ?? new Users();
+                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == users.Id);
+                if (users.Id == 0)
+                {
+                    error += "失败:" + MakerCode + "_" + Name + "创客不存在或创客编号和姓名不匹配" + '\n';
+                }
+                else
+                {
+                    if (userAccount == null)
+                    {
+                        userAccount = db.UserAccount.Add(new UserAccount()
+                        {
+                            Id = users.Id,
+                            UserId = users.Id,
+                        }).Entity;
+                        db.SaveChanges();
+                    }
+                    userAccount.ToChargeAmount += decimal.Parse(Amount);
+                    var ToChargeBackRecord = db.ToChargeBackRecord.Add(new ToChargeBackRecord
+                    {
+                        CreateDate = DateTime.Now,
+                        SeoTitle = SysUserName + "_" + SysRealName,
+                        SeoDescription = Remark,
+                        Remark = Remark,
+                        ChargeType = 1,
+                        ChargeAmount = decimal.Parse(Amount),
+                        UserId = users.Id,
+                    }).Entity;
+                    info += "创客编号:" + MakerCode + ";创客姓名:" + Name + ";金额:" + Amount + ";备注:" + Remark + "<br/>";
+                }
+            }
+            if (!string.IsNullOrEmpty(error))
+            {
+                return "Warning|" + error;
+            }
+            string text = string.Format("预扣信息: '" + info + "',Time'" + DateTime.Now + "'");
+            function.WriteLog(text, "导入预扣信息");//机具扣款退还
+            db.SaveChanges();
+            AddSysLog("0", "ToChargeBackRecord", "ChargeImport");
+            return "success";
+        }
+        #endregion
+
+
         #region 机具扣款退还
         /// <summary>
         /// 导入数据
@@ -456,7 +586,6 @@ namespace MySystem.Areas.Admin.Controllers
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             foreach (Dictionary<string, object> dic in diclist)
             {
-                // 机具sn 机具品牌 机具类型 循环过期时间 创客编号 创客姓名 创客手机号 应扣金额 实扣金额 是否已返还
                 //创客
                 int UserId = int.Parse(function.CheckInt(dic["UserId"].ToString()));
                 Users userid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
@@ -467,8 +596,6 @@ namespace MySystem.Areas.Admin.Controllers
                 //待扣类型
                 int ChargeType = int.Parse(dic["ChargeType"].ToString());
                 if (ChargeType == 124) dic["ChargeType"] = "过期机具扣款";
-                // if (ChargeType == 2) dic["ChargeType"] = "人工预扣";
-                // if (ChargeType == 0) dic["ChargeType"] = "";
 
                 int Id = int.Parse(function.CheckInt(dic["Id"].ToString()));
                 var toChargeBackRecord = db.ToChargeBackRecord.FirstOrDefault(m => m.Id == Id) ?? new ToChargeBackRecord();
@@ -493,7 +620,6 @@ namespace MySystem.Areas.Admin.Controllers
             }
 
             Dictionary<string, object> result = new Dictionary<string, object>();
-            // result.Add("Status", "1");
             result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
             result.Add("Obj", diclist);
             Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
@@ -517,5 +643,23 @@ namespace MySystem.Areas.Admin.Controllers
 
         #endregion
 
+
+        #region 分期扣款
+
+        public IActionResult ChangeInfoDo(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+            return View();
+        }
+
+        public string ChangeInfoDo(string PosCouponCodes, string FromMakerCode)
+        {
+            var result = "";
+            return result;
+        }
+        #endregion
+
     }
 }

+ 376 - 0
Areas/Admin/Controllers/MainServer/ToChargeBackRecordSubController.cs

@@ -0,0 +1,376 @@
+/*
+ * 待扣款明细
+ */
+
+using System;
+using System.Web;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+using MySystem.Models;
+using Library;
+using LitJson;
+using MySystemLib;
+
+namespace MySystem.Areas.Admin.Controllers
+{
+    [Area("Admin")]
+    [Route("Admin/[controller]/[action]")]
+    public class ToChargeBackRecordSubController : BaseController
+    {
+        public ToChargeBackRecordSubController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
+        {
+            OtherMySqlConn.connstr = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+        }
+
+        #region 待扣款明细列表
+
+        /// <summary>
+        /// 根据条件查询待扣款明细列表
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Index(ToChargeBackRecordSub data, string right, string ParentId)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+            ViewBag.ParentId = ParentId;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 根据条件查询待扣款明细列表
+
+        /// <summary>
+        /// 待扣款明细列表
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult IndexData(ToChargeBackRecordSub data, string OrderNo, string StatusSelect, string CreateDateData, int page = 1, int limit = 30)
+        {
+
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+            Fields.Add("ParentId", "1");
+
+            string condition = " and Status>-1";
+
+            //分期单号
+            if (!string.IsNullOrEmpty(OrderNo))
+            {
+                var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.SeoKeyword == OrderNo) ?? new ToChargeByStage();
+                var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.ParentId == toChargeByStage.Id) ?? new ToChargeBackRecordSub();
+                condition += " and ParentId=" + toChargeByStage.Id;
+            }
+
+            //状态
+            if (!string.IsNullOrEmpty(StatusSelect))
+            {
+                condition += " and Status=" + StatusSelect;
+            }
+
+            //创建时间
+            if (!string.IsNullOrEmpty(CreateDateData))
+            {
+                string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
+            }
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ToChargeBackRecordSub", Fields, "Id desc", "0", page, limit, condition);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                //状态
+                int Status = int.Parse(function.CheckInt(dic["Status"].ToString()));
+                dic["StatusName"] = "";
+                if (Status == 0)
+                {
+                    dic["StatusName"] = "待扣款";
+                }
+                if (Status == 1)
+                {
+                    dic["StatusName"] = "已扣款";
+                }
+                if (Status == 2)
+                {
+                    dic["StatusName"] = "扣款中";
+                }
+
+                //分期单号
+                int ParentId = int.Parse(function.CheckInt(dic["ParentId"].ToString()));
+                var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == ParentId) ?? new ToChargeByStage();
+                dic["OrderNo"] = toChargeByStage.SeoKeyword;
+            }
+            return Json(obj);
+        }
+
+        #endregion
+
+        #region 增加待扣款明细
+
+        /// <summary>
+        /// 增加或修改待扣款明细信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Add(string right, string ParentId)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+            ViewBag.ParentId = ParentId;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 增加待扣款明细
+
+        /// <summary>
+        /// 增加或修改待扣款明细信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Add(ToChargeBackRecordSub data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+            Fields.Add("ParentId", data.ParentId);
+
+            Fields.Add("ChargeAmount", data.ChargeAmount); //待扣金额
+            Fields.Add("Remark", data.Remark); //备注
+            Fields.Add("StartDate", data.StartDate); //扣款开始时间
+            Fields.Add("TimeNumber", data.TimeNumber); //期数
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            Fields.Add("SeoKeyword", data.SeoKeyword);
+            Fields.Add("SeoDescription", data.SeoDescription);
+            int Id = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Add("ToChargeBackRecordSub", Fields, 0);
+            AddSysLog(data.Id.ToString(), "ToChargeBackRecordSub", "add");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 修改待扣款明细
+
+        /// <summary>
+        /// 增加或修改待扣款明细信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Edit(string right, string ParentId, int Id = 0)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+            ViewBag.ParentId = ParentId;
+
+
+            ToChargeBackRecordSub editData = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Id == Id) ?? new ToChargeBackRecordSub();
+            ViewBag.data = editData;
+            return View();
+        }
+
+        #endregion
+
+        #region 修改待扣款明细
+
+        /// <summary>
+        /// 增加或修改待扣款明细信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Edit(ToChargeBackRecordSub data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+            var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Id == data.Id) ?? new ToChargeBackRecordSub();
+            var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == toChargeBackRecordSub.ParentId) ?? new ToChargeByStage();
+            if (toChargeByStage.QueryCount > 0)
+            {
+                return "该扣款记录正处于扣款中或已经结束,不能修改!";
+            }
+            if (toChargeBackRecordSub.ChargeAmount != data.ChargeAmount)
+            {
+                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == toChargeByStage.UserId) ?? new UserAccount();
+                if (toChargeBackRecordSub.ChargeAmount > data.ChargeAmount)
+                {
+                    toChargeByStage.TotalAmount -= toChargeBackRecordSub.ChargeAmount - data.ChargeAmount;
+                    userAccount.ToChargeAmount -= toChargeBackRecordSub.ChargeAmount - data.ChargeAmount;
+                }
+                if (toChargeBackRecordSub.ChargeAmount < data.ChargeAmount)
+                {
+                    toChargeByStage.TotalAmount += data.ChargeAmount - toChargeBackRecordSub.ChargeAmount;
+                    userAccount.ToChargeAmount += data.ChargeAmount - toChargeBackRecordSub.ChargeAmount;
+                }
+            }
+            Fields.Add("ChargeAmount", data.ChargeAmount); //待扣金额
+            Fields.Add("Remark", data.Remark); //备注
+            Fields.Add("StartDate", data.StartDate); //扣款开始时间
+            Fields.Add("TimeNumber", data.TimeNumber); //期数
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecordSub", Fields, data.Id);
+            AddSysLog(data.Id.ToString(), "ToChargeBackRecordSub", "update");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 删除待扣款明细信息
+
+        /// <summary>
+        /// 删除待扣款明细信息
+        /// </summary>
+        /// <returns></returns>
+        public string Delete(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ToChargeBackRecordSub", "del");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", -1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecordSub", Fields, id);
+            }
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 开启
+
+        /// <summary>
+        /// 开启
+        /// </summary>
+        /// <returns></returns>
+        public string Open(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ToChargeBackRecordSub", "open");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecordSub", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 关闭
+
+        /// <summary>
+        /// 关闭
+        /// </summary>
+        /// <returns></returns>
+        public string Close(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ToChargeBackRecordSub", "close");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 0);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecordSub", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 排序
+        /// <summary>
+        /// 排序
+        /// </summary>
+        /// <param name="Id"></param>
+        public string Sort(int Id, int Sort)
+        {
+            new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Sort("ToChargeBackRecordSub", Sort, Id);
+
+            AddSysLog(Id.ToString(), "ToChargeBackRecordSub", "sort");
+            return "success";
+        }
+        #endregion
+
+        #region 导入数据
+        /// <summary>
+        /// 导入数据
+        /// </summary>
+        /// <param name="ExcelData"></param>
+        public string Import(string ExcelData)
+        {
+            ExcelData = HttpUtility.UrlDecode(ExcelData);
+            JsonData list = JsonMapper.ToObject(ExcelData);
+            for (int i = 1; i < list.Count; i++)
+            {
+                JsonData dr = list[i];
+
+                db.ToChargeBackRecordSub.Add(new ToChargeBackRecordSub()
+                {
+                    CreateDate = DateTime.Now,
+                    UpdateDate = DateTime.Now,
+
+                });
+                db.SaveChanges();
+            }
+            AddSysLog("0", "ToChargeBackRecordSub", "Import");
+            return "success";
+        }
+        #endregion
+
+        #region 导出Excel
+
+        /// <summary>
+        /// 导出Excel
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult ExportExcel(ToChargeBackRecordSub data)
+        {
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+            Fields.Add("CreateDate", "3"); //时间
+
+
+            string condition = " and Status>-1";
+
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ToChargeBackRecordSub", Fields, "Id desc", "0", 1, 20000, condition, "ChargeAmount,Remark", false);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+
+            }
+
+            Dictionary<string, object> result = new Dictionary<string, object>();
+            result.Add("Status", "1");
+            result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
+            result.Add("Obj", diclist);
+            Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
+            ReturnFields.Add("ChargeAmount", "待扣金额");
+            ReturnFields.Add("Remark", "备注");
+
+            result.Add("Fields", ReturnFields);
+            AddSysLog("0", "ToChargeBackRecordSub", "ExportExcel");
+            return Json(result);
+        }
+
+        #endregion
+
+    }
+}

+ 420 - 0
Areas/Admin/Controllers/MainServer/ToChargeByStageController.cs

@@ -0,0 +1,420 @@
+/*
+ * 分期扣款信息
+ */
+
+using System;
+using System.Web;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+using MySystem.Models;
+using Library;
+using LitJson;
+using MySystemLib;
+
+namespace MySystem.Areas.Admin.Controllers
+{
+    [Area("Admin")]
+    [Route("Admin/[controller]/[action]")]
+    public class ToChargeByStageController : BaseController
+    {
+        public ToChargeByStageController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
+        {
+            OtherMySqlConn.connstr = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+        }
+
+        #region 分期扣款信息列表
+
+        /// <summary>
+        /// 根据条件查询分期扣款信息列表
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Index(ToChargeByStage data, string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 根据条件查询分期扣款信息列表
+
+        /// <summary>
+        /// 分期扣款信息列表
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult IndexData(ToChargeByStage data, string MakerCode, string StatusSelect, string CreateDateData, int page = 1, int limit = 30)
+        {
+
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            Fields.Add("SeoTitle", "1"); //创客姓名
+
+            string condition = " and Status>-1";
+
+            //创客编号
+            if (!string.IsNullOrEmpty(MakerCode))
+            {
+                var userForMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode) ?? new UserForMakerCode();
+                condition += " and UserId=" + userForMakerCode.UserId;
+            }
+
+            //状态
+            if (!string.IsNullOrEmpty(StatusSelect))
+            {
+                if (StatusSelect == "0")//待扣款
+                {
+                    condition += " and QueryCount<TimeNumber and QueryCount=0 and Status=0";
+                }
+                if (StatusSelect == "1")//已扣款
+                {
+                    condition += " and QueryCount=TimeNumber and Status=1";
+                }
+                if (StatusSelect == "2")//扣款中
+                {
+                    condition += " and QueryCount<TimeNumber and QueryCount>0 and Status=0";
+                }
+            }
+
+            //创建时间
+            if (!string.IsNullOrEmpty(CreateDateData))
+            {
+                string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
+            }
+
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ToChargeByStage", Fields, "Id desc", "0", page, limit, condition);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                //创客
+                int UserId = int.Parse(function.CheckInt(dic["UserId"].ToString()));
+                Users userid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                dic["MakerCode"] = userid_Users.MakerCode;
+                dic["MakerName"] = userid_Users.RealName;
+                dic["MakerMobile"] = userid_Users.Mobile;
+
+                //扣款状态
+                int TimeNumber = int.Parse(function.CheckInt(dic["TimeNumber"].ToString()));
+                int QueryCount = int.Parse(function.CheckInt(dic["QueryCount"].ToString()));
+                int Status = int.Parse(function.CheckInt(dic["Status"].ToString()));
+                if (QueryCount < TimeNumber && QueryCount == 0 && Status == 0)
+                {
+                    dic["StatusName"] = "待扣款";
+                }
+                if (QueryCount == TimeNumber && Status == 1)
+                {
+                    dic["StatusName"] = "已扣款";
+                }
+                if (QueryCount < TimeNumber && QueryCount > 0 && Status == 0)
+                {
+                    dic["StatusName"] = "扣款中";
+                }
+
+            }
+            return Json(obj);
+        }
+
+        #endregion
+
+        #region 增加分期扣款信息
+
+        /// <summary>
+        /// 增加或修改分期扣款信息信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Add(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            return View();
+        }
+
+        #endregion
+
+        #region 增加分期扣款信息
+
+        /// <summary>
+        /// 增加或修改分期扣款信息信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Add(ToChargeByStage data, string MakerCode, string MakerName, string StartDates, string ChargeAmounts)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+            string[] StartDatelist = StartDates.TrimEnd(',').Split(',');
+            string[] ChargeAmountslist = ChargeAmounts.TrimEnd(',').Split(',');
+            UserForMakerCode user = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
+            if (user == null)
+            {
+                return "创客编号不存在";
+            }
+            var userInfo = db.Users.FirstOrDefault(m => m.Id == user.UserId && m.RealName == MakerName) ?? new Users();
+            if (userInfo.Id == 0)
+            {
+                return "创客编号不存在或创客编号和姓名不匹配";
+            }
+            var StartTime = DateTime.Parse(DateTime.Parse(data.StartDate.ToString()).ToString("yyyy-MM-20 00:00:00"));
+            Fields.Add("UserId", user.UserId); //创客Id
+            Fields.Add("Remark", data.Remark); //备注
+            Fields.Add("StartDate", StartTime); //扣款开始时间
+            Fields.Add("TimeNumber", data.TimeNumber); //期数
+            Fields.Add("TotalAmount", data.TotalAmount); //扣款总金额
+            Fields.Add("SeoTitle", SysUserName + "_" + SysRealName);//操作人
+            Fields.Add("SeoKeyword", "FQ" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8));//分期单号
+            int Id = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Add("ToChargeByStage", Fields, 0);
+            for (int i = 0; i < StartDatelist.Length; i++)
+            {
+                var StartDate = StartDatelist[i];
+                var ChargeAmount = ChargeAmountslist[i];
+                var toChargeBackRecordSub = db.ToChargeBackRecordSub.Add(new ToChargeBackRecordSub()
+                {
+                    CreateDate = DateTime.Now,
+                    SeoTitle = SysUserName + "_" + SysRealName,
+                    StartDate = DateTime.Parse(StartDate),
+                    TimeNumber = data.TimeNumber,
+                    ChargeAmount = decimal.Parse(ChargeAmount),
+                    ParentId = Id,
+                    Remark = data.Remark,
+                }).Entity;
+            }
+            AddSysLog(data.Id.ToString(), "ToChargeByStage", "add");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 修改分期扣款信息
+
+        /// <summary>
+        /// 增加或修改分期扣款信息信息
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Edit(string right, int Id = 0)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+
+            ToChargeByStage editData = db.ToChargeByStage.FirstOrDefault(m => m.Id == Id) ?? new ToChargeByStage();
+            ViewBag.data = editData;
+            return View();
+        }
+
+        #endregion
+
+        #region 修改分期扣款信息
+
+        /// <summary>
+        /// 增加或修改分期扣款信息信息
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public string Edit(ToChargeByStage data)
+        {
+            Dictionary<string, object> Fields = new Dictionary<string, object>();
+
+            Fields.Add("UserId", data.UserId); //创客
+            Fields.Add("ChargeAmount", data.ChargeAmount); //待扣金额
+            Fields.Add("Remark", data.Remark); //备注
+            Fields.Add("StartDate", data.StartDate); //扣款开始时间
+            Fields.Add("TimeNumber", data.TimeNumber); //期数
+            Fields.Add("TotalAmount", data.TotalAmount); //扣款总金额
+
+            Fields.Add("SeoTitle", data.SeoTitle);
+            Fields.Add("SeoKeyword", data.SeoKeyword);
+            Fields.Add("SeoDescription", data.SeoDescription);
+            new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeByStage", Fields, data.Id);
+            AddSysLog(data.Id.ToString(), "ToChargeByStage", "update");
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 删除分期扣款信息信息
+
+        /// <summary>
+        /// 删除分期扣款信息信息
+        /// </summary>
+        /// <returns></returns>
+        public string Delete(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ToChargeByStage", "del");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                var toChargeBackRecordSub = db.ToChargeBackRecordSub.Where(m => m.ParentId == id).ToList();
+                foreach (var item in toChargeBackRecordSub)
+                {
+                    var info = toChargeBackRecordSub.FirstOrDefault(m => m.Id == item.Id);
+                    info.Status = -1;
+                    info.UpdateDate = DateTime.Now;
+                    info.SeoTitle = SysUserName + "_" + SysRealName;
+                }
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", -1);
+                Fields.Add("SeoTitle", SysUserName + "_" + SysRealName);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeByStage", Fields, id);
+            }
+            db.SaveChanges();
+
+            return "success";
+        }
+
+        #endregion
+
+        #region 开启
+
+        /// <summary>
+        /// 开启
+        /// </summary>
+        /// <returns></returns>
+        public string Open(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ToChargeByStage", "open");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 1);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeByStage", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 关闭
+
+        /// <summary>
+        /// 关闭
+        /// </summary>
+        /// <returns></returns>
+        public string Close(string Id)
+        {
+            string[] idlist = Id.Split(new char[] { ',' });
+            AddSysLog(Id, "ToChargeByStage", "close");
+            foreach (string subid in idlist)
+            {
+                int id = int.Parse(subid);
+                Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("Status", 0);
+                new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeByStage", Fields, id);
+            }
+            db.SaveChanges();
+            return "success";
+        }
+
+        #endregion
+
+        #region 排序
+        /// <summary>
+        /// 排序
+        /// </summary>
+        /// <param name="Id"></param>
+        public string Sort(int Id, int Sort)
+        {
+            new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Sort("ToChargeByStage", Sort, Id);
+
+            AddSysLog(Id.ToString(), "ToChargeByStage", "sort");
+            return "success";
+        }
+        #endregion
+
+        #region 导入数据
+        /// <summary>
+        /// 导入数据
+        /// </summary>
+        /// <param name="ExcelData"></param>
+        public string Import(string ExcelData)
+        {
+            ExcelData = HttpUtility.UrlDecode(ExcelData);
+            JsonData list = JsonMapper.ToObject(ExcelData);
+            for (int i = 1; i < list.Count; i++)
+            {
+                JsonData dr = list[i];
+                int UserId = int.Parse(dr["创客"].ToString());
+                decimal ChargeAmount = decimal.Parse(dr["待扣金额"].ToString());
+                string Remark = dr["备注"].ToString();
+                DateTime StartDate = DateTime.Parse(dr["扣款开始时间"].ToString());
+                int TimeNumber = int.Parse(dr["期数"].ToString());
+                decimal TotalAmount = decimal.Parse(dr["扣款总金额"].ToString());
+
+                db.ToChargeByStage.Add(new ToChargeByStage()
+                {
+                    CreateDate = DateTime.Now,
+                    UpdateDate = DateTime.Now,
+                    UserId = UserId,   //创客
+                    ChargeAmount = ChargeAmount,   //待扣金额
+                    Remark = Remark,   //备注
+                    StartDate = StartDate,   //扣款开始时间
+                    TimeNumber = TimeNumber,   //期数
+                    TotalAmount = TotalAmount,   //扣款总金额
+
+                });
+                db.SaveChanges();
+            }
+            AddSysLog("0", "ToChargeByStage", "Import");
+            return "success";
+        }
+        #endregion
+
+        #region 导出Excel
+
+        /// <summary>
+        /// 导出Excel
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult ExportExcel(ToChargeByStage data, int? sUserId, int? eUserId)
+        {
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+            Fields.Add("sUserId", "31"); //创客上限
+            Fields.Add("eUserId", "32"); //创客下限
+            Fields.Add("CreateDate", "3"); //时间
+
+
+            string condition = " and Status>-1";
+
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("ToChargeByStage", Fields, "Id desc", "0", 1, 20000, condition, "", false);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+
+            }
+
+            Dictionary<string, object> result = new Dictionary<string, object>();
+            result.Add("Status", "1");
+            result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx");
+            result.Add("Obj", diclist);
+            Dictionary<string, object> ReturnFields = new Dictionary<string, object>();
+
+            result.Add("Fields", ReturnFields);
+            AddSysLog("0", "ToChargeByStage", "ExportExcel");
+            return Json(result);
+        }
+
+        #endregion
+
+    }
+}

+ 0 - 69
Areas/Admin/Controllers/MainServer/TradeDaySummaryController.cs

@@ -78,81 +78,12 @@ namespace MySystem.Areas.Admin.Controllers
                 string start = datelist[0].Replace("-", "");
                 string end = datelist[1].Replace("-", "");
                 condition += " and TradeDate >= " + start + " and TradeDate <= " + end + " ";
-
-                // var check = db.TradeDaySummary.Any(m => Convert.ToInt32(m.TradeDate) >= Convert.ToInt32(start));
-                // var checks = db.TradeDaySummary.Any(m => Convert.ToInt32(m.TradeDate) <= Convert.ToInt32(end));
-                // if (check)
-                // {
-                //     var sId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeDate) >= Convert.ToInt32(start)).Min(m => m.Id);
-                //     condition += "  and Id >=" + sId;
-                // }
-                // if (checks)
-                // {
-                //     var eId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeDate) <= Convert.ToInt32(end)).Max(m => m.Id);
-                //     condition += " and Id <=" + eId;
-                // }
             }
-            // else
-            // {
-            //     var start = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
-            //     condition += " and TradeMonth >= " + Convert.ToInt32(start);
-
-            //     // var check = db.TradeDaySummary.Any(m => Convert.ToInt32(m.TradeDate) >= Convert.ToInt32(start));
-            //     // if (check)
-            //     // {
-            //     //     var minId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeDate) >= Convert.ToInt32(start)).Min(m => m.Id);
-            //     //     var Info = Convert.ToInt32(function.ReadInstance("/WritePage/TradeDaySummary/TradeDaySummarys.txt"));
-            //     //     if (string.IsNullOrEmpty(Info.ToString()))
-            //     //     {
-            //     //         function.WritePage("/WritePage/TradeDaySummary/", "TradeDaySummarys.txt", minId.ToString());
-            //     //         condition += " and Id >=" + minId;
-            //     //     }
-            //     //     else
-            //     //     {
-            //     //         condition += " and Id >=" + Info;
-            //     //     }
-            //     // }
-            //     // else
-            //     // {
-            //     //     condition += " and Id =0";
-            //     // }
-            // }
             //交易月份
             if (!string.IsNullOrEmpty(TradeMonthSelect))
             {
                 condition += " and TradeMonth=" + TradeMonthSelect.Replace("-", "");
             }
-            // if (!string.IsNullOrEmpty(TradeMonthSelect))
-            // {
-            //     string[] datelist = TradeMonthSelect.Split(new string[] { " - " }, StringSplitOptions.None);
-            //     string start = datelist[0];
-            //     condition += " and TradeMonth = " + start;
-
-            //     // var check = db.TradeDaySummary.Any(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start));
-            //     // if (check)
-            //     // {
-            //     //     var sId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start)).Min(m => m.Id);
-            //     //     var eId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeMonth) <= Convert.ToInt32(start)).Max(m => m.Id);
-            //     //     condition += "  and Id >=" + sId + " and Id <=" + eId;
-            //     // }
-            // }
-            // else
-            // {
-            //     var start = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
-            //     condition += " and TradeMonth >= " + Convert.ToInt32(start);
-
-            //     // var minId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start)).Min(m => m.Id);
-            //     // var Info = Convert.ToInt32(function.ReadInstance("/WritePage/TradeDaySummary/TradeDaySummary.txt"));
-            //     // if (string.IsNullOrEmpty(Info.ToString()))
-            //     // {
-            //     //     function.WritePage("/WritePage/TradeDaySummary/", "TradeDaySummary.txt", minId.ToString());
-            //     //     condition += " and Id >=" + minId;
-            //     // }
-            //     // else
-            //     // {
-            //     //     condition += " and Id >=" + Info;
-            //     // }
-            // }
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("TradeDaySummary", Fields, "Id desc", "0", page, limit, condition);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;

+ 0 - 11
Areas/Admin/Controllers/MainServer/TradeRecordController.cs

@@ -82,7 +82,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(RealName))
             {
                 condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
-                // condition += " and UserId in (select Id from Users where RealName='" + RealName + "')";
             }
             //商户创客编号
             if (!string.IsNullOrEmpty(MerMakerCode))
@@ -114,19 +113,9 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and MerBuddyType=" + MerBuddyTypeSelect;
             }
-            // if(!string.IsNullOrEmpty(CreateDateData))
-            // {
-            //     string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-            //     string start = datelist[0];
-            //     string end = datelist[1];
-            //     condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
-            // }
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-                // string start = datelist[0];
-                // string end = datelist[1];
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
                 var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
                 var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
                 var check = db.TradeRecord.Any(m => m.CreateDate >= start && m.BrandId == Convert.ToInt32(BrandId));

+ 1 - 0
Areas/Admin/Controllers/MainServer/UserAccountController.cs

@@ -330,6 +330,7 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 int id = int.Parse(subid);
                 Dictionary<string, object> Fields = new Dictionary<string, object>();
+                Fields.Add("UpdateMan", SysUserName + '-' + SysRealName + "操作解冻该账户"); //操作人信息
                 Fields.Add("AccountStatus", 0);
                 Fields.Add("SeoDescription", "");
                 new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("UserAccount", Fields, id);

+ 0 - 4
Areas/Admin/Controllers/MainServer/UserAccountRecordController.cs

@@ -88,9 +88,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-                // string start = datelist[0];
-                // string end = datelist[1];
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
                 var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
                 var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
                 var check = db.UserAccountRecord.Any(m => m.CreateDate >= start);
@@ -423,7 +420,6 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("ChangeType", "1"); //交易类型
             Fields.Add("ProductType", "1"); //产品类型
             Fields.Add("TransRecordNo", "3"); //交易流水编号
-            // Fields.Add("CreateDate", "3"); //交易时间
 
             string condition = " and Status>-1";
             //创客编号

+ 1 - 5
Areas/Admin/Controllers/MainServer/UserAddressController.cs

@@ -74,11 +74,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("UserId", "1");
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("UserAddress", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

+ 0 - 38
Areas/Admin/Controllers/MainServer/UserCashRecordController.cs

@@ -79,7 +79,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(RealName))
             {
                 condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
-                // condition += " and UserId in (select Id from Users where RealName='" + RealName + "')";
             }
             //提现状态
             if (!string.IsNullOrEmpty(StatusSelect))
@@ -103,9 +102,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-                // string start = datelist[0];
-                // string end = datelist[1];
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
                 var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
                 var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
                 var check = db.UserCashRecord.Any(m => m.CreateDate >= start && m.TradeType < 3);
@@ -181,16 +177,6 @@ namespace MySystem.Areas.Admin.Controllers
                 SuccessTaxAmount = decimal.Parse(function.CheckNum(dt.Rows[0][4].ToString())).ToString("f2");
                 FailTaxAmount = decimal.Parse(function.CheckNum(dt.Rows[0][5].ToString())).ToString("f2");
             }
-            // dt = OtherMySqlConn.dtable("select sum(TradeAmount) from UserCashRecord where Status=1" + condition);
-            // if (dt.Rows.Count > 0)
-            // {
-            //     SuccessAmount = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString())).ToString("f2");
-            // }
-            // dt = OtherMySqlConn.dtable("select sum(TradeAmount) from UserCashRecord where Status=2" + condition);
-            // if (dt.Rows.Count > 0)
-            // {
-            //     FailAmount = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString())).ToString("f2");
-            // }
             other.Add("WaitAmount", WaitAmount);
             other.Add("SuccessAmount", SuccessAmount);
             other.Add("FailAmount", FailAmount);
@@ -548,7 +534,6 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["SettleBankName"] = user.SettleBankName;
                 dic["SettleBankCardNo"] = user.SettleBankCardNo;
                 dic.Remove("UserId");
-                // dic["TradeType"] = RelationClassForConst.GetTradeTypeInfo(int.Parse(dic["TradeType"].ToString()));
                 int Status = int.Parse(dic["Status"].ToString());
                 if (Status == 0) dic["StatusName"] = "处理中";
                 if (Status == 1) dic["StatusName"] = "成功";
@@ -578,18 +563,6 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("StatusName", "状态");
             ReturnFields.Add("Remark", "备注");
             ReturnFields.Add("CreateDate", "创建时间");
-
-            // ReturnFields.Add("CashOrderNo", "提现单号");
-            // ReturnFields.Add("MakerCode", "创客编码");
-            // ReturnFields.Add("RealName", "创客名称");
-            // ReturnFields.Add("IdCardNo", "身份证号");
-            // ReturnFields.Add("SettleBankCardNo", "提现卡号");
-            // ReturnFields.Add("SettleBankName", "银行名称");
-            // ReturnFields.Add("TradeType", "交易类型");
-            // ReturnFields.Add("TradeAmount", "交易金额(元)");
-            // ReturnFields.Add("Status", "订单状态");
-            // ReturnFields.Add("ReturnCode", "提现服务返回编码");
-            // ReturnFields.Add("ReturnMsg", "提现服务返回信息");
             result.Add("Fields", ReturnFields);
             AddSysLog("0", "UserCashRecord", "ExportExcel");
             return Json(result);
@@ -650,7 +623,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(RealName))
             {
                 condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
-                // condition += " and UserId in (select Id from Users where RealName='" + RealName + "')";
             }
             //提现状态
             if (!string.IsNullOrEmpty(StatusSelect))
@@ -673,9 +645,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-                // string start = datelist[0];
-                // string end = datelist[1];
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
                 var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
                 var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
                 var check = db.UserCashRecord.Any(m => m.CreateDate >= start && m.TradeType == 3);
@@ -693,10 +662,6 @@ namespace MySystem.Areas.Admin.Controllers
             }
             else
             {
-                // var start = DateTime.Now.ToString("yyyy-MM") + "-01";
-                // var end = Convert.ToDateTime(start).AddMonths(1);
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<'" + end + " 00:00:00'";
-
                 var start = Convert.ToDateTime(DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01");
                 var check = db.UserCashRecord.Any(m => m.CreateDate >= start && m.TradeType == 3);
                 if (check)
@@ -809,7 +774,6 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["SettleBankName"] = user.SettleBankName;
                 dic["SettleBankCardNo"] = user.SettleBankCardNo;
                 dic.Remove("UserId");
-                // dic["TradeType"] = RelationClassForConst.GetTradeTypeInfo(int.Parse(dic["TradeType"].ToString()));
                 int Status = int.Parse(dic["Status"].ToString());
                 if (Status == 0) dic["StatusName"] = "处理中";
                 if (Status == 1) dic["StatusName"] = "成功";
@@ -898,7 +862,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(RealName))
             {
                 condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
-                // condition += " and UserId in (select Id from Users where RealName='" + RealName + "')";
             }
             //提现状态
             if (!string.IsNullOrEmpty(StatusSelect))
@@ -1016,7 +979,6 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["SettleBankName"] = user.SettleBankName;
                 dic["SettleBankCardNo"] = user.SettleBankCardNo;
                 dic.Remove("UserId");
-                // dic["TradeType"] = RelationClassForConst.GetTradeTypeInfo(int.Parse(dic["TradeType"].ToString()));
                 int Status = int.Parse(dic["Status"].ToString());
                 if (Status == 0) dic["StatusName"] = "处理中";
                 if (Status == 1) dic["StatusName"] = "成功";

+ 1 - 5
Areas/Admin/Controllers/MainServer/UserLevelSetController.cs

@@ -66,11 +66,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("Name", "2"); //等级名称
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("UserLevelSet", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

+ 0 - 36
Areas/Admin/Controllers/MainServer/UserTradeDaySummaryController.cs

@@ -92,47 +92,11 @@ namespace MySystem.Areas.Admin.Controllers
                 string start = datelist[0].Replace("-", "");
                 string end = datelist[1].Replace("-", "");
                 condition += " and TradeDate>=" + start + " and TradeDate<=" + end + "";
-
-                // var start = Convert.ToDateTime(datelist[0]).ToString("yyyyMMdd");
-                // var end = Convert.ToDateTime(datelist[1]).ToString("yyyyMMdd");
-                // var check = db.TradeDaySummary.Any(m => Convert.ToInt32(m.TradeDate) >= Convert.ToInt32(start));
-                // var checks = db.TradeDaySummary.Any(m => Convert.ToInt32(m.TradeDate) <= Convert.ToInt32(end));
-                // if (check)
-                // {
-                //     var sId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeDate) >= Convert.ToInt32(start)).Min(m => m.Id);
-                //     condition += "  and Id >=" + sId;
-                // }
-                // if (checks)
-                // {
-                //     var eId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeDate) <= Convert.ToInt32(end)).Max(m => m.Id);
-                //     condition += " and Id <=" + eId;
-                // }
             }
             else
             {
                 var start = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
                 condition += " and TradeMonth>=" + start;
-
-                // var start = DateTime.Now.AddMonths(-1).ToString("yyyyMMdd");
-                // var check = db.TradeDaySummary.Any(m => Convert.ToInt32(m.TradeDate) >= Convert.ToInt32(start));
-                // if (check)
-                // {
-                //     var minId = db.TradeDaySummary.Where(m => Convert.ToInt32(m.TradeDate) >= Convert.ToInt32(start)).Min(m => m.Id);
-                //     var Info = Convert.ToInt32(function.ReadInstance("/WritePage/UserTradeDaySummary/UserTradeDaySummary.txt"));
-                //     if (string.IsNullOrEmpty(Info.ToString()))
-                //     {
-                //         function.WritePage("/WritePage/UserTradeDaySummary/", "UserTradeDaySummary.txt", minId.ToString());
-                //         condition += " and Id >=" + minId;
-                //     }
-                //     else
-                //     {
-                //         condition += " and Id >=" + Info;
-                //     }
-                // }
-                // else
-                // {
-                //     condition += " and Id =0";
-                // }
             }
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("TradeDaySummary", Fields, "Id desc", "0", page, limit, condition);

+ 0 - 40
Areas/Admin/Controllers/MainServer/UserTradeMonthSummaryController.cs

@@ -76,57 +76,17 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and StatType=" + StatTypeSelect;
             }
-            //交易所在月
-            // if (!string.IsNullOrEmpty(CreateDateData))
-            // {
-            //     string[] months = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-            //     DateTime end = DateTime.Parse(months[0] + "-01 00:00:00").AddMonths(1);
-            //     condition += " and CreateDate>='" + months[0] + "-01 00:00:00' and CreateDate<'" + end.ToString("yyyy-MM-dd HH:mm:ss") + "'";
-            // }
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
                 var start = Convert.ToDateTime(datelist[0]).ToString("yyyyMM");
                 var end = Convert.ToDateTime(datelist[1]).ToString("yyyyMM");
                 condition += " and TradeMonth>=" + Convert.ToInt32(start) + " and TradeMonth<=" + Convert.ToInt32(end) + " ";
-
-                // var check = db.UserTradeMonthSummary.Any(m => Convert.ToInt32(m.SeoKeyword) >= Convert.ToInt32(start));
-                // var checks = db.UserTradeMonthSummary.Any(m => Convert.ToInt32(m.SeoKeyword) <= Convert.ToInt32(end));
-                // if (check)
-                // {
-                //     var sId = db.UserTradeMonthSummary.Where(m => Convert.ToInt32(m.SeoKeyword) >= Convert.ToInt32(start)).Min(m => m.Id);
-                //     condition += "  and Id >=" + sId;
-                // }
-                // if (checks)
-                // {
-                //     var eId = db.UserTradeMonthSummary.Where(m => Convert.ToInt32(m.SeoKeyword) <= Convert.ToInt32(end)).Max(m => m.Id);
-                //     condition += " and Id <=" + eId;
-                // }
             }
             else
             {
                 var start = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
                 condition += " and TradeMonth >=" + Convert.ToInt32(start);
-                
-                // var check = db.UserTradeMonthSummary.Any(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start));
-                // if (check)
-                // {
-                //     var minId = db.UserTradeMonthSummary.Where(m => Convert.ToInt32(m.TradeMonth) >= Convert.ToInt32(start)).Min(m => m.Id);
-                //     var Info = Convert.ToInt32(function.ReadInstance("/WritePage/UserTradeMonthSummary/UserTradeMonthSummary.txt"));
-                //     if (string.IsNullOrEmpty(Info.ToString()))
-                //     {
-                //         function.WritePage("/WritePage/UserTradeMonthSummary/", "UserTradeMonthSummary.txt", minId.ToString());
-                //         condition += " and Id >=" + minId;
-                //     }
-                //     else
-                //     {
-                //         condition += " and Id >=" + Info;
-                //     }
-                // }
-                // else
-                // {
-                //     condition += " and Id =0";
-                // }
             }
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("UserTradeMonthSummary", Fields, "Id desc", "0", page, limit, condition);

+ 211 - 30
Areas/Admin/Controllers/MainServer/UsersController.cs

@@ -181,6 +181,152 @@ namespace MySystem.Areas.Admin.Controllers
 
         #endregion
 
+
+        #region 创客列表
+
+        /// <summary>
+        /// 根据条件查询创客列表
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult CancleUsers(Users data, string right, int SelfId = 0, int ParentId = 0, string MakerCode = "")
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+            ViewBag.SelfId = SelfId.ToString();
+            ViewBag.ParentId = ParentId.ToString();
+            ViewBag.MakerCode = MakerCode;
+
+            List<Users> TopUsers = db.Users.Where(m => m.ParentUserId == 0).ToList();
+            ViewBag.TopUsers = TopUsers;
+            List<UserLevelSet> Levels = db.UserLevelSet.OrderBy(m => m.Id).ToList();
+            ViewBag.Levels = Levels;
+            return View();
+        }
+
+        #endregion
+
+        #region 根据条件查询创客列表
+
+        /// <summary>
+        /// 创客列表
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult CancleUsersData(Users data, string ParentMakerCode, string ParentRealName, string AuthFlagSelect, string CreateDateData, int TopUserId, string RiskFlagSelect, string MerchantTypeSelect, int? sSettleAmount, int? eSettleAmount, int? sCashFreezeAmt, int? eCashFreezeAmt, int UserId, int SelfId = 0, int ParentId = 0, int ShowFlag = 0, int page = 1, int limit = 30)
+        {
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+            Fields.Add("MakerCode", "1"); //创客编号
+            Fields.Add("RealName", "1"); //创客名称
+            Fields.Add("Mobile", "1"); //手机号
+            Fields.Add("CertId", "1"); //身份证号码
+            Fields.Add("SettleAmount", "3"); //结算金额
+            Fields.Add("CashFreezeAmt", "3"); //冻结金额
+            Fields.Add("UserLevel", "0"); //创客等级
+
+            string condition = " and Status=-1";
+            string sort = "Id desc";
+            //直属创客编号
+            if (!string.IsNullOrEmpty(ParentMakerCode))
+            {
+                condition += " and ParentUserId in (select UserId from UserForMakerCode where MakerCode='" + ParentMakerCode + "')";
+            }
+            //直属创客名称
+            if (!string.IsNullOrEmpty(ParentRealName))
+            {
+                condition += " and ParentUserId in (select UserId from UserForRealName where RealName='" + ParentRealName + "')";
+            }
+            //实名状态
+            if (!string.IsNullOrEmpty(AuthFlagSelect))
+            {
+                condition += " and AuthFlag=" + AuthFlagSelect;
+            }
+            //顶级创客
+            if (TopUserId > 0)
+            {
+                condition += " and ParentNav like '," + TopUserId + ",%'";
+            }
+            //风控标识
+            if (!string.IsNullOrEmpty(RiskFlagSelect))
+            {
+                condition += " and RiskFlag=" + RiskFlagSelect;
+            }
+            //商户创客类型
+            if (!string.IsNullOrEmpty(MerchantTypeSelect))
+            {
+                condition += " and MerchantType=" + MerchantTypeSelect;
+            }
+            if (sSettleAmount != null)
+            {
+                condition += " and SettleAmount>=" + sSettleAmount.Value;
+            }
+            if (eSettleAmount != null)
+            {
+                condition += " and SettleAmount<=" + eSettleAmount.Value;
+            }
+            if (sCashFreezeAmt != null)
+            {
+                condition += " and CashFreezeAmt>=" + sCashFreezeAmt.Value;
+            }
+            if (eCashFreezeAmt != null)
+            {
+                condition += " and CashFreezeAmt<=" + eCashFreezeAmt.Value;
+            }
+            if (SelfId > 0)
+            {
+                Users self = db.Users.FirstOrDefault(m => m.Id == SelfId);
+                if (self != null)
+                {
+                    string ParentNav = function.CheckNull(self.ParentNav);
+                    condition += " and Id in (" + ParentNav.Trim(',').Replace(",,", ",") + ")";
+                    sort = "ParentNav asc";
+                }
+            }
+            if (ParentId > 0)
+            {
+                condition += " and ParentUserId=" + ParentId;
+            }
+            if (UserId > 0)
+            {
+                condition += " and Id=" + UserId;
+            }
+            if (!string.IsNullOrEmpty(CreateDateData))
+            {
+                string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
+            }
+
+            Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("Users", Fields, sort, "True", page, limit, condition);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                dic["AuthFlagName"] = dic["AuthFlag"].ToString() == "1" ? "已实名" : "未实名";
+                dic["RiskFlagName"] = dic["RiskFlag"].ToString() == "1" ? "已风控" : "未风控";
+                dic["UserLevel"] = RelationClass.GetUserLevelSetInfo(int.Parse(dic["UserLevel"].ToString()));
+                dic["MerchantType"] = RelationClassForConst.GetMerchantTypeInfo(int.Parse(dic["MerchantType"].ToString()));
+                int ParentUserId = int.Parse(dic["ParentUserId"].ToString());
+                Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
+                dic["ParentMakerCode"] = puser.MakerCode;
+                dic["ParentRealName"] = puser.RealName;
+                string ParentNav = dic["ParentNav"].ToString();
+                if (!string.IsNullOrEmpty(ParentNav))
+                {
+                    string[] list = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                    if (list.Length > 1)
+                    {
+                        int TopId = int.Parse(function.CheckInt(list[1]));
+                        Users tuser = db.Users.FirstOrDefault(m => m.Id == TopId) ?? new Users();
+                        dic["TopMakerCode"] = tuser.MakerCode;
+                        dic["TopRealName"] = tuser.RealName;
+                    }
+                }
+            }
+            return Json(obj);
+        }
+
+        #endregion
+
+
         #region 增加创客
 
         /// <summary>
@@ -546,10 +692,10 @@ namespace MySystem.Areas.Admin.Controllers
 
 
         #region 注销
-        // 1、未实名创客;
-        // 2、已实名创客,无开通商户;
-        // 3、近7天未在商城下单过商品;
-        // 4、名下无未绑定机具、机具券,无未申请的循环机;
+        // 1.创客名下无未绑定机具且没有申请中的机具循环及兑换订单
+        // 2.创客名下无预发机
+        // 3.创客名下无分仓及运营中心
+        // 满足以上全部条件的用户可申请注销,申请后用户二次填写确认填写信息(姓名、手机号、身份证号)即可完成注销
         public string Cancel(string UserId)
         {
             Users user = db.Users.FirstOrDefault(m => m.Id == Convert.ToInt32(UserId));
@@ -557,45 +703,82 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 if (user.AuthFlag == 1)
                 {
-                    bool check = db.PosMachinesTwo.Any(m => m.BuyUserId == user.Id && m.BindingState == 1);
+                    // bool check = db.PosMachinesTwo.Any(m => m.BuyUserId == user.Id && m.BindingState == 1);
+                    // if (check)
+                    // {
+                    //     return "注销失败,未满足条件:已实名创客,无开通商户。如有疑问,请联系客服";
+                    // }
+                    // DateTime checkDate = DateTime.Now.AddDays(-7);
+                    // check = db.Orders.Any(m => m.CreateDate >= checkDate && m.Status > 0 && m.UserId == user.Id);
+                    // if (check)
+                    // {
+                    //     return "注销失败,未满足条件:近7天未在商城下单过商品。如有疑问,请联系客服";
+                    // }
+                    // check = db.PosMachinesTwo.Any(m => m.BuyUserId == user.Id && m.IsPurchase == 0);
+                    // if (check)
+                    // {
+                    //     return "注销失败,未满足条件:名下无未绑定机具、机具券,无未申请的循环机。如有疑问,请联系客服";
+                    // }
+                    // check = db.PosCoupons.Any(m => m.UserId == user.Id && m.IsUse == 0);
+                    // if (check)
+                    // {
+                    //     return "注销失败,未满足条件:名下无未绑定机具、机具券,无未申请的循环机。如有疑问,请联系客服";
+                    // }
+
+                    bool check = db.PosMachinesTwo.Any(m => m.BuyUserId == user.Id && m.BindingState == 0);
                     if (check)
                     {
-                        // return Json(new AppResultJson() { Status = "-1", Info = "注销失败,未满足条件:已实名创客,无开通商户。如有疑问,请联系客服" });
-                        return "注销失败,未满足条件:已实名创客,无开通商户。如有疑问,请联系客服";
+                        return "注销失败,未满足条件:名下存在未绑定机具。如有疑问,请联系客服";
                     }
-                    DateTime checkDate = DateTime.Now.AddDays(-7);
-                    check = db.Orders.Any(m => m.CreateDate >= checkDate && m.Status > 0 && m.UserId == user.Id);
+                    check = db.MachineApply.Any(m => m.Status == 0 && m.UserId == user.Id);
                     if (check)
                     {
-                        // return Json(new AppResultJson() { Status = "-1", Info = "注销失败,未满足条件:近7天未在商城下单过商品。如有疑问,请联系客服" });
-                        return "注销失败,未满足条件:近7天未在商城下单过商品。如有疑问,请联系客服";
+                        return "注销失败,未满足条件:名下存在未完成的机具循环兑换订单。如有疑问,请联系客服";
                     }
-                    check = db.PosMachinesTwo.Any(m => m.BuyUserId == user.Id && m.IsPurchase == 0);
+                    check = db.PreSendStockDetail.Any(m => m.Status == 1 && m.AuthFlag == 0 && m.ToUserId == user.Id);
                     if (check)
                     {
-                        // return Json(new AppResultJson() { Status = "-1", Info = "注销失败,未满足条件:名下无未绑定机具、机具券,无未申请的循环机。如有疑问,请联系客服" });
-                        return "注销失败,未满足条件:名下无未绑定机具、机具券,无未申请的循环机。如有疑问,请联系客服";
+                        return "注销失败,未满足条件:名下存在预发机。如有疑问,请联系客服";
+                    }
+                    if (user.UserType == 1)
+                    {
+                        return "注销失败,未满足条件:名下存在运营中心。如有疑问,请联系客服";
                     }
-                    check = db.PosCoupons.Any(m => m.UserId == user.Id && m.IsUse == 0);
+                    check = db.StoreHouse.Any(m => m.Status == 1 && m.UserId == user.Id);
                     if (check)
                     {
-                        // return Json(new AppResultJson() { Status = "-1", Info = "注销失败,未满足条件:名下无未绑定机具、机具券,无未申请的循环机。如有疑问,请联系客服" });
-                        return "注销失败,未满足条件:名下无未绑定机具、机具券,无未申请的循环机。如有疑问,请联系客服";
+                        return "注销失败,未满足条件:名下存在分仓。如有疑问,请联系客服";
                     }
+                    UserForMobile forMobile = db.UserForMobile.FirstOrDefault(m => m.Mobile == user.Mobile);
+                    if (forMobile != null)
+                    {
+                        db.Remove(forMobile);
+                    }
+                    UserForMakerCode forCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == user.MakerCode);
+                    if (forCode != null)
+                    {
+                        db.UserForMakerCode.Remove(forCode);
+                    }
+                    user.Status = -1;
+                    user.Mobile += "d";
+                    user.CertId += "d";
                 }
-                UserForMobile forMobile = db.UserForMobile.FirstOrDefault(m => m.Mobile == user.Mobile);
-                if (forMobile != null)
-                {
-                    db.UserForMobile.Remove(forMobile);
-                }
-                UserForMakerCode forCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == user.MakerCode);
-                if (forCode != null)
+                else
                 {
-                    db.UserForMakerCode.Remove(forCode);
+                    UserForMobile forMobile = db.UserForMobile.FirstOrDefault(m => m.Mobile == user.Mobile);
+                    if (forMobile != null)
+                    {
+                        db.UserForMobile.Remove(forMobile);
+                    }
+                    UserForMakerCode forCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == user.MakerCode);
+                    if (forCode != null)
+                    {
+                        db.UserForMakerCode.Remove(forCode);
+                    }
+                    user.Status = -1;
+                    user.Mobile += "d";
+                    user.CertId += "d";
                 }
-                user.Status = -1;
-                user.Mobile += "d";
-                user.CertId += "d";
                 function.WriteLog(user.Id + "于" + DateTime.Now.ToString() + "注销账号", "创客注销日志");
                 // TODO: 每月扫描一次注销的创客,把注销创客伞下创客全部挂到注销创客的上级
                 // TODO: 清除token,token登录返回
@@ -1571,8 +1754,6 @@ namespace MySystem.Areas.Admin.Controllers
 
                 dic["TBCount"] = Info["TBCount"].ToString();
                 dic["TACount"] = Info["TACount"].ToString();
-                // dic["BCount"] = Info["BCount"].ToString();
-                // dic["ACount"] = Info["ACount"].ToString();
 
             }
 

+ 135 - 0
Areas/Admin/Controllers/OperateServer/AmountRecordOperateController.cs

@@ -0,0 +1,135 @@
+/*
+ * 创客账户变动记录
+ */
+
+using System;
+using System.Web;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Data;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+using MySystem.OpModels;
+using Library;
+using LitJson;
+using MySystemLib;
+
+namespace MySystem.Areas.Admin.Controllers
+{
+    [Area("Admin")]
+    [Route("Admin/[controller]/[action]")]
+    public class AmountRecordOperateController : BaseController
+    {
+        public AmountRecordOperateController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
+        {
+            OtherMySqlConn.connstr = ConfigurationManager.AppSettings["OpSqlConnStr"].ToString();
+        }
+
+        #region 运营中心额度变动明细记录列表
+
+        /// <summary>
+        /// 根据条件查询运营中心额度变动明细记录列表
+        /// </summary>
+        /// <returns></returns>
+        public IActionResult Index(AmountRecord data, string right, int UserId = 0)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+            return View();
+        }
+
+        #endregion
+
+        #region 根据条件查询运营中心额度变动明细记录列表
+
+        /// <summary>
+        /// 运营中心额度变动明细记录列表
+        /// </summary>
+        /// <returns></returns>
+        public JsonResult IndexData(AmountRecord data, string MakerCode, string OpCode, string CreateDateData, int page = 1, int limit = 30)
+        {
+
+            Dictionary<string, string> Fields = new Dictionary<string, string>();
+
+            string condition = " and Status>-1";
+            //创客编号
+            if (!string.IsNullOrEmpty(MakerCode))
+            {
+                condition += " and UserId in (select UserId from SysAdmin where MakerCode='" + MakerCode + "')";
+            }
+            //运营中心编号
+            if (!string.IsNullOrEmpty(OpCode))
+            {
+                condition += " and UserId in (select UserId from SysAdmin where OpCode='" + OpCode + "')";
+            }
+            if (!string.IsNullOrEmpty(CreateDateData))
+            {
+                string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                // string start = datelist[0];
+                // string end = datelist[1];
+                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
+                var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
+                var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
+                var check = opdb.AmountRecord.Any(m => m.CreateDate >= start);
+                var checks = opdb.AmountRecord.Any(m => m.CreateDate <= end);
+                if (check)
+                {
+                    var sId = opdb.AmountRecord.Where(m => m.CreateDate >= start).Min(m => m.Id);
+                    condition += "  and Id >=" + sId;
+                }
+                if (checks)
+                {
+                    var eId = opdb.AmountRecord.Where(m => m.CreateDate <= end).Max(m => m.Id);
+                    condition += " and Id <=" + eId;
+                }
+            }
+            else
+            {
+                var start = Convert.ToDateTime(DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01");
+                var check = opdb.AmountRecord.Any(m => m.CreateDate >= start);
+                if (check)
+                {
+                    var minId = opdb.AmountRecord.Where(m => m.CreateDate >= start).Min(m => m.Id);
+                    var Info = function.ReadInstance("/WritePage/AmountRecordOperate/AmountRecordOperate.txt");
+                    if (string.IsNullOrEmpty(Info.ToString()))
+                    {
+                        function.WritePage("/WritePage/AmountRecordOperate/", "AmountRecordOperate.txt", minId.ToString());
+                        condition += " and Id >=" + minId;
+                    }
+                    else
+                    {
+                        condition += " and Id >=" + Convert.ToInt32(Info);
+                    }
+                }
+                else
+                {
+                    condition += " and Id =0";
+                }
+            }
+
+            Dictionary<string, object> obj = new AdminContentByConn(_accessor.HttpContext, PublicFunction.OpTables, OpConn).IndexData("AmountRecord", Fields, "Id desc", "0", page, limit, condition);
+            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
+            foreach (Dictionary<string, object> dic in diclist)
+            {
+                int UserId = int.Parse(dic["UserId"].ToString());
+                SysAdmin sysAdmin = opdb.SysAdmin.FirstOrDefault(m => m.UserId == UserId) ?? new SysAdmin();
+                dic["OpCode"] = sysAdmin.OpCode;
+                dic["MakerCode"] = sysAdmin.MakerCode;
+                dic["MakerName"] = sysAdmin.MakerName;
+                int OperateType = int.Parse(dic["OperateType"].ToString());
+                dic["OperateTypeName"] = "";
+                if (OperateType == 1) dic["OperateTypeName"] = "收入";
+                if (OperateType == 2) dic["OperateTypeName"] = "支出";
+            }
+            return Json(obj);
+        }
+
+        #endregion
+
+    }
+}

+ 0 - 35
Areas/Admin/Controllers/OperateServer/StoreHouseOperateController.cs

@@ -113,26 +113,6 @@ namespace MySystem.Areas.Admin.Controllers
                 int Id = int.Parse(function.CheckInt(dic["Id"].ToString()));
                 int PreCount = db.PreSendStockDetail.Count(m => m.FromStoreId == Id && m.ApplyFlag == 0 && m.Status >= 0 && m.Status <= 1);
                 dic["PreNum"] = PreCount.ToString();
-
-                // //分仓额度
-                // var amount = db.UserAccount.FirstOrDefault(m => m.Id == UserId) ?? new UserAccount();
-                // var ValidAmount = amount.ValidAmount;
-                // var FixedAmount = amount.FixedAmount;
-                // var TempAmount = amount.TempAmount + amount.TempAmountForBalance;
-                // var check = db.StoreHouseAmountPromiss.Any(m => m.ToUserId == UserId);
-                // decimal PromissAmount = 0;
-                // var ThisMonthPreAmount = amount.ThisMonthPreAmount;
-                // var ValidPreAmount = amount.ValidPreAmount;
-                // if (check)
-                // {
-                //     PromissAmount = db.StoreHouseAmountPromiss.Where(m => m.Status == 1 && m.ToUserId == UserId).Sum(m => m.PromissAmount);
-                // }
-                // dic["ValidAmount"] = ValidAmount.ToString();//可用额度
-                // dic["FixedAmount"] = FixedAmount.ToString();//固定额度
-                // dic["TempAmount"] = TempAmount.ToString();//临时额度
-                // dic["PromissAmount"] = PromissAmount.ToString();//担保金额
-                // dic["ThisMonthPreAmount"] = ThisMonthPreAmount.ToString();//本月小分仓额度
-                // dic["ValidPreAmount"] = ValidPreAmount.ToString();//可用小分仓额度
             }
             return Json(obj);
         }
@@ -539,23 +519,10 @@ namespace MySystem.Areas.Admin.Controllers
         [HttpPost]
         public string ImportPost(string ExcelPath, int Kind = 0)
         {
-            // RedisDbconn.Instance.AddList("ExcelImport", ExcelPath + "#cut#" + Kind);
             string key = function.MD5_16(Guid.NewGuid().ToString());
             RedisDbconn.Instance.AddList("ExcelImportV2", ExcelPath + "#cut#" + Kind + "#cut#" + key + "#cut#" + SysUserName);
             return "success|" + key;
         }
-
-        // [HttpPost]
-        // public Dictionary<string, object> ImportPostV2(string ExcelPath, int Kind = 0)
-        // {
-        //     Dictionary<string, object> Obj = new Dictionary<string, object>();
-        //     string key = function.MD5_16(Guid.NewGuid().ToString());
-        //     RedisDbconn.Instance.AddList("ExcelImportV2", ExcelPath + "#cut#" + Kind + "#cut#" + key);
-        //     Obj.Add("status", "success");
-        //     Obj.Add("key", key);
-        //     Obj.Add("errlist", RedisDbconn.Instance.GetList<string>("ErrList" + key));
-        //     return Obj;
-        // }
         public string CheckImport(string key)
         {
             string result = RedisDbconn.Instance.Get<string>("CheckImport:" + key);
@@ -1367,7 +1334,6 @@ namespace MySystem.Areas.Admin.Controllers
                 if (sysAdmin.Id > 0)
                 {
                     DataTable dt = OtherMySqlConn.dtable("UPDATE StoreHouse SET OpId=" + sysAdmin.Id + " WHERE Id IN (" + Id + ") AND OpId =" + sysAdmin.Id + " AND `Status` >0");
-                    // new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("StoreHouse", Fields, pos.Id);
                     db.SaveChanges();
                     foreach (var item in idlist)
                     {
@@ -1447,7 +1413,6 @@ namespace MySystem.Areas.Admin.Controllers
                 if (sysAdmin.Id > 0)
                 {
                     DataTable dt = OtherMySqlConn.dtable("UPDATE StoreHouse SET OpId=0 WHERE Id IN (" + Id + ") AND OpId =" + sysAdmin.Id + " AND `Status` >0");
-                    // new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("StoreHouse", Fields, pos.Id);
                     db.SaveChanges();
                     foreach (var item in idlist)
                     {

+ 8 - 19
Areas/Admin/Controllers/OperateServer/StoreMachineApplyOperateController.cs

@@ -257,7 +257,6 @@ namespace MySystem.Areas.Admin.Controllers
             ViewBag.data = editData;
 
             Models.WebCMSEntities db = new Models.WebCMSEntities();
-            // Users users = db.Users.FirstOrDefault(m => m.Id == editData.UserId) ?? new Users();
             SysAdmin sysAdmin = opdb.SysAdmin.FirstOrDefault(m => m.Status == 0 && m.UserId == editData.UserId) ?? new SysAdmin();
             ViewBag.UserId = sysAdmin.UserId;
             ViewBag.MakerCode = sysAdmin.MakerCode;
@@ -504,7 +503,6 @@ namespace MySystem.Areas.Admin.Controllers
                 //运营中心
                 int OpId = int.Parse(function.CheckInt(dic["UserId"].ToString()));
                 SysAdmin sysAdmin = opdb.SysAdmin.FirstOrDefault(m => m.Id == OpId) ?? new SysAdmin();
-                // Users userid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
                 dic["MakerName"] = sysAdmin.MakerName;
                 dic["MakerCode"] = sysAdmin.MakerCode;
                 dic["OpCode"] = sysAdmin.OpCode;
@@ -644,6 +642,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandId == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 CheckSendInfo items = checksendInfos.FirstOrDefault(m => m.BrandId == BrandId);
                 if (items == null)
                 {
@@ -674,6 +673,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandIds == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == BrandIds);
                 CheckSendInfo items = checksendInfos.FirstOrDefault(m => m.BrandId == BrandIds) ?? new CheckSendInfo();
                 if (items.Num > num)
@@ -705,8 +705,13 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandId == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 Models.MachineForSnNo posInfo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new Models.MachineForSnNo();
                 var pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posInfo.SnId && m.StoreId == FromStoreId && m.UserId == 0 && m.BuyUserId == 0 && m.PreUserId == 0) ?? new Models.PosMachinesTwo();
+                if (pos.BindingState == 1 || pos.ActivationState == 1)
+                {
+                    error += "以下操作失败" + SnNo + ',' + "该机具已绑定或已激活" + '\n';
+                }
                 if (posInfo.SnId > 0)
                 {
                     if (pos.Id > 0)
@@ -768,6 +773,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandId == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 tostore = db.StoreHouse.FirstOrDefault(m => m.Sort > 0 && m.UserId == apply.UserId && m.BrandId == BrandId.ToString() && m.Status == 1);
                 SendInfo item = sendInfos.FirstOrDefault(m => m.FromStoreId == FromStoreId && m.ToStoreId == tostore.Id && m.BrandId == BrandId);
                 if (item == null)
@@ -865,23 +871,6 @@ namespace MySystem.Areas.Admin.Controllers
                         //添加机具所属运营中心
                         machine.OpId = tostore.UserId;
 
-                        // //额度标记
-                        // if (ValidAmount >= amount)
-                        // {
-                        //     ValidAmount -= amount;
-                        //     // machine.OpReserveKind = 3;
-                        // }
-                        // else if (TotalAmt >= amount)
-                        // {
-                        //     TotalAmt -= amount;
-                        //     // machine.OpReserveKind = 1;
-                        // }
-                        // else if (ValidForGetAmount >= amount)
-                        // {
-                        //     ValidForGetAmount -= amount;
-                        //     // machine.OpReserveKind = 2;
-                        // }
-
                         if (ValidAmount >= amount)
                         {
                             ValidAmount -= amount;

+ 8 - 4
Areas/Admin/Controllers/OperateServer/StoreMachineApplysOperateController.cs

@@ -539,6 +539,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandId == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 CheckSendInfo items = checksendInfos.FirstOrDefault(m => m.BrandId == BrandId);
                 if (items == null)
                 {
@@ -569,6 +570,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandIds == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == BrandIds);
                 CheckSendInfo items = checksendInfos.FirstOrDefault(m => m.BrandId == BrandIds) ?? new CheckSendInfo();
                 if (items.Num > num)
@@ -600,8 +602,13 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandId == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 MachineForSnNo posInfo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
                 var pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posInfo.SnId && m.StoreId == FromStoreId && m.UserId == 0 && m.BuyUserId == 0 && m.PreUserId == 0) ?? new PosMachinesTwo();
+                if (pos.BindingState == 1 || pos.ActivationState == 1)
+                {
+                    error += "以下操作失败" + SnNo + ',' + "该机具已绑定或已激活" + '\n';
+                }
                 if (posInfo.SnId > 0)
                 {
                     if (pos.Id > 0)
@@ -650,6 +657,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (BrandId == 9) FromStoreId = 4832;
                 if (BrandId == 10) FromStoreId = 5512;
                 if (BrandId == 11) FromStoreId = 5513;
+                if (BrandId == 12) FromStoreId = 5907;
                 tostore = db.StoreHouse.FirstOrDefault(m => m.Sort > 0 && m.UserId == apply.UserId && m.BrandId == BrandId.ToString() && m.Status == 1);
                 SendInfo item = sendInfos.FirstOrDefault(m => m.FromStoreId == FromStoreId && m.ToStoreId == tostore.Id && m.BrandId == BrandId);
                 if (item == null)
@@ -671,7 +679,6 @@ namespace MySystem.Areas.Admin.Controllers
                 apply.SeoDescription = function.CheckString(SnNo) + ',';
 
                 fromstore = db.StoreHouse.FirstOrDefault(m => m.Id == FromStoreId);
-                // tostore = db.StoreHouse.FirstOrDefault(m => m.Sort > 0 && m.UserId == apply.UserId && m.BrandId == BrandId.ToString() && m.Status == 1);
 
                 MachineForSnNo machinefor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
                 PosMachinesTwo machine = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machinefor.SnId && m.BuyUserId == 0 && m.UserId == 0) ?? new PosMachinesTwo();
@@ -744,9 +751,6 @@ namespace MySystem.Areas.Admin.Controllers
                         //修改机具所属仓库
                         machine.StoreId = tostore.Id;
                         machine.UpdateDate = DateTime.Now;
-
-                        // //添加机具所属运营中心
-                        // machine.OpId = tostore.UserId;
                         db.SaveChanges();
                     }
                 }

+ 0 - 26
Areas/Admin/Controllers/OperateServer/SysAdminOperateController.cs

@@ -74,11 +74,6 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and Id in (select OpId from OperateForCode where OpCode='" + OpCode + "')";
             }
-            // //运营中心名称
-            // if (!string.IsNullOrEmpty(RealName))
-            // {
-            //     condition += " and UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
-            // }
             //创建时间
             if (!string.IsNullOrEmpty(CreateDateData))
             {
@@ -117,9 +112,6 @@ namespace MySystem.Areas.Admin.Controllers
                 //提现中金额
                 dic["WithdrawingAmount"] = userAccount.WithdrawingAmount;
 
-                //分仓数量 StoreForOperate
-                // dic["StoreCount"] = opdb.StoreForOperate.Where(m => m.OpId == Id).Count();
-
             }
             return Json(obj);
         }
@@ -155,7 +147,6 @@ namespace MySystem.Areas.Admin.Controllers
             Dictionary<string, object> Fields = new Dictionary<string, object>();
             Dictionary<string, object> Field = new Dictionary<string, object>();
 
-            // Models.WebCMSEntities db = new Models.WebCMSEntities();
             var userForMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == data.MakerCode) ?? new Models.UserForMakerCode();
             if (userForMakerCode.UserId > 0)
             {
@@ -209,7 +200,6 @@ namespace MySystem.Areas.Admin.Controllers
                     if (info != null)
                     {
                         Field.Add("TotalAmt", userAccount.TotalAmt); //初始额度
-                        // Field.Add("ValidAmount", userAccount.TotalAmt); //可用额度
                         Field.Add("Sort", Id); //运营中心Id
                         Field.Add("Id", edit.UserId); //创客Id
                         Field.Add("UserId", edit.UserId); //创客Id
@@ -574,24 +564,8 @@ namespace MySystem.Areas.Admin.Controllers
             var account = opdb.UserAccount.FirstOrDefault(m => m.UserId == sysAdmin.UserId);
             decimal BeforeAmount = account.TotalAmt + account.ValidAmount + account.ValidForGetAmount; //变更前总金额
 
-            //扣减
-            
-            // if (Kind == 1 && decimal.Parse(OperationAmount) > account.TotalAmt)
-            // {
-            //     return "未使用额度不足";
-            // }
             int OperateType = 0;
             var description = "";
-            // if (Kind == 1 && decimal.Parse(OperationAmount) <= account.TotalAmt)
-            // {
-            //     account.TotalAmt -= decimal.Parse(OperationAmount);
-            //     OperateType = 2;//系统扣减
-            //     description ="系统扣减";
-            // }
-            // else if (Kind == 1 && decimal.Parse(OperationAmount) > account.TotalAmt)
-            // {
-            //     return "扣减金额大于未使用额度";
-            // }
             if (Kind == 1)
             {
                 account.TotalAmt -= decimal.Parse(OperationAmount);

+ 1 - 5
Areas/Admin/Controllers/OperateServer/SystemSetOperateController.cs

@@ -67,11 +67,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("WebName", "2"); //网站名称
 
             Dictionary<string, object> obj = new AdminContentByConn(_accessor.HttpContext, PublicFunction.OpTables, OpConn).IndexData("SystemSet", Fields, "Id desc", "False", page, limit);
-            //List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
-            //foreach (Dictionary<string, object> dic in diclist)
-            //{
-
-            //}
+            
             return Json(obj);
         }
 

+ 0 - 5
Areas/Admin/Controllers/OperateServer/UserAccountRecordOperateController.cs

@@ -40,8 +40,6 @@ namespace MySystem.Areas.Admin.Controllers
             ViewBag.right = right;
             ViewBag.UserId = UserId.ToString();
 
-            // List<Users> TopUsers = db.Users.Where(m => m.ParentUserId == 0).ToList();
-            // ViewBag.TopUsers = TopUsers;
             var Brands = db.KqProducts.OrderBy(m => m.Id).ToList();
             ViewBag.Brands = Brands;
 
@@ -78,9 +76,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-                // string start = datelist[0];
-                // string end = datelist[1];
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
                 var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
                 var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
                 var check = db.UserAccountRecord.Any(m => m.CreateDate >= start);

+ 0 - 16
Areas/Admin/Controllers/OperateServer/UserCashRecordOperateController.cs

@@ -92,9 +92,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-                // string start = datelist[0];
-                // string end = datelist[1];
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
                 var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
                 var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
                 var check = opdb.UserCashRecord.Any(m => m.CreateDate >= start && m.TradeType < 3);
@@ -457,7 +454,6 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["SettleBankName"] = user.SettleBankName;
                 dic["SettleBankCardNo"] = user.SettleBankCardNo;
                 dic.Remove("UserId");
-                // dic["TradeType"] = RelationClassForConst.GetTradeTypeInfo(int.Parse(dic["TradeType"].ToString()));
                 int Status = int.Parse(dic["Status"].ToString());
                 if (Status == 0) dic["StatusName"] = "处理中";
                 if (Status == 1) dic["StatusName"] = "成功";
@@ -488,18 +484,6 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("StatusName", "状态");
             ReturnFields.Add("Remark", "备注");
             ReturnFields.Add("CreateDate", "创建时间");
-
-            // ReturnFields.Add("CashOrderNo", "提现单号");
-            // ReturnFields.Add("MakerCode", "创客编码");
-            // ReturnFields.Add("RealName", "创客名称");
-            // ReturnFields.Add("IdCardNo", "身份证号");
-            // ReturnFields.Add("SettleBankCardNo", "提现卡号");
-            // ReturnFields.Add("SettleBankName", "银行名称");
-            // ReturnFields.Add("TradeType", "交易类型");
-            // ReturnFields.Add("TradeAmount", "交易金额(元)");
-            // ReturnFields.Add("Status", "订单状态");
-            // ReturnFields.Add("ReturnCode", "提现服务返回编码");
-            // ReturnFields.Add("ReturnMsg", "提现服务返回信息");
             result.Add("Fields", ReturnFields);
             AddSysLog("0", "OpUserCashRecord", "ExportExcel");
             return Json(result);

+ 0 - 16
Areas/Admin/Controllers/OperateServer/UserCashRecordOperatesController.cs

@@ -91,9 +91,6 @@ namespace MySystem.Areas.Admin.Controllers
             if (!string.IsNullOrEmpty(CreateDateData))
             {
                 string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
-                // string start = datelist[0];
-                // string end = datelist[1];
-                // condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'";
                 var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
                 var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
                 var check = opdb.UserCashRecord.Any(m => m.CreateDate >= start && m.TradeType < 3);
@@ -515,7 +512,6 @@ namespace MySystem.Areas.Admin.Controllers
                 dic["SettleBankName"] = user.SettleBankName;
                 dic["SettleBankCardNo"] = user.SettleBankCardNo;
                 dic.Remove("UserId");
-                // dic["TradeType"] = RelationClassForConst.GetTradeTypeInfo(int.Parse(dic["TradeType"].ToString()));
                 int Status = int.Parse(dic["Status"].ToString());
                 if (Status == 0) dic["StatusName"] = "处理中";
                 if (Status == 1) dic["StatusName"] = "成功";
@@ -546,18 +542,6 @@ namespace MySystem.Areas.Admin.Controllers
             ReturnFields.Add("StatusName", "状态");
             ReturnFields.Add("Remark", "备注");
             ReturnFields.Add("CreateDate", "创建时间");
-
-            // ReturnFields.Add("CashOrderNo", "提现单号");
-            // ReturnFields.Add("MakerCode", "创客编码");
-            // ReturnFields.Add("RealName", "创客名称");
-            // ReturnFields.Add("IdCardNo", "身份证号");
-            // ReturnFields.Add("SettleBankCardNo", "提现卡号");
-            // ReturnFields.Add("SettleBankName", "银行名称");
-            // ReturnFields.Add("TradeType", "交易类型");
-            // ReturnFields.Add("TradeAmount", "交易金额(元)");
-            // ReturnFields.Add("Status", "订单状态");
-            // ReturnFields.Add("ReturnCode", "提现服务返回编码");
-            // ReturnFields.Add("ReturnMsg", "提现服务返回信息");
             result.Add("Fields", ReturnFields);
             AddSysLog("0", "OpUserCashRecord", "ExportExcel");
             return Json(result);

BIN
Areas/Admin/Views/.DS_Store


+ 2 - 2
Areas/Admin/Views/Home/Login.cshtml

@@ -26,11 +26,11 @@
                     <label for="password">密码 / Password</label>
                     <input class="form-input" type="password" name="Pwd" id="Pwd" onKeyUp="if(event.keyCode==13){$('#CheckCode').focus();}" placeholder="请填写密码">
                 </div>
-                @* <div class="form-group pb10">
+                <div class="form-group pb10">
                     <label for="password">验证码 / Verification</label>
                     <input class="form-input" type="text" name="CheckCode" id="CheckCode" onkeyup="if(event.keyCode==13){syslogin();}" placeholder="请填写验证码" style="width: 70%; display: inline-block; margin-right: 2%">
                     <img src="/Api/PublicMethod/CheckCode" onclick="$(this).attr('src','/Api/PublicMethod/CheckCode?r='+Math.random())" style="width: 26%; height:38px;" />
-                </div> *@
+                </div>
                 @*<div class="form-group pb10 cf">
                         <label class="remembermetext fl" for="rememberme">
                             <input type="checkbox" checked name="rememberme">&nbsp;记住我的登录

BIN
Areas/Admin/Views/MainServer/.DS_Store


+ 134 - 0
Areas/Admin/Views/MainServer/PosMachinesTwo/Import.cshtml

@@ -0,0 +1,134 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+
+}
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>导入数据</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+    <style>
+        .layui-form-label {
+            width: 135px !important;
+        }
+
+        .layui-form-item .layui-input-block {
+            margin-left: 165px !important;
+        }
+    </style>
+</head>
+
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+
+        <div class="layui-card">
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">模板下载</label>
+                                <div class="layui-form-mid layui-word-aux" id="excelTemp">
+                                    <a href="/users/金控入库时间修改模板.xlsx">点击下载金控入库时间修改模板文件</a>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">excel文件</label>
+                                <div class="layui-input-block">
+                                    <div class="layui-upload">
+                                        <input type="hidden" id="ExcelPath" name="ExcelPath" value="">
+                                        <button class="layui-btn" type="button" id="ExcelPathBtn">选择</button>
+                                        <div class="layui-inline layui-word-aux"></div>
+                                    </div>
+                                    <div class="mt10" id="ExcelPathFile">
+                                    </div>
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+
+
+        //编辑器
+        KindEditor.ready(function (K) {
+
+        });
+
+
+        var tree;
+        var element;
+        var upload;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+
+            //日期
+
+
+            //上传文件
+            WebUploadJs('ExcelPathBtn', '@(Library.ConfigurationManager.AppSettings["Database"].ToString())/upload/v2', { width: 0, height: 0, quality: 0 }, { max_file_size: 1048576 }, function (filename) {
+                var fName = (filename.substring(filename.lastIndexOf("/"))).split("/");
+                $('#ExcelPathFile').html(fName);
+                $('#ExcelPath').val(filename);
+            });
+
+            //穿梭框
+
+
+
+            //TreeView,比如权限管理
+
+
+            //省市区
+
+        });
+
+    </script>
+</body>
+
+</html>

+ 36 - 4
Areas/Admin/Views/MainServer/PosMachinesTwo/Index.cshtml

@@ -152,8 +152,16 @@
                             <button class="layui-btn" data-type="ExportExcel"><i
                                 class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出</button>
                         }
-                        @* <button class="layui-btn" data-type="RejectStore"><i class="layui-icon layui-icon-upload
-                            layuiadmin-button-btn"></i>机具驳回仓库</button> *@
+                        @* @if (RightInfo.Contains("," + right + "_import,"))
+                        {
+                            <button class="layui-btn" data-type="ImportCreateData"><i
+                                class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导入金控入库时间</button>
+                        } *@
+                        @if (RightInfo.Contains("," + right + "_import,"))
+                        {
+                            <button class="layui-btn" data-type="ImportData"><i
+                                class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>导入金控入库时间</button>
+                        }
                     </div>
                 </div>
             </div>
@@ -166,16 +174,40 @@
                 <script type="text/html" id="table-list-tools">
                     @if (RightInfo.Contains("," + right + "_edit,"))
                     {
-                                <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+                                    <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
                     }
                     @if (RightInfo.Contains("," + right + "_Home,"))
                     {
-                                <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="home"><i class="layui-icon layui-icon-edit"></i>一键归位</a>
+                                    <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="home"><i class="layui-icon layui-icon-edit"></i>一键归位</a>
                     }
                 </script>
             </div>
         </div>
     </div>
+    @* <div id="excelForm" style="display:none; padding:20px;">
+        <div class="layui-tab-item layui-show">
+            <div class="layui-form-item">
+                <label class="layui-form-label">模板下载</label>
+                <div class="layui-form-mid layui-word-aux" id="excelTemp">
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">excel文件</label>
+                <div class="layui-form-mid layui-word-aux">
+                    <div class="layui-upload">
+                        <input type="file" id="ExcelFile" name="ExcelFile" value="">
+                    </div>
+                    <div class="mt10" id="ExcelFileList">
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item ml10">
+            <div class="layui-input-block">
+                <button type="button" class="layui-btn" onclick="ConfirmImport()">立即导入</button>
+            </div>
+        </div>
+    </div> *@
 
     <script src="/layuiadmin/layui/layui.js"></script>
     <script src="/layuiadmin/modules_main/PosMachinesTwo_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>

+ 7 - 0
Areas/Admin/Views/MainServer/PosMerchantInfoList/Indexrg.cshtml

@@ -51,6 +51,13 @@
                                 autocomplete="off">
                         </div>
                     </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">商户编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="KqMerNo" placeholder="请输入商户编号"
+                                autocomplete="off">
+                        </div>
+                    </div>
                     <div class="layui-inline">
                         <label class="layui-form-label">商户姓名</label>
                         <div class="layui-input-inline">

+ 1 - 1
Areas/Admin/Views/MainServer/StoreHouseAmountRecord/Indexs.cshtml

@@ -8,7 +8,7 @@
 
 <head>
     <meta charset="utf-8">
-    <title>分仓机具额度记录</title>
+    <title>银行卡临额提现</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport"

+ 1 - 1
Areas/Admin/Views/MainServer/SysRechargeRecord/Index.cshtml

@@ -67,7 +67,7 @@
                     <div class="layui-inline">
                         <label class="layui-form-label">业务类型</label>
                         <div class="layui-input-inline">
-                            <select id="BizType" name="BizType" lay-search="">
+                            <select id="BizTypeSelect" name="BizTypeSelect" lay-search="">
                                 <option value="">全部...</option>
                                 <option value="30">红包奖励</option>
                                 <option value="31">活动奖励</option>

+ 4 - 4
Areas/Admin/Views/MainServer/SysTools/CheckMachine.cshtml

@@ -43,13 +43,13 @@
                                             autocomplete="off" placeholder="请输入机具SN">
                                     </div>
                                 </div>
-                                <div class="layui-form-item">
+                                @* <div class="layui-form-item">
                                     <label class="layui-form-label">商户编号</label>
                                     <div class="layui-input-inline">
                                         <input class="layui-input" type="text" id="MerNo"
                                             name="MerNo" maxlength="50" autocomplete="off" placeholder="请输入商户编号">
                                     </div>
-                                </div>
+                                </div> *@
                                 <div class="layui-form-item">
                                     <label class="layui-form-label">补激活奖励</label>
                                     <div class="layui-input-block">
@@ -57,13 +57,13 @@
                                             lay-skin="switch" lay-filter="switchTest" title="开关">
                                     </div>
                                 </div>
-                                <div class="layui-form-item">
+                                @* <div class="layui-form-item">
                                     <label class="layui-form-label">是否预发机</label>
                                     <div class="layui-input-block">
                                         <input type="checkbox" id="IsPre" name="IsPre" value="1"
                                             lay-skin="switch" lay-filter="switchTest" title="开关">
                                     </div>
-                                </div>
+                                </div> *@
                                 <div class="layui-form-item">
                                     <label class="layui-form-label">是否推送消息</label>
                                     <div class="layui-input-block">

+ 229 - 0
Areas/Admin/Views/MainServer/SysTools/SeeMerchantTradeDetail.cshtml

@@ -0,0 +1,229 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+    
+}
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>查询商户达标明细</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+        <form class="layui-form" id="confirmFrm">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <div class="layui-tab" lay-filter="mytabbar">
+                        <ul class="layui-tab-title">
+                            <li class="layui-this" lay-id="1">基本信息</li>
+                        </ul>
+                        <div class="layui-tab-content mt20">
+                            <div class="layui-tab-item layui-show">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">机具SN</label>
+                                    <div class="layui-input-inline">
+                                        <input class="layui-input" type="text" id="PosSn"
+                                            name="PosSn" maxlength="50" lay-verify="required|"
+                                            autocomplete="off" placeholder="请输入机具SN">
+                                    </div>
+                                </div>
+                            </div>
+
+                        </div>
+                    </div>
+                    <div class="layui-form-item ml10">
+                        <div class="layui-input-block">
+                            <button type="button" class="layui-btn" onclick="save()">查询</button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+        function save() {
+            var index = layer.load(1, {
+                shade: [0.5, '#000']
+            });
+            var userdata = $("#confirmFrm").serialize();
+            $.ajax({
+                type: "POST",
+                url: "/Admin/SysTools/SeeMerchantTradeDetailDo?r=" + Math.random(1),
+                data: userdata,
+                dataType: "text",
+                success: function (data) {
+                    layer.close(index);
+                    layer.alert(data.replace(/\n/g, '<br />'), {area:['500px','550px']});
+                }
+            });
+        }
+        
+                    
+        //编辑器
+        KindEditor.ready(function (K) {
+            
+        });
+
+        var ids = "";
+        function getChildren(obj) {
+            $.each(obj, function (index, value) {
+                var id = obj[index].id;
+                ids += id + ",";
+                var children = obj[index].children;
+                if (children) {
+                    getChildren(children);
+                }
+            });
+        }
+
+        function AreasProvinceInit(tagId, areasVal, form) {
+            for (var i = 0; i < provs_data.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(provs_data[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
+            }
+            form.render();
+        }
+
+        function AreasProvinceSelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "City").html('<option value="">市</option>');
+            var list = citys_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasCitySelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            var list = dists_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasAreaSelected(tagId, form) {
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+        function movePrev(obj, tagId) {
+            $(obj).parent().prev().insertAfter($(obj).parent());
+            checkPics(tagId);
+        }
+        function moveNext(obj, tagId) {
+            $(obj).parent().next().insertBefore($(obj).parent());
+            checkPics(tagId);
+        }
+        function deletePic(obj, tagId) {
+            $(obj).parent().remove();
+            checkPics(tagId);
+        }
+        function checkPics(tagId) {
+            var pics = "";
+            var texts = "";
+            $("#" + tagId + "Image div img").each(function (i) {
+                pics += $(this).attr("src").replace(osshost, '') + "|";
+            });
+            $("#" + tagId + "Image div input").each(function (i) {
+                texts += $(this).val() + "|";
+            });
+            if (pics == "") {
+                $("#" + tagId).val("");
+            } else {
+                pics = pics.substring(0, pics.length - 1);
+                texts = texts.substring(0, pics.length - 1);
+                $("#" + tagId).val(pics + "#cut#" + texts);
+            }
+        }
+        function checkBox(tagId) {
+            var text = "";
+            $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
+                text += $(this).val() + ",";
+            });
+            $("#" + tagId).val(text);
+        }
+        function showBigPic(picpath) {
+            parent.layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                area: ['auto', 'auto'],
+                content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
+            });
+        }
+
+        
+        var tree;
+        var element;
+        var upload;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+        
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+    
+            //日期
+            
+
+            //上传文件
+            
+
+            //穿梭框
+            
+
+            //TreeView,比如权限管理
+            
+
+            //省市区
+            
+        })
+
+    </script>
+</body>
+</html>

+ 16 - 3
Areas/Admin/Views/MainServer/SysTools/TransferPos.cshtml

@@ -30,11 +30,18 @@
                         </ul>
                         <div class="layui-tab-content mt20">
                             <div class="layui-tab-item layui-show">
-                                <div class="layui-form-item">
+                                @* <div class="layui-form-item">
                                     <label class="layui-form-label">机具SN</label>
                                     <div class="layui-input-inline">
-                                        <input class="layui-input" type="text" id="PosSn" name="PosSn" maxlength="50"
-                                            lay-verify="required|" autocomplete="off" placeholder="请输入机具SN">
+                                    <input class="layui-input" type="text" id="PosSn" name="PosSn" maxlength="50"
+                                    lay-verify="required|" autocomplete="off" placeholder="请输入机具SN">
+                                    </div>
+                                    </div> *@
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">机具SN</label>
+                                    <div class="layui-input-block">
+                                        <textarea class="layui-textarea" lay-verify="required|" name="PosSn" id="PosSn"
+                                            placeholder="请输入机具SN,多个机具SN用回车隔开"></textarea>
                                     </div>
                                 </div>
                                 <div class="layui-form-item">
@@ -105,6 +112,12 @@
                                 }, function () {
                                     window.location.reload();
                                 });
+                            } else if (data.indexOf("Warning") == 0) {
+                                var datalist = data.split('|');
+                                layer.close(indexs); //关闭弹层
+                                layer.alert(datalist[1], { time: 20000 }, function () {
+                                    window.location.reload();
+                                });
                             } else {
                                 layer.close(indexs); //关闭弹层
                                 layer.msg(data);

+ 78 - 68
Areas/Admin/Views/MainServer/ToChargeBackRecord/Add.cshtml

@@ -1,82 +1,91 @@
 @{
     string RightInfo = ViewBag.RightInfo as string;
     string right = ViewBag.right as string;
-    
+
 }
 <!DOCTYPE html>
 <html>
+
 <head>
     <meta charset="utf-8">
     <title>待扣款明细(增加)</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <script src="/admin/js/LAreaData2.js"></script>
 </head>
+
 <body>
 
     <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
-        
+
         <div class="layui-card">
-          <div class="layui-card-body">
-            <div class="layui-tab" lay-filter="mytabbar">
-                <ul class="layui-tab-title">
-                    <li class="layui-this" lay-id="1">基本信息</li>
-                </ul>
-                <div class="layui-tab-content mt20">
-                    <div class="layui-tab-item layui-show">
-@{Dictionary<string, string> UsersDic = new MySystem.DictionaryClass().getUsersDic();}
-<div class="layui-form-item">
-<label class="layui-form-label">创客</label>
-<div class="layui-input-inline">
-<select id="UserId" name="UserId" lay-search="">
-<option value="">请选择</option>
-@foreach (string key in UsersDic.Keys)
-{
-<option value="@key">@UsersDic[key]</option>
-}
-</select>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">待扣金额</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount" maxlength="20" lay-verify="required|" autocomplete="off" placeholder="请输入待扣金额">
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">待扣类型</label>
-<div class="layui-input-inline">
-<select id="ChargeType" name="ChargeType" lay-search="">
-<option value="">请选择</option>
-<option value="1">过期机具扣款</option>
-<option value="2">人工预扣</option>
-</select>
-</div>
-</div>
-<div class="layui-form-item layui-form-text">
-<label class="layui-form-label">备注</label>
-<div class="layui-input-block">
-<textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500" lay-verify="" placeholder="请输入备注"></textarea>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">备用字段</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="Field1" name="Field1" maxlength="200" lay-verify="" autocomplete="off" placeholder="请输入备用字段">
-</div>
-</div>
-
-</div>
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            @{
+                                Dictionary<string, string> UsersDic = new MySystem.DictionaryClass().getUsersDic();
+                            }
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">创客</label>
+                                <div class="layui-input-inline">
+                                    <select id="UserId" name="UserId" lay-search="">
+                                        <option value="">请选择</option>
+                                        @foreach (string key in UsersDic.Keys)
+                                        {
+                                            <option value="@key">@UsersDic[key]</option>
+                                        }
+                                    </select>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">待扣金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount"
+                                        maxlength="20" lay-verify="required|" autocomplete="off" placeholder="请输入待扣金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">待扣类型</label>
+                                <div class="layui-input-inline">
+                                    <select id="ChargeType" name="ChargeType" lay-search="">
+                                        <option value="">请选择</option>
+                                        <option value="1">过期机具扣款</option>
+                                        <option value="2">人工预扣</option>
+                                    </select>
+                                </div>
+                            </div>
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500"
+                                        lay-verify="" placeholder="请输入备注"></textarea>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">备用字段</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="Field1" name="Field1" maxlength="200"
+                                        lay-verify="" autocomplete="off" placeholder="请输入备用字段">
+                                </div>
+                            </div>
 
+                        </div>
+
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
                 </div>
             </div>
-            <div class="layui-form-item layui-hide">
-                <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
-            </div>
-          </div>
         </div>
     </div>
 
@@ -85,11 +94,11 @@
     <script src="/other/mybjq/kindeditor-min.js"></script>
     <script src="/other/mybjq/lang/zh_CN.js"></script>
     <script>
-        
-                    
+
+
         //编辑器
         KindEditor.ready(function (K) {
-            
+
         });
 
         var ids = "";
@@ -195,7 +204,7 @@
             });
         }
 
-        
+
         var tree;
         var element;
         var upload;
@@ -215,30 +224,31 @@
             tree = layui.tree;
             element = layui.element;
             upload = layui.upload;
-        
+
             //Hash地址的定位
             var layid = location.hash.replace(/^#test=/, '');
             element.tabChange('test', layid);
             element.on('tab(test)', function (elem) {
                 location.hash = 'test=' + $(this).attr('lay-id');
             });
-    
+
             //日期
-            
+
 
             //上传文件
-            
+
 
             //穿梭框
-            
+
 
             //TreeView,比如权限管理
-            
+
 
             //省市区
-            
+
         })
 
     </script>
 </body>
+
 </html>

+ 69 - 70
Areas/Admin/Views/MainServer/ToChargeBackRecord/Edit.cshtml

@@ -1,87 +1,85 @@
 @using MySystem.Models;
-@{ToChargeBackRecord editData = ViewBag.data as ToChargeBackRecord;}
+@{
+    ToChargeBackRecord editData = ViewBag.data as ToChargeBackRecord;
+}
 @{
     string RightInfo = ViewBag.RightInfo as string;
     string right = ViewBag.right as string;
-    
+
 }
 <!DOCTYPE html>
 <html>
+
 <head>
     <meta charset="utf-8">
     <title>待扣款明细(修改)</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <script src="/admin/js/LAreaData2.js"></script>
 </head>
+
 <body>
 
     <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
         <input type="hidden" name="Id" value="@editData.Id" />
-        
+
         <div class="layui-card">
-          <div class="layui-card-body">
-            <div class="layui-tab" lay-filter="mytabbar">
-                <ul class="layui-tab-title">
-                    <li class="layui-this" lay-id="1">基本信息</li>
-                </ul>
-                <div class="layui-tab-content mt20">
-                    <div class="layui-tab-item layui-show">
-@{Dictionary<string, string> UsersDic = new MySystem.DictionaryClass().getUsersDic();}
-<div class="layui-form-item">
-<label class="layui-form-label">创客</label>
-<div class="layui-input-inline">
-<select id="UserId" name="UserId" lay-search="">
-<option value="">请选择</option>
-@foreach (string key in UsersDic.Keys)
-{
-<option value="@key">@UsersDic[key]</option>
-}
-</select>
-<script>$("#UserId").val("@editData.UserId");</script>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">待扣金额</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount" value="@editData.ChargeAmount" maxlength="20" lay-verify="required|" autocomplete="off" placeholder="请输入待扣金额">
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">待扣类型</label>
-<div class="layui-input-inline">
-<select id="ChargeType" name="ChargeType" lay-search="">
-<option value="">请选择</option>
-<option value="1">过期机具扣款</option>
-<option value="2">人工预扣</option>
-</select>
-<script>$("#ChargeType").val("@editData.ChargeType");</script>
-</div>
-</div>
-<div class="layui-form-item layui-form-text">
-<label class="layui-form-label">备注</label>
-<div class="layui-input-block">
-<textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500" lay-verify="" placeholder="请输入备注">@editData.Remark</textarea>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">备用字段</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="Field1" name="Field1" value="@editData.Field1" maxlength="200" lay-verify="" autocomplete="off" placeholder="请输入备用字段">
-</div>
-</div>
-
-</div>
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">创客编号</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount" readonly
+                                        value="@ViewBag.MakerCode" maxlength="20" lay-verify="required|"
+                                        autocomplete="off" placeholder="请输入待扣金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">待扣金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount"
+                                        value="@editData.ChargeAmount" maxlength="20" lay-verify="required|"
+                                        autocomplete="off" placeholder="请输入待扣金额">
+                                </div>
+                            </div>
+                            @* <div class="layui-form-item">
+                                <label class="layui-form-label">待扣类型</label>
+                                <div class="layui-input-inline">
+                                    <select id="ChargeType" name="ChargeType" lay-search="" readonly>
+                                        <option value="">请选择</option>
+                                        <option value="124">过期机具扣款</option>
+                                        <option value="1">普通预扣</option>
+                                        <option value="2">分期扣款</option>
+                                    </select>
+                                    <script>$("#ChargeType").val("@editData.ChargeType");</script>
+                                </div>
+                            </div> *@
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="SeoDescription" name="SeoDescription" maxlength="500"
+                                        lay-verify="" placeholder="请输入备注">@editData.SeoDescription</textarea>
+                                </div>
+                            </div>
+
+                        </div>
 
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
                 </div>
             </div>
-            <div class="layui-form-item layui-hide">
-                <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
-            </div>
-          </div>
         </div>
     </div>
 
@@ -90,11 +88,11 @@
     <script src="/other/mybjq/kindeditor-min.js"></script>
     <script src="/other/mybjq/lang/zh_CN.js"></script>
     <script>
-        
-        
+
+
         //编辑器
         KindEditor.ready(function (K) {
-            
+
         });
 
         var ids = "";
@@ -219,30 +217,31 @@
             tree = layui.tree;
             element = layui.element;
             upload = layui.upload;
-        
+
             //Hash地址的定位
             var layid = location.hash.replace(/^#test=/, '');
             element.tabChange('test', layid);
             element.on('tab(test)', function (elem) {
                 location.hash = 'test=' + $(this).attr('lay-id');
             });
-    
+
             //日期
-            
+
 
             //上传文件
-            
+
 
             //穿梭框
-            
+
 
             //TreeView,比如权限管理
-            
+
 
             //省市区
-            
+
         })
 
     </script>
 </body>
+
 </html>

+ 27 - 10
Areas/Admin/Views/MainServer/ToChargeBackRecord/Index.cshtml

@@ -70,17 +70,20 @@
                                 <option value="">全部...</option>
                                 <option value="0">待扣款</option>
                                 <option value="1">已扣款</option>
+                                <option value="3">暂停扣款</option>
                                 <option value="2">已退还</option>
                             </select>
                         </div>
                     </div>
+                    @* 创客编号、创客姓名、手机号、创建时间、扣款金额、扣款时间、扣款状态(待扣款/已扣款/暂停扣款)、备注、操作人、操作(暂停/恢复扣款、删除、修改预扣金额) *@
                     <div class="layui-inline">
                         <label class="layui-form-label">待扣类型</label>
                         <div class="layui-input-inline">
                             <select id="ChargeTypeSelect" name="ChargeTypeSelect" lay-search="">
                                 <option value="">全部...</option>
                                 <option value="124">过期机具扣款</option>
-                                @* <option value="2">人工预扣</option> *@
+                                <option value="1">创客预扣款</option>
+                                <option value="2">分期预扣款</option>
                             </select>
                         </div>
                     </div>
@@ -115,30 +118,43 @@
                     }
                     @if (RightInfo.Contains("," + right + "_import,"))
                     {
-                        <button class="layui-btn" data-type="ImportData"><i
-                            class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>机具扣款退还</button>
+                        <button class="layui-btn" data-type="ChargeImport"><i
+                            class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>导入预扣信息</button>
+
+                        @* <button class="layui-btn" data-type="ImportData"><i
+                            class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>机具扣款退还</button> *@
                     }
                     @* @if (RightInfo.Contains("," + right + "_import,"))
-                    {
+                        {
                         <button class="layui-btn" data-type="ImportDatas"><i
-                            class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>机具回收确认退还</button>
-                    } *@
+                        class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>机具回收确认退还</button>
+                        } *@
                 </div>
 
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
                 <script type="text/html" id="table-list-tools">
                     @if (RightInfo.Contains("," + right + "_edit,"))
                     {
+                        @("{{#if (d.ChargeType != 2){ }}")
                         <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+                        @("{{#} }}")
                     }
                     @if (RightInfo.Contains("," + right + "_delete,"))
                     {
+                        @("{{#if (d.Status == 0 || d.Status == 3){ }}")
                         <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
+                        @("{{#} }}")
                     }
-                    @if (RightInfo.Contains("," + right + "_edit,"))
+                    @if (RightInfo.Contains("," + right + "_BreakOrStart,"))
                     {
-
+                        @("{{#if (d.Status == 0){ }}")
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Break"><i class="layui-icon layui-icon-edit"></i>暂停扣款</a>
+                        @("{{#} }}")
+                        @("{{#if (d.Status == 3){ }}")
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Start"><i class="layui-icon layui-icon-edit"></i>恢复扣款</a>
+                        @("{{#} }}")
                     }
+
                 </script>
             </div>
         </div>
@@ -163,13 +179,14 @@
         </div>
         <div class="layui-form-item ml10">
             <div class="layui-input-block">
-                <button type="button" class="layui-btn" onclick="ConfirmImport()">立即导入</button>
+                <button type="button" class="layui-btn" onclick="ConfirmChargeImport()">立即导入</button>
             </div>
         </div>
     </div>
 
     <script src="/layuiadmin/layui/layui.js"></script>
-    <script src="/layuiadmin/modules_main/ToChargeBackRecord_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script
+        src="/layuiadmin/modules_main/ToChargeBackRecord_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
     <script>
 
     </script>

+ 243 - 0
Areas/Admin/Views/MainServer/ToChargeBackRecordSub/Add.cshtml

@@ -0,0 +1,243 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+    string ParentId = ViewBag.ParentId as string;
+
+}
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>待扣款明细(增加)</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+        <input type="hidden" name="ParentId" value="@ParentId" />
+
+        <div class="layui-card">
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">待扣金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount"
+                                        maxlength="20" lay-verify="required|" autocomplete="off" placeholder="请输入待扣金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500"
+                                        lay-verify="" placeholder="请输入备注"></textarea>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">扣款开始时间</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="StartDate" name="StartDate" lay-verify=""
+                                        autocomplete="off" placeholder="请输入扣款开始时间">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">期数</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="TimeNumber" name="TimeNumber"
+                                        maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入期数">
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+
+
+        //编辑器
+        KindEditor.ready(function (K) {
+
+        });
+
+        var ids = "";
+        function getChildren(obj) {
+            $.each(obj, function (index, value) {
+                var id = obj[index].id;
+                ids += id + ",";
+                var children = obj[index].children;
+                if (children) {
+                    getChildren(children);
+                }
+            });
+        }
+
+        function AreasProvinceInit(tagId, areasVal, form) {
+            for (var i = 0; i < provs_data.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(provs_data[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
+            }
+            form.render();
+        }
+
+        function AreasProvinceSelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "City").html('<option value="">市</option>');
+            var list = citys_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasCitySelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            var list = dists_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasAreaSelected(tagId, form) {
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+        function movePrev(obj, tagId) {
+            $(obj).parent().prev().insertAfter($(obj).parent());
+            checkPics(tagId);
+        }
+        function moveNext(obj, tagId) {
+            $(obj).parent().next().insertBefore($(obj).parent());
+            checkPics(tagId);
+        }
+        function deletePic(obj, tagId) {
+            $(obj).parent().remove();
+            checkPics(tagId);
+        }
+        function checkPics(tagId) {
+            var pics = "";
+            var texts = "";
+            $("#" + tagId + "Image div img").each(function (i) {
+                pics += $(this).attr("src").replace(osshost, '') + "|";
+            });
+            $("#" + tagId + "Image div input").each(function (i) {
+                texts += $(this).val() + "|";
+            });
+            if (pics == "") {
+                $("#" + tagId).val("");
+            } else {
+                pics = pics.substring(0, pics.length - 1);
+                texts = texts.substring(0, pics.length - 1);
+                $("#" + tagId).val(pics + "#cut#" + texts);
+            }
+        }
+        function checkBox(tagId) {
+            var text = "";
+            $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
+                text += $(this).val() + ",";
+            });
+            $("#" + tagId).val(text);
+        }
+        function showBigPic(picpath) {
+            parent.layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                area: ['auto', 'auto'],
+                content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
+            });
+        }
+
+
+        var tree;
+        var element;
+        var upload;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+
+            //日期
+            laydate.render({
+                elem: '#StartDate',
+                type: 'datetime',
+                trigger: 'click'
+            });
+
+
+            //上传文件
+
+
+            //穿梭框
+
+
+            //TreeView,比如权限管理
+
+
+            //省市区
+
+        })
+
+    </script>
+</body>
+
+</html>

+ 250 - 0
Areas/Admin/Views/MainServer/ToChargeBackRecordSub/Edit.cshtml

@@ -0,0 +1,250 @@
+@using MySystem.Models;
+@{
+    ToChargeBackRecordSub editData = ViewBag.data as ToChargeBackRecordSub;
+}
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+    string ParentId = ViewBag.ParentId as string;
+
+}
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>待扣款明细(修改)</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+        <input type="hidden" name="Id" value="@editData.Id" />
+        <input type="hidden" name="ParentId" value="@ParentId" />
+
+        <div class="layui-card">
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">待扣金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount"
+                                        value="@editData.ChargeAmount" maxlength="20" lay-verify="required|"
+                                        autocomplete="off" placeholder="请输入待扣金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500"
+                                        lay-verify="" placeholder="请输入备注">@editData.Remark</textarea>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">扣款开始时间</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="StartDate" name="StartDate" readonly
+                                        value="@(editData.StartDate == null ? "" : editData.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss"))"
+                                        lay-verify="" autocomplete="off" placeholder="请输入扣款开始时间">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">期数</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="TimeNumber" name="TimeNumber"
+                                        value="@editData.TimeNumber" maxlength="20" lay-verify="" autocomplete="off" readonly
+                                        placeholder="请输入期数">
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+
+
+        //编辑器
+        KindEditor.ready(function (K) {
+
+        });
+
+        var ids = "";
+        function getChildren(obj) {
+            $.each(obj, function (index, value) {
+                var id = obj[index].id;
+                ids += id + ",";
+                var children = obj[index].children;
+                if (children) {
+                    getChildren(children);
+                }
+            });
+        }
+
+        function AreasProvinceInit(tagId, areasVal, form) {
+            for (var i = 0; i < provs_data.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(provs_data[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
+            }
+            form.render();
+        }
+
+        function AreasProvinceSelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "City").html('<option value="">市</option>');
+            var list = citys_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasCitySelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            var list = dists_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasAreaSelected(tagId, form) {
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+        function movePrev(obj, tagId) {
+            $(obj).parent().prev().insertAfter($(obj).parent());
+            checkPics(tagId);
+        }
+        function moveNext(obj, tagId) {
+            $(obj).parent().next().insertBefore($(obj).parent());
+            checkPics(tagId);
+        }
+        function deletePic(obj, tagId) {
+            $(obj).parent().remove();
+            checkPics(tagId);
+        }
+        function checkPics(tagId) {
+            var pics = "";
+            var texts = "";
+            $("#" + tagId + "Image div img").each(function (i) {
+                pics += $(this).attr("src").replace(osshost, '') + "|";
+            });
+            $("#" + tagId + "Image div input").each(function (i) {
+                texts += $(this).val() + "|";
+            });
+            if (pics == "") {
+                $("#" + tagId).val("");
+            } else {
+                pics = pics.substring(0, pics.length - 1);
+                texts = texts.substring(0, pics.length - 1);
+                $("#" + tagId).val(pics + "#cut#" + texts);
+            }
+        }
+        function checkBox(tagId) {
+            var text = "";
+            $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
+                text += $(this).val() + ",";
+            });
+            $("#" + tagId).val(text);
+        }
+        function showBigPic(picpath) {
+            parent.layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                area: ['auto', 'auto'],
+                content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
+            });
+        }
+
+        var tree;
+        var element;
+        var upload;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+
+            //日期
+            laydate.render({
+                elem: '#StartDate',
+                type: 'datetime',
+                trigger: 'click'
+            });
+
+
+            //上传文件
+
+
+            //穿梭框
+
+
+            //TreeView,比如权限管理
+
+
+            //省市区
+
+        })
+
+    </script>
+</body>
+
+</html>

+ 159 - 0
Areas/Admin/Views/MainServer/ToChargeBackRecordSub/Index.cshtml

@@ -0,0 +1,159 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+    string ParentId = ViewBag.ParentId as string;
+
+}
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>待扣款明细</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <style>
+        .layui-input-inline {
+            width: 175px !important;
+        }
+
+        .layui-form-label {
+            width: 85px !important;
+        }
+
+        .layui-inline {
+            margin-right: 0px !important;
+        }
+
+        .w100 {
+            width: 100px !important;
+        }
+
+        .ml50 {
+            margin-left: 50px !important;
+        }
+    </style>
+</head>
+
+<body>
+    <div class="layui-fluid">
+        <div class="layui-card">
+            <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+                <div class="layui-form-item">
+                    <div class="layui-inline">
+                        <label class="layui-form-label">分期单号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="OrderNo" placeholder="" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">创建时间</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate"
+                                placeholder="" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">扣款状态</label>
+                        <div class="layui-input-inline">
+                            <select id="StatusSelect" name="StatusSelect" lay-search="">
+                                <option value="">全部...</option>
+                                <option value="0">待扣款</option>
+                                <option value="2">扣款中</option>
+                                <option value="1">已扣款</option>
+                            </select>
+                        </div>
+                    </div>
+                    <div class="layui-inline ml50">
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
+                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>查询
+                        </button>
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-searchall">
+                            <i class="layui-icon layui-icon-list layuiadmin-button-btn"></i>全部
+                        </button>
+                    </div>
+                </div>
+            </div>
+
+            <div class="layui-card-body">
+                <div style="padding-bottom: 10px;">
+                    @if (RightInfo.Contains("," + right + "_add,"))
+                    {
+                        <button class="layui-btn" data-type="add"><i
+                            class="layui-icon layui-icon-add-1 layuiadmin-button-btn"></i>添加</button>
+                    }
+                    @* @if (RightInfo.Contains("," + right + "_delete,"))
+                    {
+                        <button class="layui-btn" data-type="batchdel"><i
+                            class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除</button>
+                    } *@
+                    @* @if (RightInfo.Contains("," + right + "_edit,"))
+                    {
+                        <button class="layui-btn" data-type="ExportExcel"><i
+                            class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出</button>
+
+                    } *@
+                </div>
+
+                <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
+                <script type="text/html" id="table-list-tools">
+                    @if (RightInfo.Contains("," + right + "_edit,"))
+                    {
+                        @("{{#if ( d.Status == 0){ }}")
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+                        @("{{#} }}")
+                    }
+                    @* @if (RightInfo.Contains("," + right + "_delete,"))
+                    {
+                        @("{{#if ( d.Status == 0){ }}")
+                        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
+                        @("{{#} }}")
+                    } *@
+                    @if (RightInfo.Contains("," + right + "_edit,"))
+                    {
+
+                    }
+                </script>
+            </div>
+        </div>
+    </div>
+    <div id="excelForm" style="display:none; padding:20px;">
+        <div class="layui-tab-item layui-show">
+            <div class="layui-form-item">
+                <label class="layui-form-label">模板下载</label>
+                <div class="layui-form-mid layui-word-aux" id="excelTemp">
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">excel文件</label>
+                <div class="layui-form-mid layui-word-aux">
+                    <div class="layui-upload">
+                        <input type="file" id="ExcelFile" name="ExcelFile" value="">
+                    </div>
+                    <div class="mt10" id="ExcelFileList">
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item ml10">
+            <div class="layui-input-block">
+                <button type="button" class="layui-btn" onclick="ConfirmImport()">立即导入</button>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script
+        src="/layuiadmin/modules_main/ToChargeBackRecordSub_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script>
+        var ParentId = '@ParentId';
+
+    </script>
+</body>
+
+</html>

+ 390 - 0
Areas/Admin/Views/MainServer/ToChargeByStage/Add.cshtml

@@ -0,0 +1,390 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+}
+
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>分期扣款信息(增加)</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+
+        <div class="layui-card">
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">创客编号</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="MakerCode" name="MakerCode"
+                                        maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入创客编号">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">创客姓名</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="MakerName" name="MakerName"
+                                        maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入创客姓名">
+                                </div>
+                            </div>
+                            @* <div class="layui-form-item">
+                                <label class="layui-form-label">待扣金额</label>
+                                <div class="layui-input-inline">
+                                <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount"
+                                maxlength="20" lay-verify="required|" autocomplete="off" placeholder="请输入待扣金额">
+                                </div>
+                                </div> *@
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500"
+                                        lay-verify="" placeholder="请输入备注"></textarea>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">扣款开始时间</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="StartDate" name="StartDate" lay-verify=""
+                                        autocomplete="off" placeholder="请输入扣款开始时间">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">扣款总金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="TotalAmount" name="TotalAmount"
+                                        oninput="OnInput()" maxlength="20" lay-verify="" autocomplete="off"
+                                        placeholder="请输入扣款总金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">期数</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="number" id="TimeNumber" name="TimeNumber"
+                                        onkeyup="CheckTimeNumber(this)" maxlength="50" lay-verify="" autocomplete="off"
+                                        placeholder="请输入期数">
+                                </div>
+                            </div>
+                            <div id="SubList">
+                            </div>
+                        </div>
+
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+
+        function ChangeInfo() {
+            var userdata = $("#confirmFrm").serialize();
+            $.ajax({
+                type: "POST",
+                url: "/Admin/ToChargeBackRecord/ChangeInfoDo?r=" + Math.random(1),
+                data: "userdata",
+                dataType: "text",
+                success: function (data) {
+                    layer.close(index);
+                    layer.alert(data.replace(/\n/g, '<br />'), { area: ['700px', '750px'] });
+                }
+            });
+        }
+
+        function OnInput() {
+            @* $('#TimeNumber').val(''); *@
+            $("#SubList").html("");
+            var totalAmount = $('#TotalAmount').val();//扣款总金额
+            count = $('#TimeNumber').val();
+            if (count > 12) {
+                layer.msg('最多可分12期');
+                obj.value = '';
+                $("#SubList").html("");
+                return;
+            }
+            chargeAmount = (totalAmount / count).toFixed(2);
+            leave = (totalAmount - (chargeAmount * count)).toFixed(2);
+            leaveAmount = ((chargeAmount * 100 + leave * 100) / 100).toFixed(2);
+            num = 0;
+            nums = 0;
+            var html = '';
+            for (var i = 0; i < count; i++) {
+                num = num + 1;
+                numInfo = "第" + num + "期";
+                html += '<div class="layui-form-item">' +
+                    '<label class="layui-form-label"> ' + numInfo + '</label >' +
+                    '<div class="layui-input-inline">' +
+                    '<input class="layui-input" type="text" id="ChargeAmounts' + num + '" name="ChargeAmounts" maxlength="50" lay-verify="" autocomplete="off" placeholder="" readonly>' +
+                    '</div>' +
+                    '<label class="layui-form-label">扣款开始时间</label>' +
+                    '<div class="layui-input-inline"><input class="layui-input" type="text" id="StartDates' + num + '" name="StartDates"lay-verify="" autocomplete="off" placeholder="请输入扣款开始时间"></div>' +
+                    '</div >';
+            }
+            $('#SubList').html(html);
+            for (var i = 0; i < count; i++) {
+                nums = nums + 1;
+                if (nums < count) {
+                    $('#ChargeAmounts' + nums).val(chargeAmount);
+                }
+                else {
+                    $('#ChargeAmounts' + nums).val(leaveAmount);
+                }
+                var time = $('#StartDate').val() + '-20 00:00:00';
+
+                var dateTime = new Date(time);
+                dateTime = dateTime.setMonth(dateTime.getMonth() + nums - 1);
+                dateTime = new Date(dateTime);
+
+                laydate.render({
+                    elem: '#StartDates' + nums,
+                    type: 'datetime',
+                    trigger: 'click',
+                    value: dateTime
+                });
+            }
+            form.render();
+        }
+
+        function CheckTimeNumber(obj) {
+            var totalAmount = $('#TotalAmount').val();//扣款总金额
+            count = obj.value;
+            if (count > 12) {
+                layer.msg('最多可分12期');
+                obj.value = '';
+                $("#SubList").html("");
+                return;
+            }
+            chargeAmount = (totalAmount / count).toFixed(2);
+            leave = (totalAmount - (chargeAmount * count)).toFixed(2);
+            leaveAmount = ((chargeAmount * 100 + leave * 100) / 100).toFixed(2);
+            console.log(chargeAmount);
+            console.log(leave);
+            console.log(leaveAmount);
+            num = 0;
+            nums = 0;
+            var html = '';
+            for (var i = 0; i < count; i++) {
+                num = num + 1;
+                numInfo = "第" + num + "期";
+                html += '<div class="layui-form-item">' +
+                    '<label class="layui-form-label"> ' + numInfo + '</label >' +
+                    '<div class="layui-input-inline">' +
+                    '<input class="layui-input" type="text" id="ChargeAmounts' + num + '" name="ChargeAmounts" maxlength="50" lay-verify="" autocomplete="off" placeholder="" readonly>' +
+                    '</div>' +
+                    '<label class="layui-form-label">扣款开始时间</label>' +
+                    '<div class="layui-input-inline"><input class="layui-input" type="text" id="StartDates' + num + '" name="StartDates"lay-verify="" autocomplete="off" placeholder="请输入扣款开始时间"></div>' +
+                    '</div >';
+            }
+            $('#SubList').html(html);
+            for (var i = 0; i < count; i++) {
+                nums = nums + 1;
+                if (nums < count) {
+                    $('#ChargeAmounts' + nums).val(chargeAmount);
+                }
+                else {
+                    $('#ChargeAmounts' + nums).val(leaveAmount);
+                }
+                var time = $('#StartDate').val() + '-20 00:00:00';
+
+                var dateTime = new Date(time);
+                dateTime = dateTime.setMonth(dateTime.getMonth() + nums - 1);
+                dateTime = new Date(dateTime);
+
+                laydate.render({
+                    elem: '#StartDates' + nums,
+                    type: 'datetime',
+                    trigger: 'click',
+                    value: dateTime
+                });
+            }
+            form.render();
+        }
+
+
+        //编辑器
+        KindEditor.ready(function (K) {
+
+        });
+
+        var ids = "";
+        function getChildren(obj) {
+            $.each(obj, function (index, value) {
+                var id = obj[index].id;
+                ids += id + ",";
+                var children = obj[index].children;
+                if (children) {
+                    getChildren(children);
+                }
+            });
+        }
+
+        function AreasProvinceInit(tagId, areasVal, form) {
+            for (var i = 0; i < provs_data.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(provs_data[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
+            }
+            form.render();
+        }
+
+        function AreasProvinceSelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "City").html('<option value="">市</option>');
+            var list = citys_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasCitySelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            var list = dists_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasAreaSelected(tagId, form) {
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+        function movePrev(obj, tagId) {
+            $(obj).parent().prev().insertAfter($(obj).parent());
+            checkPics(tagId);
+        }
+        function moveNext(obj, tagId) {
+            $(obj).parent().next().insertBefore($(obj).parent());
+            checkPics(tagId);
+        }
+        function deletePic(obj, tagId) {
+            $(obj).parent().remove();
+            checkPics(tagId);
+        }
+        function checkPics(tagId) {
+            var pics = "";
+            var texts = "";
+            $("#" + tagId + "Image div img").each(function (i) {
+                pics += $(this).attr("src").replace(osshost, '') + "|";
+            });
+            $("#" + tagId + "Image div input").each(function (i) {
+                texts += $(this).val() + "|";
+            });
+            if (pics == "") {
+                $("#" + tagId).val("");
+            } else {
+                pics = pics.substring(0, pics.length - 1);
+                texts = texts.substring(0, pics.length - 1);
+                $("#" + tagId).val(pics + "#cut#" + texts);
+            }
+        }
+        function checkBox(tagId) {
+            var text = "";
+            $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
+                text += $(this).val() + ",";
+            });
+            $("#" + tagId).val(text);
+        }
+        function showBigPic(picpath) {
+            parent.layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                area: ['auto', 'auto'],
+                content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
+            });
+        }
+
+
+        var tree;
+        var element;
+        var upload;
+        var laydate;
+        var form;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            form = layui.form;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+            laydate = layui.laydate;
+
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+
+            //日期
+            laydate.render({
+                elem: '#StartDate',
+                type: 'month',
+                trigger: 'click'
+            });
+
+
+            //上传文件
+
+
+            //穿梭框
+
+
+            //TreeView,比如权限管理
+
+
+            //省市区
+
+        })
+
+    </script>
+</body>
+
+</html>

+ 264 - 0
Areas/Admin/Views/MainServer/ToChargeByStage/Edit.cshtml

@@ -0,0 +1,264 @@
+@using MySystem.Models;
+@{
+    ToChargeByStage editData = ViewBag.data as ToChargeByStage;
+}
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+
+}
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>分期扣款信息(修改)</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <script src="/admin/js/LAreaData2.js"></script>
+</head>
+
+<body>
+
+    <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
+        <input type="hidden" name="Id" value="@editData.Id" />
+
+        <div class="layui-card">
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">创客</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="UserId" name="UserId"
+                                        value="@editData.UserId" maxlength="20" lay-verify="" autocomplete="off" readonly
+                                        placeholder="请输入创客">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">已扣金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount" readonly
+                                        value="@editData.ChargeAmount" maxlength="20" lay-verify="required|"
+                                        autocomplete="off" placeholder="请输入已扣金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500"
+                                        lay-verify="" placeholder="请输入备注">@editData.Remark</textarea>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">扣款开始时间</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="StartDate" name="StartDate"
+                                        value="@(editData.StartDate == null ? "" : editData.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss"))"
+                                        lay-verify="" autocomplete="off" placeholder="请输入扣款开始时间">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">期数</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="TimeNumber" name="TimeNumber"
+                                        value="@editData.TimeNumber" maxlength="20" lay-verify="" autocomplete="off" readonly
+                                        placeholder="请输入期数">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">扣款总金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="TotalAmount" name="TotalAmount"
+                                        value="@editData.TotalAmount" maxlength="20" lay-verify="" autocomplete="off" readonly
+                                        placeholder="请输入扣款总金额">
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js"></script>
+    <script src="/other/mybjq/kindeditor-min.js"></script>
+    <script src="/other/mybjq/lang/zh_CN.js"></script>
+    <script>
+
+
+        //编辑器
+        KindEditor.ready(function (K) {
+
+        });
+
+        var ids = "";
+        function getChildren(obj) {
+            $.each(obj, function (index, value) {
+                var id = obj[index].id;
+                ids += id + ",";
+                var children = obj[index].children;
+                if (children) {
+                    getChildren(children);
+                }
+            });
+        }
+
+        function AreasProvinceInit(tagId, areasVal, form) {
+            for (var i = 0; i < provs_data.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(provs_data[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
+            }
+            form.render();
+        }
+
+        function AreasProvinceSelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "City").html('<option value="">市</option>');
+            var list = citys_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasCitySelected(tagId, areasVal, form, value) {
+            $("#" + tagId + "Area").html('<option value="">县/区</option>');
+            var list = dists_data[value];
+            for (var i = 0; i < list.length; i++) {
+                var sel = "";
+                if (areasVal.indexOf(list[i].text) > -1) {
+                    sel = " selected=selected";
+                }
+                $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
+            }
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+
+        function AreasAreaSelected(tagId, form) {
+            form.render();
+            $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
+        }
+        function movePrev(obj, tagId) {
+            $(obj).parent().prev().insertAfter($(obj).parent());
+            checkPics(tagId);
+        }
+        function moveNext(obj, tagId) {
+            $(obj).parent().next().insertBefore($(obj).parent());
+            checkPics(tagId);
+        }
+        function deletePic(obj, tagId) {
+            $(obj).parent().remove();
+            checkPics(tagId);
+        }
+        function checkPics(tagId) {
+            var pics = "";
+            var texts = "";
+            $("#" + tagId + "Image div img").each(function (i) {
+                pics += $(this).attr("src").replace(osshost, '') + "|";
+            });
+            $("#" + tagId + "Image div input").each(function (i) {
+                texts += $(this).val() + "|";
+            });
+            if (pics == "") {
+                $("#" + tagId).val("");
+            } else {
+                pics = pics.substring(0, pics.length - 1);
+                texts = texts.substring(0, pics.length - 1);
+                $("#" + tagId).val(pics + "#cut#" + texts);
+            }
+        }
+        function checkBox(tagId) {
+            var text = "";
+            $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
+                text += $(this).val() + ",";
+            });
+            $("#" + tagId).val(text);
+        }
+        function showBigPic(picpath) {
+            parent.layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                area: ['auto', 'auto'],
+                content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
+            });
+        }
+
+        var tree;
+        var element;
+        var upload;
+        layui.config({
+            base: '/layuiadmin/' //静态资源所在路径
+        }).extend({
+            index: 'lib/index' //主入口模块
+        }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
+            var $ = layui.$
+                , form = layui.form
+                , layer = layui.layer
+                , layedit = layui.layedit
+                , laydate = layui.laydate
+                , croppers = layui.croppers
+                , transfer = layui.transfer
+                , util = layui.util;
+            tree = layui.tree;
+            element = layui.element;
+            upload = layui.upload;
+
+            //Hash地址的定位
+            var layid = location.hash.replace(/^#test=/, '');
+            element.tabChange('test', layid);
+            element.on('tab(test)', function (elem) {
+                location.hash = 'test=' + $(this).attr('lay-id');
+            });
+
+            //日期
+            laydate.render({
+                elem: '#StartDate',
+                type: 'datetime',
+                trigger: 'click'
+            });
+
+
+            //上传文件
+
+
+            //穿梭框
+
+
+            //TreeView,比如权限管理
+
+
+            //省市区
+
+        })
+
+    </script>
+</body>
+
+</html>

+ 172 - 0
Areas/Admin/Views/MainServer/ToChargeByStage/Index.cshtml

@@ -0,0 +1,172 @@
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+
+}
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>分期扣款信息</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <style>
+        .layui-input-inline {
+            width: 175px !important;
+        }
+
+        .layui-form-label {
+            width: 85px !important;
+        }
+
+        .layui-inline {
+            margin-right: 0px !important;
+        }
+
+        .w100 {
+            width: 100px !important;
+        }
+
+        .ml50 {
+            margin-left: 50px !important;
+        }
+    </style>
+</head>
+
+<body>
+    <div class="layui-fluid">
+        <div class="layui-card">
+            <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+                <div class="layui-form-item">
+                    @* <div class="layui-inline">
+                        <label class="layui-form-label">创客</label>
+                        <div class="layui-input-inline w100">
+                            <input class="layui-input" type="text" name="sUserId" id="sUserId" placeholder=""
+                                autocomplete="off">
+                        </div>
+                        <div class="layui-form-mid">-</div>
+                        <div class="layui-input-inline w100">
+                            <input class="layui-input" type="text" name="eUserId" id="eUserId" placeholder=""
+                                autocomplete="off">
+                        </div>
+                    </div> *@
+                    <div class="layui-inline">
+                        <label class="layui-form-label">创客编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="MakerCode" placeholder="" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">创客姓名</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="SeoTitle" placeholder="" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">扣款状态</label>
+                        <div class="layui-input-inline">
+                            <select id="StatusSelect" name="StatusSelect" lay-search="">
+                                <option value="">全部...</option>
+                                <option value="0">待扣款</option>
+                                <option value="2">扣款中</option>
+                                <option value="1">已扣款</option>
+                            </select>
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">创建时间</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate"
+                                placeholder="" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline ml50">
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
+                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>查询
+                        </button>
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-searchall">
+                            <i class="layui-icon layui-icon-list layuiadmin-button-btn"></i>全部
+                        </button>
+                    </div>
+                </div>
+            </div>
+
+            <div class="layui-card-body">
+                <div style="padding-bottom: 10px;">
+                    @if (RightInfo.Contains("," + right + "_add,"))
+                    {
+                        <button class="layui-btn" data-type="add"><i
+                            class="layui-icon layui-icon-add-1 layuiadmin-button-btn"></i>添加</button>
+                    }
+                    @* @if (RightInfo.Contains("," + right + "_delete,"))
+                    {
+                        <button class="layui-btn" data-type="batchdel"><i
+                            class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除</button>
+                    } *@
+                    @* @if (RightInfo.Contains("," + right + "_edit,"))
+                    {
+                        <button class="layui-btn" data-type="ExportExcel"><i
+                            class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出</button>
+
+                    } *@
+                </div>
+
+                <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
+                <script type="text/html" id="table-list-tools">
+                    @* @if (RightInfo.Contains("," + right + "_edit,"))
+                    {
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+                    } *@
+                    @if (RightInfo.Contains("," + right + "_delete,"))
+                    {
+                        @("{{#if (d.QueryCount == 0){ }}")
+                        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
+                        @("{{#} }}")
+                    }
+                    @if (RightInfo.Contains("," + right + "_edit,"))
+                    {
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-href="/Admin/ToChargeBackRecordSub/Index?right=@right&ParentId=@("{{d.Id}}")">待扣款明细</a>
+                    }
+                </script>
+            </div>
+        </div>
+    </div>
+    <div id="excelForm" style="display:none; padding:20px;">
+        <div class="layui-tab-item layui-show">
+            <div class="layui-form-item">
+                <label class="layui-form-label">模板下载</label>
+                <div class="layui-form-mid layui-word-aux" id="excelTemp">
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">excel文件</label>
+                <div class="layui-form-mid layui-word-aux">
+                    <div class="layui-upload">
+                        <input type="file" id="ExcelFile" name="ExcelFile" value="">
+                    </div>
+                    <div class="mt10" id="ExcelFileList">
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item ml10">
+            <div class="layui-input-block">
+                <button type="button" class="layui-btn" onclick="ConfirmImport()">立即导入</button>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/layuiadmin/modules_main/ToChargeByStage_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script>
+
+    </script>
+</body>
+
+</html>

+ 1 - 2
Areas/Admin/Views/MainServer/UserAccount/CloseRemark.cshtml

@@ -35,8 +35,7 @@
                             <div class="layui-form-item layui-form-text">
                                 <label class="layui-form-label">账户冻结备注</label>
                                 <div class="layui-input-block">
-                                    <textarea class="layui-textarea" id="SeoDescription" name="SeoDescription"
-                                        maxlength="128" lay-verify=""
+                                    <textarea class="layui-textarea" id="SeoDescription" name="SeoDescription" lay-verify=""
                                         placeholder="请输入账户冻结备注">@editData.SeoDescription</textarea>
                                 </div>
                             </div>

+ 31 - 18
Areas/Admin/Views/MainServer/UserAccount/Index.cshtml

@@ -7,33 +7,40 @@
 }
 <!DOCTYPE html>
 <html>
+
 <head>
     <meta charset="utf-8">
     <title>创客账户</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="viewport"
+        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <style>
-        .layui-input-inline{
+        .layui-input-inline {
             width: 175px !important;
         }
-        .layui-form-label{
+
+        .layui-form-label {
             width: 85px !important;
         }
-        .layui-inline{
+
+        .layui-inline {
             margin-right: 0px !important;
-        }        
-        .w100{
+        }
+
+        .w100 {
             width: 100px !important;
         }
-        .ml50{
+
+        .ml50 {
             margin-left: 50px !important;
         }
     </style>
 </head>
+
 <body>
     <div class="layui-fluid">
         <div class="layui-card">
@@ -56,7 +63,8 @@
                         <div class="layui-inline">
                             <label class="layui-form-label">创建时间</label>
                             <div class="layui-input-inline">
-                                <input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate" autocomplete="off">
+                                <input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate"
+                                    autocomplete="off">
                             </div>
                         </div>
                         <div class="layui-inline">
@@ -64,14 +72,14 @@
                             <div class="layui-input-inline">
                                 <select id="TopUserId" name="TopUserId" lay-search="">
                                     <option value="">全部...</option>
-                                    @foreach(Users TopUser in TopUsers)
+                                    @foreach (Users TopUser in TopUsers)
                                     {
-                                    <option value="@TopUser.Id">@TopUser.RealName</option>
+                                        <option value="@TopUser.Id">@TopUser.RealName</option>
                                     }
                                 </select>
                             </div>
                         </div>
-                    
+
                         <div class="layui-inline">
                             <label class="layui-form-label">账户状态</label>
                             <div class="layui-input-inline">
@@ -108,19 +116,23 @@
 
             <div class="layui-card-body">
                 <blockquote class="layui-elem-quote layui-text">
-                    账户总金额(元):<span style="color: #f00;" id="TotalAmount">0.00</span> | 冻结金额(元):<span style="color: #f00;" id="FreezeAmount">0.00</span> | 余额(元):<span style="color: #f00;" id="BalanceAmount">0.00</span>
+                    账户总金额(元):<span style="color: #f00;" id="TotalAmount">0.00</span> | 冻结金额(元):<span
+                        style="color: #f00;" id="FreezeAmount">0.00</span> | 余额(元):<span style="color: #f00;"
+                        id="BalanceAmount">0.00</span>
                 </blockquote>
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
                 <script type="text/html" id="table-list-tools">
                     <a class="layui-btn layui-btn-warm layui-btn-xs" lay-text="{{d.RealName}}账户详情" lay-href="/Admin/UserAccountRecord/Index?right=@right&UserId=@("{{d.Id}}")"><i class="layui-icon layui-icon-read"></i>详情</a>
                     @if (RightInfo.Contains("," + right + "_Freeze,"))
                     {
-                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="closeRemark"><i class="layui-icon layui-icon-edit"></i>冻结备注</a>
-                    @("{{#if (d.AccountStatus == 0){ }}")
-                    @* <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Close"><i class="layui-icon layui-icon-edit"></i>冻结</a> *@
-                    @("{{#}else{ }}")
-                    <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Open"><i class="layui-icon layui-icon-edit"></i>解冻</a>
-                    @("{{#} }}")
+                        @("{{#if (d.AccountStatus == 0){ }}")
+                            <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="closeRemark"><i class="layui-icon layui-icon-edit"></i>冻结备注</a>
+                        @("{{#} }}")
+                        @("{{#if (d.AccountStatus == 0){ }}")
+                        @* <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Close"><i class="layui-icon layui-icon-edit"></i>冻结</a> *@
+                        @("{{#}else{ }}")
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Open"><i class="layui-icon layui-icon-edit"></i>解冻</a>
+                        @("{{#} }}")
                     }
                 </script>
             </div>
@@ -133,4 +145,5 @@
         var UserId = '@UserId';
     </script>
 </body>
+
 </html>

+ 131 - 0
Areas/Admin/Views/MainServer/Users/CancleUsers.cshtml

@@ -0,0 +1,131 @@
+@using MySystem.Models;
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+}
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>已注销创客</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <style>
+        .layui-input-inline{
+            width: 175px !important;
+        }
+        .layui-form-label{
+            width: 85px !important;
+        }
+        .layui-inline{
+            margin-right: 0px !important;
+        }
+        .w100{
+            width: 100px !important;
+        }
+        .ml50{
+            margin-left: 50px !important;
+        }
+    </style>
+</head>
+<body>
+    <div class="layui-fluid">
+        <div class="layui-card">
+            <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+                <div class="layui-form-item">
+                    <div class="layui-form-item">
+                        <div class="layui-inline">
+                            <label class="layui-form-label">创客编号</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" name="MakerCode" value="" autocomplete="off">
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <label class="layui-form-label">创客名称</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" name="RealName" autocomplete="off">
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <label class="layui-form-label">手机号码</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" name="Mobile" autocomplete="off">
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <label class="layui-form-label">身份证号码</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" name="CertId" autocomplete="off">
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <label class="layui-form-label">注册时间</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate" autocomplete="off">
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <label class="layui-form-label">实名状态</label>
+                            <div class="layui-input-inline">
+                                <select id="AuthFlagSelect" name="AuthFlagSelect" lay-search="">
+                                    <option value="">全部...</option>
+                                    <option value="0">未实名</option>
+                                    <option value="1">已实名</option>
+                                </select>
+                            </div>
+                        </div>
+                        <div class="layui-inline ml50">
+                            <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
+                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>查询
+                            </button>
+                            <button class="layui-btn" lay-submit lay-filter="LAY-list-front-searchall">
+                                <i class="layui-icon layui-icon-list layuiadmin-button-btn"></i>全部
+                            </button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <div class="layui-card-body">
+                <div style="padding-bottom: 10px;">
+                </div>
+
+                <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
+            </div>
+        </div>
+    </div>
+    <div id="excelForm" style="display:none; padding:20px;">
+        <div class="layui-tab-item layui-show">
+            <div class="layui-form-item">
+                <label class="layui-form-label">模板下载</label>
+                <div class="layui-form-mid layui-word-aux" id="excelTemp">
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">excel文件</label>
+                <div class="layui-form-mid layui-word-aux">
+                    <div class="layui-upload">
+                        <input type="file" id="ExcelFile" name="ExcelFile" value="">
+                    </div>
+                    <div class="mt10" id="ExcelFileList">
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item ml10">
+            <div class="layui-input-block">
+                <button type="button" class="layui-btn" onclick="ConfirmImport()">立即导入</button>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/layuiadmin/modules_main/UsersCancle_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script>
+    </script>
+</body>
+</html>

+ 88 - 0
Areas/Admin/Views/OperateServer/AmountRecordOperate/Index.cshtml

@@ -0,0 +1,88 @@
+@using MySystem.Models;
+@{
+    string RightInfo = ViewBag.RightInfo as string;
+    string right = ViewBag.right as string;
+    
+}
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>运营中心额度变动记录</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
+    <script src="/admin/js/jquery-1.10.1.min.js"></script>
+    <style>
+        .layui-input-inline{
+            width: 175px !important;
+        }
+        .layui-form-label{
+            width: 85px !important;
+        }
+        .layui-inline{
+            margin-right: 0px !important;
+        }        
+        .w100{
+            width: 100px !important;
+        }
+        .ml50{
+            margin-left: 50px !important;
+        }
+    </style>
+</head>
+<body>
+    <div class="layui-fluid">
+        <div class="layui-card">
+            <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+                <div class="layui-form-item">
+                    <div class="layui-inline">
+                        <label class="layui-form-label">运营中心编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="OpCode" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">创客编号</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="MakerCode" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">交易时间</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" readonly name="CreateDateData" id="CreateDate"
+                            placeholder="交易时间" autocomplete="off">
+                        </div>
+                    </div>                 
+                    <div class="layui-inline ml50">
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-search">
+                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>查询
+                        </button>
+                        <button class="layui-btn" lay-submit lay-filter="LAY-list-front-searchall">
+                            <i class="layui-icon layui-icon-list layuiadmin-button-btn"></i>全部
+                        </button>
+                        @* @if (RightInfo.Contains("," + right + "_export,"))
+                        {
+                            <button class="layui-btn" data-type="ExportExcel"><i class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出</button>
+                        } *@
+                    </div>
+                </div>
+            </div>
+
+            <div class="layui-card-body">
+                <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
+                <script type="text/html" id="table-list-tools">
+                </script>
+            </div>
+        </div>
+    </div>
+
+    <script src="/layuiadmin/layui/layui.js"></script>
+    <script src="/layuiadmin/modules_operate/AmountRecord_Admin.js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
+    <script>
+    </script>
+</body>
+</html>

+ 1 - 0
Config/MysqlConn.cs

@@ -8,6 +8,7 @@ namespace MySystem
     public class MysqlConn
     {
         public static string connstr = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+        public static string SqlConnStr = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
 
     }
 }

+ 40 - 1
Controllers/HomeController.cs

@@ -8,6 +8,9 @@ using Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.Logging;
 using MySystem.Models;
 using Library;
+using System.Security.Cryptography;
+using System.Text;
+using System.IO;
 
 namespace MySystem.Controllers
 {
@@ -175,7 +178,43 @@ namespace MySystem.Controllers
     
         public string test()
         {
-            return "ok";
+            return DecryptString("tI2uU8zQp54=", "0535YANTAIJIANWANZHONG9912321232");
+        }
+
+        private SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
+        public string DecryptString(string Value, string sKey, string sIV = "12345678")
+        {
+            TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();
+            DES.Key =  Convert.FromBase64String(sKey);
+            DES.Mode = CipherMode.CBC;
+            DES.Padding = System.Security.Cryptography.PaddingMode.None;
+            DES.IV = ASCIIEncoding.ASCII.GetBytes(sIV);
+            ICryptoTransform DESDecrypt = DES.CreateDecryptor();
+            string result = "";
+            try
+            {
+                byte[] Buffer = Convert.FromBase64String(Value);
+
+                result = ASCIIEncoding.ASCII.GetString(DESDecrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
+
+                //MemoryStream msDecrypt = new MemoryStream(Buffer);
+                //CryptoStream csDecrypt = new CryptoStream(msDecrypt,
+                //       DES.CreateDecryptor(DES.Key, DES.IV),
+                //       CryptoStreamMode.Read);
+
+                //// Create buffer to hold the decrypted data.
+                //byte[] fromEncrypt = new byte[Buffer.Length];
+
+                //// Read the decrypted data out of the crypto stream
+                //// and place it into the temporary buffer.
+                //csDecrypt.Read(fromEncrypt, 0, fromEncrypt.Length);
+                //result = System.Text.Encoding.Default.GetString(fromEncrypt);
+            }
+            catch (Exception e)
+            {
+                result = e.ToString();
+            }
+            return result;
         }
     
     

Some files were not shown because too many files changed in this diff