From 4b21b877847a4e9abe07091b7f8381f7a7c44e98 Mon Sep 17 00:00:00 2001 From: 移动系统liao <liaoxujun@qq.com> Date: 星期五, 14 六月 2024 09:24:25 +0800 Subject: [PATCH] no message --- CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs | 323 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 318 insertions(+), 5 deletions(-) diff --git a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs index af628d3..a6f48b9 100644 --- a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs @@ -1,7 +1,7 @@ 锘�/*********************************************************************** - * Project: CoreCms + * Project: baifenBinfa * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺 - * Web: hhtp://chuanyin.com + * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 @@ -37,8 +37,13 @@ using COSXML.Auth; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.IdentityModel.Tokens; using Newtonsoft.Json; +using NPOI.HSSF.UserModel; +using NPOI.SS.UserModel; +using NPOI.XSSF.UserModel; using SKIT.FlurlHttpClient.Wechat.Api; using SKIT.FlurlHttpClient.Wechat.Api.Models; using SqlSugar; @@ -89,6 +94,7 @@ private readonly IWeChatApiHttpClientFactory _weChatApiHttpClientFactory; private readonly SemaphoreSlim _semaphore; + private readonly ICoreCmsPlanOrderServices _coreCmsPlanOrderServices; /// <summary> /// 鏋勯�犲嚱鏁� @@ -111,7 +117,8 @@ , ISysUserRoleServices sysUserRoleServices , ISysOrganizationServices sysOrganizationServices, ICoreCmsLogisticsServices logisticsServices, ISysLoginRecordServices sysLoginRecordServices, ISysNLogRecordsServices sysNLogRecordsServices, ICoreCmsBillPaymentsServices paymentsServices, ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsUserServices userServices, ICoreCmsOrderServices orderServices, ICoreCmsBillAftersalesServices aftersalesServices, ICoreCmsSettingServices settingServices, ICoreCmsProductsServices productsServices, ICoreCmsServicesServices servicesServices, ISysRoleMenuServices sysRoleMenuServices - , IWeChatApiHttpClientFactory weChatApiHttpClientFactory, ICoreCmsPagesServices pagesServices, IToolsServices toolsServices, ICoreCmsReportsServices reportsServices, ICoreCmsGoodsCategoryServices goodsCategoryServices) + , IWeChatApiHttpClientFactory weChatApiHttpClientFactory, ICoreCmsPagesServices pagesServices, IToolsServices toolsServices, ICoreCmsReportsServices reportsServices, ICoreCmsGoodsCategoryServices goodsCategoryServices + , ICoreCmsPlanOrderServices coreCmsPlanOrderServices ) { _user = user; _webHostEnvironment = webHostEnvironment; @@ -148,6 +155,7 @@ _toolsServices = toolsServices; _reportsServices = reportsServices; _goodsCategoryServices = goodsCategoryServices; + _coreCmsPlanOrderServices = coreCmsPlanOrderServices; //鏈�澶氬厑璁�2涓嚎绋嬪悓鏃惰闂�; _semaphore = new SemaphoreSlim(2); @@ -362,6 +370,311 @@ #endregion //閫氱敤鎿嶄綔========================================================================= + + #region 璁″垝璁㈠崟涓婁紶鎺ュ彛==================================================== + + /// <summary> + /// 璁″垝璁㈠崟涓婁紶鎺ュ彛 + /// </summary> + /// <returns></returns> + [Authorize] + [HttpPost] + public async Task<AdminUiCallBack> UploadFilesXls() + { + + var jm = new AdminUiCallBack(); + await _semaphore.WaitAsync(); + try + { + var filesStorageOptions = await _coreCmsSettingServices.GetFilesStorageOptions(); + + //鍒濆鍖栦笂浼犲弬鏁� + var maxSize = 1024 * 1024 * filesStorageOptions.MaxSize; //涓婁紶澶у皬5M + + var file = Request.Form.Files["file"]; + if (file == null) + { + jm.msg = "璇烽�夋嫨鏂囦欢"; + return jm; + } + + var fileName = file.FileName; + var fileExt = Path.GetExtension(fileName).ToLowerInvariant(); + + //妫�鏌ュぇ灏� + if (file.Length > maxSize) + { + jm.msg = "涓婁紶鏂囦欢澶у皬瓒呰繃闄愬埗锛屾渶澶у厑璁镐笂浼�" + filesStorageOptions.MaxSize + "M"; + return jm; + } + + //妫�鏌ユ枃浠舵墿灞曞悕 + if (string.IsNullOrEmpty(fileExt) || + Array.IndexOf(filesStorageOptions.FileTypes.Split(','), fileExt.Substring(1).ToLower()) == -1) + { + jm.msg = "涓婁紶鏂囦欢鎵╁睍鍚嶆槸涓嶅厑璁哥殑鎵╁睍鍚�,璇蜂笂浼犲悗缂�鍚嶄负锛�" + filesStorageOptions.FileTypes; + return jm; + } + var lie = new List<JiHuaOrder>(); + using (var fileStream = file.OpenReadStream()) + { + + // 浣跨敤HSSFWorkbook鎵撳紑.xls鏍煎紡鐨勬枃浠� + IWorkbook workbook = new XSSFWorkbook(fileStream); + + // 鑾峰彇绗竴涓伐浣滆〃 + ISheet sheet = workbook.GetSheetAt(0); + + + + // 杩唬宸ヤ綔琛ㄤ腑鐨勬墍鏈夎 + for (int i = 1; i <= sheet.LastRowNum; i++) + { + var hang = new JiHuaOrder(); + IRow row = sheet.GetRow(i); + if (row == null) continue; // 璺宠繃绌鸿 + + + ICell cell0 = row.GetCell(0); + if (cell0 == null) + { + jm.msg = "绗�" + (i + 1) + "甯備笉鑳戒负绌�"; + return jm; + } + hang.shi = getcellvalue(cell0); + + ICell cell1 = row.GetCell(1); + if (cell1 == null) + { + jm.msg = "绗�" + (i + 1) + "鍖哄幙涓嶈兘涓虹┖"; + return jm; + } + hang.quxian = getcellvalue(cell1); + + ICell cell2 = row.GetCell(2); + if (cell2 == null) + { + jm.msg ="绗�" +(i+1) + "鐗囧尯涓嶈兘涓虹┖"; + return jm; + } + hang.pianqu = getcellvalue(cell2); + + ICell cell3 = row.GetCell(3); + if (cell3 == null) + { + jm.msg = "绗�" + (i + 1) + "瀛︽牎涓嶈兘涓虹┖"; + return jm; + } + hang.shipAddress = getcellvalue(cell3); + + ICell cell4 = row.GetCell(4); + if (cell4 == null) + { + jm.msg = "绗�" + (i + 1) + "鑱旂郴浜轰笉鑳戒负绌�"; + return jm; + } + hang.shipName = getcellvalue(cell4); + + ICell cell5 = row.GetCell(5); + if (cell5 == null) + { + jm.msg = "绗�" + (i + 1) + "鑱旂郴鐢佃瘽涓嶈兘涓虹┖"; + return jm; + } + hang.shipMobile = getcellvalue(cell5); + + ICell cell6 = row.GetCell(6); + if (cell6 == null) + { + jm.msg = "绗�" + (i + 1) + "鏀惰揣鍦板潃涓嶈兘涓虹┖"; + return jm; + } + hang.shouhuoAddress = getcellvalue(cell6); + + ICell cell7 = row.GetCell(7); + if (cell7 == null) + { + jm.msg = "绗�" + (i + 1) + "鍟嗗搧鍚嶇О涓嶈兘涓虹┖"; + return jm; + } + hang.name = getcellvalue(cell7); + + ICell cell8 = row.GetCell(8); + if (cell8 == null) + { + jm.msg = "绗�" + (i + 1) + "瑙勬牸涓嶈兘涓虹┖"; + return jm; + } + hang.specification = getcellvalue(cell8); + + + ICell cell9 = row.GetCell(9); + if (cell9 == null) + { + jm.msg = "绗�" + (i + 1) + "鍗曚环锛堝厓锛変笉鑳戒负绌�"; + return jm; + } + hang.price = decimal.Parse(getcellvalue(cell9)); + + + ICell cell10 = row.GetCell(10); + if (cell10 == null) + { + jm.msg = "绗�" + (i + 1) + "鏁伴噺涓嶈兘涓虹┖"; + return jm; + } + hang.nums = int.Parse(getcellvalue(cell10)); + + lie.Add(hang); + + } + } + // lie = lie.OrderBy(x => x.shipAddress).ThenBy(x => x.specification).ToList(); + string url = string.Empty; + url = "121212"; + string pianqu = ""; + if (lie!=null && lie.Count > 0) + { + var order = new List<JiHuaOrder>(); + for(int i=0;i< lie.Count; i++) + { + if (i == 0 ) + { + + order.Add(lie[i]); + pianqu = lie[i].pianqu; + //if(lie.Count == 1) + //{ + // //淇濆瓨璁㈠崟 + // jm = await _coreCmsPlanOrderServices.ToAddJiHua(lie,_user.ID, _user.Name); + // if (jm.code == 1) + // { + // return jm; + // } + //} + } + else + { + if(string.IsNullOrEmpty(lie[i].shipAddress)) + { + order.Add(lie[i]); + } + else + { + //淇濆瓨璁㈠崟 + jm = await _coreCmsPlanOrderServices.ToAddJiHua(order, _user.ID, _user.Name); + if (jm.code == 1) + { + return jm; + } + order = new List<JiHuaOrder>(); + if (string.IsNullOrEmpty(lie[i].shi)) + { + lie[i].shi = lie[0].shi; + } + if (string.IsNullOrEmpty(lie[i].quxian)) + { + lie[i].quxian = lie[0].quxian; + } + if (string.IsNullOrEmpty(lie[i].pianqu)) + { + lie[i].pianqu = pianqu; + } + else + { + pianqu = lie[i].pianqu; + } + order.Add(lie[i]); + } + } + + if (i == lie.Count - 1) + { + //淇濆瓨璁㈠崟 + jm = await _coreCmsPlanOrderServices.ToAddJiHua(order, _user.ID, _user.Name); + if (jm.code == 1) + { + return jm; + } + } + } + + + } + else + { + jm.code =1; + jm.msg = "琛ㄦ牸鏃犳暟鎹�"; + jm.data = new + { + fileUrl = url, + src = url + }; + } + + + + + var bl = !string.IsNullOrEmpty(url); + jm.code = bl ? 0 : 1; + jm.msg = bl ? "涓婁紶鎴愬姛!" : "涓婁紶澶辫触"; + jm.data = new + { + fileUrl = url, + src = url + }; + } + catch (Exception e) + { + jm.code = 1; + jm.msg = "鏁版嵁寮傚父"; + jm.data = e; + } + finally + { + _semaphore.Release(); // 閲婃斁璁块棶 + } + + return jm; + } + + + /// <summary> + /// 璁″垝璁㈠崟涓婁紶鎺ュ彛 + /// </summary> + /// <returns></returns> + public string getcellvalue(ICell cell) + { + string cellvalue = ""; + switch (cell.CellType) + { + case CellType.String: + // Console.WriteLine(cell.StringCellValue); + cellvalue = cell.StringCellValue.Trim(); + break; + case CellType.Numeric: + //Console.WriteLine(cell.NumericCellValue); + cellvalue = cell.NumericCellValue.ToString().Trim(); + break; + case CellType.Boolean: + //Console.WriteLine(cell.BooleanCellValue); + cellvalue = cell.BooleanCellValue.ToString().Trim(); + break; + case CellType.Error: + // Console.WriteLine(cell.ErrorCellValue); + cellvalue = cell.ErrorCellValue.ToString().Trim(); + break; + // 鍙互娣诲姞鍏朵粬绫诲瀷鐨刢ase + } + + return cellvalue; + } + + + + + #endregion + #region 閫氱敤涓婁紶鎺ュ彛==================================================== @@ -934,11 +1247,11 @@ #endregion - #region 鍚庡彴鐢熸垚鍒嗛攢鍟嗗皬绋嬪簭鐮�============================================================ + #region 鍚庡彴鐢熸垚缁忛攢鍟嗗皬绋嬪簭鐮�============================================================ // POST: Api/Tools/GetDistributionWxCode /// <summary> - /// 鍚庡彴鐢熸垚鍒嗛攢鍟嗗皬绋嬪簭鐮� + /// 鍚庡彴鐢熸垚缁忛攢鍟嗗皬绋嬪簭鐮� /// </summary> /// <returns></returns> [HttpPost] -- Gitblit v1.9.1