DuGuYang 3 лет назад
Родитель
Сommit
6dcf4a0ae5

+ 56 - 0
AppStart/Helper/BanProductByTimeService.cs

@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Threading;
+using MySystem.Models;
+using Library;
+
+namespace MySystem
+{
+    /// <summary>
+    /// 定时下架商品
+    /// </summary>
+    public class BanProductByTimeService
+    {
+        public readonly static BanProductByTimeService Instance = new BanProductByTimeService();
+        private BanProductByTimeService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(doSomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void doSomething()
+        {
+            while (true)
+            {
+                try
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    var check = db.Products.Any(m => m.Status == 1 && m.EndDate <= DateTime.Now);
+                    if (check)
+                    {
+                        var lists = db.Products.Where(m => m.Status == 1 && m.EndDate <= DateTime.Now).ToList();
+                        foreach (var item in lists)
+                        {
+                            var list = lists.FirstOrDefault(m => m.Id == item.Id);
+                            list.Status = 0;
+                            list.EndDate = null;
+                            list.UpdateMan = "商品自动下架";
+                        }
+                        db.SaveChanges();
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "商品自动下架异常");
+                }
+                Thread.Sleep(1000);
+            }
+        }
+    }
+}

+ 7 - 4
Areas/Admin/Controllers/MainServer/ProductsController.cs

@@ -135,8 +135,10 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("IsRecommend", data.IsRecommend); //推荐
             Fields.Add("IsRecommend2", data.IsRecommend2);
             Fields.Add("IsRecommend3", data.IsRecommend3);
-            Fields.Add("StartDate", data.StartDate); //开始时间
-            Fields.Add("EndDate", data.EndDate); //结束时间
+            // Fields.Add("StartDate", data.StartDate); //开始时间
+            // Fields.Add("EndDate", data.EndDate); //结束时间
+            Fields.Add("StartDate", DateTime.Now); //开始时间
+            Fields.Add("EndDate", data.EndDate); //下架时间
             Fields.Add("IsLimit", data.IsLimit); //限时抢购
             Fields.Add("SourcePrice", data.SourcePrice); //原价
             Fields.Add("Price", data.Price); //价格
@@ -213,8 +215,9 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("IsRecommend", data.IsRecommend); //推荐
             Fields.Add("IsRecommend2", data.IsRecommend2);
             Fields.Add("IsRecommend3", data.IsRecommend3);
-            Fields.Add("StartDate", data.StartDate); //开始时间
-            Fields.Add("EndDate", data.EndDate); //结束时间
+            // Fields.Add("StartDate", data.StartDate); //开始时间
+            // Fields.Add("EndDate", data.EndDate); //结束时间
+            Fields.Add("EndDate", data.EndDate); //下架时间
             Fields.Add("IsLimit", data.IsLimit); //限时抢购
             Fields.Add("SourcePrice", data.SourcePrice); //原价
             Fields.Add("Price", data.Price); //价格

+ 7 - 1
Areas/Admin/Views/MainServer/Products/Add.cshtml

@@ -92,11 +92,17 @@
                             <input type="checkbox" id="IsRecommend2" name="IsRecommend2" value="1" 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-inline">
                             <input class="layui-input" type="text" id="PublishDate" name="PublishDate" 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="EndDate" name="EndDate" lay-verify="" autocomplete="off" placeholder="请输入下架时间">
+                        </div>
                     </div>
                     <div class="layui-form-item">
                         <label class="layui-form-label">限购数量</label>

+ 7 - 1
Areas/Admin/Views/MainServer/Products/Edit.cshtml

@@ -94,11 +94,17 @@
                             <input type="checkbox" id="IsRecommend2" name="IsRecommend2" value="1" @(editData.IsRecommend2 == 1 ? "checked=checked" : "") 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-inline">
                             <input class="layui-input" type="text" id="PublishDate" name="PublishDate" value="@(editData.PublishDate == null ? "" : editData.PublishDate.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="EndDate" name="EndDate" value="@(editData.EndDate == null ? "" : editData.EndDate.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>