fix(筛选契约): 去重汇总/品牌库/查询ASIN 列表与导出接口 @RequestParam 显式 snake_case(page_size/group_id/data_value/shop_name/start_date/end_date),与前端 asin-filter 序列化对齐——修复全站筛选/分页不生效(前端snake vs 后端裸camel全不匹配)
This commit is contained in:
+13
-13
@@ -78,16 +78,16 @@ public class DedupeTotalDataController {
|
|||||||
@io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "200", description = "查询成功", content = @Content(schema = @Schema(implementation = DedupeTotalDataPageVo.class)))
|
@io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "200", description = "查询成功", content = @Content(schema = @Schema(implementation = DedupeTotalDataPageVo.class)))
|
||||||
})
|
})
|
||||||
public ApiResponse<DedupeTotalDataPageVo> page(
|
public ApiResponse<DedupeTotalDataPageVo> page(
|
||||||
@Parameter(description = "页码") @RequestParam(defaultValue = "1") Long page,
|
@Parameter(description = "页码") @RequestParam(name = "page", defaultValue = "1") Long page,
|
||||||
@Parameter(description = "每页数量") @RequestParam(defaultValue = "15") Long pageSize,
|
@Parameter(description = "每页数量") @RequestParam(name = "page_size", defaultValue = "15") Long pageSize,
|
||||||
@Parameter(description = "数据值模糊搜索关键字") @RequestParam(required = false) String keyword,
|
@Parameter(description = "数据值模糊搜索关键字") @RequestParam(name = "keyword", required = false) String keyword,
|
||||||
@Parameter(description = "用户名模糊搜索关键字") @RequestParam(required = false) String username,
|
@Parameter(description = "用户名模糊搜索关键字") @RequestParam(name = "username", required = false) String username,
|
||||||
@Parameter(description = "开始日期(包含)")
|
@Parameter(description = "开始日期(包含)")
|
||||||
@RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startDate,
|
@RequestParam(name = "start_date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startDate,
|
||||||
@Parameter(description = "结束日期(包含)")
|
@Parameter(description = "结束日期(包含)")
|
||||||
@RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate endDate,
|
@RequestParam(name = "end_date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate endDate,
|
||||||
@Parameter(description = "分组 ID") @RequestParam(required = false) Long groupId,
|
@Parameter(description = "分组 ID") @RequestParam(name = "group_id", required = false) Long groupId,
|
||||||
@Parameter(description = "国家代码(如 DE、UK)") @RequestParam(required = false) String country,
|
@Parameter(description = "国家代码(如 DE、UK)") @RequestParam(name = "country", required = false) String country,
|
||||||
HttpServletRequest request) {
|
HttpServletRequest request) {
|
||||||
RequestOperator operator = requireDedupeTotalDataAccess(request);
|
RequestOperator operator = requireDedupeTotalDataAccess(request);
|
||||||
return ApiResponse.success(dedupeTotalDataService.page(
|
return ApiResponse.success(dedupeTotalDataService.page(
|
||||||
@@ -97,13 +97,13 @@ public class DedupeTotalDataController {
|
|||||||
@GetMapping("/export")
|
@GetMapping("/export")
|
||||||
@Operation(summary = "导出总数据", description = "按上传用户名和创建日期导出当前用户可访问的总数据;跨自然月时按月生成 XLSX 并打包为 ZIP。")
|
@Operation(summary = "导出总数据", description = "按上传用户名和创建日期导出当前用户可访问的总数据;跨自然月时按月生成 XLSX 并打包为 ZIP。")
|
||||||
public ResponseEntity<StreamingResponseBody> export(
|
public ResponseEntity<StreamingResponseBody> export(
|
||||||
@Parameter(description = "用户名模糊搜索关键字") @RequestParam(required = false) String username,
|
@Parameter(description = "用户名模糊搜索关键字") @RequestParam(name = "username", required = false) String username,
|
||||||
@Parameter(description = "开始日期(包含)")
|
@Parameter(description = "开始日期(包含)")
|
||||||
@RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startDate,
|
@RequestParam(name = "start_date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startDate,
|
||||||
@Parameter(description = "结束日期(包含)")
|
@Parameter(description = "结束日期(包含)")
|
||||||
@RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate endDate,
|
@RequestParam(name = "end_date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate endDate,
|
||||||
@Parameter(description = "分组 ID") @RequestParam(required = false) Long groupId,
|
@Parameter(description = "分组 ID") @RequestParam(name = "group_id", required = false) Long groupId,
|
||||||
@Parameter(description = "国家代码(如 DE、UK)") @RequestParam(required = false) String country,
|
@Parameter(description = "国家代码(如 DE、UK)") @RequestParam(name = "country", required = false) String country,
|
||||||
HttpServletRequest request) {
|
HttpServletRequest request) {
|
||||||
if (startDate != null && endDate != null && startDate.isAfter(endDate)) {
|
if (startDate != null && endDate != null && startDate.isAfter(endDate)) {
|
||||||
throw new BusinessException(400, "invalid export date range");
|
throw new BusinessException(400, "invalid export date range");
|
||||||
|
|||||||
+6
-6
@@ -60,12 +60,12 @@ public class InvalidAsinDataController {
|
|||||||
@io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "200", description = "查询成功", content = @Content(schema = @Schema(implementation = InvalidAsinDataPageVo.class)))
|
@io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "200", description = "查询成功", content = @Content(schema = @Schema(implementation = InvalidAsinDataPageVo.class)))
|
||||||
})
|
})
|
||||||
public ApiResponse<InvalidAsinDataPageVo> page(
|
public ApiResponse<InvalidAsinDataPageVo> page(
|
||||||
@Parameter(description = "页码") @RequestParam(defaultValue = "1") Long page,
|
@Parameter(description = "页码") @RequestParam(name = "page", defaultValue = "1") Long page,
|
||||||
@Parameter(description = "每页数量") @RequestParam(defaultValue = "15") Long pageSize,
|
@Parameter(description = "每页数量") @RequestParam(name = "page_size", defaultValue = "15") Long pageSize,
|
||||||
@Parameter(description = "模糊搜索关键字") @RequestParam(required = false) String keyword,
|
@Parameter(description = "模糊搜索关键字") @RequestParam(name = "keyword", required = false) String keyword,
|
||||||
@Parameter(description = "ASIN 模糊搜索") @RequestParam(required = false) String dataValue,
|
@Parameter(description = "ASIN 模糊搜索") @RequestParam(name = "data_value", required = false) String dataValue,
|
||||||
@Parameter(description = "品牌模糊搜索") @RequestParam(required = false) String brand,
|
@Parameter(description = "品牌模糊搜索") @RequestParam(name = "brand", required = false) String brand,
|
||||||
@Parameter(description = "分组 ID") @RequestParam(required = false) Long groupId,
|
@Parameter(description = "分组 ID") @RequestParam(name = "group_id", required = false) Long groupId,
|
||||||
HttpServletRequest request) {
|
HttpServletRequest request) {
|
||||||
RequestOperator operator = requireInvalidAsinDataAccess(request);
|
RequestOperator operator = requireInvalidAsinDataAccess(request);
|
||||||
return ApiResponse.success(invalidAsinDataService.page(
|
return ApiResponse.success(invalidAsinDataService.page(
|
||||||
|
|||||||
+11
-11
@@ -54,12 +54,12 @@ public class QueryAsinController {
|
|||||||
@Operation(summary = "分页查询 ASIN")
|
@Operation(summary = "分页查询 ASIN")
|
||||||
public ApiResponse<QueryAsinPageVo> page(
|
public ApiResponse<QueryAsinPageVo> page(
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@Parameter(description = "页码") @RequestParam(defaultValue = "1") Long page,
|
@Parameter(description = "页码") @RequestParam(name = "page", defaultValue = "1") Long page,
|
||||||
@Parameter(description = "每页数量") @RequestParam(defaultValue = "15") Long pageSize,
|
@Parameter(description = "每页数量") @RequestParam(name = "page_size", defaultValue = "15") Long pageSize,
|
||||||
@Parameter(description = "分组ID") @RequestParam(required = false) Long groupId,
|
@Parameter(description = "分组ID") @RequestParam(name = "group_id", required = false) Long groupId,
|
||||||
@Parameter(description = "店铺名") @RequestParam(required = false) String shopName,
|
@Parameter(description = "店铺名") @RequestParam(name = "shop_name", required = false) String shopName,
|
||||||
@Parameter(description = "商品 ASIN") @RequestParam(required = false) String asin,
|
@Parameter(description = "商品 ASIN") @RequestParam(name = "asin", required = false) String asin,
|
||||||
@Parameter(description = "国家代码(DE/UK/FR/IT/ES)") @RequestParam(required = false) String country) {
|
@Parameter(description = "国家代码(DE/UK/FR/IT/ES)") @RequestParam(name = "country", required = false) String country) {
|
||||||
AdminUserEntity operator = requireOperator(request);
|
AdminUserEntity operator = requireOperator(request);
|
||||||
return ApiResponse.success(queryAsinService.page(
|
return ApiResponse.success(queryAsinService.page(
|
||||||
page,
|
page,
|
||||||
@@ -76,10 +76,10 @@ public class QueryAsinController {
|
|||||||
@Operation(summary = "导出查询 ASIN")
|
@Operation(summary = "导出查询 ASIN")
|
||||||
public ResponseEntity<byte[]> export(
|
public ResponseEntity<byte[]> export(
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@Parameter(description = "分组ID") @RequestParam(required = false) Long groupId,
|
@Parameter(description = "分组ID") @RequestParam(name = "group_id", required = false) Long groupId,
|
||||||
@Parameter(description = "店铺名") @RequestParam(required = false) String shopName,
|
@Parameter(description = "店铺名") @RequestParam(name = "shop_name", required = false) String shopName,
|
||||||
@Parameter(description = "商品 ASIN") @RequestParam(required = false) String asin,
|
@Parameter(description = "商品 ASIN") @RequestParam(name = "asin", required = false) String asin,
|
||||||
@Parameter(description = "国家代码(DE/UK/FR/IT/ES)") @RequestParam(required = false) String country) {
|
@Parameter(description = "国家代码(DE/UK/FR/IT/ES)") @RequestParam(name = "country", required = false) String country) {
|
||||||
AdminUserEntity operator = requireOperator(request);
|
AdminUserEntity operator = requireOperator(request);
|
||||||
byte[] bytes = queryAsinService.export(groupId, shopName, asin, country,
|
byte[] bytes = queryAsinService.export(groupId, shopName, asin, country,
|
||||||
operator.getId(), isSuper(operator));
|
operator.getId(), isSuper(operator));
|
||||||
@@ -106,7 +106,7 @@ public class QueryAsinController {
|
|||||||
public ApiResponse<QueryAsinImportStartVo> importExcel(
|
public ApiResponse<QueryAsinImportStartVo> importExcel(
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@Parameter(description = "xlsx/xls 文件", required = true) @RequestParam("file") MultipartFile file,
|
@Parameter(description = "xlsx/xls 文件", required = true) @RequestParam("file") MultipartFile file,
|
||||||
@Parameter(description = "Excel 未提供分组时使用的分组ID") @RequestParam(required = false) Long groupId) {
|
@Parameter(description = "Excel 未提供分组时使用的分组ID") @RequestParam(name = "group_id", required = false) Long groupId) {
|
||||||
AdminUserEntity operator = requireOperator(request);
|
AdminUserEntity operator = requireOperator(request);
|
||||||
return ApiResponse.success("开始导入",
|
return ApiResponse.success("开始导入",
|
||||||
queryAsinService.startImport(file, groupId, operator.getId(), isSuper(operator)));
|
queryAsinService.startImport(file, groupId, operator.getId(), isSuper(operator)));
|
||||||
|
|||||||
Reference in New Issue
Block a user