| | |
| | | import javax.annotation.Resource; |
| | | import javax.validation.Valid; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.temporal.ChronoUnit; |
| | | |
| | | @Slf4j |
| | |
| | | @ApiOperation(value = "收入统计-折线图") |
| | | @PreAuthorize("@ss.hasPermi('index:manage')") |
| | | public R<IndexLineChartVO> chart(@RequestParam(required = false, defaultValue = "7") Integer days, |
| | | @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd ") LocalDate startDate, |
| | | @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate) { |
| | | @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startTime, |
| | | @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime endTime) { |
| | | // 处理日期范围 |
| | | LocalDate now = LocalDate.now(); |
| | | if (startDate == null || endDate == null) { |
| | | startDate = now.minusDays(days - 1); |
| | | endDate = now; |
| | | LocalDate start; |
| | | LocalDate end ; |
| | | if (startTime == null || endTime == null) { |
| | | start = now.minusDays(days - 1); |
| | | end = now; |
| | | } else { |
| | | // 验证日期范围不超过30天 |
| | | long daysBetween = ChronoUnit.DAYS.between(startDate, endDate); |
| | | long daysBetween = ChronoUnit.DAYS.between(startTime, endTime); |
| | | start=startTime.toLocalDate(); |
| | | end = endTime.toLocalDate(); |
| | | if (daysBetween > 30) { |
| | | endDate = startDate.plusDays(30); |
| | | endTime = startTime.plusDays(30); |
| | | } |
| | | } |
| | | return R.ok(orderService.chart(startDate,endDate)); |
| | | return R.ok(orderService.chart(start,end)); |
| | | } |
| | | |
| | | |