Blame view

泰额版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/IServices/ILocationAppService.cs 3.5 KB
59e51671   “wangming”   1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
  using FoodLabeling.Application.Contracts.Dtos.Location;
  using FoodLabeling.Application.Contracts.Dtos.Common;
  using Microsoft.AspNetCore.Mvc;
  using Volo.Abp.Application.Dtos;
  using Volo.Abp.Application.Services;
  
  namespace FoodLabeling.Application.Contracts.IServices;
  
  /// <summary>
  /// 门店管理接口(美国版)
  /// </summary>
  public interface ILocationAppService : IApplicationService
  {
      /// <summary>
      /// 门店分页列表;管理员返回全部门店,非管理员仅返回其绑定门店所属 RegionPartner + GroupName)下的门店。
      /// </summary>
      /// <param name="input">查询条件</param>
      Task<PagedResultWithPageDto<LocationGetListOutputDto>> GetListAsync(LocationGetListInputVo input);
  
      /// <summary>
      /// 新增门店
      /// </summary>
      /// <param name="input">门店信息</param>
      Task<LocationGetListOutputDto> CreateAsync(LocationCreateInputVo input);
  
      /// <summary>
      /// 编辑门店
      /// </summary>
      /// <param name="id">门店Id</param>
      /// <param name="input">门店信息</param>
      Task<LocationGetListOutputDto> UpdateAsync(Guid id, LocationUpdateInputVo input);
  
      /// <summary>
      /// 删除门店(逻辑删除)
      /// </summary>
      /// <param name="id">门店Id</param>
      Task DeleteAsync(Guid id);
  
      /// <summary>
      /// 下载 Location Manager 批量导入模板(读取服务器 <c>batchImportOfFiles</c> 目录下 xlsx
      /// </summary>
      Task<IActionResult> DownloadLocationImportTemplateAsync();
  
      /// <summary>
      /// 按列表筛选条件全量导出门店为 Excel(与列表相同过滤与排序,不分页、不限条数)
      /// </summary>
      Task<IActionResult> ExportLocationsExcelAsync(LocationGetListInputVo input);
  
      /// <summary>
      /// 批量导入门店(Excelmultipart/form-data 字段 <c>file</c>
      /// </summary>
      Task<LocationBatchImportResultDto> ImportLocationsBatchAsync(LocationBatchImportInputVo input);
  
      /// <summary>
      /// 批量编辑门店(网格保存全部,JSON 一次提交多行)
      /// </summary>
      /// <remarks>
      /// 每行通过 <c>id</c> 定位门店,字段与单条 <c>PUT /location/{id}</c> 一致;<c>id</c>  <see cref="Guid.Empty"/> 的项忽略。
      ///
      /// 示例请求:
      /// ```json
      /// {
      ///   "items": [
      ///     {
      ///       "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      ///       "partner": "MedVantage Cafe Group",
      ///       "groupName": "NC Region",
      ///       "locationName": "UNCC store",
      ///       "street": "222 School House Lane",
      ///       "city": "Charlotte",
      ///       "stateCode": "NC",
      ///       "country": "USA",
      ///       "zipCode": "29889",
      ///       "phone": "2123456789",
      ///       "email": "nc@example.com",
      ///       "latitude": 35.3,
      ///       "longitude": -80.7,
      ///       "state": true
      ///     }
      ///   ]
      /// }
      /// ```
      ///
      /// 参数说明:
      /// - items: 编辑行数组;单行失败不影响其它行提交结果汇总
      /// </remarks>
      /// <param name="input">批量编辑请求体</param>
      /// <returns>成功数、失败数及失败明细</returns>
      /// <response code="200">全部或部分行处理完成,见返回体中的计数与 errors</response>
      /// <response code="400">整单校验失败(如超过单次条数上限、items 为空)</response>
      /// <response code="500">服务器错误</response>
      Task<LocationBulkUpdateResultDto> UpdateLocationsBulkAsync(LocationBulkUpdateInputVo input);
  }