From 60cfd15db42bb816846072d027121d91ffd013b1 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期四, 25 四月 2024 14:39:35 +0800
Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/baifenbaishop
---
CoreCms.Net.Repository/Order/CoreCmsPlanOrderItemRepository.cs | 224 +++
CoreCms.Net.Web.Admin/wwwroot/static/jihuageshi/上传计划订单.xlsx | 0
CoreCms.Net.Utility/Helper/CommonHelper.cs | 3
CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs | 261 +++
CoreCms.Net.Model/ViewModels/DTO/OrderDTO.cs | 110 +
CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/index.html | 495 +++++++
CoreCms.Net.Repository/Order/CoreCmsPlanOrderRepository.cs | 230 +++
CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/details.html | 144 ++
CoreCms.Net.IServices/Order/ICoreCmsPlanOrderServices.cs | 126 +
CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderRepository.cs | 99 +
CoreCms.Net.Web.WebApi/Controllers/OrderController.cs | 106 +
CoreCms.Net.Services/Order/CoreCmsPlanOrderItemServices.cs | 130 +
CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs | 975 ++++++++++++++
CoreCms.Net.Configuration/GlobalEnumVars.cs | 14
CoreCms.Net.IServices/Order/ICoreCmsPlanOrderItemServices.cs | 95 +
CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/create.html | 141 ++
CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/edit.html | 139 ++
CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs | 383 +++++
CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrder.cs | 152 ++
CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrderItem.cs | 92 +
CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderItemRepository.cs | 99 +
21 files changed, 4,015 insertions(+), 3 deletions(-)
diff --git a/CoreCms.Net.Configuration/GlobalEnumVars.cs b/CoreCms.Net.Configuration/GlobalEnumVars.cs
index 8a15848..6d4795c 100644
--- a/CoreCms.Net.Configuration/GlobalEnumVars.cs
+++ b/CoreCms.Net.Configuration/GlobalEnumVars.cs
@@ -72,6 +72,8 @@
鏈嶅姟璁㈠崟缂栧彿 = 10,
[Description("鏈嶅姟鍒稿厬鎹㈢爜")]
鏈嶅姟鍒稿厬鎹㈢爜 = 11,
+ [Description("璁″垝璁㈠崟缂栧彿")]
+ 璁″垝璁㈠崟缂栧彿 = 12,
}
/// <summary>
/// 鏉ユ簮
@@ -659,6 +661,18 @@
TransactionComponent = 10,
}
+
+ /// <summary>
+ /// 璁″垝璁㈠崟鏄惁鎻愪氦
+ /// </summary>
+ public enum PlanOrderTiJiao
+ {
+ [Description("鏈彁浜�")]
+ 鏈彁浜� = 1,
+ [Description("宸叉彁浜�")]
+ 鎻愪氦 = 2
+ }
+
/// <summary>
/// 鍙戣揣鍗曠姸鎬�
/// </summary>
diff --git a/CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderItemRepository.cs b/CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderItemRepository.cs
new file mode 100644
index 0000000..93381b6
--- /dev/null
+++ b/CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderItemRepository.cs
@@ -0,0 +1,99 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:37
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.Entities.Order;
+using CoreCms.Net.Model.ViewModels.Basics;
+using CoreCms.Net.Model.ViewModels.UI;
+using SqlSugar;
+
+
+namespace CoreCms.Net.IRepository
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟鏄庣粏琛� 宸ュ巶鎺ュ彛
+ /// </summary>
+ public interface ICoreCmsPlanOrderItemRepository : IBaseRepository<CoreCmsPlanOrderItem>
+ {
+ #region 閲嶅啓澧炲垹鏀规煡鎿嶄綔===========================================================
+
+ /// <summary>
+ /// 閲嶅啓寮傛鎻掑叆鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> InsertAsync(CoreCmsPlanOrderItem entity);
+
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> UpdateAsync(CoreCmsPlanOrderItem entity);
+
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> UpdateAsync(List<CoreCmsPlanOrderItem> entity);
+
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> DeleteByIdAsync(object id);
+
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎)
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
+
+ #endregion
+
+ #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�==========================================================
+
+ /// <summary>
+ /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�
+ /// </summary>
+ /// <returns></returns>
+ Task<List<CoreCmsPlanOrderItem>> GetCaChe();
+
+ #endregion
+
+
+ /// <summary>
+ /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="predicate">鍒ゆ柇闆嗗悎</param>
+ /// <param name="orderByType">鎺掑簭鏂瑰紡</param>
+ /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param>
+ /// <param name="pageSize">鍒嗗竷澶у皬</param>
+ /// <param name="orderByExpression"></param>
+ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param>
+ /// <returns></returns>
+ Task<IPageList<CoreCmsPlanOrderItem>> QueryPageAsync(
+ Expression<Func<CoreCmsPlanOrderItem, bool>> predicate,
+ Expression<Func<CoreCmsPlanOrderItem, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
+ int pageSize = 20, bool blUseNoLock = false);
+
+ }
+}
diff --git a/CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderRepository.cs b/CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderRepository.cs
new file mode 100644
index 0000000..dc4d17c
--- /dev/null
+++ b/CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderRepository.cs
@@ -0,0 +1,99 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:20
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.Entities.Order;
+using CoreCms.Net.Model.ViewModels.Basics;
+using CoreCms.Net.Model.ViewModels.UI;
+using SqlSugar;
+
+
+namespace CoreCms.Net.IRepository
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟琛� 宸ュ巶鎺ュ彛
+ /// </summary>
+ public interface ICoreCmsPlanOrderRepository : IBaseRepository<CoreCmsPlanOrder>
+ {
+ #region 閲嶅啓澧炲垹鏀规煡鎿嶄綔===========================================================
+
+ /// <summary>
+ /// 閲嶅啓寮傛鎻掑叆鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> InsertAsync(CoreCmsPlanOrder entity);
+
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> UpdateAsync(CoreCmsPlanOrder entity);
+
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> UpdateAsync(List<CoreCmsPlanOrder> entity);
+
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> DeleteByIdAsync(object id);
+
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎)
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
+
+ #endregion
+
+ #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�==========================================================
+
+ /// <summary>
+ /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�
+ /// </summary>
+ /// <returns></returns>
+ Task<List<CoreCmsPlanOrder>> GetCaChe();
+
+ #endregion
+
+
+ /// <summary>
+ /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="predicate">鍒ゆ柇闆嗗悎</param>
+ /// <param name="orderByType">鎺掑簭鏂瑰紡</param>
+ /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param>
+ /// <param name="pageSize">鍒嗗竷澶у皬</param>
+ /// <param name="orderByExpression"></param>
+ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param>
+ /// <returns></returns>
+ Task<IPageList<CoreCmsPlanOrder>> QueryPageAsync(
+ Expression<Func<CoreCmsPlanOrder, bool>> predicate,
+ Expression<Func<CoreCmsPlanOrder, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
+ int pageSize = 20, bool blUseNoLock = false);
+
+ }
+}
diff --git a/CoreCms.Net.IServices/Order/ICoreCmsPlanOrderItemServices.cs b/CoreCms.Net.IServices/Order/ICoreCmsPlanOrderItemServices.cs
new file mode 100644
index 0000000..70ad2e1
--- /dev/null
+++ b/CoreCms.Net.IServices/Order/ICoreCmsPlanOrderItemServices.cs
@@ -0,0 +1,95 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:37
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.Entities.Order;
+using CoreCms.Net.Model.ViewModels.Basics;
+using CoreCms.Net.Model.ViewModels.UI;
+using SqlSugar;
+
+namespace CoreCms.Net.IServices
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟鏄庣粏琛� 鏈嶅姟宸ュ巶鎺ュ彛
+ /// </summary>
+ public interface ICoreCmsPlanOrderItemServices : IBaseServices<CoreCmsPlanOrderItem>
+ {
+ #region 閲嶅啓澧炲垹鏀规煡鎿嶄綔===========================================================
+
+ /// <summary>
+ /// 閲嶅啓寮傛鎻掑叆鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> InsertAsync(CoreCmsPlanOrderItem entity);
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> UpdateAsync(CoreCmsPlanOrderItem entity);
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> UpdateAsync(List<CoreCmsPlanOrderItem> entity);
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> DeleteByIdAsync(object id);
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎)
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
+
+ #endregion
+
+
+ #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�==========================================================
+
+ /// <summary>
+ /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�
+ /// </summary>
+ /// <returns></returns>
+ Task<List<CoreCmsPlanOrderItem>> GetCaChe();
+
+ #endregion
+
+ #region 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// <summary>
+ /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="predicate">鍒ゆ柇闆嗗悎</param>
+ /// <param name="orderByType">鎺掑簭鏂瑰紡</param>
+ /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param>
+ /// <param name="pageSize">鍒嗗竷澶у皬</param>
+ /// <param name="orderByExpression"></param>
+ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param>
+ /// <returns></returns>
+ Task<IPageList<CoreCmsPlanOrderItem>> QueryPageAsync(
+ Expression<Func<CoreCmsPlanOrderItem, bool>> predicate,
+ Expression<Func<CoreCmsPlanOrderItem, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
+ int pageSize = 20, bool blUseNoLock = false);
+ #endregion
+ }
+}
diff --git a/CoreCms.Net.IServices/Order/ICoreCmsPlanOrderServices.cs b/CoreCms.Net.IServices/Order/ICoreCmsPlanOrderServices.cs
new file mode 100644
index 0000000..41ec920
--- /dev/null
+++ b/CoreCms.Net.IServices/Order/ICoreCmsPlanOrderServices.cs
@@ -0,0 +1,126 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:20
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.Entities.Order;
+using CoreCms.Net.Model.ViewModels.Basics;
+using CoreCms.Net.Model.ViewModels.DTO;
+using CoreCms.Net.Model.ViewModels.UI;
+using SqlSugar;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinUserInfoBatchGetRequest.Types;
+
+namespace CoreCms.Net.IServices
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟琛� 鏈嶅姟宸ュ巶鎺ュ彛
+ /// </summary>
+ public interface ICoreCmsPlanOrderServices : IBaseServices<CoreCmsPlanOrder>
+ {
+ #region 閲嶅啓澧炲垹鏀规煡鎿嶄綔===========================================================
+
+ /// <summary>
+ /// 閲嶅啓寮傛鎻掑叆鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> InsertAsync(CoreCmsPlanOrder entity);
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> UpdateAsync(CoreCmsPlanOrder entity);
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> UpdateAsync(List<CoreCmsPlanOrder> entity);
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> DeleteByIdAsync(object id);
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎)
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids);
+
+ #endregion
+
+
+ #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�==========================================================
+
+ /// <summary>
+ /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�
+ /// </summary>
+ /// <returns></returns>
+ Task<List<CoreCmsPlanOrder>> GetCaChe();
+
+ #endregion
+
+ #region 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// <summary>
+ /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="predicate">鍒ゆ柇闆嗗悎</param>
+ /// <param name="orderByType">鎺掑簭鏂瑰紡</param>
+ /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param>
+ /// <param name="pageSize">鍒嗗竷澶у皬</param>
+ /// <param name="orderByExpression"></param>
+ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param>
+ /// <returns></returns>
+ Task<IPageList<CoreCmsPlanOrder>> QueryPageAsync(
+ Expression<Func<CoreCmsPlanOrder, bool>> predicate,
+ Expression<Func<CoreCmsPlanOrder, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
+ int pageSize = 20, bool blUseNoLock = false);
+ #endregion
+
+ /// <summary>
+ /// 鑾峰彇璁″垝璁㈠崟鍒楄〃寰俊灏忕▼搴�
+ /// </summary>
+ /// <returns></returns>
+ Task<WebApiCallBack> GetOrderList(int status = -1, int userId = 0, int page = 1, int limit = 5);
+
+
+ /// <summary>
+ /// 鍒涘缓璁㈠崟
+ /// </summary>
+ /// <param name="orderId">鐢ㄦ埛搴忓垪</param>
+ /// <param name="userId">鐢ㄦ埛搴忓垪</param>
+ /// <param name="userName">鐢ㄦ埛鏄电О</param>
+ /// <param name="status">璁″垝璁㈠崟鐘舵��</param>
+ /// <param name="itemIds">鏄庣粏id</param>
+ /// <param name="itemNums">鏄庣粏鏁伴噺</param>
+ /// <returns></returns>
+ Task<WebApiCallBack> ToUpdate(string orderId ,int userId, string userName, int status, string itemIds, string itemNums);
+
+ /// <summary>
+ /// 鍒涘缓璁″垝璁㈠崟
+ /// </summary>
+ /// <param name="jiHuaOrders">璁″垝璁㈠崟</param>
+ /// <param name="userId">鐢ㄦ埛搴忓垪</param>
+ /// <param name="userName">鐢ㄦ埛鏄电О</param>
+ /// <returns></returns>
+ Task<AdminUiCallBack> ToAddJiHua(List<JiHuaOrder> jiHuaOrders,int userId, string userName);
+
+ }
+}
diff --git a/CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrder.cs b/CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrder.cs
new file mode 100644
index 0000000..4631c2e
--- /dev/null
+++ b/CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrder.cs
@@ -0,0 +1,152 @@
+锘縰sing Chuanyin.Attribute;
+using CoreCms.Net.Model.Entities.baseModel;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CoreCms.Net.Model.Entities.Order
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟琛�
+ /// </summary>
+ [SqlCodeFirst]
+ public class CoreCmsPlanOrder : BFBaseModel
+ {
+
+ /// <summary>
+ /// 鏋勯�犲嚱鏁�
+ /// </summary>
+ public CoreCmsPlanOrder()
+ {
+ }
+
+ /// <summary>
+ /// 璁㈠崟鍙�
+ /// </summary>
+ [Display(Name = "璁㈠崟鍙�")]
+
+ [SugarColumn(IsPrimaryKey = true)]
+
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+ [StringLength(maximumLength: 50, ErrorMessage = "{0}涓嶈兘瓒呰繃{1}瀛�")]
+
+
+ public System.String orderId { get; set; }
+
+
+ /// <summary>
+ /// 璋冩暣璁㈠崟閲戦
+ /// </summary>
+ [Display(Name = "璋冩暣璁㈠崟閲戦")]
+
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+
+
+
+ public System.Decimal orderAmount { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟鐘舵��
+ /// </summary>
+ [Display(Name = "璁㈠崟鐘舵��")]
+
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+
+
+
+ public System.Int32 status { get; set; }
+
+
+ /// <summary>
+ /// 鐢ㄦ埛ID 鍏宠仈user.id
+ /// </summary>
+ [Display(Name = "鐢ㄦ埛ID 鍏宠仈user.id")]
+
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+
+
+
+ public System.Int32 userId { get; set; }
+
+
+
+ /// <summary>
+ /// 瀛︽牎
+ /// </summary>
+ [Display(Name = "瀛︽牎")]
+
+
+ [StringLength(maximumLength: 200, ErrorMessage = "{0}涓嶈兘瓒呰繃{1}瀛�")]
+
+
+ public System.String shipAddress { get; set; }
+
+
+ /// <summary>
+ /// 鑱旂郴浜�
+ /// </summary>
+ [Display(Name = "鑱旂郴浜�")]
+
+
+ [StringLength(maximumLength: 50, ErrorMessage = "{0}涓嶈兘瓒呰繃{1}瀛�")]
+
+
+ public System.String shipName { get; set; }
+
+
+ /// <summary>
+ /// 鏀惰揣鐢佃瘽
+ /// </summary>
+ [Display(Name = "鑱旂郴鐢佃瘽")]
+
+
+ [StringLength(maximumLength: 50, ErrorMessage = "{0}涓嶈兘瓒呰繃{1}瀛�")]
+
+
+ public System.String shipMobile { get; set; }
+
+
+
+
+
+
+
+
+
+
+ /// <summary>
+ /// 璁″垝璁㈠崟閲戦
+ /// </summary>
+ [Display(Name = "璁″垝璁㈠崟閲戦")]
+
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+
+
+
+ public System.Decimal oldOrderAmount { get; set; }
+
+
+
+ /// <summary>
+ /// 鍙敤浣欓
+ /// </summary>
+ [Display(Name = "鍙敤浣欓")]
+
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+
+
+
+ public System.Decimal keYongAmount { get; set; }
+
+
+ /// <summary>
+ /// 鐘舵�佽鏄�
+ /// </summary>
+ [SugarColumn(IsIgnore = true)]
+ public string statusText { get; set; }
+ }
+}
diff --git a/CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrderItem.cs b/CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrderItem.cs
new file mode 100644
index 0000000..d68e022
--- /dev/null
+++ b/CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrderItem.cs
@@ -0,0 +1,92 @@
+锘縰sing Chuanyin.Attribute;
+using CoreCms.Net.Model.Entities.baseModel;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CoreCms.Net.Model.Entities.Order
+{
+
+ /// <summary>
+ /// 璁㈠崟鏄庣粏琛�
+ /// </summary>
+ [SqlCodeFirst]
+ [SugarTable("CoreCmsPlanOrderItem", TableDescription = "璁″垝璁㈠崟鏄庣粏琛�")]
+ public class CoreCmsPlanOrderItem : BFBaseModel
+ {
+ /// <summary>
+ /// 璁″垝璁㈠崟鏄庣粏琛�
+ /// </summary>
+ public CoreCmsPlanOrderItem()
+ {
+ }
+
+ /// <summary>
+ /// 搴忓彿
+ /// </summary>
+ [Display(Name = "搴忓彿")]
+ [SugarColumn(ColumnDescription = "搴忓彿", IsPrimaryKey = true, IsIdentity = true)]
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+ public System.Int32 id { get; set; }
+ /// <summary>
+ /// 璁㈠崟ID 鍏宠仈order.id
+ /// </summary>
+ [Display(Name = "璁㈠崟ID 鍏宠仈order.id")]
+ [SugarColumn(ColumnDescription = "璁㈠崟ID 鍏宠仈order.id")]
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+ [StringLength(50, ErrorMessage = "銆恵0}銆戜笉鑳借秴杩噞1}瀛楃闀垮害")]
+ public System.String orderId { get; set; }
+
+
+ /// <summary>
+ /// 鍟嗗搧鍚嶇О
+ /// </summary>
+ [Display(Name = "鍟嗗搧鍚嶇О")]
+ [SugarColumn(ColumnDescription = "鍟嗗搧鍚嶇О")]
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+ [StringLength(200, ErrorMessage = "銆恵0}銆戜笉鑳借秴杩噞1}瀛楃闀垮害")]
+ public System.String name { get; set; }
+
+
+ /// <summary>
+ /// 鍟嗗搧瑙勬牸
+ /// </summary>
+ [Display(Name = "鍟嗗搧瑙勬牸")]
+ [SugarColumn(ColumnDescription = "鍟嗗搧瑙勬牸")]
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+ [StringLength(200, ErrorMessage = "銆恵0}銆戜笉鑳借秴杩噞1}瀛楃闀垮害")]
+ public System.String specification { get; set; }
+
+
+ /// <summary>
+ /// 璐у搧浠锋牸鍗曚环
+ /// </summary>
+ [Display(Name = "璐у搧浠锋牸鍗曚环")]
+ [SugarColumn(ColumnDescription = "璐у搧浠锋牸鍗曚环")]
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+ public System.Decimal price { get; set; }
+
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ [Display(Name = "鏁伴噺")]
+ [SugarColumn(ColumnDescription = "鏁伴噺")]
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+ public System.Int32 nums { get; set; }
+ /// <summary>
+ /// 鎬讳环
+ /// </summary>
+ [Display(Name = "鎬讳环")]
+ [SugarColumn(ColumnDescription = "鎬讳环")]
+ [Required(ErrorMessage = "璇疯緭鍏0}")]
+ public System.Decimal amount { get; set; }
+
+
+
+ }
+}
diff --git a/CoreCms.Net.Model/ViewModels/DTO/OrderDTO.cs b/CoreCms.Net.Model/ViewModels/DTO/OrderDTO.cs
index 3320b8c..d44c1bb 100644
--- a/CoreCms.Net.Model/ViewModels/DTO/OrderDTO.cs
+++ b/CoreCms.Net.Model/ViewModels/DTO/OrderDTO.cs
@@ -11,8 +11,10 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
using CoreCms.Net.Model.Entities;
using Newtonsoft.Json.Linq;
+using SqlSugar;
namespace CoreCms.Net.Model.ViewModels.DTO
{
@@ -52,6 +54,26 @@
/// 鍖哄煙搴忓垪
/// </summary>
public int areaId { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟缂栧彿
+ /// </summary>
+ public string orderId { get; set; }
+
+ /// <summary>
+ /// 鐘舵��
+ /// </summary>
+ public int status { get; set; } = 0;
+
+ /// <summary>
+ /// 鏄庣粏id
+ /// </summary>
+ public string itemIds { get; set; }
+
+ /// <summary>
+ /// 鏄庣粏鏁伴噺
+ /// </summary>
+ public string itemNums { get; set; }
/// <summary>
/// 璐墿杞﹀簭鍒�
@@ -458,4 +480,92 @@
/// </summary>
public decimal refund { get; set; } = 0;
}
+
+
+
+
+ /// <summary>
+ /// 璁″垝璁㈠崟
+ /// </summary>
+ public class JiHuaOrder
+ {
+
+
+ /// <summary>
+ /// 瀛︽牎
+ /// </summary>
+
+
+
+ public System.String shipAddress { get; set; }
+
+ /// <summary>
+ /// 鑱旂郴浜�
+ /// </summary>
+
+
+ public System.String shipName { get; set; }
+
+
+
+ /// <summary>
+ /// 鑱旂郴鐢佃瘽
+ /// </summary>
+
+
+
+ public System.String shipMobile { get; set; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /// <summary>
+ /// 鍟嗗搧鍚嶇О
+ /// </summary>
+
+ public System.String name { get; set; }
+
+
+ /// <summary>
+ /// 鍟嗗搧瑙勬牸
+ /// </summary>
+
+ public System.String specification { get; set; }
+
+
+ /// <summary>
+ /// 璐у搧浠锋牸鍗曚环
+ /// </summary>
+
+ public System.Decimal price { get; set; }
+
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+
+ public System.Int32 nums { get; set; }
+
+
+
+ }
}
\ No newline at end of file
diff --git a/CoreCms.Net.Repository/Order/CoreCmsPlanOrderItemRepository.cs b/CoreCms.Net.Repository/Order/CoreCmsPlanOrderItemRepository.cs
new file mode 100644
index 0000000..f4cadba
--- /dev/null
+++ b/CoreCms.Net.Repository/Order/CoreCmsPlanOrderItemRepository.cs
@@ -0,0 +1,224 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:37
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using CoreCms.Net.Caching.Manual;
+using CoreCms.Net.Configuration;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.ViewModels.Basics;
+using CoreCms.Net.IRepository;
+using CoreCms.Net.IRepository.UnitOfWork;
+using CoreCms.Net.Model.ViewModels.UI;
+using SqlSugar;
+using CoreCms.Net.Model.Entities.Order;
+
+namespace CoreCms.Net.Repository
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟鏄庣粏琛� 鎺ュ彛瀹炵幇
+ /// </summary>
+ public class CoreCmsPlanOrderItemRepository : BaseRepository<CoreCmsPlanOrderItem>, ICoreCmsPlanOrderItemRepository
+ {
+ private readonly IUnitOfWork _unitOfWork;
+ public CoreCmsPlanOrderItemRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
+ {
+ _unitOfWork = unitOfWork;
+ }
+
+ #region 瀹炵幇閲嶅啓澧炲垹鏀规煡鎿嶄綔==========================================================
+
+ /// <summary>
+ /// 閲嶅啓寮傛鎻掑叆鏂规硶
+ /// </summary>
+ /// <param name="entity">瀹炰綋鏁版嵁</param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> InsertAsync(CoreCmsPlanOrderItem entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var bl = await DbClient.Insertable(entity).ExecuteReturnIdentityAsync() > 0;
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
+
+ return jm;
+ }
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> UpdateAsync(CoreCmsPlanOrderItem entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var oldModel = await DbClient.Queryable<CoreCmsPlanOrderItem>().In(entity.id).SingleAsync();
+ if (oldModel == null)
+ {
+ jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+ return jm;
+ }
+ //浜嬬墿澶勭悊杩囩▼寮�濮�
+ oldModel.id = entity.id;
+ oldModel.orderId = entity.orderId;
+ oldModel.name = entity.name;
+ oldModel.specification = entity.specification;
+ oldModel.price = entity.price;
+ oldModel.nums = entity.nums;
+ oldModel.amount = entity.amount;
+ oldModel.createTime = entity.createTime;
+ oldModel.upDataTime = entity.upDataTime;
+ oldModel.createBy = entity.createBy;
+ oldModel.upDataBy = entity.upDataBy;
+ oldModel.isdelete = entity.isdelete;
+
+ //浜嬬墿澶勭悊杩囩▼缁撴潫
+ var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+
+ return jm;
+ }
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> UpdateAsync(List<CoreCmsPlanOrderItem> entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var bl = await DbClient.Updateable(entity).ExecuteCommandHasChangeAsync();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+
+ return jm;
+ }
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> DeleteByIdAsync(object id)
+ {
+ var jm = new AdminUiCallBack();
+
+ var bl = await DbClient.Deleteable<CoreCmsPlanOrderItem>(id).ExecuteCommandHasChangeAsync();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
+
+ return jm;
+ }
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎)
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
+ {
+ var jm = new AdminUiCallBack();
+
+ var bl = await DbClient.Deleteable<CoreCmsPlanOrderItem>().In(ids).ExecuteCommandHasChangeAsync();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
+
+ return jm;
+ }
+
+ #endregion
+
+ #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�==========================================================
+
+ /// <summary>
+ /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�
+ /// </summary>
+ /// <returns></returns>
+ public async Task<List<CoreCmsPlanOrderItem>> GetCaChe()
+ {
+ var list = await DbClient.Queryable<CoreCmsPlanOrderItem>().With(SqlWith.NoLock).WithCache().ToListAsync();
+ return list;
+ }
+
+ #endregion
+
+
+ #region 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// <summary>
+ /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="predicate">鍒ゆ柇闆嗗悎</param>
+ /// <param name="orderByType">鎺掑簭鏂瑰紡</param>
+ /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param>
+ /// <param name="pageSize">鍒嗗竷澶у皬</param>
+ /// <param name="orderByExpression"></param>
+ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param>
+ /// <returns></returns>
+ public async Task<IPageList<CoreCmsPlanOrderItem>> QueryPageAsync(Expression<Func<CoreCmsPlanOrderItem, bool>> predicate,
+ Expression<Func<CoreCmsPlanOrderItem, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
+ int pageSize = 20, bool blUseNoLock = false)
+ {
+ RefAsync<int> totalCount = 0;
+ List<CoreCmsPlanOrderItem> page;
+ if (blUseNoLock)
+ {
+ page = await DbClient.Queryable<CoreCmsPlanOrderItem>()
+ .OrderByIF(orderByExpression != null, orderByExpression, orderByType)
+ .WhereIF(predicate != null, predicate).Select(p => new CoreCmsPlanOrderItem
+ {
+ id = p.id,
+ orderId = p.orderId,
+ name = p.name,
+ specification = p.specification,
+ price = p.price,
+ nums = p.nums,
+ amount = p.amount,
+ createTime = p.createTime,
+ upDataTime = p.upDataTime,
+ createBy = p.createBy,
+ upDataBy = p.upDataBy,
+ isdelete = p.isdelete,
+
+ }).With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount);
+ }
+ else
+ {
+ page = await DbClient.Queryable<CoreCmsPlanOrderItem>()
+ .OrderByIF(orderByExpression != null, orderByExpression, orderByType)
+ .WhereIF(predicate != null, predicate).Select(p => new CoreCmsPlanOrderItem
+ {
+ id = p.id,
+ orderId = p.orderId,
+ name = p.name,
+ specification = p.specification,
+ price = p.price,
+ nums = p.nums,
+ amount = p.amount,
+ createTime = p.createTime,
+ upDataTime = p.upDataTime,
+ createBy = p.createBy,
+ upDataBy = p.upDataBy,
+ isdelete = p.isdelete,
+
+ }).ToPageListAsync(pageIndex, pageSize, totalCount);
+ }
+ var list = new PageList<CoreCmsPlanOrderItem>(page, pageIndex, pageSize, totalCount);
+ return list;
+ }
+
+ #endregion
+
+ }
+}
diff --git a/CoreCms.Net.Repository/Order/CoreCmsPlanOrderRepository.cs b/CoreCms.Net.Repository/Order/CoreCmsPlanOrderRepository.cs
new file mode 100644
index 0000000..a6a3b9f
--- /dev/null
+++ b/CoreCms.Net.Repository/Order/CoreCmsPlanOrderRepository.cs
@@ -0,0 +1,230 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:20
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using CoreCms.Net.Caching.Manual;
+using CoreCms.Net.Configuration;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.ViewModels.Basics;
+using CoreCms.Net.IRepository;
+using CoreCms.Net.IRepository.UnitOfWork;
+using CoreCms.Net.Model.ViewModels.UI;
+using SqlSugar;
+using CoreCms.Net.Model.Entities.Order;
+
+namespace CoreCms.Net.Repository
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟琛� 鎺ュ彛瀹炵幇
+ /// </summary>
+ public class CoreCmsPlanOrderRepository : BaseRepository<CoreCmsPlanOrder>, ICoreCmsPlanOrderRepository
+ {
+ private readonly IUnitOfWork _unitOfWork;
+ public CoreCmsPlanOrderRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
+ {
+ _unitOfWork = unitOfWork;
+ }
+
+ #region 瀹炵幇閲嶅啓澧炲垹鏀规煡鎿嶄綔==========================================================
+
+ /// <summary>
+ /// 閲嶅啓寮傛鎻掑叆鏂规硶
+ /// </summary>
+ /// <param name="entity">瀹炰綋鏁版嵁</param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> InsertAsync(CoreCmsPlanOrder entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var bl = await DbClient.Insertable(entity).ExecuteReturnIdentityAsync() > 0;
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
+
+ return jm;
+ }
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> UpdateAsync(CoreCmsPlanOrder entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var oldModel = await DbClient.Queryable<CoreCmsPlanOrder>().In(entity.orderId).SingleAsync();
+ if (oldModel == null)
+ {
+ jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+ return jm;
+ }
+ //浜嬬墿澶勭悊杩囩▼寮�濮�
+ oldModel.orderId = entity.orderId;
+ oldModel.orderAmount = entity.orderAmount;
+ oldModel.status = entity.status;
+ oldModel.userId = entity.userId;
+ oldModel.shipAddress = entity.shipAddress;
+ oldModel.shipName = entity.shipName;
+ oldModel.shipMobile = entity.shipMobile;
+ oldModel.oldOrderAmount = entity.oldOrderAmount;
+ oldModel.keYongAmount = entity.keYongAmount;
+ oldModel.createTime = entity.createTime;
+ oldModel.upDataTime = entity.upDataTime;
+ oldModel.createBy = entity.createBy;
+ oldModel.upDataBy = entity.upDataBy;
+ oldModel.isdelete = entity.isdelete;
+
+ //浜嬬墿澶勭悊杩囩▼缁撴潫
+ var bl = await DbClient.Updateable(oldModel).ExecuteCommandHasChangeAsync();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+
+ return jm;
+ }
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> UpdateAsync(List<CoreCmsPlanOrder> entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var bl = await DbClient.Updateable(entity).ExecuteCommandHasChangeAsync();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+
+ return jm;
+ }
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> DeleteByIdAsync(object id)
+ {
+ var jm = new AdminUiCallBack();
+
+ var bl = await DbClient.Deleteable<CoreCmsPlanOrder>(id).ExecuteCommandHasChangeAsync();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
+
+ return jm;
+ }
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎)
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
+ {
+ var jm = new AdminUiCallBack();
+
+ var bl = await DbClient.Deleteable<CoreCmsPlanOrder>().In(ids).ExecuteCommandHasChangeAsync();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
+
+ return jm;
+ }
+
+ #endregion
+
+ #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�==========================================================
+
+ /// <summary>
+ /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�
+ /// </summary>
+ /// <returns></returns>
+ public async Task<List<CoreCmsPlanOrder>> GetCaChe()
+ {
+ var list = await DbClient.Queryable<CoreCmsPlanOrder>().With(SqlWith.NoLock).WithCache().ToListAsync();
+ return list;
+ }
+
+ #endregion
+
+
+ #region 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// <summary>
+ /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="predicate">鍒ゆ柇闆嗗悎</param>
+ /// <param name="orderByType">鎺掑簭鏂瑰紡</param>
+ /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param>
+ /// <param name="pageSize">鍒嗗竷澶у皬</param>
+ /// <param name="orderByExpression"></param>
+ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param>
+ /// <returns></returns>
+ public async Task<IPageList<CoreCmsPlanOrder>> QueryPageAsync(Expression<Func<CoreCmsPlanOrder, bool>> predicate,
+ Expression<Func<CoreCmsPlanOrder, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
+ int pageSize = 20, bool blUseNoLock = false)
+ {
+ RefAsync<int> totalCount = 0;
+ List<CoreCmsPlanOrder> page;
+ if (blUseNoLock)
+ {
+ page = await DbClient.Queryable<CoreCmsPlanOrder>()
+ .OrderByIF(orderByExpression != null, orderByExpression, orderByType)
+ .WhereIF(predicate != null, predicate).Select(p => new CoreCmsPlanOrder
+ {
+ orderId = p.orderId,
+ orderAmount = p.orderAmount,
+ status = p.status,
+ userId = p.userId,
+ shipAddress = p.shipAddress,
+ shipName = p.shipName,
+ shipMobile = p.shipMobile,
+ oldOrderAmount = p.oldOrderAmount,
+ keYongAmount = p.keYongAmount,
+ createTime = p.createTime,
+ upDataTime = p.upDataTime,
+ createBy = p.createBy,
+ upDataBy = p.upDataBy,
+ isdelete = p.isdelete,
+
+ }).With(SqlWith.NoLock).ToPageListAsync(pageIndex, pageSize, totalCount);
+ }
+ else
+ {
+ page = await DbClient.Queryable<CoreCmsPlanOrder>()
+ .OrderByIF(orderByExpression != null, orderByExpression, orderByType)
+ .WhereIF(predicate != null, predicate).Select(p => new CoreCmsPlanOrder
+ {
+ orderId = p.orderId,
+ orderAmount = p.orderAmount,
+ status = p.status,
+ userId = p.userId,
+ shipAddress = p.shipAddress,
+ shipName = p.shipName,
+ shipMobile = p.shipMobile,
+ oldOrderAmount = p.oldOrderAmount,
+ keYongAmount = p.keYongAmount,
+ createTime = p.createTime,
+ upDataTime = p.upDataTime,
+ createBy = p.createBy,
+ upDataBy = p.upDataBy,
+ isdelete = p.isdelete,
+
+ }).ToPageListAsync(pageIndex, pageSize, totalCount);
+ }
+ var list = new PageList<CoreCmsPlanOrder>(page, pageIndex, pageSize, totalCount);
+ return list;
+ }
+
+ #endregion
+
+ }
+}
diff --git a/CoreCms.Net.Services/Order/CoreCmsPlanOrderItemServices.cs b/CoreCms.Net.Services/Order/CoreCmsPlanOrderItemServices.cs
new file mode 100644
index 0000000..e6bb1f5
--- /dev/null
+++ b/CoreCms.Net.Services/Order/CoreCmsPlanOrderItemServices.cs
@@ -0,0 +1,130 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:37
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using CoreCms.Net.Configuration;
+using CoreCms.Net.IRepository;
+using CoreCms.Net.IRepository.UnitOfWork;
+using CoreCms.Net.IServices;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.Entities.Order;
+using CoreCms.Net.Model.ViewModels.Basics;
+using CoreCms.Net.Model.ViewModels.UI;
+using SqlSugar;
+
+
+namespace CoreCms.Net.Services
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟鏄庣粏琛� 鎺ュ彛瀹炵幇
+ /// </summary>
+ public class CoreCmsPlanOrderItemServices : BaseServices<CoreCmsPlanOrderItem>, ICoreCmsPlanOrderItemServices
+ {
+ private readonly ICoreCmsPlanOrderItemRepository _dal;
+ private readonly IUnitOfWork _unitOfWork;
+
+ public CoreCmsPlanOrderItemServices(IUnitOfWork unitOfWork, ICoreCmsPlanOrderItemRepository dal)
+ {
+ this._dal = dal;
+ base.BaseDal = dal;
+ _unitOfWork = unitOfWork;
+ }
+
+ #region 瀹炵幇閲嶅啓澧炲垹鏀规煡鎿嶄綔==========================================================
+
+ /// <summary>
+ /// 閲嶅啓寮傛鎻掑叆鏂规硶
+ /// </summary>
+ /// <param name="entity">瀹炰綋鏁版嵁</param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> InsertAsync(CoreCmsPlanOrderItem entity)
+ {
+ return await _dal.InsertAsync(entity);
+ }
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> UpdateAsync(CoreCmsPlanOrderItem entity)
+ {
+ return await _dal.UpdateAsync(entity);
+ }
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> UpdateAsync(List<CoreCmsPlanOrderItem> entity)
+ {
+ return await _dal.UpdateAsync(entity);
+ }
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> DeleteByIdAsync(object id)
+ {
+ return await _dal.DeleteByIdAsync(id);
+ }
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎)
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
+ {
+ return await _dal.DeleteByIdsAsync(ids);
+ }
+
+ #endregion
+
+ #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�==========================================================
+
+ /// <summary>
+ /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�
+ /// </summary>
+ /// <returns></returns>
+ public async Task<List<CoreCmsPlanOrderItem>> GetCaChe()
+ {
+ return await _dal.GetCaChe();
+ }
+
+ #endregion
+
+ #region 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// <summary>
+ /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="predicate">鍒ゆ柇闆嗗悎</param>
+ /// <param name="orderByType">鎺掑簭鏂瑰紡</param>
+ /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param>
+ /// <param name="pageSize">鍒嗗竷澶у皬</param>
+ /// <param name="orderByExpression"></param>
+ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param>
+ /// <returns></returns>
+ public async Task<IPageList<CoreCmsPlanOrderItem>> QueryPageAsync(Expression<Func<CoreCmsPlanOrderItem, bool>> predicate,
+ Expression<Func<CoreCmsPlanOrderItem, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
+ int pageSize = 20, bool blUseNoLock = false)
+ {
+ return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
+ }
+ #endregion
+
+ }
+}
diff --git a/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs b/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs
new file mode 100644
index 0000000..0464b05
--- /dev/null
+++ b/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs
@@ -0,0 +1,383 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:20
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+using CoreCms.Net.Configuration;
+using CoreCms.Net.IRepository;
+using CoreCms.Net.IRepository.UnitOfWork;
+using CoreCms.Net.IServices;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.Entities.Expression;
+using CoreCms.Net.Model.Entities.Order;
+using CoreCms.Net.Model.ViewModels.Basics;
+using CoreCms.Net.Model.ViewModels.UI;
+using CoreCms.Net.Utility.Helper;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+using SqlSugar;
+using static CoreCms.Net.Configuration.GlobalEnumVars;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressIntracityQueryStoreResponse.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.ProductSPUAddRequest.Types;
+using System.Linq;
+using CoreCms.Net.Model.Entities.baifenbingfa.apply;
+using CoreCms.Net.Model.ViewModels.DTO;
+using CoreCms.Net.Model.Entities.baifenbingfa.Promote;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.ScanProductAddV2Request.Types.Product.Types;
+using NPOI.SS.Formula.Functions;
+
+
+namespace CoreCms.Net.Services
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟琛� 鎺ュ彛瀹炵幇
+ /// </summary>
+ public class CoreCmsPlanOrderServices : BaseServices<CoreCmsPlanOrder>, ICoreCmsPlanOrderServices
+ {
+ private readonly ICoreCmsPlanOrderRepository _dal;
+ private readonly IUnitOfWork _unitOfWork;
+ private readonly ICoreCmsPlanOrderItemRepository _itemDal;
+ private readonly ICoreCmsUserServices _coreCmsUserServices;
+
+ public CoreCmsPlanOrderServices(IUnitOfWork unitOfWork, ICoreCmsPlanOrderRepository dal
+ , ICoreCmsPlanOrderItemRepository itemDal
+ , ICoreCmsUserServices coreCmsUserServices)
+ {
+ this._dal = dal;
+ base.BaseDal = dal;
+ _unitOfWork = unitOfWork;
+ _itemDal = itemDal;
+ _coreCmsUserServices = coreCmsUserServices;
+ }
+
+ #region 瀹炵幇閲嶅啓澧炲垹鏀规煡鎿嶄綔==========================================================
+
+ /// <summary>
+ /// 閲嶅啓寮傛鎻掑叆鏂规硶
+ /// </summary>
+ /// <param name="entity">瀹炰綋鏁版嵁</param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> InsertAsync(CoreCmsPlanOrder entity)
+ {
+ return await _dal.InsertAsync(entity);
+ }
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> UpdateAsync(CoreCmsPlanOrder entity)
+ {
+ return await _dal.UpdateAsync(entity);
+ }
+
+ /// <summary>
+ /// 閲嶅啓寮傛鏇存柊鏂规硶鏂规硶
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> UpdateAsync(List<CoreCmsPlanOrder> entity)
+ {
+ return await _dal.UpdateAsync(entity);
+ }
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> DeleteByIdAsync(object id)
+ {
+ return await _dal.DeleteByIdAsync(id);
+ }
+
+ /// <summary>
+ /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎)
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
+ {
+ return await _dal.DeleteByIdsAsync(ids);
+ }
+
+ #endregion
+
+ #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�==========================================================
+
+ /// <summary>
+ /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�
+ /// </summary>
+ /// <returns></returns>
+ public async Task<List<CoreCmsPlanOrder>> GetCaChe()
+ {
+ return await _dal.GetCaChe();
+ }
+
+ #endregion
+
+ #region 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// <summary>
+ /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="predicate">鍒ゆ柇闆嗗悎</param>
+ /// <param name="orderByType">鎺掑簭鏂瑰紡</param>
+ /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param>
+ /// <param name="pageSize">鍒嗗竷澶у皬</param>
+ /// <param name="orderByExpression"></param>
+ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param>
+ /// <returns></returns>
+ public async Task<IPageList<CoreCmsPlanOrder>> QueryPageAsync(Expression<Func<CoreCmsPlanOrder, bool>> predicate,
+ Expression<Func<CoreCmsPlanOrder, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
+ int pageSize = 20, bool blUseNoLock = false)
+ {
+ return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock);
+ }
+ #endregion
+
+ #region 鑾峰彇璁″垝璁㈠崟鍒楄〃寰俊灏忕▼搴�
+ /// <summary>
+ /// 鑾峰彇璁″垝璁㈠崟鍒楄〃寰俊灏忕▼搴�
+ /// </summary>
+ /// <returns></returns>
+ public async Task<WebApiCallBack> GetOrderList(int status = -1, int userId = 0, int page = 1, int limit = 5)
+ {
+ var jm = new WebApiCallBack { status = true };
+
+ var where = PredicateBuilder.True<CoreCmsPlanOrder>();
+
+ if (status > -1)
+ {
+ where = where.And(p => p.status == status);
+ }
+ if (userId > 0)
+ {
+ where = where.And(p => p.userId == userId);
+ }
+ var list = await _dal.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, page, limit);
+
+ if (list!=null && list.Count>0)
+ {
+ foreach (var order in list)
+ {
+ //鑾峰彇鐩稿叧鐘舵�佹弿杩拌鏄庤浆鎹�
+ order.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(order.status);
+
+ }
+ }
+ jm.data = new
+ {
+ list,
+ count = list.TotalCount,
+ page,
+ limit,
+ status
+ };
+
+ return jm;
+ }
+
+
+ #endregion
+
+
+
+ /// <summary>
+ /// 鍒涘缓璁㈠崟
+ /// </summary>
+ /// <param name="userId">鐢ㄦ埛搴忓垪</param>
+ /// <param name="userName">鐢ㄦ埛鏄电О</param>
+ /// <param name="status">璁″垝璁㈠崟鐘舵��</param>
+ /// <param name="itemIds">鏄庣粏id</param>
+ /// <param name="itemNums">鏄庣粏鏁伴噺</param>
+ /// <returns></returns>
+ public async Task<WebApiCallBack> ToUpdate(string orderId, int userId, string userName, int status, string itemIds, string itemNums)
+ {
+ var jm = new WebApiCallBack() { methodDescription = "淇敼璁″垝璁㈠崟" };
+ try
+ {
+ //寮�濮嬩簨鍔″鐞�
+ _unitOfWork.BeginTran();
+ var order = await _dal.QueryByIdAsync(orderId);
+
+
+ order.upDataBy = userName;
+ order.upDataTime = DateTime.Now;
+
+ List<CoreCmsPlanOrderItem> orderItems;
+ var ids = CommonHelper.StringToIntArray(itemIds);
+ var nums = CommonHelper.StringToStringArray(itemNums);
+ orderItems = await _itemDal.QueryListByClauseAsync(x => x.orderId == orderId);
+ decimal orderAmount = 0;
+ for (int i=0;i< ids.Length; i++)
+ {
+ var id = ids[i];
+ int num = 0;
+ int.TryParse(nums[i], out num);
+
+ var item = orderItems.Where(p => p.id == id).FirstOrDefault();
+ item.nums = num;
+ item.amount = item.price * (decimal)num;
+ var jms = await _itemDal.UpdateAsync(item);
+ orderAmount += item.amount;
+ }
+
+ order.orderAmount = orderAmount;
+ order.keYongAmount = order.oldOrderAmount - order.orderAmount;
+
+ if (order.keYongAmount < 0)
+ {
+ _unitOfWork.RollbackTran();
+ jm.status = false;
+ jm.otherData = "鍙敤浣欓涓嶈兘涓鸿礋";
+ }
+
+ if (status == 2)
+ {
+ order.status = 2;
+
+
+ if (order.keYongAmount > 0)
+ {
+ //淇敼鐢ㄦ埛浣欓
+
+ var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, order.keYongAmount, "鐢ㄦ埛璁″垝璁㈠崟娆鹃」缁撲綑");
+ }
+
+ }
+
+
+ //鏍¢獙鍚庡啀鍒涘缓璁㈠崟
+ var jmss = await _dal.UpdateAsync(order);
+
+
+
+
+
+
+ _unitOfWork.CommitTran();
+
+ jm.status = true;
+ jm.data = order;
+ jm.msg = "淇敼鎴愬姛";
+ }
+ catch (Exception e)
+ {
+ _unitOfWork.RollbackTran();
+ jm.status = false;
+ jm.otherData = e.ToString();
+ }
+ return jm;
+ }
+
+
+
+
+
+ /// <summary>
+ /// 鍒涘缓璁㈠崟
+ /// </summary>
+ /// <param name="jiHuaOrders">璁″垝璁㈠崟</param>
+ /// <param name="userId">鐢ㄦ埛搴忓垪</param>
+ /// <param name="userName">鐢ㄦ埛鏄电О</param>
+ /// <returns></returns>
+ public async Task<AdminUiCallBack> ToAddJiHua(List<JiHuaOrder> jiHuaOrders, int userId, string userName)
+ {
+ var jm = new AdminUiCallBack() ;
+ try
+ {
+ //寮�濮嬩簨鍔″鐞�
+ _unitOfWork.BeginTran();
+ CoreCmsPlanOrder order = new CoreCmsPlanOrder();
+ order.orderId = CommonHelper.GetSerialNumberType((int)GlobalEnumVars.SerialNumberType.璁″垝璁㈠崟缂栧彿);
+
+ order.status = 1;
+ order.shipMobile = jiHuaOrders[0].shipMobile;
+ order.shipAddress = jiHuaOrders[0].shipAddress;
+ order.shipName = jiHuaOrders[0].shipName; ;
+ var user = await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Where(x => x.mobile == order.shipMobile && x.isDelete == false && x.status == 1).FirstAsync();
+ if (user != null)
+ {
+ order.userId = user.id;
+ }
+ else
+ {
+ jm.code = 1;
+ jm.msg = order.shipMobile + "娌℃湁鎵惧埌鐢ㄦ埛";
+ return jm;
+ }
+
+ order.createBy = userName;
+ order.createTime = DateTime.Now;
+ order.upDataBy = userName;
+ order.upDataTime = DateTime.Now;
+ order.isdelete = false;
+
+
+
+
+
+
+ decimal orderAmount = 0;
+ for (int i = 0; i < jiHuaOrders.Count; i++)
+ {
+ var item = new CoreCmsPlanOrderItem();
+ item.orderId = order.orderId;
+ item.name = jiHuaOrders[i].name;
+ item.specification = jiHuaOrders[i].specification;
+ item.price = jiHuaOrders[i].price;
+ item.nums = jiHuaOrders[i].nums; ;
+ item.amount = item.price * (decimal)jiHuaOrders[i].nums;
+ item.createBy = userName;
+ item.createTime = DateTime.Now;
+ item.upDataBy = userName;
+ item.upDataTime = DateTime.Now;
+ item.isdelete = false;
+ var jms = await _itemDal.InsertAsync(item);
+ orderAmount += item.amount;
+ }
+
+ order.orderAmount = orderAmount;
+ order.oldOrderAmount = orderAmount;
+ order.keYongAmount = 0;
+
+ //鏍¢獙鍚庡啀鍒涘缓璁㈠崟
+ var jmss = await _dal.InsertAsync(order);
+
+
+
+
+
+
+
+
+
+
+
+ _unitOfWork.CommitTran();
+
+ jm.code = 0;
+ jm.data = order;
+ jm.msg = "瀵煎叆鎴愬姛";
+ }
+ catch (Exception e)
+ {
+ _unitOfWork.RollbackTran();
+ jm.code = 0;
+ jm.otherData = e.ToString();
+ }
+ return jm;
+ }
+ }
+}
diff --git a/CoreCms.Net.Utility/Helper/CommonHelper.cs b/CoreCms.Net.Utility/Helper/CommonHelper.cs
index 69386c3..43aab4f 100644
--- a/CoreCms.Net.Utility/Helper/CommonHelper.cs
+++ b/CoreCms.Net.Utility/Helper/CommonHelper.cs
@@ -312,6 +312,9 @@
str += charsStr2[rand.Next(0, charsLen2)];
}
break;
+ case (int)GlobalEnumVars.SerialNumberType.璁″垝璁㈠崟缂栧彿: //璁″垝璁㈠崟缂栧彿
+ str = type + YitIdHelper.NextId().ToString();
+ break;
default:
str = 'T' + YitIdHelper.NextId().ToString();
break;
diff --git a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs
index ff8fe3c..e4aa7f1 100644
--- a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs
+++ b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs
@@ -37,8 +37,12 @@
using COSXML.Auth;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
+using NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+using NPOI.XSSF.UserModel;
using SKIT.FlurlHttpClient.Wechat.Api;
using SKIT.FlurlHttpClient.Wechat.Api.Models;
using SqlSugar;
@@ -89,6 +93,7 @@
private readonly IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
private readonly SemaphoreSlim _semaphore;
+ private readonly ICoreCmsPlanOrderServices _coreCmsPlanOrderServices;
/// <summary>
/// 鏋勯�犲嚱鏁�
@@ -111,7 +116,8 @@
, ISysUserRoleServices sysUserRoleServices
, ISysOrganizationServices sysOrganizationServices,
ICoreCmsLogisticsServices logisticsServices, ISysLoginRecordServices sysLoginRecordServices, ISysNLogRecordsServices sysNLogRecordsServices, ICoreCmsBillPaymentsServices paymentsServices, ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsUserServices userServices, ICoreCmsOrderServices orderServices, ICoreCmsBillAftersalesServices aftersalesServices, ICoreCmsSettingServices settingServices, ICoreCmsProductsServices productsServices, ICoreCmsServicesServices servicesServices, ISysRoleMenuServices sysRoleMenuServices
- , IWeChatApiHttpClientFactory weChatApiHttpClientFactory, ICoreCmsPagesServices pagesServices, IToolsServices toolsServices, ICoreCmsReportsServices reportsServices, ICoreCmsGoodsCategoryServices goodsCategoryServices)
+ , IWeChatApiHttpClientFactory weChatApiHttpClientFactory, ICoreCmsPagesServices pagesServices, IToolsServices toolsServices, ICoreCmsReportsServices reportsServices, ICoreCmsGoodsCategoryServices goodsCategoryServices
+ , ICoreCmsPlanOrderServices coreCmsPlanOrderServices )
{
_user = user;
_webHostEnvironment = webHostEnvironment;
@@ -148,6 +154,7 @@
_toolsServices = toolsServices;
_reportsServices = reportsServices;
_goodsCategoryServices = goodsCategoryServices;
+ _coreCmsPlanOrderServices = coreCmsPlanOrderServices;
//鏈�澶氬厑璁�2涓嚎绋嬪悓鏃惰闂�;
_semaphore = new SemaphoreSlim(2);
@@ -363,6 +370,258 @@
//閫氱敤鎿嶄綔=========================================================================
+ #region 璁″垝璁㈠崟涓婁紶鎺ュ彛====================================================
+
+ /// <summary>
+ /// 璁″垝璁㈠崟涓婁紶鎺ュ彛
+ /// </summary>
+ /// <returns></returns>
+ [Authorize]
+ [HttpPost]
+ public async Task<AdminUiCallBack> UploadFilesXls()
+ {
+
+ var jm = new AdminUiCallBack();
+ await _semaphore.WaitAsync();
+ try
+ {
+ var filesStorageOptions = await _coreCmsSettingServices.GetFilesStorageOptions();
+
+ //鍒濆鍖栦笂浼犲弬鏁�
+ var maxSize = 1024 * 1024 * filesStorageOptions.MaxSize; //涓婁紶澶у皬5M
+
+ var file = Request.Form.Files["file"];
+ if (file == null)
+ {
+ jm.msg = "璇烽�夋嫨鏂囦欢";
+ return jm;
+ }
+
+ var fileName = file.FileName;
+ var fileExt = Path.GetExtension(fileName).ToLowerInvariant();
+
+ //妫�鏌ュぇ灏�
+ if (file.Length > maxSize)
+ {
+ jm.msg = "涓婁紶鏂囦欢澶у皬瓒呰繃闄愬埗锛屾渶澶у厑璁镐笂浼�" + filesStorageOptions.MaxSize + "M";
+ return jm;
+ }
+
+ //妫�鏌ユ枃浠舵墿灞曞悕
+ if (string.IsNullOrEmpty(fileExt) ||
+ Array.IndexOf(filesStorageOptions.FileTypes.Split(','), fileExt.Substring(1).ToLower()) == -1)
+ {
+ jm.msg = "涓婁紶鏂囦欢鎵╁睍鍚嶆槸涓嶅厑璁哥殑鎵╁睍鍚�,璇蜂笂浼犲悗缂�鍚嶄负锛�" + filesStorageOptions.FileTypes;
+ return jm;
+ }
+ var lie = new List<JiHuaOrder>();
+ using (var fileStream = file.OpenReadStream())
+ {
+
+ // 浣跨敤HSSFWorkbook鎵撳紑.xls鏍煎紡鐨勬枃浠�
+ IWorkbook workbook = new XSSFWorkbook(fileStream);
+
+ // 鑾峰彇绗竴涓伐浣滆〃
+ ISheet sheet = workbook.GetSheetAt(0);
+
+
+
+ // 杩唬宸ヤ綔琛ㄤ腑鐨勬墍鏈夎
+ for (int i = 1; i <= sheet.LastRowNum; i++)
+ {
+ var hang = new JiHuaOrder();
+ IRow row = sheet.GetRow(i);
+ if (row == null) continue; // 璺宠繃绌鸿
+
+ ICell cell1 = row.GetCell(1);
+ if (cell1 == null)
+ {
+ jm.msg ="绗�" +(i+1) + "瀛︽牎涓嶈兘涓虹┖";
+ return jm;
+ }
+ hang.shipAddress = getcellvalue(cell1);
+
+ ICell cell2 = row.GetCell(2);
+ if (cell2 == null)
+ {
+ jm.msg = "绗�" + (i + 1) + "鑱旂郴浜轰笉鑳戒负绌�";
+ return jm;
+ }
+ hang.shipName = getcellvalue(cell2);
+
+ ICell cell3 = row.GetCell(3);
+ if (cell3 == null)
+ {
+ jm.msg = "绗�" + (i + 1) + "鑱旂郴鐢佃瘽涓嶈兘涓虹┖";
+ return jm;
+ }
+ hang.shipMobile = getcellvalue(cell3);
+
+ ICell cell4 = row.GetCell(4);
+ if (cell4 == null)
+ {
+ jm.msg = "绗�" + (i + 1) + "鍟嗗搧鍚嶇О涓嶈兘涓虹┖";
+ return jm;
+ }
+ hang.name = getcellvalue(cell4);
+
+ ICell cell5 = row.GetCell(5);
+ if (cell5 == null)
+ {
+ jm.msg = "绗�" + (i + 1) + "瑙勬牸涓嶈兘涓虹┖";
+ return jm;
+ }
+ hang.specification = getcellvalue(cell5);
+
+ ICell cell6 = row.GetCell(6);
+ if (cell6 == null)
+ {
+ jm.msg = "绗�" + (i + 1) + "鍗曚环锛堝厓锛変笉鑳戒负绌�";
+ return jm;
+ }
+ hang.price = decimal.Parse(getcellvalue(cell6));
+
+ ICell cell7 = row.GetCell(7);
+ if (cell7 == null)
+ {
+ jm.msg = "绗�" + (i + 1) + "鏁伴噺涓嶈兘涓虹┖";
+ return jm;
+ }
+ hang.nums = int.Parse(getcellvalue(cell7)); ;
+
+ lie.Add(hang);
+
+ }
+ }
+ lie = lie.OrderBy(x => x.shipAddress).ThenBy(x => x.specification).ToList();
+ string url = string.Empty;
+ url = "121212";
+
+ if (lie!=null && lie.Count > 0)
+ {
+ var order = new List<JiHuaOrder>();
+ for(int i=0;i< lie.Count; i++)
+ {
+ if (i == 0 )
+ {
+ order.Add(lie[i]);
+ //if(lie.Count == 1)
+ //{
+ // //淇濆瓨璁㈠崟
+ // jm = await _coreCmsPlanOrderServices.ToAddJiHua(lie,_user.ID, _user.Name);
+ // if (jm.code == 1)
+ // {
+ // return jm;
+ // }
+ //}
+ }
+ else
+ {
+ if(lie[i].shipAddress == lie[i - 1].shipAddress)
+ {
+ order.Add(lie[i]);
+ }
+ else
+ {
+ //淇濆瓨璁㈠崟
+ jm = await _coreCmsPlanOrderServices.ToAddJiHua(lie, _user.ID, _user.Name);
+ if (jm.code == 1)
+ {
+ return jm;
+ }
+ order = new List<JiHuaOrder>();
+ order.Add(lie[i]);
+ }
+ }
+
+ if (i == lie.Count - 1)
+ {
+ //淇濆瓨璁㈠崟
+ jm = await _coreCmsPlanOrderServices.ToAddJiHua(lie, _user.ID, _user.Name);
+ if (jm.code == 1)
+ {
+ return jm;
+ }
+ }
+ }
+
+
+ }
+ else
+ {
+ jm.code =1;
+ jm.msg = "琛ㄦ牸鏃犳暟鎹�";
+ jm.data = new
+ {
+ fileUrl = url,
+ src = url
+ };
+ }
+
+
+
+
+ var bl = !string.IsNullOrEmpty(url);
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? "涓婁紶鎴愬姛!" : "涓婁紶澶辫触";
+ jm.data = new
+ {
+ fileUrl = url,
+ src = url
+ };
+ }
+ catch (Exception e)
+ {
+ jm.code = 1;
+ jm.msg = "鏁版嵁寮傚父";
+ jm.data = e;
+ }
+ finally
+ {
+ _semaphore.Release(); // 閲婃斁璁块棶
+ }
+
+ return jm;
+ }
+
+
+ /// <summary>
+ /// 璁″垝璁㈠崟涓婁紶鎺ュ彛
+ /// </summary>
+ /// <returns></returns>
+ public string getcellvalue(ICell cell)
+ {
+ string cellvalue = "";
+ switch (cell.CellType)
+ {
+ case CellType.String:
+ // Console.WriteLine(cell.StringCellValue);
+ cellvalue = cell.StringCellValue.Trim();
+ break;
+ case CellType.Numeric:
+ //Console.WriteLine(cell.NumericCellValue);
+ cellvalue = cell.NumericCellValue.ToString().Trim();
+ break;
+ case CellType.Boolean:
+ //Console.WriteLine(cell.BooleanCellValue);
+ cellvalue = cell.BooleanCellValue.ToString().Trim();
+ break;
+ case CellType.Error:
+ // Console.WriteLine(cell.ErrorCellValue);
+ cellvalue = cell.ErrorCellValue.ToString().Trim();
+ break;
+ // 鍙互娣诲姞鍏朵粬绫诲瀷鐨刢ase
+ }
+
+ return cellvalue;
+ }
+
+
+
+
+ #endregion
+
+
#region 閫氱敤涓婁紶鎺ュ彛====================================================
/// <summary>
diff --git a/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs b/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs
new file mode 100644
index 0000000..78894d6
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs
@@ -0,0 +1,975 @@
+/***********************************************************************
+ * Project: baifenBinfa
+ * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
+ * Web: http://chuanyin.com
+ * Author:
+ * Email:
+ * CreateTime: 2024/4/17 13:28:20
+ * Description: 鏆傛棤
+ ***********************************************************************/
+
+
+using System;
+using System.ComponentModel;
+using System.IO;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using CoreCms.Net.Configuration;
+using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.Entities.Expression;
+using CoreCms.Net.Model.FromBody;
+using CoreCms.Net.Model.ViewModels.UI;
+using CoreCms.Net.Filter;
+using CoreCms.Net.Loging;
+using CoreCms.Net.IServices;
+using CoreCms.Net.Utility.Helper;
+using CoreCms.Net.Utility.Extensions;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Mvc;
+using NPOI.HSSF.UserModel;
+using SqlSugar;
+using CoreCms.Net.Web.Admin.Infrastructure;
+using CoreCms.Net.Model.Entities.Order;
+using CoreCms.Net.Services;
+using System.Threading;
+
+namespace CoreCms.Net.Web.Admin.Controllers
+{
+ /// <summary>
+ /// 璁″垝璁㈠崟琛�
+ ///</summary>
+ [Description("璁″垝璁㈠崟琛�")]
+ [Route("api/[controller]/[action]")]
+ [ApiController]
+ [RequiredErrorForAdmin]
+ [Authorize(Permissions.Name)]
+ public class CoreCmsPlanOrderController : ControllerBase
+ {
+ private readonly IWebHostEnvironment _webHostEnvironment;
+ private readonly ICoreCmsPlanOrderServices _CoreCmsPlanOrderServices;
+ private readonly ICoreCmsPlanOrderItemServices _planOrderItemServices;
+ private readonly ICoreCmsSettingServices _coreCmsSettingServices;
+ private readonly SemaphoreSlim _semaphore;
+
+
+ /// <summary>
+ /// 鏋勯�犲嚱鏁�
+ ///</summary>
+ public CoreCmsPlanOrderController(IWebHostEnvironment webHostEnvironment
+ ,ICoreCmsPlanOrderServices CoreCmsPlanOrderServices
+ , ICoreCmsPlanOrderItemServices planOrderItemServices
+ , ICoreCmsSettingServices coreCmsSettingServices
+ )
+ {
+ _webHostEnvironment = webHostEnvironment;
+ _CoreCmsPlanOrderServices = CoreCmsPlanOrderServices;
+ _planOrderItemServices = planOrderItemServices;
+ _coreCmsSettingServices = coreCmsSettingServices;
+ }
+
+ #region 鑾峰彇鍒楄〃============================================================
+ // POST: Api/CoreCmsPlanOrder/GetPageList
+ /// <summary>
+ /// 鑾峰彇鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("鑾峰彇鍒楄〃")]
+ public async Task<AdminUiCallBack> GetPageList()
+ {
+ var jm = new AdminUiCallBack();
+ var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
+ var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
+ var where = PredicateBuilder.True<CoreCmsPlanOrder>();
+ //鑾峰彇鎺掑簭瀛楁
+ var orderField = Request.Form["orderField"].FirstOrDefault();
+
+ Expression<Func<CoreCmsPlanOrder, object>> orderEx = orderField switch
+ {
+ "orderId" => p => p.orderId,"orderAmount" => p => p.orderAmount,"status" => p => p.status,"userId" => p => p.userId,"shipAddress" => p => p.shipAddress,"shipName" => p => p.shipName,"shipMobile" => p => p.shipMobile,"oldOrderAmount" => p => p.oldOrderAmount,"keYongAmount" => p => p.keYongAmount,"createTime" => p => p.createTime,"upDataTime" => p => p.upDataTime,"createBy" => p => p.createBy,"upDataBy" => p => p.upDataBy,"isdelete" => p => p.isdelete,
+ _ => p => p.orderId
+ };
+
+ //璁剧疆鎺掑簭鏂瑰紡
+ var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
+ var orderBy = orderDirection switch
+ {
+ "asc" => OrderByType.Asc,
+ "desc" => OrderByType.Desc,
+ _ => OrderByType.Desc
+ };
+ //鏌ヨ绛涢��
+
+ //璁㈠崟鍙� varchar
+ var orderId = Request.Form["orderId"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(orderId))
+ {
+ where = where.And(p => p.orderId.Contains(orderId));
+ }
+ //璋冩暣璁㈠崟閲戦 decimal
+ var orderAmount = Request.Form["orderAmount"].FirstOrDefault().ObjectToDecimal(0);
+ if (orderAmount > 0)
+ {
+ where = where.And(p => p.orderAmount == orderAmount);
+ }
+ //璁㈠崟鐘舵�� int
+ var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
+ if (status > 0)
+ {
+ where = where.And(p => p.status == status);
+ }
+ //鐢ㄦ埛ID 鍏宠仈user.id int
+ var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
+ if (userId > 0)
+ {
+ where = where.And(p => p.userId == userId);
+ }
+ //瀛︽牎 varchar
+ var shipAddress = Request.Form["shipAddress"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(shipAddress))
+ {
+ where = where.And(p => p.shipAddress.Contains(shipAddress));
+ }
+ //鑱旂郴浜� varchar
+ var shipName = Request.Form["shipName"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(shipName))
+ {
+ where = where.And(p => p.shipName.Contains(shipName));
+ }
+ //鏀惰揣鐢佃瘽 varchar
+ var shipMobile = Request.Form["shipMobile"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(shipMobile))
+ {
+ where = where.And(p => p.shipMobile.Contains(shipMobile));
+ }
+ //璁″垝璁㈠崟閲戦 decimal
+ var oldOrderAmount = Request.Form["oldOrderAmount"].FirstOrDefault().ObjectToDecimal(0);
+ if (oldOrderAmount > 0)
+ {
+ where = where.And(p => p.oldOrderAmount == oldOrderAmount);
+ }
+ //鍙敤浣欓 decimal
+ var keYongAmount = Request.Form["keYongAmount"].FirstOrDefault().ObjectToDecimal(0);
+ if (keYongAmount > 0)
+ {
+ where = where.And(p => p.keYongAmount == keYongAmount);
+ }
+ //寤虹珛鏃堕棿 datetime
+ var createTime = Request.Form["createTime"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(createTime))
+ {
+ if (createTime.Contains("鍒�"))
+ {
+ var dts = createTime.Split("鍒�");
+ var dtStart = dts[0].Trim().ObjectToDate();
+ where = where.And(p => p.createTime > dtStart);
+ var dtEnd = dts[1].Trim().ObjectToDate();
+ where = where.And(p => p.createTime < dtEnd);
+ }
+ else
+ {
+ var dt = createTime.ObjectToDate();
+ where = where.And(p => p.createTime > dt);
+ }
+ }
+ //淇敼鏃堕棿 datetime
+ var upDataTime = Request.Form["upDataTime"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(upDataTime))
+ {
+ if (upDataTime.Contains("鍒�"))
+ {
+ var dts = upDataTime.Split("鍒�");
+ var dtStart = dts[0].Trim().ObjectToDate();
+ where = where.And(p => p.upDataTime > dtStart);
+ var dtEnd = dts[1].Trim().ObjectToDate();
+ where = where.And(p => p.upDataTime < dtEnd);
+ }
+ else
+ {
+ var dt = upDataTime.ObjectToDate();
+ where = where.And(p => p.upDataTime > dt);
+ }
+ }
+ //鍒涘缓浜� varchar
+ var createBy = Request.Form["createBy"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(createBy))
+ {
+ where = where.And(p => p.createBy.Contains(createBy));
+ }
+ //淇敼浜� varchar
+ var upDataBy = Request.Form["upDataBy"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(upDataBy))
+ {
+ where = where.And(p => p.upDataBy.Contains(upDataBy));
+ }
+ //鍒犻櫎鏍囧織 bit
+ var isdelete = Request.Form["isdelete"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true")
+ {
+ where = where.And(p => p.isdelete == true);
+ }
+ else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false")
+ {
+ where = where.And(p => p.isdelete == false);
+ }
+ //鑾峰彇鏁版嵁
+ var list = await _CoreCmsPlanOrderServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
+
+ if (list != null && list.Count > 0)
+ {
+ foreach (var order in list)
+ {
+ //鑾峰彇鐩稿叧鐘舵�佹弿杩拌鏄庤浆鎹�
+ order.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(order.status);
+
+ }
+ }
+
+ //杩斿洖鏁版嵁
+ jm.data = list;
+ jm.code = 0;
+ jm.count = list.TotalCount;
+ jm.msg = "鏁版嵁璋冪敤鎴愬姛!";
+ return jm;
+ }
+ #endregion
+
+ #region 棣栭〉鏁版嵁============================================================
+ // POST: Api/CoreCmsPlanOrder/GetIndex
+ /// <summary>
+ /// 棣栭〉鏁版嵁
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("棣栭〉鏁版嵁")]
+ public AdminUiCallBack GetIndex()
+ {
+ //杩斿洖鏁版嵁
+ var jm = new AdminUiCallBack { code = 0 };
+ return jm;
+ }
+ #endregion
+
+ #region 鍒涘缓鏁版嵁============================================================
+ // POST: Api/CoreCmsPlanOrder/GetCreate
+ /// <summary>
+ /// 鍒涘缓鏁版嵁
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("鍒涘缓鏁版嵁")]
+ public AdminUiCallBack GetCreate()
+ {
+ //杩斿洖鏁版嵁
+ var jm = new AdminUiCallBack { code = 0 };
+ return jm;
+ }
+ #endregion
+
+ #region 鍒涘缓鎻愪氦============================================================
+ // POST: Api/CoreCmsPlanOrder/DoCreate
+ /// <summary>
+ /// 鍒涘缓鎻愪氦
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("鍒涘缓鎻愪氦")]
+ public async Task<AdminUiCallBack> DoCreate([FromBody]CoreCmsPlanOrder entity)
+ {
+ var jm = await _CoreCmsPlanOrderServices.InsertAsync(entity);
+ return jm;
+ }
+ #endregion
+
+ #region 缂栬緫鏁版嵁============================================================
+ // POST: Api/CoreCmsPlanOrder/GetEdit
+ /// <summary>
+ /// 缂栬緫鏁版嵁
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("缂栬緫鏁版嵁")]
+ public async Task<AdminUiCallBack> GetEdit([FromBody]FMIntId entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var model = await _CoreCmsPlanOrderServices.QueryByIdAsync(entity.id, false);
+ if (model == null)
+ {
+ jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+ return jm;
+ }
+ jm.code = 0;
+ jm.data = model;
+
+ return jm;
+ }
+ #endregion
+
+ #region 缂栬緫鎻愪氦============================================================
+ // POST: Api/CoreCmsPlanOrder/Edit
+ /// <summary>
+ /// 缂栬緫鎻愪氦
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("缂栬緫鎻愪氦")]
+ public async Task<AdminUiCallBack> DoEdit([FromBody]CoreCmsPlanOrder entity)
+ {
+ var jm = await _CoreCmsPlanOrderServices.UpdateAsync(entity);
+ return jm;
+ }
+ #endregion
+
+ #region 鍒犻櫎鏁版嵁============================================================
+ // POST: Api/CoreCmsPlanOrder/DoDelete/10
+ /// <summary>
+ /// 鍗曢�夊垹闄�
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("鍗曢�夊垹闄�")]
+ public async Task<AdminUiCallBack> DoDelete([FromBody]FMStringId entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var model = await _CoreCmsPlanOrderServices.ExistsAsync(p => p.orderId == entity.id, true);
+ if (!model)
+ {
+ jm.msg = GlobalConstVars.DataisNo;
+ return jm;
+ }
+ jm = await _CoreCmsPlanOrderServices.DeleteByIdAsync(entity.id);
+
+ return jm;
+ }
+ #endregion
+
+ #region 鎵归噺鍒犻櫎============================================================
+ // POST: Api/CoreCmsPlanOrder/DoBatchDelete/10,11,20
+ /// <summary>
+ /// 鎵归噺鍒犻櫎
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("鎵归噺鍒犻櫎")]
+ public async Task<AdminUiCallBack> DoBatchDelete([FromBody]FMArrayIntIds entity)
+ {
+ var jm = await _CoreCmsPlanOrderServices.DeleteByIdsAsync(entity.id);
+ return jm;
+ }
+
+ #endregion
+
+ #region 棰勮鏁版嵁============================================================
+ // POST: Api/CoreCmsPlanOrder/GetDetails/10
+ /// <summary>
+ /// 棰勮鏁版嵁
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("棰勮鏁版嵁")]
+ public async Task<AdminUiCallBack> GetDetails([FromBody]FMStringId entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var model = await _CoreCmsPlanOrderServices.QueryByIdAsync(entity.id, false);
+ if (model == null)
+ {
+ jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+ return jm;
+ }
+ //鑾峰彇鐩稿叧鐘舵�佹弿杩拌鏄庤浆鎹�
+ model.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(model.status);
+
+
+ var modelItem = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id, p => p.specification, OrderByType.Asc);
+ jm.data = new
+ {
+ model,
+ modelItem,
+ };
+ jm.code = 0;
+ //jm.data = model;
+
+ return jm;
+ }
+ #endregion
+
+ #region 閫夋嫨瀵煎嚭============================================================
+ // POST: Api/CoreCmsPlanOrder/SelectExportExcel/10
+ /// <summary>
+ /// 閫夋嫨瀵煎嚭
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("閫夋嫨瀵煎嚭")]
+ public async Task<AdminUiCallBack> SelectExportExcel([FromBody]FMArrayStringIds entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ //鍒涘缓Excel鏂囦欢鐨勫璞�
+ var book = new HSSFWorkbook();
+ //娣诲姞涓�涓猻heet
+ var mySheet = book.CreateSheet("Sheet1");
+ //鑾峰彇list鏁版嵁
+ var listModel = await _CoreCmsPlanOrderServices.QueryListByClauseAsync(p => entity.id.Contains(p.orderId), p => p.orderId, OrderByType.Asc, true);
+ //缁檚heet1娣诲姞绗竴琛岀殑澶撮儴鏍囬
+ var headerRow = mySheet.CreateRow(0);
+ var headerStyle = ExcelHelper.GetHeaderStyle(book);
+ var cellNum = 0;
+
+ var cell0 = headerRow.CreateCell(cellNum);
+ cell0.SetCellValue("璁㈠崟鍙�");
+ cell0.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell1 = headerRow.CreateCell(cellNum);
+ cell1.SetCellValue("璋冩暣璁㈠崟閲戦");
+ cell1.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell2 = headerRow.CreateCell(cellNum);
+ cell2.SetCellValue("璁㈠崟鐘舵��");
+ cell2.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell3 = headerRow.CreateCell(cellNum);
+ cell3.SetCellValue("鐢ㄦ埛ID 鍏宠仈user.id");
+ cell3.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell4 = headerRow.CreateCell(cellNum);
+ cell4.SetCellValue("瀛︽牎");
+ cell4.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell5 = headerRow.CreateCell(cellNum);
+ cell5.SetCellValue("鑱旂郴浜�");
+ cell5.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell6 = headerRow.CreateCell(cellNum);
+ cell6.SetCellValue("鏀惰揣鐢佃瘽");
+ cell6.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell7 = headerRow.CreateCell(cellNum);
+ cell7.SetCellValue("璁″垝璁㈠崟閲戦");
+ cell7.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell8 = headerRow.CreateCell(cellNum);
+ cell8.SetCellValue("鍙敤浣欓");
+ cell8.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell9 = headerRow.CreateCell(cellNum);
+ cell9.SetCellValue("寤虹珛鏃堕棿");
+ cell9.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell10 = headerRow.CreateCell(cellNum);
+ cell10.SetCellValue("淇敼鏃堕棿");
+ cell10.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell11 = headerRow.CreateCell(cellNum);
+ cell11.SetCellValue("鍒涘缓浜�");
+ cell11.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell12 = headerRow.CreateCell(cellNum);
+ cell12.SetCellValue("淇敼浜�");
+ cell12.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell13 = headerRow.CreateCell(cellNum);
+ cell13.SetCellValue("鍒犻櫎鏍囧織");
+ cell13.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ headerRow.Height = 30 * 20;
+ var commonCellStyle = ExcelHelper.GetCommonStyle(book);
+
+ //灏嗘暟鎹�愭鍐欏叆sheet1鍚勪釜琛�
+ for (var i = 0; i < listModel.Count; i++)
+ {
+ var rowTemp = mySheet.CreateRow(i + 1);
+ var cellNumTemp = 0;
+
+ var rowTemp0 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp0.SetCellValue(listModel[i].orderId.ToString());
+ rowTemp0.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp1 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp1.SetCellValue(listModel[i].orderAmount.ToString());
+ rowTemp1.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp2 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp2.SetCellValue(listModel[i].status.ToString());
+ rowTemp2.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp3 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp3.SetCellValue(listModel[i].userId.ToString());
+ rowTemp3.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp4 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp4.SetCellValue(listModel[i].shipAddress.ToString());
+ rowTemp4.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp5 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp5.SetCellValue(listModel[i].shipName.ToString());
+ rowTemp5.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp6 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp6.SetCellValue(listModel[i].shipMobile.ToString());
+ rowTemp6.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp7 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp7.SetCellValue(listModel[i].oldOrderAmount.ToString());
+ rowTemp7.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp8 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp8.SetCellValue(listModel[i].keYongAmount.ToString());
+ rowTemp8.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp9 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp9.SetCellValue(listModel[i].createTime.ToString());
+ rowTemp9.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp10 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp10.SetCellValue(listModel[i].upDataTime.ToString());
+ rowTemp10.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp11 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp11.SetCellValue(listModel[i].createBy.ToString());
+ rowTemp11.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp12 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp12.SetCellValue(listModel[i].upDataBy.ToString());
+ rowTemp12.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp13 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp13.SetCellValue(listModel[i].isdelete.ToString());
+ rowTemp13.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ }
+ // 瀵煎嚭excel
+ string webRootPath = _webHostEnvironment.WebRootPath;
+ string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
+ string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsPlanOrder瀵煎嚭(閫夋嫨缁撴灉).xls";
+ string filePath = webRootPath + tpath;
+ DirectoryInfo di = new DirectoryInfo(filePath);
+ if (!di.Exists)
+ {
+ di.Create();
+ }
+ FileStream fileHssf = new FileStream(filePath + fileName, FileMode.Create);
+ book.Write(fileHssf);
+ fileHssf.Close();
+
+ jm.code = 0;
+ jm.msg = GlobalConstVars.ExcelExportSuccess;
+ jm.data = tpath + fileName;
+
+ return jm;
+ }
+ #endregion
+
+ #region 鏌ヨ瀵煎嚭============================================================
+ // POST: Api/CoreCmsPlanOrder/QueryExportExcel/10
+ /// <summary>
+ /// 鏌ヨ瀵煎嚭
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("鏌ヨ瀵煎嚭")]
+ public async Task<AdminUiCallBack> QueryExportExcel()
+ {
+ var jm = new AdminUiCallBack();
+
+ var where = PredicateBuilder.True<CoreCmsPlanOrder>();
+ //鏌ヨ绛涢��
+
+ //璁㈠崟鍙� varchar
+ var orderId = Request.Form["orderId"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(orderId))
+ {
+ where = where.And(p => p.orderId.Contains(orderId));
+ }
+ //璋冩暣璁㈠崟閲戦 decimal
+ var orderAmount = Request.Form["orderAmount"].FirstOrDefault().ObjectToDecimal(0);
+ if (orderAmount > 0)
+ {
+ where = where.And(p => p.orderAmount == orderAmount);
+ }
+ //璁㈠崟鐘舵�� int
+ var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
+ if (status > 0)
+ {
+ where = where.And(p => p.status == status);
+ }
+ //鐢ㄦ埛ID 鍏宠仈user.id int
+ var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
+ if (userId > 0)
+ {
+ where = where.And(p => p.userId == userId);
+ }
+ //瀛︽牎 varchar
+ var shipAddress = Request.Form["shipAddress"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(shipAddress))
+ {
+ where = where.And(p => p.shipAddress.Contains(shipAddress));
+ }
+ //鑱旂郴浜� varchar
+ var shipName = Request.Form["shipName"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(shipName))
+ {
+ where = where.And(p => p.shipName.Contains(shipName));
+ }
+ //鏀惰揣鐢佃瘽 varchar
+ var shipMobile = Request.Form["shipMobile"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(shipMobile))
+ {
+ where = where.And(p => p.shipMobile.Contains(shipMobile));
+ }
+ //璁″垝璁㈠崟閲戦 decimal
+ var oldOrderAmount = Request.Form["oldOrderAmount"].FirstOrDefault().ObjectToDecimal(0);
+ if (oldOrderAmount > 0)
+ {
+ where = where.And(p => p.oldOrderAmount == oldOrderAmount);
+ }
+ //鍙敤浣欓 decimal
+ var keYongAmount = Request.Form["keYongAmount"].FirstOrDefault().ObjectToDecimal(0);
+ if (keYongAmount > 0)
+ {
+ where = where.And(p => p.keYongAmount == keYongAmount);
+ }
+ //寤虹珛鏃堕棿 datetime
+ var createTime = Request.Form["createTime"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(createTime))
+ {
+ if (createTime.Contains("鍒�"))
+ {
+ var dts = createTime.Split("鍒�");
+ var dtStart = dts[0].Trim().ObjectToDate();
+ where = where.And(p => p.createTime > dtStart);
+ var dtEnd = dts[1].Trim().ObjectToDate();
+ where = where.And(p => p.createTime < dtEnd);
+ }
+ else
+ {
+ var dt = createTime.ObjectToDate();
+ where = where.And(p => p.createTime > dt);
+ }
+ }
+ //淇敼鏃堕棿 datetime
+ var upDataTime = Request.Form["upDataTime"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(upDataTime))
+ {
+ if (upDataTime.Contains("鍒�"))
+ {
+ var dts = upDataTime.Split("鍒�");
+ var dtStart = dts[0].Trim().ObjectToDate();
+ where = where.And(p => p.upDataTime > dtStart);
+ var dtEnd = dts[1].Trim().ObjectToDate();
+ where = where.And(p => p.upDataTime < dtEnd);
+ }
+ else
+ {
+ var dt = upDataTime.ObjectToDate();
+ where = where.And(p => p.upDataTime > dt);
+ }
+ }
+ //鍒涘缓浜� varchar
+ var createBy = Request.Form["createBy"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(createBy))
+ {
+ where = where.And(p => p.createBy.Contains(createBy));
+ }
+ //淇敼浜� varchar
+ var upDataBy = Request.Form["upDataBy"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(upDataBy))
+ {
+ where = where.And(p => p.upDataBy.Contains(upDataBy));
+ }
+ //鍒犻櫎鏍囧織 bit
+ var isdelete = Request.Form["isdelete"].FirstOrDefault();
+ if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true")
+ {
+ where = where.And(p => p.isdelete == true);
+ }
+ else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false")
+ {
+ where = where.And(p => p.isdelete == false);
+ }
+ //鑾峰彇鏁版嵁
+ //鍒涘缓Excel鏂囦欢鐨勫璞�
+ var book = new HSSFWorkbook();
+ //娣诲姞涓�涓猻heet
+ var mySheet = book.CreateSheet("Sheet1");
+ //鑾峰彇list鏁版嵁
+ var listModel = await _CoreCmsPlanOrderServices.QueryListByClauseAsync(where, p => p.orderId, OrderByType.Asc, true);
+ //缁檚heet1娣诲姞绗竴琛岀殑澶撮儴鏍囬
+ var headerRow = mySheet.CreateRow(0);
+ var headerStyle = ExcelHelper.GetHeaderStyle(book);
+ var cellNum = 0;
+
+ var cell0 = headerRow.CreateCell(cellNum);
+ cell0.SetCellValue("璁㈠崟鍙�");
+ cell0.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell1 = headerRow.CreateCell(cellNum);
+ cell1.SetCellValue("璋冩暣璁㈠崟閲戦");
+ cell1.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell2 = headerRow.CreateCell(cellNum);
+ cell2.SetCellValue("璁㈠崟鐘舵��");
+ cell2.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell3 = headerRow.CreateCell(cellNum);
+ cell3.SetCellValue("鐢ㄦ埛ID 鍏宠仈user.id");
+ cell3.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell4 = headerRow.CreateCell(cellNum);
+ cell4.SetCellValue("瀛︽牎");
+ cell4.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell5 = headerRow.CreateCell(cellNum);
+ cell5.SetCellValue("鑱旂郴浜�");
+ cell5.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell6 = headerRow.CreateCell(cellNum);
+ cell6.SetCellValue("鏀惰揣鐢佃瘽");
+ cell6.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell7 = headerRow.CreateCell(cellNum);
+ cell7.SetCellValue("璁″垝璁㈠崟閲戦");
+ cell7.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell8 = headerRow.CreateCell(cellNum);
+ cell8.SetCellValue("鍙敤浣欓");
+ cell8.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell9 = headerRow.CreateCell(cellNum);
+ cell9.SetCellValue("寤虹珛鏃堕棿");
+ cell9.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell10 = headerRow.CreateCell(cellNum);
+ cell10.SetCellValue("淇敼鏃堕棿");
+ cell10.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell11 = headerRow.CreateCell(cellNum);
+ cell11.SetCellValue("鍒涘缓浜�");
+ cell11.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell12 = headerRow.CreateCell(cellNum);
+ cell12.SetCellValue("淇敼浜�");
+ cell12.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+ var cell13 = headerRow.CreateCell(cellNum);
+ cell13.SetCellValue("鍒犻櫎鏍囧織");
+ cell13.CellStyle = headerStyle;
+ mySheet.SetColumnWidth(cellNum, 10 * 256);
+ cellNum++;
+
+
+ headerRow.Height = 30 * 20;
+ var commonCellStyle = ExcelHelper.GetCommonStyle(book);
+
+ //灏嗘暟鎹�愭鍐欏叆sheet1鍚勪釜琛�
+ for (var i = 0; i < listModel.Count; i++)
+ {
+ var rowTemp = mySheet.CreateRow(i + 1);
+ var cellNumTemp = 0;
+
+ var rowTemp0 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp0.SetCellValue(listModel[i].orderId.ToString());
+ rowTemp0.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp1 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp1.SetCellValue(listModel[i].orderAmount.ToString());
+ rowTemp1.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp2 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp2.SetCellValue(listModel[i].status.ToString());
+ rowTemp2.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp3 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp3.SetCellValue(listModel[i].userId.ToString());
+ rowTemp3.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp4 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp4.SetCellValue(listModel[i].shipAddress.ToString());
+ rowTemp4.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp5 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp5.SetCellValue(listModel[i].shipName.ToString());
+ rowTemp5.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp6 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp6.SetCellValue(listModel[i].shipMobile.ToString());
+ rowTemp6.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp7 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp7.SetCellValue(listModel[i].oldOrderAmount.ToString());
+ rowTemp7.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp8 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp8.SetCellValue(listModel[i].keYongAmount.ToString());
+ rowTemp8.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp9 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp9.SetCellValue(listModel[i].createTime.ToString());
+ rowTemp9.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp10 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp10.SetCellValue(listModel[i].upDataTime.ToString());
+ rowTemp10.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp11 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp11.SetCellValue(listModel[i].createBy.ToString());
+ rowTemp11.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp12 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp12.SetCellValue(listModel[i].upDataBy.ToString());
+ rowTemp12.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ var rowTemp13 = rowTemp.CreateCell(cellNumTemp);
+ rowTemp13.SetCellValue(listModel[i].isdelete.ToString());
+ rowTemp13.CellStyle = commonCellStyle;
+ cellNumTemp++;
+
+ }
+ // 鍐欏叆鍒癳xcel
+ string webRootPath = _webHostEnvironment.WebRootPath;
+ string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
+ string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsPlanOrder瀵煎嚭(鏌ヨ缁撴灉).xls";
+ string filePath = webRootPath + tpath;
+ DirectoryInfo di = new DirectoryInfo(filePath);
+ if (!di.Exists)
+ {
+ di.Create();
+ }
+ FileStream fileHssf = new FileStream(filePath + fileName, FileMode.Create);
+ book.Write(fileHssf);
+ fileHssf.Close();
+
+ jm.code = 0;
+ jm.msg = GlobalConstVars.ExcelExportSuccess;
+ jm.data = tpath + fileName;
+
+ return jm;
+ }
+ #endregion
+
+
+ #region 璁剧疆鍒犻櫎鏍囧織============================================================
+ // POST: Api/CoreCmsPlanOrder/DoSetisdelete/10
+ /// <summary>
+ /// 璁剧疆鍒犻櫎鏍囧織
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [Description("璁剧疆鍒犻櫎鏍囧織")]
+ public async Task<AdminUiCallBack> DoSetisdelete([FromBody]FMUpdateBoolDataByIntId entity)
+ {
+ var jm = new AdminUiCallBack();
+
+ var oldModel = await _CoreCmsPlanOrderServices.QueryByIdAsync(entity.id, false);
+ if (oldModel == null)
+ {
+ jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+ return jm;
+ }
+ oldModel.isdelete = (bool)entity.data;
+
+ var bl = await _CoreCmsPlanOrderServices.UpdateAsync(p => new CoreCmsPlanOrder() { isdelete = oldModel.isdelete }, p => p.orderId == oldModel.orderId);
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+
+ return jm;
+ }
+ #endregion
+
+
+ }
+}
diff --git "a/CoreCms.Net.Web.Admin/wwwroot/static/jihuageshi/\344\270\212\344\274\240\350\256\241\345\210\222\350\256\242\345\215\225.xlsx" "b/CoreCms.Net.Web.Admin/wwwroot/static/jihuageshi/\344\270\212\344\274\240\350\256\241\345\210\222\350\256\242\345\215\225.xlsx"
new file mode 100644
index 0000000..877b4a2
--- /dev/null
+++ "b/CoreCms.Net.Web.Admin/wwwroot/static/jihuageshi/\344\270\212\344\274\240\350\256\241\345\210\222\350\256\242\345\215\225.xlsx"
Binary files differ
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/create.html b/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/create.html
new file mode 100644
index 0000000..df2ecbe
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/create.html
@@ -0,0 +1,141 @@
+<script type="text/html" template lay-done="layui.data.done(d);">
+<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsPlanOrder-createForm" id="LAY-app-CoreCmsPlanOrder-createForm">
+
+ <div class="layui-form-item">
+ <label for="orderId" class="layui-form-label layui-form-required">璁㈠崟鍙�</label>
+ <div class="layui-input-block">
+ <input name="orderId" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヨ鍗曞彿" lay-reqText="璇疯緭鍏ヨ鍗曞彿" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="orderAmount" class="layui-form-label layui-form-required">璋冩暣璁㈠崟閲戦</label>
+ <div class="layui-input-block">
+ <input name="orderAmount" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヨ皟鏁磋鍗曢噾棰�" lay-reqText="璇疯緭鍏ヨ皟鏁磋鍗曢噾棰�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="status" class="layui-form-label layui-form-required">璁㈠崟鐘舵��</label>
+ <div class="layui-input-block">
+ <input type="number" min="0" max="999999" name="status" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="璇疯緭鍏ヨ鍗曠姸鎬�" lay-reqText="璇疯緭鍏ヨ鍗曠姸鎬佸苟涓烘暟瀛�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="userId" class="layui-form-label layui-form-required">鐢ㄦ埛ID 鍏宠仈user.id</label>
+ <div class="layui-input-block">
+ <input type="number" min="0" max="999999" name="userId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="璇疯緭鍏ョ敤鎴稩D 鍏宠仈user.id" lay-reqText="璇疯緭鍏ョ敤鎴稩D 鍏宠仈user.id骞朵负鏁板瓧" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="shipAddress" class="layui-form-label layui-form-required">瀛︽牎</label>
+ <div class="layui-input-block">
+ <input name="shipAddress" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ュ鏍�" lay-reqText="璇疯緭鍏ュ鏍�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="shipName" class="layui-form-label layui-form-required">鑱旂郴浜�</label>
+ <div class="layui-input-block">
+ <input name="shipName" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヨ仈绯讳汉" lay-reqText="璇疯緭鍏ヨ仈绯讳汉" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="shipMobile" class="layui-form-label layui-form-required">鏀惰揣鐢佃瘽</label>
+ <div class="layui-input-block">
+ <input name="shipMobile" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ユ敹璐х數璇�" lay-reqText="璇疯緭鍏ユ敹璐х數璇�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="oldOrderAmount" class="layui-form-label layui-form-required">璁″垝璁㈠崟閲戦</label>
+ <div class="layui-input-block">
+ <input name="oldOrderAmount" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヨ鍒掕鍗曢噾棰�" lay-reqText="璇疯緭鍏ヨ鍒掕鍗曢噾棰�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="keYongAmount" class="layui-form-label layui-form-required">鍙敤浣欓</label>
+ <div class="layui-input-block">
+ <input name="keYongAmount" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ュ彲鐢ㄤ綑棰�" lay-reqText="璇疯緭鍏ュ彲鐢ㄤ綑棰�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="createTime" class="layui-form-label layui-form-required">寤虹珛鏃堕棿</label>
+ <div class="layui-input-block">
+ <input name="createTime" id="createTime-CoreCmsPlanOrder-createTime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" placeholder="璇疯緭鍏ュ缓绔嬫椂闂�" lay-reqText="璇疯緭鍏ュ缓绔嬫椂闂�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="upDataTime" class="layui-form-label layui-form-required">淇敼鏃堕棿</label>
+ <div class="layui-input-block">
+ <input name="upDataTime" id="createTime-CoreCmsPlanOrder-upDataTime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�" lay-reqText="璇疯緭鍏ヤ慨鏀规椂闂�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="createBy" class="layui-form-label layui-form-required">鍒涘缓浜�</label>
+ <div class="layui-input-block">
+ <input name="createBy" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ュ垱寤轰汉" lay-reqText="璇疯緭鍏ュ垱寤轰汉" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="upDataBy" class="layui-form-label layui-form-required">淇敼浜�</label>
+ <div class="layui-input-block">
+ <input name="upDataBy" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヤ慨鏀逛汉" lay-reqText="璇疯緭鍏ヤ慨鏀逛汉" />
+ </div>
+ </div>
+
+ <div class="layui-form-item" pane>
+ <label for="isdelete" class="layui-form-label layui-form-required">鍒犻櫎鏍囧織</label>
+ <div class="layui-input-block">
+ <input type="checkbox" lay-filter="switch" name="isdelete" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴">
+ </div>
+ </div>
+
+ <div class="layui-form-item text-right core-hidden">
+ <input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsPlanOrder-createForm-submit" id="LAY-app-CoreCmsPlanOrder-createForm-submit" value="纭娣诲姞">
+ </div>
+</div>
+</script>
+<script>
+ var debug= layui.setter.debug;
+ layui.data.done = function (d) {
+ //寮�鍚皟璇曟儏鍐典笅鑾峰彇鎺ュ彛璧嬪�兼暟鎹�
+ if (debug) { console.log(d.params.data); }
+ layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
+ function () {
+ var $ = layui.$
+ , form = layui.form
+ , admin = layui.admin
+ , laydate = layui.laydate
+ , upload = layui.upload
+ , cropperImg = layui.cropperImg
+ , coreHelper = layui.coreHelper;
+
+ laydate.render({
+ elem: '#createTime-CoreCmsPlanOrder-createTime',
+ type: 'datetime',
+ value: new Date(),
+ fullPanel: true
+ });
+ laydate.render({
+ elem: '#createTime-CoreCmsPlanOrder-upDataTime',
+ type: 'datetime',
+ value: new Date(),
+ fullPanel: true
+ });
+ form.verify({
+
+ });
+ //閲嶈浇form
+ form.render(null, 'LAY-app-CoreCmsPlanOrder-createForm');
+ })
+ };
+</script>
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/details.html b/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/details.html
new file mode 100644
index 0000000..fc0958e
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/details.html
@@ -0,0 +1,144 @@
+<script type="text/html" template lay-done="layui.data.done(d);">
+ <table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsPlanOrder-detailsForm" id="LAY-app-CoreCmsPlanOrder-detailsForm">
+ <colgroup>
+ <col width="100">
+ <col>
+ </colgroup>
+ <tbody>
+
+ <tr>
+ <td width="25%">
+ <label for="orderId">璁㈠崟鍙�</label>
+ </td>
+ <td width="25%">
+ {{ d.params.data.model.orderId || '' }}
+ </td>
+ <td width="25%">
+ <label for="shipAddress">瀛︽牎</label>
+ </td>
+ <td width="25%">
+ {{ d.params.data.model.shipAddress || '' }}
+ </td>
+ </tr>
+
+
+
+
+
+
+
+ <tr>
+ <td>
+ <label for="shipName">鑱旂郴浜�</label>
+ </td>
+ <td>
+ {{ d.params.data.model.shipName || '' }}
+ </td>
+ <td>
+ <label for="shipMobile">鑱旂郴鐢佃瘽</label>
+ </td>
+ <td>
+ {{ d.params.data.model.shipMobile || '' }}
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <label for="oldOrderAmount">璁″垝閲戦</label>
+ </td>
+ <td>
+ {{ d.params.data.model.oldOrderAmount || '' }}
+ </td>
+ <td>
+ <label for="orderAmount">璋冩暣閲戦</label>
+ </td>
+ <td>
+ {{ d.params.data.model.orderAmount || '' }}
+ </td>
+ </tr>
+
+
+ <tr>
+ <td>
+ <label for="keYongAmount">鍙敤浣欓</label>
+ </td>
+ <td>
+ {{ d.params.data.model.keYongAmount || '' }}
+ </td>
+ <td>
+ <label for="status">璁㈠崟鐘舵��</label>
+ </td>
+ <td>
+ {{ d.params.data.model.statusText || '' }}
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <label for="createTime">寤虹珛鏃堕棿</label>
+ </td>
+ <td>
+ {{ d.params.data.model.createTime || '' }}
+ </td>
+ <td>
+ <label for="upDataTime">淇敼鏃堕棿</label>
+ </td>
+ <td>
+ {{ d.params.data.model.upDataTime || '' }}
+ </td>
+ </tr>
+
+
+ <tr>
+ <td style="background-color:lightsteelblue;">
+ 鍟嗗搧鍚嶇О
+ </td>
+ <td style="background-color:lightsteelblue;">
+ 鍗曚环锛堝厓锛�
+ </td>
+ <td style="background-color:lightsteelblue;">
+ 鏁伴噺
+ </td>
+ <td style="background-color:lightsteelblue;" >
+ 鎬讳环锛堝厓锛�
+ </td>
+ </tr>
+
+ {{# layui.each(d.params.data.modelItem, function(index, item){ }}
+ <tr>
+ <td>
+ {{ item.name }} {{ item.specification }}
+ </td>
+ <td>
+ {{ item.price }}
+ </td>
+ <td>
+ {{ item.nums }}
+ </td>
+ <td>
+ {{ item.amount }}
+ </td>
+ </tr>
+ {{# }); }}
+
+
+
+ </tbody>
+ </table>
+</script>
+<script>
+ var debug= layui.setter.debug;
+ layui.data.done = function (d) {
+ //寮�鍚皟璇曟儏鍐典笅鑾峰彇鎺ュ彛璧嬪�兼暟鎹�
+ if (debug) { console.log(d.params.data); }
+
+ layui.use(['admin', 'form', 'coreHelper'], function () {
+ var $ = layui.$
+ , setter = layui.setter
+ , admin = layui.admin
+ , coreHelper = layui.coreHelper
+ , form = layui.form;
+ form.render(null, 'LAY-app-CoreCmsPlanOrder-detailsForm');
+ });
+ };
+</script>
\ No newline at end of file
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/edit.html
new file mode 100644
index 0000000..ec5212b
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/edit.html
@@ -0,0 +1,139 @@
+<script type="text/html" template lay-done="layui.data.sendParams(d);">
+ <div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsPlanOrder-editForm" id="LAY-app-CoreCmsPlanOrder-editForm">
+
+ <div class="layui-form-item">
+ <label for="orderId" class="layui-form-label layui-form-required">璁㈠崟鍙�</label>
+ <div class="layui-input-block">
+ <input name="orderId" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヨ鍗曞彿" lay-reqText="璇疯緭鍏ヨ鍗曞彿" value="{{d.params.data.orderId || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="orderAmount" class="layui-form-label layui-form-required">璋冩暣璁㈠崟閲戦</label>
+ <div class="layui-input-block">
+ <input name="orderAmount" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヨ皟鏁磋鍗曢噾棰�" lay-reqText="璇疯緭鍏ヨ皟鏁磋鍗曢噾棰�" value="{{d.params.data.orderAmount || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="status" class="layui-form-label layui-form-required">璁㈠崟鐘舵��</label>
+ <div class="layui-input-block">
+ <input type="number" min="0" max="999999" name="status" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.status || '' }}" placeholder="璇疯緭鍏ヨ鍗曠姸鎬�" lay-reqText="璇疯緭鍏ヨ鍗曠姸鎬佸苟涓烘暟瀛�" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="userId" class="layui-form-label layui-form-required">鐢ㄦ埛ID 鍏宠仈user.id</label>
+ <div class="layui-input-block">
+ <input type="number" min="0" max="999999" name="userId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.userId || '' }}" placeholder="璇疯緭鍏ョ敤鎴稩D 鍏宠仈user.id" lay-reqText="璇疯緭鍏ョ敤鎴稩D 鍏宠仈user.id骞朵负鏁板瓧" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="shipAddress" class="layui-form-label layui-form-required">瀛︽牎</label>
+ <div class="layui-input-block">
+ <input name="shipAddress" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ュ鏍�" lay-reqText="璇疯緭鍏ュ鏍�" value="{{d.params.data.shipAddress || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="shipName" class="layui-form-label layui-form-required">鑱旂郴浜�</label>
+ <div class="layui-input-block">
+ <input name="shipName" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヨ仈绯讳汉" lay-reqText="璇疯緭鍏ヨ仈绯讳汉" value="{{d.params.data.shipName || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="shipMobile" class="layui-form-label layui-form-required">鏀惰揣鐢佃瘽</label>
+ <div class="layui-input-block">
+ <input name="shipMobile" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ユ敹璐х數璇�" lay-reqText="璇疯緭鍏ユ敹璐х數璇�" value="{{d.params.data.shipMobile || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="oldOrderAmount" class="layui-form-label layui-form-required">璁″垝璁㈠崟閲戦</label>
+ <div class="layui-input-block">
+ <input name="oldOrderAmount" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヨ鍒掕鍗曢噾棰�" lay-reqText="璇疯緭鍏ヨ鍒掕鍗曢噾棰�" value="{{d.params.data.oldOrderAmount || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="keYongAmount" class="layui-form-label layui-form-required">鍙敤浣欓</label>
+ <div class="layui-input-block">
+ <input name="keYongAmount" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ュ彲鐢ㄤ綑棰�" lay-reqText="璇疯緭鍏ュ彲鐢ㄤ綑棰�" value="{{d.params.data.keYongAmount || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="createTime" class="layui-form-label layui-form-required">寤虹珛鏃堕棿</label>
+ <div class="layui-input-block">
+ <input name="createTime" id="editTime-CoreCmsPlanOrder-createTime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" placeholder="璇疯緭鍏ュ缓绔嬫椂闂�" lay-reqText="璇疯緭鍏ュ缓绔嬫椂闂�" value="{{d.params.data.createTime || '' }}"/>
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="upDataTime" class="layui-form-label layui-form-required">淇敼鏃堕棿</label>
+ <div class="layui-input-block">
+ <input name="upDataTime" id="editTime-CoreCmsPlanOrder-upDataTime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�" lay-reqText="璇疯緭鍏ヤ慨鏀规椂闂�" value="{{d.params.data.upDataTime || '' }}"/>
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="createBy" class="layui-form-label layui-form-required">鍒涘缓浜�</label>
+ <div class="layui-input-block">
+ <input name="createBy" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ュ垱寤轰汉" lay-reqText="璇疯緭鍏ュ垱寤轰汉" value="{{d.params.data.createBy || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label for="upDataBy" class="layui-form-label layui-form-required">淇敼浜�</label>
+ <div class="layui-input-block">
+ <input name="upDataBy" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="璇疯緭鍏ヤ慨鏀逛汉" lay-reqText="璇疯緭鍏ヤ慨鏀逛汉" value="{{d.params.data.upDataBy || '' }}" />
+ </div>
+ </div>
+
+ <div class="layui-form-item" pane>
+ <label for="isdelete" class="layui-form-label layui-form-required">鍒犻櫎鏍囧織</label>
+ <div class="layui-input-block">
+ <input type="checkbox" lay-filter="switch" name="isdelete" {{ d.params.data.isdelete ? 'checked' : '' }} lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴">
+ </div>
+ </div>
+
+ <div class="layui-form-item text-right core-hidden">
+ <input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsPlanOrder-editForm-submit" id="LAY-app-CoreCmsPlanOrder-editForm-submit" value="纭缂栬緫">
+ </div>
+ </div>
+</script>
+<script>
+ var debug= layui.setter.debug;
+ layui.data.sendParams = function (d) {
+ //寮�鍚皟璇曟儏鍐典笅鑾峰彇鎺ュ彛璧嬪�兼暟鎹�
+ if (debug) { console.log(d.params.data); }
+ layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
+ function () {
+ var $ = layui.$
+ , form = layui.form
+ , admin = layui.admin
+ , laydate = layui.laydate
+ , upload = layui.upload
+ , cropperImg = layui.cropperImg
+ , coreHelper = layui.coreHelper;
+
+ laydate.render({
+ elem: '#editTime-CoreCmsPlanOrder-createTime',
+ type: 'datetime',
+ fullPanel: true
+ });
+ laydate.render({
+ elem: '#editTime-CoreCmsPlanOrder-upDataTime',
+ type: 'datetime',
+ fullPanel: true
+ });
+ form.verify({
+
+ });
+ //閲嶈浇form
+ form.render(null, 'LAY-app-CoreCmsPlanOrder-editForm');
+ })
+ };
+</script>
diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/index.html
new file mode 100644
index 0000000..3286391
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/index.html
@@ -0,0 +1,495 @@
+<title>璁″垝璁㈠崟琛�</title>
+<!--褰撳墠浣嶇疆寮�濮�-->
+<div class="layui-card layadmin-header">
+ <div class="layui-breadcrumb" lay-filter="breadcrumb">
+ <script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
+ </script>
+ </div>
+</div>
+<!--褰撳墠浣嶇疆缁撴潫-->
+<style>
+ /* 閲嶅啓鏍峰紡 */
+</style>
+<script type="text/html" template lay-type="Post" lay-url="Api/CoreCmsPlanOrder/GetIndex" lay-done="layui.data.done(d);">
+
+</script>
+<div class="table-body">
+ <table id="LAY-app-CoreCmsPlanOrder-tableBox" lay-filter="LAY-app-CoreCmsPlanOrder-tableBox"></table>
+</div>
+
+<script type="text/html" id="LAY-app-CoreCmsPlanOrder-toolbar">
+ <div class="layui-form coreshop-toolbar-search-form">
+ <div class="layui-form-item">
+
+ <div class="layui-inline">
+ <label class="layui-form-label" for="orderId">璁㈠崟鍙�</label>
+ <div class="layui-input-inline">
+ <input type="text" name="orderId" placeholder="璇疯緭鍏ヨ鍗曞彿" class="layui-input">
+ </div>
+ </div>
+ <!--<div class="layui-inline">
+ <label class="layui-form-label" for="orderAmount">璋冩暣璁㈠崟閲戦</label>
+ <div class="layui-input-inline">
+ <input type="text" name="orderAmount" placeholder="璇疯緭鍏ヨ皟鏁磋鍗曢噾棰�" class="layui-input">
+ </div>
+ </div>-->
+
+
+ <div class="layui-inline">
+ <label class="layui-form-label" for="status">璁㈠崟鐘舵��</label>
+ <div class="layui-input-inline">
+ <select name="status">
+ <option value="">璇烽�夋嫨</option>
+ <option value="1">鏈彁浜�</option>
+ <option value="2">宸叉彁浜�</option>
+ </select>
+ </div>
+ </div>
+ <!--<div class="layui-inline">
+ <label class="layui-form-label" for="userId">鐢ㄦ埛ID 鍏宠仈user.id</label>
+ <div class="layui-input-inline">
+ <input type="text" name="userId" placeholder="璇疯緭鍏ョ敤鎴稩D 鍏宠仈user.id" class="layui-input">
+ </div>
+ </div>-->
+ <div class="layui-inline">
+ <label class="layui-form-label" for="shipAddress">瀛︽牎</label>
+ <div class="layui-input-inline">
+ <input type="text" name="shipAddress" placeholder="璇疯緭鍏ュ鏍�" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label" for="shipName">鑱旂郴浜�</label>
+ <div class="layui-input-inline">
+ <input type="text" name="shipName" placeholder="璇疯緭鍏ヨ仈绯讳汉" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label" for="shipMobile">鑱旂郴鐢佃瘽</label>
+ <div class="layui-input-inline">
+ <input type="text" name="shipMobile" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" class="layui-input">
+ </div>
+ </div>
+ <!--<div class="layui-inline">
+ <label class="layui-form-label" for="oldOrderAmount">璁″垝璁㈠崟閲戦</label>
+ <div class="layui-input-inline">
+ <input type="text" name="oldOrderAmount" placeholder="璇疯緭鍏ヨ鍒掕鍗曢噾棰�" class="layui-input">
+ </div>
+ </div>-->
+ <!--<div class="layui-inline">
+ <label class="layui-form-label" for="keYongAmount">鍙敤浣欓</label>
+ <div class="layui-input-inline">
+ <input type="text" name="keYongAmount" placeholder="璇疯緭鍏ュ彲鐢ㄤ綑棰�" class="layui-input">
+ </div>
+ </div>-->
+ <div class="layui-inline">
+ <label class="layui-form-label" for="createTime">寤虹珛鏃堕棿</label>
+ <div class="layui-input-inline" style="width: 260px;">
+ <input type="text" name="createTime" id="searchTime-CoreCmsPlanOrder-createTime" placeholder="璇疯緭鍏ュ缓绔嬫椂闂�" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label" for="upDataTime">淇敼鏃堕棿</label>
+ <div class="layui-input-inline" style="width: 260px;">
+ <input type="text" name="upDataTime" id="searchTime-CoreCmsPlanOrder-upDataTime" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�" class="layui-input">
+ </div>
+ </div>
+ <!--<div class="layui-inline">
+ <label class="layui-form-label" for="createBy">鍒涘缓浜�</label>
+ <div class="layui-input-inline">
+ <input type="text" name="createBy" placeholder="璇疯緭鍏ュ垱寤轰汉" class="layui-input">
+ </div>
+ </div>-->
+ <!--<div class="layui-inline">
+ <label class="layui-form-label" for="upDataBy">淇敼浜�</label>
+ <div class="layui-input-inline">
+ <input type="text" name="upDataBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉" class="layui-input">
+ </div>
+ </div>-->
+ <!--<div class="layui-inline">
+ <label class="layui-form-label" for="isdelete">鍒犻櫎鏍囧織</label>
+ <div class="layui-input-inline">
+ <select name="isdelete">
+ <option value="">璇烽�夋嫨</option>
+ <option value="True">鏄�</option>
+ <option value="False">鍚�</option>
+ </select>
+ </div>
+ </div>-->
+ <div class="layui-inline">
+ <button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsPlanOrder-search"><i class="layui-icon layui-icon-search"></i>绛涢��</button>
+ </div>
+ </div>
+ </div>
+</script>
+
+<script type="text/html" id="LAY-app-CoreCmsPlanOrder-pagebar">
+ <div class="layui-btn-container">
+ <!--<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i>娣诲姞鏁版嵁</button>
+ <button class="layui-btn layui-btn-sm" lay-event="batchDelete"><i class="layui-icon layui-icon-delete"></i>鎵归噺鍒犻櫎</button>-->
+ <button type="button" class="layui-btn layui-btn-sm" id="upIndexPopupWindowImageUrlBtn">涓婁紶璁″垝璁㈠崟</button>
+ <button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i>閫夋嫨瀵煎嚭</button>
+ <button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i>鏌ヨ瀵煎嚭</button>
+ <a class="layui-btn layui-btn-sm" href="/static/jihuageshi/涓婁紶璁″垝璁㈠崟.xlsx" >涓婁紶妯℃澘</a>
+ </div>
+</script>
+
+<script type="text/html" id="LAY-app-CoreCmsPlanOrder-tableBox-bar">
+ <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">鏌ョ湅</a>
+ <!--<a class="layui-btn layui-btn-xs" lay-event="edit">缂栬緫</a>
+ <a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsPlanOrderTbDelDrop{{d.LAY_INDEX}}" no-shade="true">鍒犻櫎</a>-->
+ <div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsPlanOrderTbDelDrop{{d.LAY_INDEX}}"
+ style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
+ <div class="dropdown-anchor"></div>
+ <div class="dropdown-popconfirm-title">
+ <i class="layui-icon layui-icon-help"></i>
+ 纭畾瑕佸垹闄ゅ悧锛�
+ </div>
+ <div class="dropdown-popconfirm-btn">
+ <a class="layui-btn layui-btn-primary cursor" btn-cancel>鍙栨秷</a>
+ <a class="layui-btn layui-btn-normal cursor" lay-event="del">纭畾</a>
+ </div>
+ </div>
+</script>
+
+<script>
+ var indexData;
+ var debug= layui.setter.debug;
+ layui.data.done = function (d) {
+ //寮�鍚皟璇曟儏鍐典笅鑾峰彇鎺ュ彛璧嬪�兼暟鎹�
+ if (debug) { console.log(d); }
+
+ indexData = d.data;
+ layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper', 'upload'],
+ function () {
+ var $ = layui.$
+ , admin = layui.admin
+ , table = layui.table
+ , form = layui.form
+ , laydate = layui.laydate
+ , setter = layui.setter
+ , coreHelper = layui.coreHelper
+ , util = layui.util
+ , view = layui.view
+ , upload = layui.upload;
+
+ var searchwhere;
+ //鐩戝惉鎼滅储
+ form.on('submit(LAY-app-CoreCmsPlanOrder-search)',
+ function(data) {
+ var field = data.field;
+ searchwhere = field;
+ //鎵ц閲嶈浇
+ table.reloadData('LAY-app-CoreCmsPlanOrder-tableBox',{ where: field });
+ });
+ //鏁版嵁缁戝畾
+ table.render({
+ elem: '#LAY-app-CoreCmsPlanOrder-tableBox',
+ url: layui.setter.apiUrl + 'Api/CoreCmsPlanOrder/GetPageList',
+ method: 'POST',
+ toolbar: '#LAY-app-CoreCmsPlanOrder-toolbar',
+ pagebar: '#LAY-app-CoreCmsPlanOrder-pagebar',
+ className: 'pagebarbox',
+ defaultToolbar: ['filter', 'print', 'exports'],
+ height: 'full-127',//闈㈠寘灞�142px,鎼滅储妗�4琛�172,3琛�137,2琛�102,1琛�67
+ page: true,
+ limit: 30,
+ limits: [10, 15, 20, 25, 30, 50, 100, 200],
+ text: {none: '鏆傛棤鐩稿叧鏁版嵁'},
+ cols: [
+ [
+ { type: "checkbox", fixed: "left" },
+ { field: 'orderId', title: '璁㈠崟鍙�', sort: false,width: 115 },
+
+
+ /* { field: 'userId', title: '鐢ㄦ埛ID 鍏宠仈user.id', sort: false,width: 105 },*/
+ { field: 'shipAddress', title: '瀛︽牎', sort: false,width: 335 },
+ { field: 'shipName', title: '鑱旂郴浜�', sort: false,width: 115 },
+ { field: 'shipMobile', title: '鑱旂郴鐢佃瘽', sort: false,width: 115 },
+ { field: 'oldOrderAmount', title: '璁″垝閲戦', sort: false, width: 115 },
+ { field: 'orderAmount', title: '璋冩暣閲戦', sort: false, width: 115 },
+ { field: 'keYongAmount', title: '鍙敤浣欓', sort: false,width: 115 },
+ { field: 'createTime', title: '寤虹珛鏃堕棿', width: 140, sort: false},
+ { field: 'upDataTime', title: '淇敼鏃堕棿', width: 140, sort: false},
+ //{ field: 'createBy', title: '鍒涘缓浜�', sort: false,width: 105 },
+ //{ field: 'upDataBy', title: '淇敼浜�', sort: false,width: 105 },
+ //{ field: 'isdelete', title: '鍒犻櫎鏍囧織', width: 95, templet: '#switch_isdelete', sort: false , unresize: true},
+ { field: 'statusText', title: '璁㈠崟鐘舵��', sort: false, width: 115 },
+ { width: 172, align: 'center', title:'鎿嶄綔', fixed: 'right', toolbar: '#LAY-app-CoreCmsPlanOrder-tableBox-bar' }
+ ]
+ ]
+ });
+ //鐩戝惉鎺掑簭浜嬩欢
+ table.on('sort(LAY-app-CoreCmsPlanOrder-tableBox)', function(obj){
+ table.reloadData('LAY-app-CoreCmsPlanOrder-tableBox', {
+ initSort: obj, //璁板綍鍒濆鎺掑簭锛屽鏋滀笉璁剧殑璇濓紝灏嗘棤娉曟爣璁拌〃澶寸殑鎺掑簭鐘舵�併��
+ where: { //璇锋眰鍙傛暟锛堟敞鎰忥細杩欓噷闈㈢殑鍙傛暟鍙换鎰忓畾涔夛紝骞堕潪涓嬮潰鍥哄畾鐨勬牸寮忥級
+ orderField: obj.field, //鎺掑簭瀛楁
+ orderDirection: obj.type //鎺掑簭鏂瑰紡
+ }
+ });
+ });
+ //鐩戝惉琛屽弻鍑讳簨浠�
+ table.on('rowDouble(LAY-app-CoreCmsPlanOrder-tableBox)', function (obj) {
+ //鏌ョ湅璇︽儏
+ doDetails(obj);
+ });
+ //澶村伐鍏锋爮浜嬩欢
+ table.on('pagebar(LAY-app-CoreCmsPlanOrder-tableBox)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id);
+ switch (obj.event) {
+ case 'addData':
+ doCreate();
+ break;
+ case 'batchDelete':
+ doBatchDelete(checkStatus);
+ break;
+ case 'selectExportExcel':
+ doSelectExportExcel(checkStatus);
+ break;
+ case 'queryExportExcel':
+ doQueryExportexcel();
+ break;
+ };
+ });
+ //鐩戝惉宸ュ叿鏉�
+ table.on('tool(LAY-app-CoreCmsPlanOrder-tableBox)',
+ function(obj) {
+ if (obj.event === 'detail') {
+ doDetails(obj);
+ } else if (obj.event === 'del') {
+ doDelete(obj);
+ } else if (obj.event === 'edit') {
+ doEdit(obj)
+ }
+ });
+ //鎵ц鍒涘缓鎿嶄綔
+ function doCreate(){
+ coreHelper.Post("Api/CoreCmsPlanOrder/GetCreate", null, function (e) {
+ if (e.code === 0) {
+ admin.popup({
+ shadeClose: false,
+ title: '鍒涘缓鏁版嵁',
+ area: ['1200px', '90%'],
+ id: 'LAY-popup-CoreCmsPlanOrder-create',
+ success: function (layero, index) {
+ view(this.id).render('base/CoreCmsPlanOrder/create', { data: e.data }).done(function () {
+ //鐩戝惉鎻愪氦
+ form.on('submit(LAY-app-CoreCmsPlanOrder-createForm-submit)',
+ function(data) {
+ var field = data.field; //鑾峰彇鎻愪氦鐨勫瓧娈�
+
+ field.isdelete = field.isdelete == 'on';
+
+ if (debug) { console.log(field); } //寮�鍚皟璇曡繑鍥炴暟鎹�
+ //鎻愪氦 Ajax 鎴愬姛鍚庯紝鍏抽棴褰撳墠寮瑰眰骞堕噸杞借〃鏍�
+ coreHelper.Post("Api/CoreCmsPlanOrder/DoCreate", field, function (e) {
+ console.log(e)
+ if (e.code === 0) {
+ layui.table.reloadData('LAY-app-CoreCmsPlanOrder-tableBox'); //閲嶈浇琛ㄦ牸
+ layer.close(index); //鍐嶆墽琛屽叧闂�
+ layer.msg(e.msg);
+ } else {
+ layer.msg(e.msg);
+ }
+ });
+ });
+ });
+ // 绂佹寮圭獥鍑虹幇婊氬姩鏉�
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ }
+ , btn: ['纭畾', '鍙栨秷']
+ , yes: function (index, layero) {
+ layero.contents().find("#LAY-app-CoreCmsPlanOrder-createForm-submit").click();
+ }
+ });
+ } else {
+ layer.msg(e.msg);
+ }
+ });
+ }
+ //鎵ц缂栬緫鎿嶄綔
+ function doEdit(obj){
+ coreHelper.Post("Api/CoreCmsPlanOrder/GetEdit", {id:obj.data.id}, function (e) {
+ if (e.code === 0) {
+ admin.popup({
+ shadeClose: false,
+ title: '缂栬緫鏁版嵁',
+ area: ['1200px', '90%'],
+ id: 'LAY-popup-CoreCmsPlanOrder-edit',
+ success: function (layero, index) {
+ view(this.id).render('base/CoreCmsPlanOrder/edit', { data: e.data }).done(function () {
+ //鐩戝惉鎻愪氦
+ form.on('submit(LAY-app-CoreCmsPlanOrder-editForm-submit)',
+ function(data) {
+ var field = data.field; //鑾峰彇鎻愪氦鐨勫瓧娈�
+
+ field.isdelete = field.isdelete == 'on';
+
+ if (debug) { console.log(field); } //寮�鍚皟璇曡繑鍥炴暟鎹�
+ //鎻愪氦 Ajax 鎴愬姛鍚庯紝鍏抽棴褰撳墠寮瑰眰骞堕噸杞借〃鏍�
+ coreHelper.Post("Api/CoreCmsPlanOrder/DoEdit", field, function (e) {
+ console.log(e)
+ if (e.code === 0) {
+ layui.table.reloadData('LAY-app-CoreCmsPlanOrder-tableBox'); //閲嶈浇琛ㄦ牸
+ layer.close(index); //鍐嶆墽琛屽叧闂�
+ layer.msg(e.msg);
+ } else {
+ layer.msg(e.msg);
+ }
+ });
+ });
+ })
+ // 绂佹寮圭獥鍑虹幇婊氬姩鏉�
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ }
+ , btn: ['纭畾', '鍙栨秷']
+ , yes: function (index, layero) {
+ layero.contents().find("#LAY-app-CoreCmsPlanOrder-editForm-submit").click();
+ }
+ });
+ } else {
+ layer.msg(e.msg);
+ }
+ });
+ }
+ //鎵ц棰勮鎿嶄綔
+ function doDetails(obj) {
+ coreHelper.Post("Api/CoreCmsPlanOrder/GetDetails", { id: obj.data.orderId }, function (e) {
+ if (e.code === 0) {
+ admin.popup({
+ shadeClose: false,
+ title: '鏌ョ湅璇︽儏',
+ area: ['1200px', '90%'],
+ id: 'LAY-popup-CoreCmsPlanOrder-details',
+ success: function (layero, index) {
+ view(this.id).render('CoreCmsPlanOrder/details', { data: e.data }).done(function () {
+ form.render();
+ });
+ // 绂佹寮圭獥鍑虹幇婊氬姩鏉�
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ }
+ });
+ } else {
+ layer.msg(e.msg);
+ }
+ });
+ }
+ //鎵ц鍗曚釜鍒犻櫎
+ function doDelete(obj){
+ coreHelper.Post("Api/CoreCmsPlanOrder/DoDelete", { id: obj.data.id }, function (e) {
+ if (debug) { console.log(e); } //寮�鍚皟璇曡繑鍥炴暟鎹�
+ table.reloadData('LAY-app-CoreCmsPlanOrder-tableBox');
+ layer.msg(e.msg);
+ });
+ }
+ //鎵ц鎵归噺鍒犻櫎
+ function doBatchDelete(checkStatus){
+ var checkData = checkStatus.data;
+ if (checkData.length === 0) {
+ return layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁');
+ }
+ layer.confirm('纭畾鍒犻櫎鍚楋紵鍒犻櫎鍚庡皢鏃犳硶鎭㈠銆�',
+ function(index) {
+ var delidsStr = [];
+ layui.each(checkData,
+ function(index, item) {
+ delidsStr.push(item.id);
+ });
+ coreHelper.Post("Api/CoreCmsPlanOrder/DoBatchDelete", { id: delidsStr }, function (e) {
+ if (debug) { console.log(e); } //寮�鍚皟璇曡繑鍥炴暟鎹�
+ table.reloadData('LAY-app-CoreCmsPlanOrder-tableBox');
+ layer.msg(e.msg);
+ });
+ });
+ }
+ //鎵ц鏌ヨ鏉′欢瀵煎嚭excel
+ function doQueryExportexcel(){
+ layer.confirm('纭畾鏍规嵁褰撳墠鐨勬煡璇㈡潯浠跺鍑烘暟鎹悧锛�',
+ function(index) {
+ var field = searchwhere;
+ coreHelper.PostForm("Api/CoreCmsPlanOrder/QueryExportExcel", field, function (e) {
+ if (debug) { console.log(e); } //寮�鍚皟璇曡繑鍥炴暟鎹�
+ if (e.code === 0) {
+ window.open(e.data);
+ } else {
+ layer.msg(e.msg);
+ }
+ });
+ });
+ }
+ //鎵ц閫夋嫨鐩綍瀵煎嚭鏁版嵁
+ function doSelectExportExcel(checkStatus){
+ var checkData = checkStatus.data;
+ if (checkData.length === 0) {
+ return layer.msg('璇烽�夋嫨鎮ㄨ瀵煎嚭鐨勬暟鎹�');
+ }
+ layer.confirm('纭畾瀵煎嚭閫夋嫨鐨勫唴瀹瑰悧锛�',
+ function(index) {
+ var delidsStr = [];
+ layui.each(checkData,
+ function(index, item) {
+ delidsStr.push(item.id);
+ });
+ layer.close(index);
+ coreHelper.Post("Api/CoreCmsPlanOrder/SelectExportExcel", { id: delidsStr }, function (e) {
+ if (debug) { console.log(e); } //寮�鍚皟璇曡繑鍥炴暟鎹�
+ if (e.code === 0) {
+ window.open(e.data);
+ } else {
+ layer.msg(e.msg);
+ }
+ });
+ });
+ }
+
+
+ laydate.render({
+ elem: '#searchTime-CoreCmsPlanOrder-createTime',
+ type: 'datetime',
+ range: '鍒�',
+ });
+ laydate.render({
+ elem: '#searchTime-CoreCmsPlanOrder-upDataTime',
+ type: 'datetime',
+ range: '鍒�',
+ });
+
+ //鐩戝惉 琛ㄦ牸澶嶉�夋鎿嶄綔
+
+ layui.form.on('switch(switch_isdelete)', function (obj) {
+ coreHelper.Post("Api/CoreCmsPlanOrder/DoSetisdelete", { id: this.value, data: obj.elem.checked }, function (e) {
+ if (debug) { console.log(e); } //寮�鍚皟璇曡繑鍥炴暟鎹�
+ //table.reloadData('LAY-app-CoreCmsPlanOrder-tableBox');
+ layer.msg(e.msg);
+ });
+ });
+
+
+ //棣栭〉寮圭獥骞垮憡鍥剧墖
+ upload.render({
+ elem: '#upIndexPopupWindowImageUrlBtn'
+ , url: layui.setter.apiUrl + 'Api/Tools/UploadFilesXls'
+ , accept: 'file' // 鍏佽涓婁紶鏂囦欢
+ , exts: 'xlsx|xls' // 鍙厑璁镐笂浼燛xcel鏂囦欢
+ , done: function (res) {
+ if (res.code > 0) {
+ return layer.msg(res.msg);
+ }
+ layer.msg(res.msg);
+ layui.table.reloadData('LAY-app-CoreCmsPlanOrder-tableBox'); //閲嶈浇琛ㄦ牸
+ }
+ , error: function () {
+ return layer.msg('涓婁紶澶辫触');
+ }
+ });
+ //閲嶈浇form
+ form.render();
+ });
+ };
+</script>
+
+<!--璁剧疆鍒犻櫎鏍囧織-->
+<script type="text/html" id="switch_isdelete">
+ <input type="checkbox" name="switch_isdelete" value="{{d.id}}" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴" lay-filter="switch_isdelete" {{ d.isdelete ? 'checked' : '' }}>
+</script>
+
diff --git a/CoreCms.Net.Web.WebApi/Controllers/OrderController.cs b/CoreCms.Net.Web.WebApi/Controllers/OrderController.cs
index c5c3f4c..fb89f0c 100644
--- a/CoreCms.Net.Web.WebApi/Controllers/OrderController.cs
+++ b/CoreCms.Net.Web.WebApi/Controllers/OrderController.cs
@@ -22,6 +22,7 @@
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.UI;
+using CoreCms.Net.Services;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using Microsoft.AspNetCore.Authorization;
@@ -51,7 +52,8 @@
private readonly ICoreCmsUserServices _userServices;
private readonly ICoreCmsClerkServices _clerkServices;
private readonly ICoreCmsInvoiceServices _invoiceServices;
-
+ private readonly ICoreCmsPlanOrderServices _planOrderServices;
+ private readonly ICoreCmsPlanOrderItemServices _planOrderItemServices;
/// <summary>
/// 鏋勯�犲嚱鏁�
@@ -61,7 +63,9 @@
, ICoreCmsBillAftersalesServices aftersalesServices
, ICoreCmsSettingServices settingServices
, ICoreCmsAreaServices areaServices
- , ICoreCmsBillReshipServices reshipServices, ICoreCmsShipServices shipServices, ICoreCmsLogisticsServices logisticsServices, ICoreCmsOrderDistributionModelServices orderDistributionModelServices, IRedisOperationRepository redisOperationRepository, ICoreCmsUserServices userServices, ICoreCmsClerkServices clerkServices, ICoreCmsInvoiceServices invoiceServices)
+ , ICoreCmsBillReshipServices reshipServices, ICoreCmsShipServices shipServices, ICoreCmsLogisticsServices logisticsServices, ICoreCmsOrderDistributionModelServices orderDistributionModelServices, IRedisOperationRepository redisOperationRepository, ICoreCmsUserServices userServices, ICoreCmsClerkServices clerkServices, ICoreCmsInvoiceServices invoiceServices
+ , ICoreCmsPlanOrderServices planOrderServices
+ , ICoreCmsPlanOrderItemServices planOrderItemServices)
{
_user = user;
_orderServices = orderServices;
@@ -76,6 +80,8 @@
_userServices = userServices;
_clerkServices = clerkServices;
_invoiceServices = invoiceServices;
+ _planOrderServices = planOrderServices;
+ _planOrderItemServices = planOrderItemServices;
}
@@ -370,6 +376,102 @@
#endregion
+
+ #region 鑾峰彇璁″垝璁㈠崟鍒楄〃寰俊灏忕▼搴�=======================================================
+
+ /// <summary>
+ /// 鑾峰彇璁″垝璁㈠崟鍒楄〃寰俊灏忕▼搴�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ [Authorize]
+ public async Task<WebApiCallBack> GetPlanOrderList([FromBody] GetOrderListPost entity)
+ {
+ var jm = await _planOrderServices.GetOrderList(entity.status, _user.ID, entity.page, entity.limit);
+ return jm;
+ }
+
+
+
+ #endregion
+
+
+ #region 鑾峰彇璁″垝璁㈠崟璇︽儏=======================================================
+
+ /// <summary>
+ /// 鑾峰彇璁″垝璁㈠崟璇︽儏
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ [Authorize]
+ public async Task<WebApiCallBack> GetPlanOrder([FromBody] FMStringId entity)
+ {
+ var jm = new WebApiCallBack();
+
+ var model = await _planOrderServices.QueryByIdAsync(entity.id);
+ if (model == null)
+ {
+ jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+ return jm;
+ }
+
+ //鑾峰彇鐩稿叧鐘舵�佹弿杩拌鏄庤浆鎹�
+ model.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(model.status);
+ var modelItem = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id, p => p.specification, OrderByType.Asc);
+
+ jm.code = 0;
+ jm.status = true;
+ jm.data = new
+ {
+ model,
+ modelItem,
+ };
+
+ return jm;
+ }
+
+
+ #region 淇敼璁″垝璁㈠崟==================================================
+ /// <summary>
+ /// 淇敼璁″垝璁㈠崟
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ [Authorize]
+ public async Task<WebApiCallBack> UpdatePlanOrder([FromBody] CreateOrder entity)
+ {
+ var jm = new WebApiCallBack();
+
+
+
+ try
+ {
+
+
+ if (string.IsNullOrEmpty(entity.itemIds))
+ {
+ jm.data = 10000;
+ jm.msg = GlobalErrorCodeVars.Code10000;
+ return jm;
+ }
+
+ jm = await _planOrderServices.ToUpdate(entity.orderId , _user.ID, _user.Name, entity.status, entity.itemIds, entity.itemNums);
+ }
+ catch (Exception e)
+ {
+ jm.msg = "鏁版嵁澶勭悊寮傚父";
+ jm.otherData = e;
+ }
+
+
+ return jm;
+ }
+ #endregion
+
+
+
+ #endregion
+
#region 鍙栨秷璁㈠崟====================================================
/// <summary>
--
Gitblit v1.9.1