检查未寄卖的逻辑
This commit is contained in:
@@ -336,6 +336,81 @@ public class LbDailyUserTradeReportController {
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/list/yestoday-buy-positive-and-daily-sell-zero")
|
||||
@Operation(summary = "按日期范围查询昨日买入大于0且当日卖出为0的报表", description = "根据开始日期、结束日期和租户ID查询 reportDate 范围内 yestodayBuyAmt > 0 且 dailySellAmt = 0 的记录")
|
||||
public ResponseEntity<Map<String, Object>> listByDateRangeWithBuyPositiveAndSellZero(
|
||||
@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);
|
||||
}
|
||||
|
||||
if (parsedEndDate.isBefore(parsedStartDate)) {
|
||||
result.put("success", false);
|
||||
result.put("message", "endDate不能早于startDate");
|
||||
return ResponseEntity.badRequest().body(result);
|
||||
}
|
||||
|
||||
LocalDateTime start = parsedStartDate.atStartOfDay();
|
||||
LocalDateTime end = parsedEndDate.atTime(23, 59, 59);
|
||||
|
||||
LambdaQueryWrapper<LbDailyUserTradeReport> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(LbDailyUserTradeReport::getTenantId, tenantId.trim())
|
||||
.ge(LbDailyUserTradeReport::getReportDate, start)
|
||||
.le(LbDailyUserTradeReport::getReportDate, end)
|
||||
.gt(LbDailyUserTradeReport::getYestodayBuyAmt, BigDecimal.ZERO)
|
||||
.eq(LbDailyUserTradeReport::getDailySellAmt, BigDecimal.ZERO)
|
||||
.orderByDesc(LbDailyUserTradeReport::getReportDate)
|
||||
.orderByDesc(LbDailyUserTradeReport::getCreatedAt);
|
||||
|
||||
List<LbDailyUserTradeReport> rows = lbDailyUserTradeReportService.list(queryWrapper);
|
||||
result.put("success", true);
|
||||
result.put("message", "查询成功");
|
||||
result.put("data", rows);
|
||||
result.put("total", rows.size());
|
||||
return ResponseEntity.ok(result);
|
||||
} 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(
|
||||
|
||||
@@ -414,10 +414,7 @@ public class LbDailyUserTradeServiceImpl extends ServiceImpl<LbDailyUserTradeMap
|
||||
}
|
||||
}
|
||||
if (userId.isEmpty()) {
|
||||
userId = nickname;
|
||||
}
|
||||
if (userId.isEmpty()) {
|
||||
userId = "AUTO_" + UUID.randomUUID().toString().replace("-", "");
|
||||
userId = "AUTO_USERID_" + UUID.randomUUID().toString().replace("-", "");
|
||||
}
|
||||
|
||||
LbDailyUserTrade trade = new LbDailyUserTrade();
|
||||
|
||||
Reference in New Issue
Block a user