| | |
| | | import com.mzl.flower.dto.request.report.QueryOrderDTO; |
| | | import com.mzl.flower.dto.response.report.OrderReportCalendarBO; |
| | | import com.mzl.flower.dto.response.report.OrderReportResultVO; |
| | | import com.mzl.flower.mapper.report.OrderReportMapper; |
| | | import com.mzl.flower.service.calendar.CalendarService; |
| | | import com.mzl.flower.service.report.OrderReportService; |
| | | import com.mzl.flower.utils.ExcelExportUtil; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.LocalTime; |
| | | import java.util.ArrayList; |
| | | import java.util.Calendar; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | |
| | | @Autowired |
| | | private CalendarService calendarService; |
| | | |
| | | @Autowired |
| | | private OrderReportMapper orderReportMapper; |
| | | |
| | | |
| | | |
| | | @Override |
| | | public Page<OrderReportResultVO> getSalePage(Page page, QueryOrderDTO dto) { |
| | | |
| | | List<OrderReportCalendarBO> calendarBOList= calendarService.getOrderDatePage(page,dto); |
| | | |
| | | final List<OrderReportResultVO> list = calendarBOList.stream().map(calendarBO -> { |
| | | OrderReportResultVO vo=new OrderReportResultVO(); |
| | | BeanUtils.copyProperties(dto,calendarBO); |
| | | OrderReportResultVO vo2=orderReportMapper.getOrderDateReport(calendarBO); |
| | | vo2.setOrderDate(calendarBO.getCalDate()); |
| | | |
| | | return vo; |
| | | return vo2; |
| | | }).collect(Collectors.toList()); |
| | | |
| | | page.setRecords(list); |
| | | return page; |
| | | } |
| | | |
| | | @Override |
| | | public OrderReportResultVO getSaleStatis(QueryOrderDTO dto) { |
| | | // 计算开始时间和结束时间 |
| | | |
| | | OrderReportCalendarBO bo=new OrderReportCalendarBO(); |
| | | BeanUtils.copyProperties(dto,bo); |
| | | bo.setStartDate(calculateStartTime(dto.getStartDate())); |
| | | bo.setEndDate(calculateEndTime(dto.getEndDate())); |
| | | OrderReportResultVO vo2=orderReportMapper.getOrderDateReport(bo); |
| | | |
| | | return vo2; |
| | | } |
| | | |
| | | @Override |
| | | public void exportSalesList(HttpServletResponse response, QueryOrderDTO dto) { |
| | | |
| | | } |
| | | |
| | | |
| | | // 计算 startDate 的前一天 17:00:00 |
| | | public static LocalDateTime calculateStartTime(LocalDate startDate) { |
| | | LocalDate previousDay = startDate.minusDays(1); |
| | | LocalTime fivePM = LocalTime.of(17, 0, 0); // 下午 17:00:00 |
| | | return LocalDateTime.of(previousDay, fivePM); |
| | | } |
| | | |
| | | // 计算 endDate 当天的 17:00:00 |
| | | public static LocalDateTime calculateEndTime(LocalDate endDate) { |
| | | LocalTime fivePM = LocalTime.of(17, 0, 0); // 下午 17:00:00 |
| | | return LocalDateTime.of(endDate, fivePM); |
| | | } |
| | | } |