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> CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderItemRepository.cs
New file @@ -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); } } CoreCms.Net.IRepository/Order/ICoreCmsPlanOrderRepository.cs
New file @@ -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); } } CoreCms.Net.IServices/Order/ICoreCmsPlanOrderItemServices.cs
New file @@ -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 } } CoreCms.Net.IServices/Order/ICoreCmsPlanOrderServices.cs
New file @@ -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); } } CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrder.cs
New file @@ -0,0 +1,152 @@ using 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; } } } CoreCms.Net.Model/Entities/Order/CoreCmsPlanOrderItem.cs
New file @@ -0,0 +1,92 @@ using 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; } } } 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; } } } CoreCms.Net.Repository/Order/CoreCmsPlanOrderItemRepository.cs
New file @@ -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 } } CoreCms.Net.Repository/Order/CoreCmsPlanOrderRepository.cs
New file @@ -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 } } CoreCms.Net.Services/Order/CoreCmsPlanOrderItemServices.cs
New file @@ -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 } } CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs
New file @@ -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; } } } 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; 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; // å¯ä»¥æ·»å å ¶ä»ç±»åçcase } return cellvalue; } #endregion #region éç¨ä¸ä¼ æ¥å£==================================================== /// <summary> CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs
New file @@ -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(); //æ·»å ä¸ä¸ªsheet var mySheet = book.CreateSheet("Sheet1"); //è·ålistæ°æ® var listModel = await _CoreCmsPlanOrderServices.QueryListByClauseAsync(p => entity.id.Contains(p.orderId), p => p.orderId, OrderByType.Asc, true); //ç»sheet1æ·»å 第ä¸è¡ç头鍿 é¢ 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(); //æ·»å ä¸ä¸ªsheet var mySheet = book.CreateSheet("Sheet1"); //è·ålistæ°æ® var listModel = await _CoreCmsPlanOrderServices.QueryListByClauseAsync(where, p => p.orderId, OrderByType.Asc, true); //ç»sheet1æ·»å 第ä¸è¡ç头鍿 é¢ 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/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 } } CoreCms.Net.Web.Admin/wwwroot/static/jihuageshi/ÉÏ´«¼Æ»®¶©µ¥.xlsxBinary files differ
CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/create.html
New file @@ -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="请è¾å ¥ç¨æ·ID å ³èuser.id" lay-reqText="请è¾å ¥ç¨æ·ID å ³è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> CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/details.html
New file @@ -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> CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/edit.html
New file @@ -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="请è¾å ¥ç¨æ·ID å ³èuser.id" lay-reqText="请è¾å ¥ç¨æ·ID å ³è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> CoreCms.Net.Web.Admin/wwwroot/views/corecmsplanorder/index.html
New file @@ -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="请è¾å ¥ç¨æ·ID å ³è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' // åªå 许ä¸ä¼ Excelæä»¶ , 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> 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>