Blame view

美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/IServices/ILocationAppService.cs 3.5 KB
9df65e38   李曜臣   实现美国版门店与RBAC对外接口
1
2
  using FoodLabeling.Application.Contracts.Dtos.Location;
  using FoodLabeling.Application.Contracts.Dtos.Common;
a7684ddb   李曜臣   批量导入导出,批量编辑
3
  using Microsoft.AspNetCore.Mvc;
9df65e38   李曜臣   实现美国版门店与RBAC对外接口
4
5
6
7
8
9
10
11
12
13
14
  using Volo.Abp.Application.Dtos;
  using Volo.Abp.Application.Services;
  
  namespace FoodLabeling.Application.Contracts.IServices;
  
  /// <summary>
  /// 门店管理接口(美国版)
  /// </summary>
  public interface ILocationAppService : IApplicationService
  {
      /// <summary>
07d5dea2   李曜臣   5-18代码优化
15
      /// 门店分页列表;管理员返回全部门店,非管理员仅返回其绑定门店所属 RegionPartner + GroupName)下的门店。
9df65e38   李曜臣   实现美国版门店与RBAC对外接口
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
      /// </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);
a7684ddb   李曜臣   批量导入导出,批量编辑
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
  
      /// <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);
9df65e38   李曜臣   实现美国版门店与RBAC对外接口
93
  }