Commit c6b040a0 authored by 黄奎's avatar 黄奎

文件下载修改

parent 20ad23ac
...@@ -21,6 +21,7 @@ using Microsoft.AspNetCore.Cors; ...@@ -21,6 +21,7 @@ using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using SharpCompress.Common;
namespace Mall.WebApi.Controllers.TradePavilion namespace Mall.WebApi.Controllers.TradePavilion
{ {
...@@ -98,7 +99,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -98,7 +99,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[HttpPost] [HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)] [AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult GetContractPageList() public ApiResult GetContractPageList()
{ {
ResultPageModel pageModel = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString()); ResultPageModel pageModel = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
...@@ -187,7 +189,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -187,7 +189,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[HttpPost] [HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)] [AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult GetContract() public ApiResult GetContract()
{ {
JObject parms = JObject.Parse(RequestParm.msg.ToString()); JObject parms = JObject.Parse(RequestParm.msg.ToString());
...@@ -1540,7 +1543,7 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -1540,7 +1543,7 @@ namespace Mall.WebApi.Controllers.TradePavilion
YeJi = parms.GetDecimal("YeJi"), YeJi = parms.GetDecimal("YeJi"),
OpeningStatus = parms.GetInt("OpeningStatus"), OpeningStatus = parms.GetInt("OpeningStatus"),
}; };
string BannerList=parms.GetStringValue("BannerList"); string BannerList = parms.GetStringValue("BannerList");
if (!string.IsNullOrEmpty(BannerList)) if (!string.IsNullOrEmpty(BannerList))
{ {
query.BannerList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(BannerList); query.BannerList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(BannerList);
...@@ -1670,7 +1673,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -1670,7 +1673,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
{ {
query.FirstStoreTest = 1; query.FirstStoreTest = 1;
} }
else { else
{
query.FirstStoreTest = 0; query.FirstStoreTest = 0;
} }
query.ShopNum ??= 0; query.ShopNum ??= 0;
...@@ -1857,7 +1861,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -1857,7 +1861,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)] [AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult GetProjectTypeEnumList() public ApiResult GetProjectTypeEnumList()
{ {
var list = EnumHelper.GetEnumList(typeof(Common.Enum.TradePavilion.ProjectTypeEnum)); var list = EnumHelper.GetEnumList(typeof(Common.Enum.TradePavilion.ProjectTypeEnum));
...@@ -2142,9 +2147,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -2142,9 +2147,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
string hashKey = Common.Config.GetHash(Common.Plugin.JsonHelper.Serialize(demodel)); string hashKey = Common.Config.GetHash(Common.Plugin.JsonHelper.Serialize(demodel));
string fileName = hashKey + ".xls"; string fileName = hashKey + ".xls";
string key = "SD_" + hashKey;
string redisValue = redisHelper.Get(key); string filePath = Path.Combine(Directory.GetCurrentDirectory(), "upfile/temporary");
string filePath = Path.Combine(Directory.GetCurrentDirectory(), "upfile/Brand");
if (System.IO.Directory.Exists(filePath) == false)//如果不存在就创建file文件夹 if (System.IO.Directory.Exists(filePath) == false)//如果不存在就创建file文件夹
{ {
System.IO.Directory.CreateDirectory(filePath); System.IO.Directory.CreateDirectory(filePath);
...@@ -2156,16 +2160,17 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -2156,16 +2160,17 @@ namespace Mall.WebApi.Controllers.TradePavilion
System.IO.Directory.CreateDirectory(tempPath); System.IO.Directory.CreateDirectory(tempPath);
} }
string fileUrl = tempPath + fileName; string fileUrl = tempPath + fileName;
string key = "Mall_SD_BRAND_" + hashKey;
string redisValue = redisHelper.StringGet(key);
if (string.IsNullOrEmpty(redisValue)) if (string.IsNullOrEmpty(redisValue))
{ {
redisValue = redisHelper.Get(key); redisValue = redisHelper.StringGet(key);
if (string.IsNullOrEmpty(redisValue)) if (string.IsNullOrEmpty(redisValue))
{ {
redisHelper.StringSet(key, fileName, TimeSpan.FromMinutes(30)); redisHelper.StringSet(key, fileName, TimeSpan.FromMinutes(30));
GetBrandListToExcel(demodel, ExcelEnumIds, fileUrl); GetBrandListToExcel(demodel, ExcelEnumIds, fileUrl);
} }
} }
return await Task.Run<ApiResult>(() => return await Task.Run<ApiResult>(() =>
{ {
ApiResult apiResult = new ApiResult() ApiResult apiResult = new ApiResult()
...@@ -2175,156 +2180,186 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -2175,156 +2180,186 @@ namespace Mall.WebApi.Controllers.TradePavilion
if (System.IO.File.Exists(fileUrl)) if (System.IO.File.Exists(fileUrl))
{ {
apiResult.resultCode = 1; apiResult.resultCode = 1;
apiResult.data = "/upfile/Brand/" + hashKey + "/" + fileName; apiResult.data = "/upfile/temporary/" + hashKey + "/" + fileName;
apiResult.message = key;
} }
return apiResult; return apiResult;
}); });
} }
/// <summary> /// <summary>
/// 品牌下载 /// 删除Key
/// </summary> /// </summary>
/// <returns></returns>
[HttpPost] [HttpPost]
public void GetBrandListToExcel(RB_Brand_Extend demodel,List<int> ExcelEnumIds,string excelFileUrl) public ApiResult DeleteKey()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
string key = parms.GetStringValue("key");
string fileUrl = parms.GetStringValue("fileUrl");
string newPath = Directory.GetCurrentDirectory() + fileUrl;
try
{
if (System.IO.File.Exists(newPath))
{
System.IO.File.Delete(newPath);
}
redisHelper.KeyDelete(key);
}
catch (Exception ex)
{ {
Common.Plugin.LogHelper.Write(ex, "DeleteKey::" + RequestParm.msg.ToString());
}
return ApiResult.Success();
}
//try /// <summary>
//{ /// 文件下载
/// </summary>
/// <returns></returns>
[HttpPost]
public FileContentResult GetFile()
{
string ExcelName = "品牌列表" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
JObject parms = JObject.Parse(RequestParm.msg.ToString());
string fileUrl = parms.GetStringValue("fileUrl");
string newPath = Directory.GetCurrentDirectory() + fileUrl;
if (System.IO.File.Exists(newPath))
{
byte[] fileBytes = System.IO.File.ReadAllBytes(newPath);
return File(fileBytes, "application/octet-stream", ExcelName);
}
else
{
return File(Array.Empty<byte>(), "application/octet-stream");
}
}
// demodel.ExcelEnumIds = ExcelEnumIds; /// <summary>
// if (ExcelEnumIds == null || !ExcelEnumIds.Any()) /// 品牌下载
// { /// </summary>
// demodel.ExcelEnumIds = new List<int>();
// for (int i = 1; i <= 23; i++)
// {
// demodel.ExcelEnumIds.Add(i);
// }
// }
//}
//catch
//{
// demodel.ExcelEnumIds = new List<int>();
// for (int i = 1; i <= 23; i++)
// {
// demodel.ExcelEnumIds.Add(i);
// }
//}
//string ExcelName = "品牌列表" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; private void GetBrandListToExcel(RB_Brand_Extend demodel, List<int> ExcelEnumIds, string excelFileUrl)
//List<ExcelDataSource> slist = new List<ExcelDataSource>(); {
//if (demodel.ExcelEnumIds == null || !demodel.ExcelEnumIds.Any()) try
//{ {
// var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist); demodel.ExcelEnumIds = ExcelEnumIds;
// return File(byteData1, "application/octet-stream", ExcelName); if (ExcelEnumIds == null || !ExcelEnumIds.Any())
//} {
//var Enumlist = EnumHelper.GetEnumList(typeof(Common.Enum.TradePavilion.BusinessExportEnum)); demodel.ExcelEnumIds = new List<int>();
//ExcelDataSource header = new ExcelDataSource() for (int i = 1; i <= 23; i++)
//{ {
// ExcelRows = new List<ExcelColumn>(30) demodel.ExcelEnumIds.Add(i);
// { }
// new ExcelColumn(value: "序号") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER } }
// } }
//}; catch
//foreach (var item in demodel.ExcelEnumIds) {
//{ demodel.ExcelEnumIds = new List<int>();
// var Name = Enumlist.Where(x => x.Value == item.ToString()).FirstOrDefault().Key ?? ""; for (int i = 1; i <= 23; i++)
// header.ExcelRows.Add(new ExcelColumn(value: Name) { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }); {
//} demodel.ExcelEnumIds.Add(i);
}
}
//slist.Add(header); byte[] bytes = null;
List<ExcelDataSource> slist = new List<ExcelDataSource>();
//try var Enumlist = EnumHelper.GetEnumList(typeof(Common.Enum.TradePavilion.BusinessExportEnum));
//{ ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30)
{
new ExcelColumn(value: "序号") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }
}
};
foreach (var item in demodel.ExcelEnumIds)
{
var Name = Enumlist.Where(x => x.Value == item.ToString()).FirstOrDefault().Key ?? "";
header.ExcelRows.Add(new ExcelColumn(value: Name) { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER });
}
slist.Add(header);
// var list = carrierModule.GetBrandListByWhere(demodel); try
// #region 组装数据 {
// int Num = 0;
// foreach (var item in list) var list = carrierModule.GetBrandListByWhere(demodel);
// { #region 组装数据
// Num++; int Num = 0;
// ExcelDataSource datarow = new ExcelDataSource() foreach (var item in list)
// { {
// ExcelRows = new List<ExcelColumn>(30) { Num++;
// new ExcelColumn(value:Num.ToString()){ }, ExcelDataSource datarow = new ExcelDataSource()
// } {
// }; ExcelRows = new List<ExcelColumn>(30) {
// foreach (var qitem in demodel.ExcelEnumIds) new ExcelColumn(value:Num.ToString()){ },
// { }
// switch (qitem) };
// { foreach (var qitem in demodel.ExcelEnumIds)
// case 1: {
// datarow.ExcelRows.Add(new ExcelColumn(value: item.ClassName) { }); break; switch (qitem)
// case 2: {
// datarow.ExcelRows.Add(new ExcelColumn(value: item.FullBrandName) { }); break; case 1:
// case 4: datarow.ExcelRows.Add(new ExcelColumn(value: item.ClassName) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.Logo, isPic: 1) { }); break; case 2:
// case 3: datarow.ExcelRows.Add(new ExcelColumn(value: item.FullBrandName) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.BrandName) { }); break; case 4:
// case 5: datarow.ExcelRows.Add(new ExcelColumn(value: item.Logo, isPic: 1) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.VideoUrl) { }); break; case 3:
// case 6: datarow.ExcelRows.Add(new ExcelColumn(value: item.BrandName) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.ShopNum.ToString()) { }); break; case 5:
// case 7: datarow.ExcelRows.Add(new ExcelColumn(value: item.VideoUrl) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.BuiltUpArea.ToString()) + "-" + (item.EndBuiltUpArea.ToString())) { }); break; case 6:
// case 8: datarow.ExcelRows.Add(new ExcelColumn(value: item.ShopNum.ToString()) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.AreaRequirement.ToString()) + "-" + (item.EndAreaRequirement.ToString())) { }); break; case 7:
// case 9: datarow.ExcelRows.Add(new ExcelColumn(value: (item.BuiltUpArea.ToString()) + "-" + (item.EndBuiltUpArea.ToString())) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.CustomerType) { }); break; case 8:
// case 10: datarow.ExcelRows.Add(new ExcelColumn(value: (item.AreaRequirement.ToString()) + "-" + (item.EndAreaRequirement.ToString())) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.BrandType) { }); break; case 9:
// case 11: datarow.ExcelRows.Add(new ExcelColumn(value: item.CustomerType) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.StoreExpansion) { }); break; case 10:
// case 12: datarow.ExcelRows.Add(new ExcelColumn(value: item.BrandType) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: ((item.ProjectType.HasValue && item.ProjectType.Value > 0) ? item.ProjectType.GetEnumName() : "")) { }); break; case 11:
// case 13: datarow.ExcelRows.Add(new ExcelColumn(value: item.StoreExpansion) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.IsShopSize == 1 ? ("有" + (!string.IsNullOrWhiteSpace(item.ShopSize) ? item.ShopSize : "")) : "无")) { }); break; case 12:
// case 14: datarow.ExcelRows.Add(new ExcelColumn(value: ((item.ProjectType.HasValue && item.ProjectType.Value > 0) ? item.ProjectType.GetEnumName() : "")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.RanQi == 1 ? ("有" + (!string.IsNullOrWhiteSpace(item.RanQiBZ) ? item.RanQiBZ : "")) : "无")) { }); break; case 13:
// case 15: datarow.ExcelRows.Add(new ExcelColumn(value: (item.IsShopSize == 1 ? ("有" + (!string.IsNullOrWhiteSpace(item.ShopSize) ? item.ShopSize : "")) : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.PaiYan == 1 ? ("有" + (!string.IsNullOrWhiteSpace(item.PaiYanBZ) ? item.PaiYanBZ : "")) : "无")) { }); break; case 14:
// case 16: datarow.ExcelRows.Add(new ExcelColumn(value: (item.RanQi == 1 ? ("有" + (!string.IsNullOrWhiteSpace(item.RanQiBZ) ? item.RanQiBZ : "")) : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.IsDianLiang == 1 ? ("有" + (!string.IsNullOrWhiteSpace(item.DianLiang) ? item.DianLiang : "")) : "无")) { }); break; case 15:
// case 17: datarow.ExcelRows.Add(new ExcelColumn(value: (item.PaiYan == 1 ? ("有" + (!string.IsNullOrWhiteSpace(item.PaiYanBZ) ? item.PaiYanBZ : "")) : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.Plumbing == 1 ? "有" : "无")) { }); break; case 16:
// case 18: datarow.ExcelRows.Add(new ExcelColumn(value: (item.IsDianLiang == 1 ? ("有" + (!string.IsNullOrWhiteSpace(item.DianLiang) ? item.DianLiang : "")) : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.Caliber == 1 ? ("有") : "无")) { }); break; case 17:
// case 19: datarow.ExcelRows.Add(new ExcelColumn(value: (item.Plumbing == 1 ? "有" : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.Sewage == 1 ? ("有") : "无")) { }); break; case 18:
// case 20: datarow.ExcelRows.Add(new ExcelColumn(value: (item.Caliber == 1 ? ("有") : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.KongTiao == 1 ? ("有") : "无")) { }); break; case 19:
// case 21: datarow.ExcelRows.Add(new ExcelColumn(value: (item.Sewage == 1 ? ("有") : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: (item.XinFeng == 1 ? ("有") : "无")) { }); break; case 20:
// case 22: datarow.ExcelRows.Add(new ExcelColumn(value: (item.KongTiao == 1 ? ("有") : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.Advertising) { }); break; case 21:
// case 23: datarow.ExcelRows.Add(new ExcelColumn(value: (item.XinFeng == 1 ? ("有") : "无")) { }); break;
// datarow.ExcelRows.Add(new ExcelColumn(value: item.Other) { }); break; case 22:
// } datarow.ExcelRows.Add(new ExcelColumn(value: item.Advertising) { }); break;
// } case 23:
// slist.Add(datarow); datarow.ExcelRows.Add(new ExcelColumn(value: item.Other) { }); break;
// } }
// #endregion }
// var byteData = ExcelTempLateHelper.ToExcelExtend(slist); slist.Add(datarow);
// string basePath = AppDomain.CurrentDomain.BaseDirectory + "/upfile/temporary/brand/"; }
// string path = basePath + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xls"; #endregion
// if (!Directory.Exists(basePath)) bytes = ExcelTempLateHelper.ToExcelExtend(slist);
// { }
// Directory.CreateDirectory(basePath); catch (Exception ex)
// } {
// using (FileStream stream =System.IO.File.Create(path)) LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
// { }
// //将字节数组写入流 using (FileStream fs = new FileStream(excelFileUrl, FileMode.CreateNew))
// stream.Write(byteData, 0, byteData.Length); {
// stream.Close(); fs.Write(bytes, 0, bytes.Length);
// } }
// return File(byteData, "application/octet-stream", ExcelName);
//}
//catch (Exception ex)
//{
// LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
// var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
// return File(byteData1, "application/octet-stream", ExcelName);
//}
} }
/// <summary> /// <summary>
...@@ -2863,7 +2898,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -2863,7 +2898,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)] [AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult GetFirstShopEnrollZipExport() public ApiResult GetFirstShopEnrollZipExport()
{ {
var req = base.RequestParm; var req = base.RequestParm;
...@@ -2889,7 +2925,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -2889,7 +2925,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)] [AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult GetFirstShopEnrollZipExport_V3() public ApiResult GetFirstShopEnrollZipExport_V3()
{ {
var req = base.RequestParm; var req = base.RequestParm;
...@@ -2920,7 +2957,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -2920,7 +2957,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)] [AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult GetNewFirstShopEnrollZipExport() public ApiResult GetNewFirstShopEnrollZipExport()
{ {
var req = base.RequestParm; var req = base.RequestParm;
...@@ -2946,7 +2984,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -2946,7 +2984,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)] [AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult GetFirstShopEnrollResultUrl() public ApiResult GetFirstShopEnrollResultUrl()
{ {
var req = base.RequestParm; var req = base.RequestParm;
...@@ -2973,7 +3012,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -2973,7 +3012,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)] [AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult DelFirstShopEnrollZipExport() public ApiResult DelFirstShopEnrollZipExport()
{ {
var req = base.RequestParm; var req = base.RequestParm;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment