给树形结构添加查询交易明细的功能
This commit is contained in:
@@ -2,6 +2,7 @@ package com.rj.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.rj.entity.LbDailyUserTrade;
|
||||
import com.rj.entity.LbDailyUserTradeReport;
|
||||
import com.rj.service.ILbDailyUserTradeReportService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -224,6 +225,143 @@ public class LbDailyUserTradeReportController {
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/list/daily-user-trade/by-user-id-and-date-range")
|
||||
@Operation(summary = "按用户ID和日期范围分页查询交易明细", description = "根据开始日期、结束日期和用户ID,从lb_daily_user_trade分页查询交易数据")
|
||||
public ResponseEntity<Map<String, Object>> listDailyUserTradeByUserIdAndDateRange(
|
||||
@Parameter(description = "页码", example = "1") @RequestParam(defaultValue = "1") Integer current,
|
||||
@Parameter(description = "每页大小", example = "10") @RequestParam(defaultValue = "10") Integer size,
|
||||
@Parameter(description = "开始日期,格式:yyyy-MM-dd", required = true) @RequestParam String startDate,
|
||||
@Parameter(description = "结束日期,格式:yyyy-MM-dd", required = true) @RequestParam String endDate,
|
||||
@Parameter(description = "用户ID", required = true) @RequestParam String userId) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
if (userId == null || userId.trim().isEmpty()) {
|
||||
result.put("success", false);
|
||||
result.put("message", "userId不能为空");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
if (startDate == null || startDate.trim().isEmpty()) {
|
||||
result.put("success", false);
|
||||
result.put("message", "startDate不能为空");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
if (endDate == null || endDate.trim().isEmpty()) {
|
||||
result.put("success", false);
|
||||
result.put("message", "endDate不能为空");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
|
||||
LocalDate parsedStartDate;
|
||||
LocalDate parsedEndDate;
|
||||
try {
|
||||
parsedStartDate = LocalDate.parse(startDate.trim());
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("message", "startDate格式错误,请使用 yyyy-MM-dd");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
try {
|
||||
parsedEndDate = LocalDate.parse(endDate.trim());
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("message", "endDate格式错误,请使用 yyyy-MM-dd");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
if (parsedEndDate.isBefore(parsedStartDate)) {
|
||||
result.put("success", false);
|
||||
result.put("message", "endDate不能早于startDate");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
|
||||
Page<LbDailyUserTrade> page = lbDailyUserTradeReportService.pageDailyUserTradeByUserIdAndDateRange(
|
||||
parsedStartDate, parsedEndDate, userId.trim(), current, size);
|
||||
|
||||
result.put("success", true);
|
||||
result.put("message", "查询成功");
|
||||
result.put("data", page.getRecords());
|
||||
result.put("total", page.getTotal());
|
||||
result.put("current", page.getCurrent());
|
||||
result.put("size", page.getSize());
|
||||
result.put("pages", page.getPages());
|
||||
return ResponseEntity.ok(result);
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("message", "查询异常:" + e.getMessage());
|
||||
return ResponseEntity.internalServerError().body(result);
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/list/daily-user-trade/by-parent-id-of-user-and-date-range")
|
||||
@Operation(summary = "按用户ID和日期范围分页查询父节点的交易明细",
|
||||
description = "根据用户ID查询lb_department_user的parent_id,再按user_id=parent_id从lb_daily_user_trade分页查询指定日期范围交易数据")
|
||||
public ResponseEntity<Map<String, Object>> listDailyUserTradeByParentIdOfUserAndDateRange(
|
||||
@Parameter(description = "页码", example = "1") @RequestParam(defaultValue = "1") Integer current,
|
||||
@Parameter(description = "每页大小", example = "10") @RequestParam(defaultValue = "10") Integer size,
|
||||
@Parameter(description = "开始日期,格式:yyyy-MM-dd", required = true) @RequestParam String startDate,
|
||||
@Parameter(description = "结束日期,格式:yyyy-MM-dd", required = true) @RequestParam String endDate,
|
||||
@Parameter(description = "用户ID", required = true) @RequestParam String userId) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
if (userId == null || userId.trim().isEmpty()) {
|
||||
result.put("success", false);
|
||||
result.put("message", "userId不能为空");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
if (startDate == null || startDate.trim().isEmpty()) {
|
||||
result.put("success", false);
|
||||
result.put("message", "startDate不能为空");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
if (endDate == null || endDate.trim().isEmpty()) {
|
||||
result.put("success", false);
|
||||
result.put("message", "endDate不能为空");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
|
||||
LocalDate parsedStartDate;
|
||||
LocalDate parsedEndDate;
|
||||
try {
|
||||
parsedStartDate = LocalDate.parse(startDate.trim());
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("message", "startDate格式错误,请使用 yyyy-MM-dd");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
try {
|
||||
parsedEndDate = LocalDate.parse(endDate.trim());
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("message", "endDate格式错误,请使用 yyyy-MM-dd");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
if (parsedEndDate.isBefore(parsedStartDate)) {
|
||||
result.put("success", false);
|
||||
result.put("message", "endDate不能早于startDate");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
|
||||
Page<LbDailyUserTrade> page = lbDailyUserTradeReportService.pageDailyUserTradeByParentIdOfUserAndDateRange(
|
||||
parsedStartDate, parsedEndDate, userId.trim(), current, size);
|
||||
|
||||
result.put("success", true);
|
||||
result.put("message", "查询成功");
|
||||
result.put("data", page.getRecords());
|
||||
result.put("total", page.getTotal());
|
||||
result.put("current", page.getCurrent());
|
||||
result.put("size", page.getSize());
|
||||
result.put("pages", page.getPages());
|
||||
return ResponseEntity.ok(result);
|
||||
} catch (IllegalArgumentException e) {
|
||||
result.put("success", false);
|
||||
result.put("message", e.getMessage());
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("message", "查询异常:" + e.getMessage());
|
||||
return ResponseEntity.internalServerError().body(result);
|
||||
}
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "修改报表记录", description = "根据ID修改当天用户交易报表记录")
|
||||
public ResponseEntity<Map<String, Object>> update(@RequestBody LbDailyUserTradeReport tradeReport) {
|
||||
|
||||
Reference in New Issue
Block a user