/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 2024/7/31 14:49:41 * 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.Services; namespace CoreCms.Net.Web.Admin.Controllers { /// /// 商品表 /// [Description("商品表")] [Route("api/[controller]/[action]")] [ApiController] [RequiredErrorForAdmin] [Authorize(Permissions.Name)] public class DistributionGoodsController : ControllerBase { private readonly IWebHostEnvironment _webHostEnvironment; private readonly IDistributionGoodsServices _DistributionGoodsServices; private readonly ICoreCmsGoodsCategoryServices _coreCmsGoodsCategoryServices; private readonly ICoreCmsSettingServices _settingServices; private readonly ICoreCmsBrandServices _brandServices; /// /// 构造函数 /// public DistributionGoodsController(IWebHostEnvironment webHostEnvironment , IDistributionGoodsServices CoreCmsGoodsServices ,ICoreCmsGoodsCategoryServices CoreCmsGoodsCategoryServices ,ICoreCmsSettingServices CoreCmsSettingServices, ICoreCmsBrandServices CoreCmsBrandServices ) { _webHostEnvironment = webHostEnvironment; _DistributionGoodsServices = CoreCmsGoodsServices; _coreCmsGoodsCategoryServices = CoreCmsGoodsCategoryServices; _settingServices = CoreCmsSettingServices; _brandServices=CoreCmsBrandServices; } #region 获取列表============================================================ // POST: Api/CoreCmsGoods/GetPageList /// /// 获取列表 /// /// [HttpPost] [Description("获取列表")] public async Task 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(); //获取排序字段 var orderField = Request.Form["orderField"].FirstOrDefault(); Expression> orderEx = orderField switch { "id" => p => p.id,"bn" => p => p.bn,"name" => p => p.name,"brief" => p => p.brief,"image" => p => p.image,"images" => p => p.images,"video" => p => p.video,"productsDistributionType" => p => p.productsDistributionType,"goodsCategoryId" => p => p.goodsCategoryId,"goodsTypeId" => p => p.goodsTypeId,"goodsSkuIds" => p => p.goodsSkuIds,"goodsParamsIds" => p => p.goodsParamsIds,"brandId" => p => p.brandId,"isNomalVirtual" => p => p.isNomalVirtual,"isMarketable" => p => p.isMarketable,"unit" => p => p.unit,"intro" => p => p.intro,"spesDesc" => p => p.spesDesc,"parameters" => p => p.parameters,"commentsCount" => p => p.commentsCount,"viewCount" => p => p.viewCount,"buyCount" => p => p.buyCount,"uptime" => p => p.uptime,"downtime" => p => p.downtime,"sort" => p => p.sort,"labelIds" => p => p.labelIds,"newSpec" => p => p.newSpec,"openSpec" => p => p.openSpec,"createTime" => p => p.createTime,"updateTime" => p => p.updateTime,"isRecommend" => p => p.isRecommend,"isHot" => p => p.isHot,"isDel" => p => p.isDel,"initialSales" => p => p.initialSales,"areaCode" => p => p.areaCode,"publisherId" => p => p.publisherId,"approverId" => p => p.approverId,"auditStatus" => p => p.auditStatus,"auditTime" => p => p.auditTime, _ => 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); } //商品条码 nvarchar var bn = Request.Form["bn"].FirstOrDefault(); if (!string.IsNullOrEmpty(bn)) { where = where.And(p => p.bn.Contains(bn)); } //商品名称 nvarchar var name = Request.Form["name"].FirstOrDefault(); if (!string.IsNullOrEmpty(name)) { where = where.And(p => p.name.Contains(name)); } //商品简介 nvarchar var brief = Request.Form["brief"].FirstOrDefault(); if (!string.IsNullOrEmpty(brief)) { where = where.And(p => p.brief.Contains(brief)); } //缩略图 nvarchar var image = Request.Form["image"].FirstOrDefault(); if (!string.IsNullOrEmpty(image)) { where = where.And(p => p.image.Contains(image)); } //图集 nvarchar var images = Request.Form["images"].FirstOrDefault(); if (!string.IsNullOrEmpty(images)) { where = where.And(p => p.images.Contains(images)); } //视频 nvarchar var video = Request.Form["video"].FirstOrDefault(); if (!string.IsNullOrEmpty(video)) { where = where.And(p => p.video.Contains(video)); } //佣金分配方式 int var productsDistributionType = Request.Form["productsDistributionType"].FirstOrDefault().ObjectToInt(0); if (productsDistributionType > 0) { where = where.And(p => p.productsDistributionType == productsDistributionType); } //商品分类 int var goodsCategoryId = Request.Form["goodsCategoryId"].FirstOrDefault().ObjectToInt(0); if (goodsCategoryId > 0) { where = where.And(p => p.goodsCategoryId == goodsCategoryId); } //商品类别 int var goodsTypeId = Request.Form["goodsTypeId"].FirstOrDefault().ObjectToInt(0); if (goodsTypeId > 0) { where = where.And(p => p.goodsTypeId == goodsTypeId); } //sku序列 nvarchar var goodsSkuIds = Request.Form["goodsSkuIds"].FirstOrDefault(); if (!string.IsNullOrEmpty(goodsSkuIds)) { where = where.And(p => p.goodsSkuIds.Contains(goodsSkuIds)); } //参数序列 nvarchar var goodsParamsIds = Request.Form["goodsParamsIds"].FirstOrDefault(); if (!string.IsNullOrEmpty(goodsParamsIds)) { where = where.And(p => p.goodsParamsIds.Contains(goodsParamsIds)); } //品牌 int var brandId = Request.Form["brandId"].FirstOrDefault().ObjectToInt(0); if (brandId > 0) { where = where.And(p => p.brandId == brandId); } //是否虚拟商品 bit var isNomalVirtual = Request.Form["isNomalVirtual"].FirstOrDefault(); if (!string.IsNullOrEmpty(isNomalVirtual) && isNomalVirtual.ToLowerInvariant() == "true") { where = where.And(p => p.isNomalVirtual == true); } else if (!string.IsNullOrEmpty(isNomalVirtual) && isNomalVirtual.ToLowerInvariant() == "false") { where = where.And(p => p.isNomalVirtual == false); } //是否上架 bit var isMarketable = Request.Form["isMarketable"].FirstOrDefault(); if (!string.IsNullOrEmpty(isMarketable) && isMarketable.ToLowerInvariant() == "true") { where = where.And(p => p.isMarketable == true); } else if (!string.IsNullOrEmpty(isMarketable) && isMarketable.ToLowerInvariant() == "false") { where = where.And(p => p.isMarketable == false); } //商品单位 nvarchar var unit = Request.Form["unit"].FirstOrDefault(); if (!string.IsNullOrEmpty(unit)) { where = where.And(p => p.unit.Contains(unit)); } //商品详情 nvarchar var intro = Request.Form["intro"].FirstOrDefault(); if (!string.IsNullOrEmpty(intro)) { where = where.And(p => p.intro.Contains(intro)); } //商品规格序列号存储 nvarchar var spesDesc = Request.Form["spesDesc"].FirstOrDefault(); if (!string.IsNullOrEmpty(spesDesc)) { where = where.And(p => p.spesDesc.Contains(spesDesc)); } //参数序列化 nvarchar var parameters = Request.Form["parameters"].FirstOrDefault(); if (!string.IsNullOrEmpty(parameters)) { where = where.And(p => p.parameters.Contains(parameters)); } //评论次数 int var commentsCount = Request.Form["commentsCount"].FirstOrDefault().ObjectToInt(0); if (commentsCount > 0) { where = where.And(p => p.commentsCount == commentsCount); } //浏览次数 int var viewCount = Request.Form["viewCount"].FirstOrDefault().ObjectToInt(0); if (viewCount > 0) { where = where.And(p => p.viewCount == viewCount); } //购买次数 int var buyCount = Request.Form["buyCount"].FirstOrDefault().ObjectToInt(0); if (buyCount > 0) { where = where.And(p => p.buyCount == buyCount); } //上架时间 datetime var uptime = Request.Form["uptime"].FirstOrDefault(); if (!string.IsNullOrEmpty(uptime)) { if (uptime.Contains("到")) { var dts = uptime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.uptime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.uptime < dtEnd); } else { var dt = uptime.ObjectToDate(); where = where.And(p => p.uptime > dt); } } //下架时间 datetime var downtime = Request.Form["downtime"].FirstOrDefault(); if (!string.IsNullOrEmpty(downtime)) { if (downtime.Contains("到")) { var dts = downtime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.downtime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.downtime < dtEnd); } else { var dt = downtime.ObjectToDate(); where = where.And(p => p.downtime > dt); } } //商品排序 int var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0); if (sort > 0) { where = where.And(p => p.sort == sort); } //标签id逗号分隔 nvarchar var labelIds = Request.Form["labelIds"].FirstOrDefault(); if (!string.IsNullOrEmpty(labelIds)) { where = where.And(p => p.labelIds.Contains(labelIds)); } //自定义规格名称 nvarchar var newSpec = Request.Form["newSpec"].FirstOrDefault(); if (!string.IsNullOrEmpty(newSpec)) { where = where.And(p => p.newSpec.Contains(newSpec)); } //开启规则 int var openSpec = Request.Form["openSpec"].FirstOrDefault().ObjectToInt(0); if (openSpec > 0) { where = where.And(p => p.openSpec == openSpec); } //创建时间 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 updateTime = Request.Form["updateTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(updateTime)) { if (updateTime.Contains("到")) { var dts = updateTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.updateTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.updateTime < dtEnd); } else { var dt = updateTime.ObjectToDate(); where = where.And(p => p.updateTime > dt); } } //是否推荐 bit var isRecommend = Request.Form["isRecommend"].FirstOrDefault(); if (!string.IsNullOrEmpty(isRecommend) && isRecommend.ToLowerInvariant() == "true") { where = where.And(p => p.isRecommend == true); } else if (!string.IsNullOrEmpty(isRecommend) && isRecommend.ToLowerInvariant() == "false") { where = where.And(p => p.isRecommend == false); } //是否热门 bit var isHot = Request.Form["isHot"].FirstOrDefault(); if (!string.IsNullOrEmpty(isHot) && isHot.ToLowerInvariant() == "true") { where = where.And(p => p.isHot == true); } else if (!string.IsNullOrEmpty(isHot) && isHot.ToLowerInvariant() == "false") { where = where.And(p => p.isHot == false); } //是否删除 bit var isDel = Request.Form["isDel"].FirstOrDefault(); if (!string.IsNullOrEmpty(isDel) && isDel.ToLowerInvariant() == "true") { where = where.And(p => p.isDel == true); } else if (!string.IsNullOrEmpty(isDel) && isDel.ToLowerInvariant() == "false") { where = where.And(p => p.isDel == false); } //初始销量 int var initialSales = Request.Form["initialSales"].FirstOrDefault().ObjectToInt(0); if (initialSales > 0) { where = where.And(p => p.initialSales == initialSales); } // nvarchar var areaCode = Request.Form["areaCode"].FirstOrDefault(); if (!string.IsNullOrEmpty(areaCode)) { where = where.And(p => p.areaCode.Contains(areaCode)); } // int var publisherId = Request.Form["publisherId"].FirstOrDefault().ObjectToInt(0); if (publisherId > 0) { where = where.And(p => p.publisherId == publisherId); } // int var approverId = Request.Form["approverId"].FirstOrDefault().ObjectToInt(0); if (approverId > 0) { where = where.And(p => p.approverId == approverId); } // int var auditStatus = Request.Form["auditStatus"].FirstOrDefault().ObjectToInt(0); if (auditStatus > 0) { where = where.And(p => p.auditStatus ==(AuditStatusType) auditStatus); } // datetime var auditTime = Request.Form["auditTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(auditTime)) { if (auditTime.Contains("到")) { var dts = auditTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.auditTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.auditTime < dtEnd); } else { var dt = auditTime.ObjectToDate(); where = where.And(p => p.auditTime > dt); } } //where = where.And(p => p.publisherId != null); //获取数据 var list = await _DistributionGoodsServices.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/CoreCmsGoods/GetIndex /// /// 首页数据 /// /// [HttpPost] [Description("首页数据")] public async Task< AdminUiCallBack> GetIndex() { //返回数据 var jm = new AdminUiCallBack { code = 0 }; //获取商品分类 var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort, OrderByType.Asc, true, true); //获取品牌 var brands = await _brandServices.QueryAsync(true, true); var auditStatusType = EnumHelper.EnumToList(); jm.data = new { categories = GoodsHelper.GetTree(categories), categoriesAll = categories, brands, auditStatusType }; return jm; } #endregion #region 创建数据============================================================ // POST: Api/CoreCmsGoods/GetCreate /// /// 创建数据 /// /// [HttpPost] [Description("创建数据")] public AdminUiCallBack GetCreate() { //返回数据 var jm = new AdminUiCallBack { code = 0 }; return jm; } #endregion #region 创建提交============================================================ // POST: Api/CoreCmsGoods/DoCreate /// /// 创建提交 /// /// /// [HttpPost] [Description("创建提交")] public async Task DoCreate([FromBody]CoreCmsGoods entity) { var jm = await _DistributionGoodsServices.InsertAsync(entity); return jm; } #endregion #region 编辑数据============================================================ // POST: Api/CoreCmsGoods/GetEdit /// /// 编辑数据 /// /// /// [HttpPost] [Description("编辑数据")] public async Task GetEdit([FromBody]FMIntId entity) { var jm = await _DistributionGoodsServices.QueryID(entity.id); return jm; } #endregion #region 编辑提交============================================================ // POST: Api/CoreCmsGoods/Edit /// /// 编辑提交 /// /// /// [HttpPost] [Description("编辑提交")] public async Task DoEdit([FromBody]CoreCmsGoods entity) { var jm = await _DistributionGoodsServices.UpdateAsync(entity); return jm; } #endregion #region 删除数据============================================================ // POST: Api/CoreCmsGoods/DoDelete/10 /// /// 单选删除 /// /// /// [HttpPost] [Description("单选删除")] public async Task DoDelete([FromBody]FMIntId entity) { var jm = new AdminUiCallBack(); var model = await _DistributionGoodsServices.ExistsAsync(p => p.id == entity.id, true); if (!model) { jm.msg = GlobalConstVars.DataisNo; return jm; } jm = await _DistributionGoodsServices.DeleteByIdAsync(entity.id); return jm; } #endregion #region 批量删除============================================================ // POST: Api/CoreCmsGoods/DoBatchDelete/10,11,20 /// /// 批量删除 /// /// /// [HttpPost] [Description("批量删除")] public async Task DoBatchDelete([FromBody]FMArrayIntIds entity) { var jm = await _DistributionGoodsServices.DeleteByIdsAsync(entity.id); return jm; } #endregion #region 预览数据============================================================ // POST: Api/CoreCmsGoods/GetDetails/10 /// /// 预览数据 /// /// /// [HttpPost] [Description("预览数据")] public async Task GetDetails([FromBody]FMIntId entity) { var jm = new AdminUiCallBack(); var model = await _DistributionGoodsServices.QueryByIdAsync(entity.id, false); if (model == null) { jm.msg = "不存在此信息"; return jm; } jm.code = 0; jm.data = model; return jm; } #endregion #region 选择导出============================================================ // POST: Api/CoreCmsGoods/SelectExportExcel/10 /// /// 选择导出 /// /// /// [HttpPost] [Description("选择导出")] public async Task SelectExportExcel([FromBody]FMArrayIntIds entity) { var jm = new AdminUiCallBack(); //创建Excel文件的对象 var book = new HSSFWorkbook(); //添加一个sheet var mySheet = book.CreateSheet("Sheet1"); //获取list数据 var listModel = await _DistributionGoodsServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true); //给sheet1添加第一行的头部标题 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("商品条码"); 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("图集"); 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("sku序列"); 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++; var cell20 = headerRow.CreateCell(cellNum); cell20.SetCellValue("浏览次数"); cell20.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell21 = headerRow.CreateCell(cellNum); cell21.SetCellValue("购买次数"); cell21.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell22 = headerRow.CreateCell(cellNum); cell22.SetCellValue("上架时间"); cell22.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell23 = headerRow.CreateCell(cellNum); cell23.SetCellValue("下架时间"); cell23.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell24 = headerRow.CreateCell(cellNum); cell24.SetCellValue("商品排序"); cell24.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell25 = headerRow.CreateCell(cellNum); cell25.SetCellValue("标签id逗号分隔"); cell25.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell26 = headerRow.CreateCell(cellNum); cell26.SetCellValue("自定义规格名称"); cell26.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell27 = headerRow.CreateCell(cellNum); cell27.SetCellValue("开启规则"); cell27.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell28 = headerRow.CreateCell(cellNum); cell28.SetCellValue("创建时间"); cell28.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell29 = headerRow.CreateCell(cellNum); cell29.SetCellValue("更新时间"); cell29.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell30 = headerRow.CreateCell(cellNum); cell30.SetCellValue("是否推荐"); cell30.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell31 = headerRow.CreateCell(cellNum); cell31.SetCellValue("是否热门"); cell31.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell32 = headerRow.CreateCell(cellNum); cell32.SetCellValue("是否删除"); cell32.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell33 = headerRow.CreateCell(cellNum); cell33.SetCellValue("初始销量"); cell33.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell34 = headerRow.CreateCell(cellNum); cell34.SetCellValue(""); cell34.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell35 = headerRow.CreateCell(cellNum); cell35.SetCellValue(""); cell35.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell36 = headerRow.CreateCell(cellNum); cell36.SetCellValue(""); cell36.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell37 = headerRow.CreateCell(cellNum); cell37.SetCellValue(""); cell37.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell38 = headerRow.CreateCell(cellNum); cell38.SetCellValue(""); cell38.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].bn.ToString()); rowTemp1.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp2 = rowTemp.CreateCell(cellNumTemp); rowTemp2.SetCellValue(listModel[i].name.ToString()); rowTemp2.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp3 = rowTemp.CreateCell(cellNumTemp); rowTemp3.SetCellValue(listModel[i].brief.ToString()); rowTemp3.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp4 = rowTemp.CreateCell(cellNumTemp); rowTemp4.SetCellValue(listModel[i].image.ToString()); rowTemp4.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp5 = rowTemp.CreateCell(cellNumTemp); rowTemp5.SetCellValue(listModel[i].images.ToString()); rowTemp5.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp6 = rowTemp.CreateCell(cellNumTemp); rowTemp6.SetCellValue(listModel[i].video.ToString()); rowTemp6.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp7 = rowTemp.CreateCell(cellNumTemp); rowTemp7.SetCellValue(listModel[i].productsDistributionType.ToString()); rowTemp7.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp8 = rowTemp.CreateCell(cellNumTemp); rowTemp8.SetCellValue(listModel[i].goodsCategoryId.ToString()); rowTemp8.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp9 = rowTemp.CreateCell(cellNumTemp); rowTemp9.SetCellValue(listModel[i].goodsTypeId.ToString()); rowTemp9.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp10 = rowTemp.CreateCell(cellNumTemp); rowTemp10.SetCellValue(listModel[i].goodsSkuIds.ToString()); rowTemp10.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp11 = rowTemp.CreateCell(cellNumTemp); rowTemp11.SetCellValue(listModel[i].goodsParamsIds.ToString()); rowTemp11.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp12 = rowTemp.CreateCell(cellNumTemp); rowTemp12.SetCellValue(listModel[i].brandId.ToString()); rowTemp12.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp13 = rowTemp.CreateCell(cellNumTemp); rowTemp13.SetCellValue(listModel[i].isNomalVirtual.ToString()); rowTemp13.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp14 = rowTemp.CreateCell(cellNumTemp); rowTemp14.SetCellValue(listModel[i].isMarketable.ToString()); rowTemp14.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp15 = rowTemp.CreateCell(cellNumTemp); rowTemp15.SetCellValue(listModel[i].unit.ToString()); rowTemp15.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp16 = rowTemp.CreateCell(cellNumTemp); rowTemp16.SetCellValue(listModel[i].intro.ToString()); rowTemp16.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp17 = rowTemp.CreateCell(cellNumTemp); rowTemp17.SetCellValue(listModel[i].spesDesc.ToString()); rowTemp17.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp18 = rowTemp.CreateCell(cellNumTemp); rowTemp18.SetCellValue(listModel[i].parameters.ToString()); rowTemp18.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp19 = rowTemp.CreateCell(cellNumTemp); rowTemp19.SetCellValue(listModel[i].commentsCount.ToString()); rowTemp19.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp20 = rowTemp.CreateCell(cellNumTemp); rowTemp20.SetCellValue(listModel[i].viewCount.ToString()); rowTemp20.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp21 = rowTemp.CreateCell(cellNumTemp); rowTemp21.SetCellValue(listModel[i].buyCount.ToString()); rowTemp21.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp22 = rowTemp.CreateCell(cellNumTemp); rowTemp22.SetCellValue(listModel[i].uptime.ToString()); rowTemp22.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp23 = rowTemp.CreateCell(cellNumTemp); rowTemp23.SetCellValue(listModel[i].downtime.ToString()); rowTemp23.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp24 = rowTemp.CreateCell(cellNumTemp); rowTemp24.SetCellValue(listModel[i].sort.ToString()); rowTemp24.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp25 = rowTemp.CreateCell(cellNumTemp); rowTemp25.SetCellValue(listModel[i].labelIds.ToString()); rowTemp25.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp26 = rowTemp.CreateCell(cellNumTemp); rowTemp26.SetCellValue(listModel[i].newSpec.ToString()); rowTemp26.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp27 = rowTemp.CreateCell(cellNumTemp); rowTemp27.SetCellValue(listModel[i].openSpec.ToString()); rowTemp27.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp28 = rowTemp.CreateCell(cellNumTemp); rowTemp28.SetCellValue(listModel[i].createTime.ToString()); rowTemp28.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp29 = rowTemp.CreateCell(cellNumTemp); rowTemp29.SetCellValue(listModel[i].updateTime.ToString()); rowTemp29.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp30 = rowTemp.CreateCell(cellNumTemp); rowTemp30.SetCellValue(listModel[i].isRecommend.ToString()); rowTemp30.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp31 = rowTemp.CreateCell(cellNumTemp); rowTemp31.SetCellValue(listModel[i].isHot.ToString()); rowTemp31.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp32 = rowTemp.CreateCell(cellNumTemp); rowTemp32.SetCellValue(listModel[i].isDel.ToString()); rowTemp32.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp33 = rowTemp.CreateCell(cellNumTemp); rowTemp33.SetCellValue(listModel[i].initialSales.ToString()); rowTemp33.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp34 = rowTemp.CreateCell(cellNumTemp); rowTemp34.SetCellValue(listModel[i].areaCode.ToString()); rowTemp34.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp35 = rowTemp.CreateCell(cellNumTemp); rowTemp35.SetCellValue(listModel[i].publisherId.ToString()); rowTemp35.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp36 = rowTemp.CreateCell(cellNumTemp); rowTemp36.SetCellValue(listModel[i].approverId.ToString()); rowTemp36.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp37 = rowTemp.CreateCell(cellNumTemp); rowTemp37.SetCellValue(listModel[i].auditStatus.ToString()); rowTemp37.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp38 = rowTemp.CreateCell(cellNumTemp); rowTemp38.SetCellValue(listModel[i].auditTime.ToString()); rowTemp38.CellStyle = commonCellStyle; cellNumTemp++; } // 导出excel string webRootPath = _webHostEnvironment.WebRootPath; string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/"; string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsGoods导出(选择结果).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/CoreCmsGoods/QueryExportExcel/10 /// /// 查询导出 /// /// [HttpPost] [Description("查询导出")] public async Task QueryExportExcel() { var jm = new AdminUiCallBack(); var where = PredicateBuilder.True(); //查询筛选 //商品ID int var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0); if (id > 0) { where = where.And(p => p.id == id); } //商品条码 nvarchar var bn = Request.Form["bn"].FirstOrDefault(); if (!string.IsNullOrEmpty(bn)) { where = where.And(p => p.bn.Contains(bn)); } //商品名称 nvarchar var name = Request.Form["name"].FirstOrDefault(); if (!string.IsNullOrEmpty(name)) { where = where.And(p => p.name.Contains(name)); } //商品简介 nvarchar var brief = Request.Form["brief"].FirstOrDefault(); if (!string.IsNullOrEmpty(brief)) { where = where.And(p => p.brief.Contains(brief)); } //缩略图 nvarchar var image = Request.Form["image"].FirstOrDefault(); if (!string.IsNullOrEmpty(image)) { where = where.And(p => p.image.Contains(image)); } //图集 nvarchar var images = Request.Form["images"].FirstOrDefault(); if (!string.IsNullOrEmpty(images)) { where = where.And(p => p.images.Contains(images)); } //视频 nvarchar var video = Request.Form["video"].FirstOrDefault(); if (!string.IsNullOrEmpty(video)) { where = where.And(p => p.video.Contains(video)); } //佣金分配方式 int var productsDistributionType = Request.Form["productsDistributionType"].FirstOrDefault().ObjectToInt(0); if (productsDistributionType > 0) { where = where.And(p => p.productsDistributionType == productsDistributionType); } //商品分类 int var goodsCategoryId = Request.Form["goodsCategoryId"].FirstOrDefault().ObjectToInt(0); if (goodsCategoryId > 0) { where = where.And(p => p.goodsCategoryId == goodsCategoryId); } //商品类别 int var goodsTypeId = Request.Form["goodsTypeId"].FirstOrDefault().ObjectToInt(0); if (goodsTypeId > 0) { where = where.And(p => p.goodsTypeId == goodsTypeId); } //sku序列 nvarchar var goodsSkuIds = Request.Form["goodsSkuIds"].FirstOrDefault(); if (!string.IsNullOrEmpty(goodsSkuIds)) { where = where.And(p => p.goodsSkuIds.Contains(goodsSkuIds)); } //参数序列 nvarchar var goodsParamsIds = Request.Form["goodsParamsIds"].FirstOrDefault(); if (!string.IsNullOrEmpty(goodsParamsIds)) { where = where.And(p => p.goodsParamsIds.Contains(goodsParamsIds)); } //品牌 int var brandId = Request.Form["brandId"].FirstOrDefault().ObjectToInt(0); if (brandId > 0) { where = where.And(p => p.brandId == brandId); } //是否虚拟商品 bit var isNomalVirtual = Request.Form["isNomalVirtual"].FirstOrDefault(); if (!string.IsNullOrEmpty(isNomalVirtual) && isNomalVirtual.ToLowerInvariant() == "true") { where = where.And(p => p.isNomalVirtual == true); } else if (!string.IsNullOrEmpty(isNomalVirtual) && isNomalVirtual.ToLowerInvariant() == "false") { where = where.And(p => p.isNomalVirtual == false); } //是否上架 bit var isMarketable = Request.Form["isMarketable"].FirstOrDefault(); if (!string.IsNullOrEmpty(isMarketable) && isMarketable.ToLowerInvariant() == "true") { where = where.And(p => p.isMarketable == true); } else if (!string.IsNullOrEmpty(isMarketable) && isMarketable.ToLowerInvariant() == "false") { where = where.And(p => p.isMarketable == false); } //商品单位 nvarchar var unit = Request.Form["unit"].FirstOrDefault(); if (!string.IsNullOrEmpty(unit)) { where = where.And(p => p.unit.Contains(unit)); } //商品详情 nvarchar var intro = Request.Form["intro"].FirstOrDefault(); if (!string.IsNullOrEmpty(intro)) { where = where.And(p => p.intro.Contains(intro)); } //商品规格序列号存储 nvarchar var spesDesc = Request.Form["spesDesc"].FirstOrDefault(); if (!string.IsNullOrEmpty(spesDesc)) { where = where.And(p => p.spesDesc.Contains(spesDesc)); } //参数序列化 nvarchar var parameters = Request.Form["parameters"].FirstOrDefault(); if (!string.IsNullOrEmpty(parameters)) { where = where.And(p => p.parameters.Contains(parameters)); } //评论次数 int var commentsCount = Request.Form["commentsCount"].FirstOrDefault().ObjectToInt(0); if (commentsCount > 0) { where = where.And(p => p.commentsCount == commentsCount); } //浏览次数 int var viewCount = Request.Form["viewCount"].FirstOrDefault().ObjectToInt(0); if (viewCount > 0) { where = where.And(p => p.viewCount == viewCount); } //购买次数 int var buyCount = Request.Form["buyCount"].FirstOrDefault().ObjectToInt(0); if (buyCount > 0) { where = where.And(p => p.buyCount == buyCount); } //上架时间 datetime var uptime = Request.Form["uptime"].FirstOrDefault(); if (!string.IsNullOrEmpty(uptime)) { if (uptime.Contains("到")) { var dts = uptime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.uptime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.uptime < dtEnd); } else { var dt = uptime.ObjectToDate(); where = where.And(p => p.uptime > dt); } } //下架时间 datetime var downtime = Request.Form["downtime"].FirstOrDefault(); if (!string.IsNullOrEmpty(downtime)) { if (downtime.Contains("到")) { var dts = downtime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.downtime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.downtime < dtEnd); } else { var dt = downtime.ObjectToDate(); where = where.And(p => p.downtime > dt); } } //商品排序 int var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0); if (sort > 0) { where = where.And(p => p.sort == sort); } //标签id逗号分隔 nvarchar var labelIds = Request.Form["labelIds"].FirstOrDefault(); if (!string.IsNullOrEmpty(labelIds)) { where = where.And(p => p.labelIds.Contains(labelIds)); } //自定义规格名称 nvarchar var newSpec = Request.Form["newSpec"].FirstOrDefault(); if (!string.IsNullOrEmpty(newSpec)) { where = where.And(p => p.newSpec.Contains(newSpec)); } //开启规则 int var openSpec = Request.Form["openSpec"].FirstOrDefault().ObjectToInt(0); if (openSpec > 0) { where = where.And(p => p.openSpec == openSpec); } //创建时间 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 updateTime = Request.Form["updateTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(updateTime)) { if (updateTime.Contains("到")) { var dts = updateTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.updateTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.updateTime < dtEnd); } else { var dt = updateTime.ObjectToDate(); where = where.And(p => p.updateTime > dt); } } //是否推荐 bit var isRecommend = Request.Form["isRecommend"].FirstOrDefault(); if (!string.IsNullOrEmpty(isRecommend) && isRecommend.ToLowerInvariant() == "true") { where = where.And(p => p.isRecommend == true); } else if (!string.IsNullOrEmpty(isRecommend) && isRecommend.ToLowerInvariant() == "false") { where = where.And(p => p.isRecommend == false); } //是否热门 bit var isHot = Request.Form["isHot"].FirstOrDefault(); if (!string.IsNullOrEmpty(isHot) && isHot.ToLowerInvariant() == "true") { where = where.And(p => p.isHot == true); } else if (!string.IsNullOrEmpty(isHot) && isHot.ToLowerInvariant() == "false") { where = where.And(p => p.isHot == false); } //是否删除 bit var isDel = Request.Form["isDel"].FirstOrDefault(); if (!string.IsNullOrEmpty(isDel) && isDel.ToLowerInvariant() == "true") { where = where.And(p => p.isDel == true); } else if (!string.IsNullOrEmpty(isDel) && isDel.ToLowerInvariant() == "false") { where = where.And(p => p.isDel == false); } //初始销量 int var initialSales = Request.Form["initialSales"].FirstOrDefault().ObjectToInt(0); if (initialSales > 0) { where = where.And(p => p.initialSales == initialSales); } // nvarchar var areaCode = Request.Form["areaCode"].FirstOrDefault(); if (!string.IsNullOrEmpty(areaCode)) { where = where.And(p => p.areaCode.Contains(areaCode)); } // int var publisherId = Request.Form["publisherId"].FirstOrDefault().ObjectToInt(0); if (publisherId > 0) { where = where.And(p => p.publisherId == publisherId); } // int var approverId = Request.Form["approverId"].FirstOrDefault().ObjectToInt(0); if (approverId > 0) { where = where.And(p => p.approverId == approverId); } // int var auditStatus = Request.Form["auditStatus"].FirstOrDefault().ObjectToInt(0); if (auditStatus > 0) { where = where.And(p => p.auditStatus == (AuditStatusType)auditStatus); } // datetime var auditTime = Request.Form["auditTime"].FirstOrDefault(); if (!string.IsNullOrEmpty(auditTime)) { if (auditTime.Contains("到")) { var dts = auditTime.Split("到"); var dtStart = dts[0].Trim().ObjectToDate(); where = where.And(p => p.auditTime > dtStart); var dtEnd = dts[1].Trim().ObjectToDate(); where = where.And(p => p.auditTime < dtEnd); } else { var dt = auditTime.ObjectToDate(); where = where.And(p => p.auditTime > dt); } } //获取数据 //创建Excel文件的对象 var book = new HSSFWorkbook(); //添加一个sheet var mySheet = book.CreateSheet("Sheet1"); //获取list数据 var listModel = await _DistributionGoodsServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true); //给sheet1添加第一行的头部标题 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("商品条码"); 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("图集"); 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("sku序列"); 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++; var cell20 = headerRow.CreateCell(cellNum); cell20.SetCellValue("浏览次数"); cell20.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell21 = headerRow.CreateCell(cellNum); cell21.SetCellValue("购买次数"); cell21.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell22 = headerRow.CreateCell(cellNum); cell22.SetCellValue("上架时间"); cell22.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell23 = headerRow.CreateCell(cellNum); cell23.SetCellValue("下架时间"); cell23.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell24 = headerRow.CreateCell(cellNum); cell24.SetCellValue("商品排序"); cell24.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell25 = headerRow.CreateCell(cellNum); cell25.SetCellValue("标签id逗号分隔"); cell25.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell26 = headerRow.CreateCell(cellNum); cell26.SetCellValue("自定义规格名称"); cell26.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell27 = headerRow.CreateCell(cellNum); cell27.SetCellValue("开启规则"); cell27.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell28 = headerRow.CreateCell(cellNum); cell28.SetCellValue("创建时间"); cell28.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell29 = headerRow.CreateCell(cellNum); cell29.SetCellValue("更新时间"); cell29.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell30 = headerRow.CreateCell(cellNum); cell30.SetCellValue("是否推荐"); cell30.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell31 = headerRow.CreateCell(cellNum); cell31.SetCellValue("是否热门"); cell31.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell32 = headerRow.CreateCell(cellNum); cell32.SetCellValue("是否删除"); cell32.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell33 = headerRow.CreateCell(cellNum); cell33.SetCellValue("初始销量"); cell33.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell34 = headerRow.CreateCell(cellNum); cell34.SetCellValue(""); cell34.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell35 = headerRow.CreateCell(cellNum); cell35.SetCellValue(""); cell35.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell36 = headerRow.CreateCell(cellNum); cell36.SetCellValue(""); cell36.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell37 = headerRow.CreateCell(cellNum); cell37.SetCellValue(""); cell37.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell38 = headerRow.CreateCell(cellNum); cell38.SetCellValue(""); cell38.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].bn.ToString()); rowTemp1.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp2 = rowTemp.CreateCell(cellNumTemp); rowTemp2.SetCellValue(listModel[i].name.ToString()); rowTemp2.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp3 = rowTemp.CreateCell(cellNumTemp); rowTemp3.SetCellValue(listModel[i].brief.ToString()); rowTemp3.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp4 = rowTemp.CreateCell(cellNumTemp); rowTemp4.SetCellValue(listModel[i].image.ToString()); rowTemp4.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp5 = rowTemp.CreateCell(cellNumTemp); rowTemp5.SetCellValue(listModel[i].images.ToString()); rowTemp5.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp6 = rowTemp.CreateCell(cellNumTemp); rowTemp6.SetCellValue(listModel[i].video.ToString()); rowTemp6.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp7 = rowTemp.CreateCell(cellNumTemp); rowTemp7.SetCellValue(listModel[i].productsDistributionType.ToString()); rowTemp7.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp8 = rowTemp.CreateCell(cellNumTemp); rowTemp8.SetCellValue(listModel[i].goodsCategoryId.ToString()); rowTemp8.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp9 = rowTemp.CreateCell(cellNumTemp); rowTemp9.SetCellValue(listModel[i].goodsTypeId.ToString()); rowTemp9.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp10 = rowTemp.CreateCell(cellNumTemp); rowTemp10.SetCellValue(listModel[i].goodsSkuIds.ToString()); rowTemp10.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp11 = rowTemp.CreateCell(cellNumTemp); rowTemp11.SetCellValue(listModel[i].goodsParamsIds.ToString()); rowTemp11.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp12 = rowTemp.CreateCell(cellNumTemp); rowTemp12.SetCellValue(listModel[i].brandId.ToString()); rowTemp12.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp13 = rowTemp.CreateCell(cellNumTemp); rowTemp13.SetCellValue(listModel[i].isNomalVirtual.ToString()); rowTemp13.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp14 = rowTemp.CreateCell(cellNumTemp); rowTemp14.SetCellValue(listModel[i].isMarketable.ToString()); rowTemp14.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp15 = rowTemp.CreateCell(cellNumTemp); rowTemp15.SetCellValue(listModel[i].unit.ToString()); rowTemp15.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp16 = rowTemp.CreateCell(cellNumTemp); rowTemp16.SetCellValue(listModel[i].intro.ToString()); rowTemp16.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp17 = rowTemp.CreateCell(cellNumTemp); rowTemp17.SetCellValue(listModel[i].spesDesc.ToString()); rowTemp17.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp18 = rowTemp.CreateCell(cellNumTemp); rowTemp18.SetCellValue(listModel[i].parameters.ToString()); rowTemp18.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp19 = rowTemp.CreateCell(cellNumTemp); rowTemp19.SetCellValue(listModel[i].commentsCount.ToString()); rowTemp19.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp20 = rowTemp.CreateCell(cellNumTemp); rowTemp20.SetCellValue(listModel[i].viewCount.ToString()); rowTemp20.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp21 = rowTemp.CreateCell(cellNumTemp); rowTemp21.SetCellValue(listModel[i].buyCount.ToString()); rowTemp21.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp22 = rowTemp.CreateCell(cellNumTemp); rowTemp22.SetCellValue(listModel[i].uptime.ToString()); rowTemp22.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp23 = rowTemp.CreateCell(cellNumTemp); rowTemp23.SetCellValue(listModel[i].downtime.ToString()); rowTemp23.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp24 = rowTemp.CreateCell(cellNumTemp); rowTemp24.SetCellValue(listModel[i].sort.ToString()); rowTemp24.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp25 = rowTemp.CreateCell(cellNumTemp); rowTemp25.SetCellValue(listModel[i].labelIds.ToString()); rowTemp25.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp26 = rowTemp.CreateCell(cellNumTemp); rowTemp26.SetCellValue(listModel[i].newSpec.ToString()); rowTemp26.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp27 = rowTemp.CreateCell(cellNumTemp); rowTemp27.SetCellValue(listModel[i].openSpec.ToString()); rowTemp27.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp28 = rowTemp.CreateCell(cellNumTemp); rowTemp28.SetCellValue(listModel[i].createTime.ToString()); rowTemp28.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp29 = rowTemp.CreateCell(cellNumTemp); rowTemp29.SetCellValue(listModel[i].updateTime.ToString()); rowTemp29.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp30 = rowTemp.CreateCell(cellNumTemp); rowTemp30.SetCellValue(listModel[i].isRecommend.ToString()); rowTemp30.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp31 = rowTemp.CreateCell(cellNumTemp); rowTemp31.SetCellValue(listModel[i].isHot.ToString()); rowTemp31.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp32 = rowTemp.CreateCell(cellNumTemp); rowTemp32.SetCellValue(listModel[i].isDel.ToString()); rowTemp32.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp33 = rowTemp.CreateCell(cellNumTemp); rowTemp33.SetCellValue(listModel[i].initialSales.ToString()); rowTemp33.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp34 = rowTemp.CreateCell(cellNumTemp); rowTemp34.SetCellValue(listModel[i].areaCode.ToString()); rowTemp34.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp35 = rowTemp.CreateCell(cellNumTemp); rowTemp35.SetCellValue(listModel[i].publisherId.ToString()); rowTemp35.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp36 = rowTemp.CreateCell(cellNumTemp); rowTemp36.SetCellValue(listModel[i].approverId.ToString()); rowTemp36.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp37 = rowTemp.CreateCell(cellNumTemp); rowTemp37.SetCellValue(listModel[i].auditStatus.ToString()); rowTemp37.CellStyle = commonCellStyle; cellNumTemp++; var rowTemp38 = rowTemp.CreateCell(cellNumTemp); rowTemp38.SetCellValue(listModel[i].auditTime.ToString()); rowTemp38.CellStyle = commonCellStyle; cellNumTemp++; } // 写入到excel string webRootPath = _webHostEnvironment.WebRootPath; string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/"; string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-CoreCmsGoods导出(查询结果).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/CoreCmsGoods/DoSetisNomalVirtual/10 /// /// 设置是否虚拟商品 /// /// /// [HttpPost] [Description("设置是否虚拟商品")] public async Task DoSetisNomalVirtual([FromBody]FMUpdateBoolDataByIntId entity) { var jm = new AdminUiCallBack(); var oldModel = await _DistributionGoodsServices.QueryByIdAsync(entity.id, false); if (oldModel == null) { jm.msg = "不存在此信息"; return jm; } oldModel.isNomalVirtual = (bool)entity.data; var bl = await _DistributionGoodsServices.UpdateAsync(p => new CoreCmsGoods() { isNomalVirtual = oldModel.isNomalVirtual }, p => p.id == oldModel.id); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; return jm; } #endregion #region 设置是否上架============================================================ // POST: Api/CoreCmsGoods/DoSetisMarketable/10 /// /// 设置是否上架 /// /// /// [HttpPost] [Description("设置是否上架")] public async Task DoSetisMarketable([FromBody]FMUpdateBoolDataByIntId entity) { var jm = new AdminUiCallBack(); var oldModel = await _DistributionGoodsServices.QueryByIdAsync(entity.id, false); if (oldModel == null) { jm.msg = "不存在此信息"; return jm; } oldModel.isMarketable = (bool)entity.data; var bl = await _DistributionGoodsServices.UpdateAsync(p => new CoreCmsGoods() { isMarketable = oldModel.isMarketable }, p => p.id == oldModel.id); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; return jm; } #endregion #region 设置是否推荐============================================================ // POST: Api/CoreCmsGoods/DoSetisRecommend/10 /// /// 设置是否推荐 /// /// /// [HttpPost] [Description("设置是否推荐")] public async Task DoSetisRecommend([FromBody]FMUpdateBoolDataByIntId entity) { var jm = new AdminUiCallBack(); var oldModel = await _DistributionGoodsServices.QueryByIdAsync(entity.id, false); if (oldModel == null) { jm.msg = "不存在此信息"; return jm; } oldModel.isRecommend = (bool)entity.data; var bl = await _DistributionGoodsServices.UpdateAsync(p => new CoreCmsGoods() { isRecommend = oldModel.isRecommend }, p => p.id == oldModel.id); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; return jm; } #endregion #region 设置是否热门============================================================ // POST: Api/CoreCmsGoods/DoSetisHot/10 /// /// 设置是否热门 /// /// /// [HttpPost] [Description("设置是否热门")] public async Task DoSetisHot([FromBody]FMUpdateBoolDataByIntId entity) { var jm = new AdminUiCallBack(); var oldModel = await _DistributionGoodsServices.QueryByIdAsync(entity.id, false); if (oldModel == null) { jm.msg = "不存在此信息"; return jm; } oldModel.isHot = (bool)entity.data; var bl = await _DistributionGoodsServices.UpdateAsync(p => new CoreCmsGoods() { isHot = oldModel.isHot }, p => p.id == oldModel.id); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; return jm; } #endregion #region 设置是否删除============================================================ // POST: Api/CoreCmsGoods/DoSetisDel/10 /// /// 设置是否删除 /// /// /// [HttpPost] [Description("设置是否删除")] public async Task DoSetisDel([FromBody]FMUpdateBoolDataByIntId entity) { var jm = new AdminUiCallBack(); var oldModel = await _DistributionGoodsServices.QueryByIdAsync(entity.id, false); if (oldModel == null) { jm.msg = "不存在此信息"; return jm; } oldModel.isDel = (bool)entity.data; var bl = await _DistributionGoodsServices.UpdateAsync(p => new CoreCmsGoods() { isDel = oldModel.isDel }, p => p.id == oldModel.id); jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; return jm; } #endregion } }