From 445d14becca6b5251814934343d7a6394ada6009 Mon Sep 17 00:00:00 2001
From: 小飞侠 <8277136+liaoxujun@user.noreply.gitee.com>
Date: 星期五, 17 十月 2025 16:55:19 +0800
Subject: [PATCH] no message
---
CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs | 319 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 316 insertions(+), 3 deletions(-)
diff --git a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs
index 58077c2..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);
@@ -363,6 +371,311 @@
//閫氱敤鎿嶄綔=========================================================================
+ #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 閫氱敤涓婁紶鎺ュ彛====================================================
/// <summary>
--
Gitblit v1.9.1