统计交易金额
This commit is contained in:
@@ -411,6 +411,64 @@ public class LbDailyUserTradeReportController {
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/stats/user-trade-with-team/by-date-range-and-tenant")
|
||||
@Operation(summary = "按日期范围统计本人及递归下级交易金额", description = "根据开始日期、结束日期、租户ID,基于 lb_department_user 上下级(parent_id 为父用户 user_id)与 lb_daily_user_trade_report,对 yestoday_buy_amt、daily_sell_amt、daily_buy_amt、diff_amt 四类分别汇总 own*/team*/total*(team 为全部下级递归,不含本人);不含 data_type=report_sum")
|
||||
public ResponseEntity<Map<String, Object>> statsUserTradeWithTeamByDateRangeAndTenant(
|
||||
@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 tenantId) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
if (tenantId == null || tenantId.trim().isEmpty()) {
|
||||
result.put("success", false);
|
||||
result.put("message", "tenantId不能为空");
|
||||
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);
|
||||
}
|
||||
|
||||
Map<String, Object> serviceResult = lbDailyUserTradeReportService
|
||||
.listUserTradeAmountWithTeamByDateRangeAndTenant(parsedStartDate, parsedEndDate, tenantId.trim());
|
||||
Boolean success = (Boolean) serviceResult.get("success");
|
||||
if (Boolean.FALSE.equals(success)) {
|
||||
return ResponseEntity.badRequest().body(serviceResult);
|
||||
}
|
||||
return ResponseEntity.ok(serviceResult);
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("message", "统计异常:" + e.getMessage());
|
||||
return ResponseEntity.internalServerError().body(result);
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/calculate-report-sum/by-date-and-tenant")
|
||||
@Operation(summary = "按日期和租户汇总报表", description = "根据报表日期和租户ID汇总报表字段并新增一条 report_sum 记录")
|
||||
public ResponseEntity<Map<String, Object>> calculateReportSumByDateAndTenant(
|
||||
|
||||
Reference in New Issue
Block a user