From 7a3a4f8012a72f80d8dd62064a76655c803da864 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 29 五月 2024 12:42:45 +0800
Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/baifenbaishop

---
 CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs | 1769 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,769 insertions(+), 0 deletions(-)

diff --git a/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs b/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs
new file mode 100644
index 0000000..a0ccdb2
--- /dev/null
+++ b/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs
@@ -0,0 +1,1769 @@
+/***********************************************************************
+ *            Project: baifenBinfa
+ *        ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺                               
+ *                Web: http://chuanyin.com                     
+ *             Author:                                        
+ *              Email:                               
+ *         CreateTime: 2024/5/24 11:11:45
+ *        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.baifenbingfa.puhuo;
+using static CoreCms.Net.Configuration.GlobalEnumVars;
+using CoreCms.Net.Services;
+using System.Collections.Generic;
+using NetTaste;
+using NPOI.SS.Formula.Functions;
+using CoreCms.Net.Services.Basic;
+using CoreCms.Net.Model.Entities.baifenbingfa.Promote;
+using Essensoft.Paylink.Alipay.Domain;
+using CoreCms.Net.Auth.HttpContextUser;
+using MathNet.Numerics.Distributions;
+
+namespace CoreCms.Net.Web.Admin.Controllers
+{
+    /// <summary>
+    /// 閾鸿揣
+    ///</summary>
+    [Description("閾鸿揣")]
+    [Route("api/[controller]/[action]")]
+    [ApiController]
+    [RequiredErrorForAdmin]
+    [Authorize(Permissions.Name)]
+    public class PuhuoController : ControllerBase
+    {
+        private readonly IWebHostEnvironment _webHostEnvironment;
+        private readonly IPuhuoServices _PuhuoServices;
+        private readonly ICoreCmsGoodsCategoryServices _coreCmsGoodsCategoryServices;
+        private readonly ICoreCmsDistributionServices _coreCmsDistributionServices;
+        private readonly ICoreCmsGoodsCategoryExtendServices _goodsCategoryExtendServices;
+        private readonly ICoreCmsGoodsServices _coreCmsGoodsServices;
+        private readonly ICoreCmsProductsServices _coreCmsProductsServices;
+        private readonly ICoreCmsAreaServices _coreCmsAreaServices;
+        private readonly IHttpContextUser _user;
+        private readonly ICoreCmsAreaServices _areaServices;
+        private readonly ICoreCmsGoodsCategoryServices _goodsCategoryServices;
+
+        /// <summary>
+        /// 鏋勯�犲嚱鏁�
+        ///</summary>
+        public PuhuoController(IWebHostEnvironment webHostEnvironment
+            ,IPuhuoServices PuhuoServices
+            , ICoreCmsGoodsCategoryServices coreCmsGoodsCategoryServices
+            , ICoreCmsDistributionServices coreCmsDistributionServices
+            , ICoreCmsGoodsCategoryExtendServices goodsCategoryExtendServices
+            , ICoreCmsGoodsServices coreCmsGoodsServices
+            , ICoreCmsProductsServices coreCmsProductsServices
+            , ICoreCmsAreaServices coreCmsAreaServices
+            , IHttpContextUser user
+            , ICoreCmsAreaServices areaServices
+            , ICoreCmsGoodsCategoryServices goodsCategoryServices
+            )
+        {
+            _webHostEnvironment = webHostEnvironment;
+            _PuhuoServices = PuhuoServices;
+            _coreCmsGoodsCategoryServices = coreCmsGoodsCategoryServices;
+            _coreCmsDistributionServices = coreCmsDistributionServices;
+            _goodsCategoryExtendServices = goodsCategoryExtendServices;
+            _coreCmsGoodsServices = coreCmsGoodsServices;
+            _coreCmsProductsServices = coreCmsProductsServices;
+            _coreCmsAreaServices = coreCmsAreaServices;
+            _user = user;
+            _areaServices = areaServices;
+            _goodsCategoryServices = goodsCategoryServices;
+        }
+
+
+        #region 鑾峰彇鍒楄〃group============================================================
+        // POST: Api/Puhuo/GetPageListGroup
+        /// <summary>
+        /// 鑾峰彇鍒楄〃group
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("鑾峰彇鍒楄〃group")]
+        public async Task<AdminUiCallBack> GetPageListGroup()
+        {
+            var jm = new AdminUiCallBack();
+            var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
+            var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
+            var where = PredicateBuilder.True<Puhuo>();
+            //鑾峰彇鎺掑簭瀛楁
+            var orderField = Request.Form["orderField"].FirstOrDefault();
+
+            Expression<Func<Puhuo, object>> orderEx = orderField switch
+            {
+                "id" => p => p.id,
+                "distributionId" => p => p.distributionId,
+                "distributionName" => p => p.distributionName,
+                "areaCode" => p => p.areaCode,
+                "areaCodeName" => p => p.areaCodeName,
+                "CategoryId" => p => p.CategoryId,
+                "CategoryName" => p => p.CategoryName,
+                "goodsId" => p => p.goodsId,
+                "goodsName" => p => p.goodsName,
+                "productsId" => p => p.productsId,
+                "productsName" => p => p.productsName,
+                "spesDesc" => p => p.spesDesc,
+                "price" => p => p.price,
+                "nums" => p => p.nums,
+                "amount" => p => p.amount,
+                "createTime" => p => p.createTime,
+                "upDataTime" => p => p.upDataTime,
+                "createBy" => p => p.createBy,
+                "upDataBy" => p => p.upDataBy,
+                "isdelete" => p => p.isdelete,
+                _ => p => p.goodsId
+            };
+
+            //璁剧疆鎺掑簭鏂瑰紡
+            var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
+            var orderBy = orderDirection switch
+            {
+                "asc" => OrderByType.Asc,
+                "desc" => OrderByType.Desc,
+                _ => OrderByType.Desc
+            };
+            //鏌ヨ绛涢��
+
+            //涓婚敭ID int
+            var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
+            if (id > 0)
+            {
+                where = where.And(p => p.id == id);
+            }
+            //缁忛攢鍟唅d int
+            var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0);
+            if (distributionId > 0)
+            {
+                where = where.And(p => p.distributionId == distributionId);
+            }
+            //缁忛攢鍟� varchar
+            var distributionName = Request.Form["distributionName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(distributionName))
+            {
+                where = where.And(p => p.distributionName.Contains(distributionName));
+            }
+            //鍖哄煙 varchar
+            var sheng = Request.Form["sheng"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(sheng))
+            {
+                where = where.And(p => p.areaCode.Contains(sheng));
+            }
+            var shi = Request.Form["shi"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(shi))
+            {
+                where = where.And(p => p.areaCode.Contains(shi));
+            }
+            var quxian = Request.Form["quxian"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(quxian))
+            {
+                where = where.And(p => p.areaCode.Contains(quxian));
+            }
+            //鍖哄煙鍚嶇О varchar
+            var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(areaCodeName))
+            {
+                where = where.And(p => p.areaCodeName.Contains(areaCodeName));
+            }
+            //鍟嗗搧鍒嗙被id int
+            var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0);
+            if (CategoryId > 0)
+            {
+                
+
+                var categories = await _goodsCategoryServices.QueryAsync(true, true);
+                var ids = GoodsHelper.GetChildIds(categories, CategoryId);
+                //鎵╁睍鍒嗙被
+                var extends = await _goodsCategoryExtendServices.QueryListByClauseAsync(p => p.goodsCategroyId == CategoryId);
+                if (extends.Any())
+                {
+                    var extGoodIds = extends.Select(p => p.goodsId).ToList();
+                    where = where.And(p => ids.Contains(p.CategoryId) || extGoodIds.Contains(p.id));
+                }
+                else
+                {
+                    where = where.And(p => ids.Contains(p.CategoryId));
+                }
+            }
+            //鍟嗗搧鍒嗙被 varchar
+            var CategoryName = Request.Form["CategoryName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(CategoryName))
+            {
+                where = where.And(p => p.CategoryName.Contains(CategoryName));
+            }
+            //鍟嗗搧id int
+            var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0);
+            if (goodsId > 0)
+            {
+                where = where.And(p => p.goodsId == goodsId);
+            }
+            //鍟嗗搧鍚嶇О varchar
+            var goodsName = Request.Form["goodsName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(goodsName))
+            {
+                where = where.And(p => p.goodsName.Contains(goodsName));
+            }
+            //璐у搧id int
+            var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0);
+            if (productsId > 0)
+            {
+                where = where.And(p => p.productsId == productsId);
+            }
+            //璐у搧缂栧彿 varchar
+            var productsName = Request.Form["productsName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(productsName))
+            {
+                where = where.And(p => p.productsName.Contains(productsName));
+            }
+            //璐у搧瑙勬牸 varchar
+            var spesDesc = Request.Form["spesDesc"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(spesDesc))
+            {
+                where = where.And(p => p.spesDesc.Contains(spesDesc));
+            }
+            //璐у搧浠锋牸 decimal
+            var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0);
+            if (price > 0)
+            {
+                where = where.And(p => p.price == price);
+            }
+            //鏁伴噺 int
+            var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0);
+            if (nums > 0)
+            {
+                where = where.And(p => p.nums == nums);
+            }
+            //閲戦 decimal
+            var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0);
+            if (amount > 0)
+            {
+                where = where.And(p => p.amount == amount);
+            }
+            //寤虹珛鏃堕棿 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 _PuhuoServices.QueryPageGroupAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
+            //杩斿洖鏁版嵁
+            jm.data = list;
+            jm.code = 0;
+            jm.count = list.TotalCount;
+            jm.msg = "鏁版嵁璋冪敤鎴愬姛!";
+            return jm;
+        }
+        #endregion
+
+        #region 棣栭〉鏁版嵁============================================================
+        // POST: Api/Puhuo/GetIndexGroup
+        /// <summary>
+        /// 棣栭〉鏁版嵁
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("棣栭〉鏁版嵁")]
+        public async Task<AdminUiCallBack> GetIndexGroup()
+        {
+            //杩斿洖鏁版嵁
+            var jm = new AdminUiCallBack { code = 0 };
+
+            //鑾峰彇鍟嗗搧鍒嗙被
+            var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort, OrderByType.Asc, true, true);
+
+            
+
+            var categoriesnew = departmentRecursion(0, categories, "--");
+
+
+
+
+
+
+            jm.data = new
+            {
+
+                categories = categoriesnew//GoodsHelper.GetTree(categories,false),
+
+
+            };
+
+            return jm;
+        }
+        #endregion
+
+
+
+        #region 鑾峰彇鍒楄〃============================================================
+        // POST: Api/Puhuo/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<Puhuo>();
+            //鑾峰彇鎺掑簭瀛楁
+            var orderField = Request.Form["orderField"].FirstOrDefault();
+
+            Expression<Func<Puhuo, object>> orderEx = orderField switch
+            {
+                "id" => p => p.id,"distributionId" => p => p.distributionId,"distributionName" => p => p.distributionName,"areaCode" => p => p.areaCode,"areaCodeName" => p => p.areaCodeName,"CategoryId" => p => p.CategoryId,"CategoryName" => p => p.CategoryName,"goodsId" => p => p.goodsId,"goodsName" => p => p.goodsName,"productsId" => p => p.productsId,"productsName" => p => p.productsName,"spesDesc" => p => p.spesDesc,"price" => p => p.price,"nums" => p => p.nums,"amount" => p => p.amount,"createTime" => p => p.createTime,"upDataTime" => p => p.upDataTime,"createBy" => p => p.createBy,"upDataBy" => p => p.upDataBy,"isdelete" => p => p.isdelete,
+                _ => p => p.id
+            };
+
+            //璁剧疆鎺掑簭鏂瑰紡
+            var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
+            var orderBy = orderDirection switch
+            {
+                "asc" => OrderByType.Asc,
+                "desc" => OrderByType.Desc,
+                _ => OrderByType.Desc
+            };
+            //鏌ヨ绛涢��
+			
+			//涓婚敭ID int
+			var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
+            if (id > 0)
+            {
+                where = where.And(p => p.id == id);
+            }
+			//缁忛攢鍟唅d int
+			var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0);
+            if (distributionId > 0)
+            {
+                where = where.And(p => p.distributionId == distributionId);
+            }
+			//缁忛攢鍟� varchar
+			var distributionName = Request.Form["distributionName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(distributionName))
+            {
+                where = where.And(p => p.distributionName.Contains(distributionName));
+            }
+			//鍖哄煙 varchar
+			var sheng = Request.Form["sheng"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(sheng))
+            {
+                where = where.And(p => p.areaCode.Contains(sheng));
+            }
+            var shi = Request.Form["shi"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(shi))
+            {
+                where = where.And(p => p.areaCode.Contains(shi));
+            }
+            var quxian = Request.Form["quxian"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(quxian))
+            {
+                where = where.And(p => p.areaCode.Contains(quxian));
+            }
+            //鍖哄煙鍚嶇О varchar
+            var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(areaCodeName))
+            {
+                where = where.And(p => p.areaCodeName.Contains(areaCodeName));
+            }
+			//鍟嗗搧鍒嗙被id int
+			var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0);
+            if (CategoryId > 0)
+            {
+                where = where.And(p => p.CategoryId == CategoryId);
+            }
+			//鍟嗗搧鍒嗙被 varchar
+			var CategoryName = Request.Form["CategoryName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(CategoryName))
+            {
+                where = where.And(p => p.CategoryName.Contains(CategoryName));
+            }
+			//鍟嗗搧id int
+			var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0);
+            if (goodsId > 0)
+            {
+                where = where.And(p => p.goodsId == goodsId);
+            }
+			//鍟嗗搧鍚嶇О varchar
+			var goodsName = Request.Form["goodsName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(goodsName))
+            {
+                where = where.And(p => p.goodsName.Contains(goodsName));
+            }
+			//璐у搧id int
+			var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0);
+            if (productsId > 0)
+            {
+                where = where.And(p => p.productsId == productsId);
+            }
+			//璐у搧缂栧彿 varchar
+			var productsName = Request.Form["productsName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(productsName))
+            {
+                where = where.And(p => p.productsName.Contains(productsName));
+            }
+			//璐у搧瑙勬牸 varchar
+			var spesDesc = Request.Form["spesDesc"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(spesDesc))
+            {
+                where = where.And(p => p.spesDesc.Contains(spesDesc));
+            }
+			//璐у搧浠锋牸 decimal
+			var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0);
+            if (price > 0)
+            {
+                where = where.And(p => p.price == price);
+            }
+			//鏁伴噺 int
+			var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0);
+            if (nums > 0)
+            {
+                where = where.And(p => p.nums == nums);
+            }
+			//閲戦 decimal
+			var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0);
+            if (amount > 0)
+            {
+                where = where.And(p => p.amount == amount);
+            }
+			//寤虹珛鏃堕棿 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 _PuhuoServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
+            //杩斿洖鏁版嵁
+            jm.data = list;
+            jm.code = 0;
+            jm.count = list.TotalCount;
+            jm.msg = "鏁版嵁璋冪敤鎴愬姛!";
+            return jm;
+        }
+        #endregion
+
+        #region 棣栭〉鏁版嵁============================================================
+        // POST: Api/Puhuo/GetIndex
+        /// <summary>
+        /// 棣栭〉鏁版嵁
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("棣栭〉鏁版嵁")]
+        public async Task<AdminUiCallBack> GetIndex()
+        {
+            //杩斿洖鏁版嵁
+            var jm = new AdminUiCallBack { code = 0 };
+
+            var shi = await _areaServices.QueryListByClauseAsync(p => p.parentId == 0 );//510000
+
+          var sss =  shi.Where(x => x.id == 510000).FirstOrDefault();
+
+
+            if (shi.Remove(sss))
+            {
+                shi.Insert(0, sss);
+            }
+            jm.data = shi;
+
+            return jm;
+        }
+        #endregion
+
+        #region 鍒涘缓鏁版嵁============================================================
+        // POST: Api/Puhuo/GetCreate
+        /// <summary>
+        /// 鍒涘缓鏁版嵁
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("鍒涘缓鏁版嵁")]
+        public async Task<AdminUiCallBack> GetCreate()
+        {
+            //杩斿洖鏁版嵁
+            var jm = new AdminUiCallBack { code = 0 };
+
+            //鑾峰彇鍟嗗搧鍒嗙被
+            var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort, OrderByType.Asc, true, true);
+
+            var distributions = await _coreCmsDistributionServices.QueryListByClauseAsync(p => p.isDelete == false && p.verifyStatus == 1, p => p.createTime, OrderByType.Desc, true, true);
+
+           var categoriesnew = departmentRecursion(0, categories,"--");
+
+
+
+
+
+
+            jm.data = new
+            {
+               
+                categories = categoriesnew,//GoodsHelper.GetTree(categories,false),
+                distributions = distributions,
+
+            };
+
+            return jm;
+        }
+
+
+        #region 閫夋嫨鍟嗗搧鍒嗙被============================================================
+        // POST: Api/CoreCmsPlanOrder/GetIndex
+        /// <summary>
+        /// 閫夋嫨甯�
+        /// </summary>
+        /// <returns></returns>
+        [Description("閫夋嫨鍟嗗搧鍒嗙被")]
+        [AllowAnonymous]
+        public async Task<AdminUiCallBack> Getshangpfenlei(int fenleiid = 0)
+        {
+            //杩斿洖鏁版嵁
+            var jm = new AdminUiCallBack { code = 0 };
+
+            var goodsCategoryId = fenleiid;
+
+           var  coreCmsGoods  = await _coreCmsGoodsServices.QueryListByClauseAsync(x => x.isMarketable == true && x.isDel == false, x => x.sort, OrderByType.Asc);
+            if (goodsCategoryId > 0)
+            {
+
+                //鑾峰彇鍏ㄩ儴鏁版嵁缂撳瓨
+                var categories = await _coreCmsGoodsCategoryServices.QueryAsync(true, true);
+                var ids = GoodsHelper.GetChildIds(categories, goodsCategoryId);
+
+                //鎵╁睍鍒嗙被
+                var extends = await _goodsCategoryExtendServices.QueryListByClauseAsync(p => p.goodsCategroyId == goodsCategoryId);
+                if (extends.Any())
+                {
+                    var extGoodIds = extends.Select(p => p.goodsId).ToList();
+                    coreCmsGoods =  coreCmsGoods.Where(p => ids.Contains(p.goodsCategoryId) || extGoodIds.Contains(p.id)).ToList();
+                }
+                else
+                {
+                    coreCmsGoods = coreCmsGoods.Where(p => ids.Contains(p.goodsCategoryId)).ToList();
+                }
+            }
+
+
+            jm.data = coreCmsGoods;
+
+            return jm;
+        }
+        #endregion
+
+
+        #region 閫夋嫨鍟嗗搧============================================================
+        // POST: Api/CoreCmsPlanOrder/GetIndex
+        /// <summary>
+        /// 閫夋嫨甯�
+        /// </summary>
+        /// <returns></returns>
+        [Description("閫夋嫨鍟嗗搧")]
+        [AllowAnonymous]
+        public async Task<AdminUiCallBack> Gethuopin(int shangpinid = 0)
+        {
+            //杩斿洖鏁版嵁
+            var jm = new AdminUiCallBack { code = 0 };
+
+            var coreCmsProducts = await _coreCmsProductsServices.QueryListByClauseAsync(x => x.goodsId == shangpinid && x.marketable == true && x.isDel == false);
+
+          
+
+
+            jm.data = coreCmsProducts;
+
+            return jm;
+        }
+        #endregion
+
+
+        private List<CoreCmsGoodsCategory> departmentRecursion(int Superior, List<CoreCmsGoodsCategory> obj,string ceshu)
+        {
+            List<CoreCmsGoodsCategory> hrDepts = new List<CoreCmsGoodsCategory>();
+            List<CoreCmsGoodsCategory> temp = new List<CoreCmsGoodsCategory>();
+
+            for (int i = 0; i < obj.Count; i++)
+            {
+                if (obj[i].parentId == Superior)
+                {
+                    hrDepts.Add(obj[i]);
+                    temp = departmentRecursion(obj[i].id, obj, ceshu+"--");
+                    if (temp.Count > 0)
+                    {
+                        for (int j = 0; j < temp.Count; j++)
+                        {
+                            temp[j].name = ceshu + temp[j].name;
+                            hrDepts.Add(temp[j]);
+
+                        }
+                    }
+                }
+            }
+
+            return hrDepts;
+        }
+        #endregion
+
+        #region 鍒涘缓鎻愪氦============================================================
+        // POST: Api/Puhuo/DoCreate
+        /// <summary>
+        /// 鍒涘缓鎻愪氦
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("鍒涘缓鎻愪氦")]
+        public async Task<AdminUiCallBack> DoCreate([FromBody] Puhuo entity)
+        {
+            var jm = new AdminUiCallBack();
+            if (entity.distributionId <= 0)
+            {
+                jm.msg = "璇烽�夋嫨缁忛攢鍟�";
+                return jm;
+
+
+            }
+            if (entity.productsId <= 0)
+            {
+                jm.msg = "璇烽�夋嫨璐у搧";
+                return jm;
+
+
+            }
+
+            if (entity.nums <= 0)
+            {
+                jm.msg = "璇峰~鍐欐暟閲�";
+                return jm;
+            }
+
+          var puhuos = await  _PuhuoServices.QueryListByClauseAsync(x => x.isdelete == false && x.productsId == entity.productsId && x.distributionId == entity.distributionId);
+            if (puhuos!=null && puhuos.Count>0)
+            {
+                jm.msg = "宸叉湁缁忛攢鍟嗚揣鍝佽褰曪紝涓嶈兘娣诲姞锛�";
+                return jm;
+            }
+            var distributions = await _coreCmsDistributionServices.QueryByIdAsync(entity.distributionId);
+            if (distributions != null)
+            {
+                entity.distributionName = distributions.name;
+                entity.areaCode = distributions.areaCode;
+                var d = await _coreCmsAreaServices.GetAreaFullName(entity.areaCode?.Split(",").ToList().OrderDescending()?.FirstOrDefault()?.ToInt32OrDefault(0) ?? 0);
+                if (d.status == true)
+                {
+                    entity.areaCodeName = d.data.ToString();
+                }
+
+            }
+
+            var coreCmsProduct = await _coreCmsProductsServices.QueryByIdAsync(entity.productsId);
+            if (coreCmsProduct != null)
+            {
+                if (coreCmsProduct.stock < entity.nums)
+                {
+                    jm.msg = "搴撳瓨涓嶈冻锛�";
+                    return jm;
+                }
+
+                entity.productsName = coreCmsProduct.sn;
+                entity.spesDesc = coreCmsProduct.spesDesc;
+                entity.goodsId = coreCmsProduct.goodsId;
+                var coreCmsGood = await _coreCmsGoodsServices.QueryByIdAsync(coreCmsProduct.goodsId);
+                if (coreCmsGood != null)
+                {
+                    entity.goodsName = coreCmsGood.name;
+                    entity.CategoryId = coreCmsGood.goodsCategoryId;
+                    //鑾峰彇鍏ㄩ儴鏁版嵁缂撳瓨
+                    var categorie = await _coreCmsGoodsCategoryServices.QueryByIdAsync(coreCmsGood.goodsCategoryId);
+                    if (categorie != null)
+                    {
+                        entity.CategoryName = categorie.name;
+                    }
+                }
+                entity.price = coreCmsProduct.distributionPrice;
+                entity.amount = coreCmsProduct.distributionPrice * new decimal(entity.nums);
+            }
+            else
+            {
+                jm.msg = "娌℃壘鍒颁骇鍝�";
+                return jm;
+            }
+
+
+            entity.isdelete = false;
+            entity.createBy = _user.Name;
+            entity.upDataBy = _user.Name;
+            entity.createTime = DateTime.Now;
+            entity.upDataTime = entity.createTime;
+
+
+
+
+            coreCmsProduct.stock = coreCmsProduct.stock - entity.nums;
+            var bb = await _coreCmsProductsServices.UpdateAsync(coreCmsProduct);
+
+          
+
+            jm = await _PuhuoServices.InsertAsync(entity);
+            return jm;
+        }
+        #endregion
+
+
+
+
+        #region 缂栬緫鏁版嵁============================================================
+        // POST: Api/Puhuo/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 _PuhuoServices.QueryByIdAsync(entity.id, false);
+            if (model == null)
+            {
+                jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+                return jm;
+            }
+            model.jintui = entity.jintui;
+            jm.code = 0;
+            jm.data = model;
+
+            return jm;
+        }
+        #endregion
+
+        #region 缂栬緫鎻愪氦============================================================
+        // POST: Api/Puhuo/Edit
+        /// <summary>
+        /// 缂栬緫鎻愪氦
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("缂栬緫鎻愪氦")]
+        public async Task<AdminUiCallBack> DoEdit([FromBody]Puhuo entity)
+        {
+
+            var jm = new AdminUiCallBack();
+
+
+            if (entity.tiaozhengnums <= 0)
+            {
+                jm.msg = "璇峰~鍐欒皟鏁存暟閲�";
+                return jm;
+            }
+           
+
+
+            var puhuo = await _PuhuoServices.QueryByIdAsync(entity.id);
+
+            if (entity.jintui == 2 && puhuo.nums < entity.tiaozhengnums)
+            {
+                jm.msg = "閫�璐ф暟閲忓ぇ浜庨摵璐ф暟閲忥紝涓嶈兘鎻愪氦";
+                return jm;
+            }
+
+           
+
+
+            var coreCmsProduct = await _coreCmsProductsServices.QueryByIdAsync(puhuo.productsId);
+            if (coreCmsProduct != null)
+            {
+                if (entity.jintui == 1 && coreCmsProduct.stock < entity.tiaozhengnums)
+                {
+                    jm.msg = "搴撳瓨涓嶈冻锛�";
+                    return jm;
+                }
+                if (entity.jintui == 1)
+                {
+                    puhuo.nums = puhuo.nums + entity.tiaozhengnums;
+                }
+                else if (entity.jintui == 2)
+                {
+                    puhuo.nums = puhuo.nums - entity.tiaozhengnums;
+                }
+                puhuo.price = coreCmsProduct.distributionPrice;
+                puhuo.amount = coreCmsProduct.distributionPrice * new decimal(puhuo.nums);
+            }
+            else
+            {
+                jm.msg = "娌℃壘鍒颁骇鍝�";
+                return jm;
+            }
+
+
+            puhuo.isdelete = false;
+            //entity.createBy = _user.Name;
+            puhuo.upDataBy = _user.Name;
+            //entity.createTime = DateTime.Now;
+            puhuo.upDataTime = DateTime.Now;
+
+
+
+            if (entity.jintui == 1)
+            {
+                coreCmsProduct.stock = coreCmsProduct.stock - entity.tiaozhengnums;
+            }
+            else if (entity.jintui == 2)
+            {
+                coreCmsProduct.stock = coreCmsProduct.stock + entity.tiaozhengnums;
+            }
+           
+            var bb = await _coreCmsProductsServices.UpdateAsync(coreCmsProduct);
+
+
+
+            jm = await _PuhuoServices.UpdateAsync(puhuo);
+            return jm;
+        }
+        #endregion
+
+        #region 鍒犻櫎鏁版嵁============================================================
+        // POST: Api/Puhuo/DoDelete/10
+        /// <summary>
+        /// 鍗曢�夊垹闄�
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("鍗曢�夊垹闄�")]
+        public async Task<AdminUiCallBack> DoDelete([FromBody]FMIntId entity)
+        {
+            var jm = new AdminUiCallBack();
+
+            var model = await _PuhuoServices.ExistsAsync(p => p.id == entity.id, true);
+            if (!model)
+            {
+                jm.msg = GlobalConstVars.DataisNo;
+				return jm;
+            }
+            jm = await _PuhuoServices.DeleteByIdAsync(entity.id);
+
+            return jm;
+        }
+        #endregion
+
+        #region 鎵归噺鍒犻櫎============================================================
+        // POST: Api/Puhuo/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 _PuhuoServices.DeleteByIdsAsync(entity.id);
+            return jm;
+        }
+
+        #endregion
+
+        #region 棰勮鏁版嵁============================================================
+        // POST: Api/Puhuo/GetDetails/10
+        /// <summary>
+        /// 棰勮鏁版嵁
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("棰勮鏁版嵁")]
+        public async Task<AdminUiCallBack> GetDetails([FromBody]FMIntId entity)
+        {
+            var jm = new AdminUiCallBack();
+            var puhuoss = await _PuhuoServices.QueryListByClauseAsync(p => p.productsId == entity.productsId);
+            //var model = await _PuhuoServices.QueryByIdAsync(entity.id, false);
+            //if (model == null)
+            //{
+            //    jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+            //    return jm;
+            //}
+            jm.code = 0;
+
+            jm.data = new
+            {
+
+                model = new Puhuo(),//GoodsHelper.GetTree(categories,false),
+                puhuos = puhuoss,
+
+            };
+
+            return jm;
+        }
+        #endregion
+
+        #region 閫夋嫨瀵煎嚭============================================================
+        // POST: Api/Puhuo/SelectExportExcel/10
+        /// <summary>
+        /// 閫夋嫨瀵煎嚭
+        /// </summary>
+        /// <param name="entity"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("閫夋嫨瀵煎嚭")]
+        public async Task<AdminUiCallBack> SelectExportExcel([FromBody]FMArrayIntIds entity)
+        {
+            var jm = new AdminUiCallBack();
+
+            //鍒涘缓Excel鏂囦欢鐨勫璞�
+            var book = new HSSFWorkbook();
+            //娣诲姞涓�涓猻heet
+            var mySheet = book.CreateSheet("Sheet1");
+            //鑾峰彇list鏁版嵁
+            var listModel = await _PuhuoServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true);
+            //缁檚heet1娣诲姞绗竴琛岀殑澶撮儴鏍囬
+            var headerRow = mySheet.CreateRow(0);
+            var headerStyle = ExcelHelper.GetHeaderStyle(book);
+            var cellNum = 0;
+
+            var cell0 = headerRow.CreateCell(cellNum);
+            cell0.SetCellValue("涓婚敭ID");
+            cell0.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+
+            var cell1 = headerRow.CreateCell(cellNum);
+            cell1.SetCellValue("缁忛攢鍟唅d");
+            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("鍖哄煙");
+            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("鍟嗗搧鍒嗙被id");
+            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("鍟嗗搧id");
+            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("璐у搧id");
+            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++;
+
+            var cell14 = headerRow.CreateCell(cellNum);
+            cell14.SetCellValue("閲戦");
+            cell14.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+
+            var cell15 = headerRow.CreateCell(cellNum);
+            cell15.SetCellValue("寤虹珛鏃堕棿");
+            cell15.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+
+            var cell16 = headerRow.CreateCell(cellNum);
+            cell16.SetCellValue("淇敼鏃堕棿");
+            cell16.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+
+            var cell17 = headerRow.CreateCell(cellNum);
+            cell17.SetCellValue("鍒涘缓浜�");
+            cell17.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+
+            var cell18 = headerRow.CreateCell(cellNum);
+            cell18.SetCellValue("淇敼浜�");
+            cell18.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+
+            var cell19 = headerRow.CreateCell(cellNum);
+            cell19.SetCellValue("鍒犻櫎鏍囧織");
+            cell19.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].id.ToString());
+                        rowTemp0.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp1 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp1.SetCellValue(listModel[i].distributionId.ToString());
+                        rowTemp1.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp2 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp2.SetCellValue(listModel[i].distributionName.ToString());
+                        rowTemp2.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp3 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp3.SetCellValue(listModel[i].areaCode.ToString());
+                        rowTemp3.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp4 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp4.SetCellValue(listModel[i].areaCodeName.ToString());
+                        rowTemp4.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp5 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp5.SetCellValue(listModel[i].CategoryId.ToString());
+                        rowTemp5.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp6 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp6.SetCellValue(listModel[i].CategoryName.ToString());
+                        rowTemp6.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp7 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp7.SetCellValue(listModel[i].goodsId.ToString());
+                        rowTemp7.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp8 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp8.SetCellValue(listModel[i].goodsName.ToString());
+                        rowTemp8.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp9 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp9.SetCellValue(listModel[i].productsId.ToString());
+                        rowTemp9.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp10 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp10.SetCellValue(listModel[i].productsName.ToString());
+                        rowTemp10.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp11 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp11.SetCellValue(listModel[i].spesDesc.ToString());
+                        rowTemp11.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp12 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp12.SetCellValue(listModel[i].price.ToString());
+                        rowTemp12.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp13 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp13.SetCellValue(listModel[i].nums.ToString());
+                        rowTemp13.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp14 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp14.SetCellValue(listModel[i].amount.ToString());
+                        rowTemp14.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp15 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp15.SetCellValue(listModel[i].createTime.ToString());
+                        rowTemp15.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp16 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp16.SetCellValue(listModel[i].upDataTime.ToString());
+                        rowTemp16.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp17 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp17.SetCellValue(listModel[i].createBy.ToString());
+                        rowTemp17.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp18 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp18.SetCellValue(listModel[i].upDataBy.ToString());
+                        rowTemp18.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+                    var rowTemp19 = rowTemp.CreateCell(cellNumTemp);
+                        rowTemp19.SetCellValue(listModel[i].isdelete.ToString());
+                        rowTemp19.CellStyle = commonCellStyle;
+                        cellNumTemp++;
+
+            }
+            // 瀵煎嚭excel
+            string webRootPath = _webHostEnvironment.WebRootPath;
+            string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
+            string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-Puhuo瀵煎嚭(閫夋嫨缁撴灉).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/Puhuo/QueryExportExcel/10
+        /// <summary>
+        /// 鏌ヨ瀵煎嚭
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [Description("鏌ヨ瀵煎嚭")]
+        public async Task<AdminUiCallBack> QueryExportExcel()
+        {
+            var jm = new AdminUiCallBack();
+
+            var where = PredicateBuilder.True<Puhuo>();
+                //鏌ヨ绛涢��
+			
+			//涓婚敭ID int
+			var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
+            if (id > 0)
+            {
+                where = where.And(p => p.id == id);
+            }
+			//缁忛攢鍟唅d int
+			var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0);
+            if (distributionId > 0)
+            {
+                where = where.And(p => p.distributionId == distributionId);
+            }
+			//缁忛攢鍟� varchar
+			var distributionName = Request.Form["distributionName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(distributionName))
+            {
+                where = where.And(p => p.distributionName.Contains(distributionName));
+            }
+			//鍖哄煙 varchar
+			var areaCode = Request.Form["areaCode"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(areaCode))
+            {
+                where = where.And(p => p.areaCode.Contains(areaCode));
+            }
+			//鍖哄煙鍚嶇О varchar
+			var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(areaCodeName))
+            {
+                where = where.And(p => p.areaCodeName.Contains(areaCodeName));
+            }
+			//鍟嗗搧鍒嗙被id int
+			var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0);
+            if (CategoryId > 0)
+            {
+                where = where.And(p => p.CategoryId == CategoryId);
+            }
+			//鍟嗗搧鍒嗙被 varchar
+			var CategoryName = Request.Form["CategoryName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(CategoryName))
+            {
+                where = where.And(p => p.CategoryName.Contains(CategoryName));
+            }
+			//鍟嗗搧id int
+			var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0);
+            if (goodsId > 0)
+            {
+                where = where.And(p => p.goodsId == goodsId);
+            }
+			//鍟嗗搧鍚嶇О varchar
+			var goodsName = Request.Form["goodsName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(goodsName))
+            {
+                where = where.And(p => p.goodsName.Contains(goodsName));
+            }
+			//璐у搧id int
+			var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0);
+            if (productsId > 0)
+            {
+                where = where.And(p => p.productsId == productsId);
+            }
+			//璐у搧缂栧彿 varchar
+			var productsName = Request.Form["productsName"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(productsName))
+            {
+                where = where.And(p => p.productsName.Contains(productsName));
+            }
+			//璐у搧瑙勬牸 varchar
+			var spesDesc = Request.Form["spesDesc"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(spesDesc))
+            {
+                where = where.And(p => p.spesDesc.Contains(spesDesc));
+            }
+			//璐у搧浠锋牸 decimal
+			var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0);
+            if (price > 0)
+            {
+                where = where.And(p => p.price == price);
+            }
+			//鏁伴噺 int
+			var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0);
+            if (nums > 0)
+            {
+                where = where.And(p => p.nums == nums);
+            }
+			//閲戦 decimal
+			var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0);
+            if (amount > 0)
+            {
+                where = where.And(p => p.amount == amount);
+            }
+			//寤虹珛鏃堕棿 datetime
+			var createTime = Request.Form["createTime"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(createTime))
+            {
+                if (createTime.Contains("鍒�"))
+                {
+                    var dts = createTime.Split("鍒�");
+                    var dtStart = dts[0].Trim().ObjectToDate();
+                    where = where.And(p => p.createTime > dtStart);
+                    var dtEnd = dts[1].Trim().ObjectToDate();
+                    where = where.And(p => p.createTime < dtEnd);
+                }
+                else
+                {
+                    var dt = createTime.ObjectToDate();
+                    where = where.And(p => p.createTime > dt);
+                }
+            }
+			//淇敼鏃堕棿 datetime
+			var upDataTime = Request.Form["upDataTime"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(upDataTime))
+            {
+                if (upDataTime.Contains("鍒�"))
+                {
+                    var dts = upDataTime.Split("鍒�");
+                    var dtStart = dts[0].Trim().ObjectToDate();
+                    where = where.And(p => p.upDataTime > dtStart);
+                    var dtEnd = dts[1].Trim().ObjectToDate();
+                    where = where.And(p => p.upDataTime < dtEnd);
+                }
+                else
+                {
+                    var dt = upDataTime.ObjectToDate();
+                    where = where.And(p => p.upDataTime > dt);
+                }
+            }
+			//鍒涘缓浜� varchar
+			var createBy = Request.Form["createBy"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(createBy))
+            {
+                where = where.And(p => p.createBy.Contains(createBy));
+            }
+			//淇敼浜� varchar
+			var upDataBy = Request.Form["upDataBy"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(upDataBy))
+            {
+                where = where.And(p => p.upDataBy.Contains(upDataBy));
+            }
+			//鍒犻櫎鏍囧織 bit
+			var isdelete = Request.Form["isdelete"].FirstOrDefault();
+            if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true")
+            {
+                where = where.And(p => p.isdelete == true);
+            }
+            else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false")
+            {
+                where = where.And(p => p.isdelete == false);
+            }
+            //鑾峰彇鏁版嵁
+            //鍒涘缓Excel鏂囦欢鐨勫璞�
+            var book = new HSSFWorkbook();
+            //娣诲姞涓�涓猻heet
+            var mySheet = book.CreateSheet("Sheet1");
+            //鑾峰彇list鏁版嵁
+            var listModel = await _PuhuoServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true);
+            //缁檚heet1娣诲姞绗竴琛岀殑澶撮儴鏍囬
+                var headerRow = mySheet.CreateRow(0);
+            var headerStyle = ExcelHelper.GetHeaderStyle(book);
+            var cellNum = 0;
+            
+            var cell0 = headerRow.CreateCell(cellNum);
+            cell0.SetCellValue("涓婚敭ID");
+            cell0.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+			
+            var cell1 = headerRow.CreateCell(cellNum);
+            cell1.SetCellValue("缁忛攢鍟唅d");
+            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("鍖哄煙");
+            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("鍟嗗搧鍒嗙被id");
+            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("鍟嗗搧id");
+            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("璐у搧id");
+            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++;
+			
+            var cell14 = headerRow.CreateCell(cellNum);
+            cell14.SetCellValue("閲戦");
+            cell14.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+			
+            var cell15 = headerRow.CreateCell(cellNum);
+            cell15.SetCellValue("寤虹珛鏃堕棿");
+            cell15.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+			
+            var cell16 = headerRow.CreateCell(cellNum);
+            cell16.SetCellValue("淇敼鏃堕棿");
+            cell16.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+			
+            var cell17 = headerRow.CreateCell(cellNum);
+            cell17.SetCellValue("鍒涘缓浜�");
+            cell17.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+			
+            var cell18 = headerRow.CreateCell(cellNum);
+            cell18.SetCellValue("淇敼浜�");
+            cell18.CellStyle = headerStyle;
+            mySheet.SetColumnWidth(cellNum, 10 * 256);
+            cellNum++;
+			
+            var cell19 = headerRow.CreateCell(cellNum);
+            cell19.SetCellValue("鍒犻櫎鏍囧織");
+            cell19.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].id.ToString());
+                rowTemp0.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp1 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp1.SetCellValue(listModel[i].distributionId.ToString());
+                rowTemp1.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp2 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp2.SetCellValue(listModel[i].distributionName.ToString());
+                rowTemp2.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp3 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp3.SetCellValue(listModel[i].areaCode.ToString());
+                rowTemp3.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp4 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp4.SetCellValue(listModel[i].areaCodeName.ToString());
+                rowTemp4.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp5 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp5.SetCellValue(listModel[i].CategoryId.ToString());
+                rowTemp5.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp6 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp6.SetCellValue(listModel[i].CategoryName.ToString());
+                rowTemp6.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp7 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp7.SetCellValue(listModel[i].goodsId.ToString());
+                rowTemp7.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp8 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp8.SetCellValue(listModel[i].goodsName.ToString());
+                rowTemp8.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp9 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp9.SetCellValue(listModel[i].productsId.ToString());
+                rowTemp9.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp10 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp10.SetCellValue(listModel[i].productsName.ToString());
+                rowTemp10.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp11 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp11.SetCellValue(listModel[i].spesDesc.ToString());
+                rowTemp11.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp12 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp12.SetCellValue(listModel[i].price.ToString());
+                rowTemp12.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp13 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp13.SetCellValue(listModel[i].nums.ToString());
+                rowTemp13.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp14 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp14.SetCellValue(listModel[i].amount.ToString());
+                rowTemp14.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp15 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp15.SetCellValue(listModel[i].createTime.ToString());
+                rowTemp15.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp16 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp16.SetCellValue(listModel[i].upDataTime.ToString());
+                rowTemp16.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp17 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp17.SetCellValue(listModel[i].createBy.ToString());
+                rowTemp17.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp18 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp18.SetCellValue(listModel[i].upDataBy.ToString());
+                rowTemp18.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            var rowTemp19 = rowTemp.CreateCell(cellNumTemp);
+                rowTemp19.SetCellValue(listModel[i].isdelete.ToString());
+                rowTemp19.CellStyle = commonCellStyle;
+                cellNumTemp++;
+
+            }
+            // 鍐欏叆鍒癳xcel
+            string webRootPath = _webHostEnvironment.WebRootPath;
+            string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
+            string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-Puhuo瀵煎嚭(鏌ヨ缁撴灉).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/Puhuo/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 _PuhuoServices.QueryByIdAsync(entity.id, false);
+            if (oldModel == null)
+            {
+                jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+                return jm;
+            }
+            oldModel.isdelete = (bool)entity.data;
+
+            var bl = await _PuhuoServices.UpdateAsync(p => new Puhuo() { isdelete = oldModel.isdelete }, p => p.id == oldModel.id);
+            jm.code = bl ? 0 : 1;
+            jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+
+            return jm;
+		}
+        #endregion
+        
+
+    }
+}

--
Gitblit v1.9.1