package com.eactive.ext.kjb.statistics; import java.util.List; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import com.eactive.eai.rms.common.vo.GridResponse; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsMinute; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsMinuteService; import com.eactive.ext.kjb.statistics.mapping.ApiStatsUIMapper; import com.eactive.ext.kjb.statistics.ui.ApiStatsChartUI; import com.eactive.ext.kjb.statistics.ui.ApiStatsSearch; import com.eactive.ext.kjb.statistics.ui.ApiStatsUI; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @Slf4j @Controller @RequiredArgsConstructor public class ApiStatsMinuteController { private final ApiStatsMinuteService service; private final ApiStatsUIMapper mapper; @GetMapping(value = "/onl/kjb/statistics/apiStatsMinuteMan.view") public String view() { return "/onl/kjb/statistics/apiStatsMinuteMan"; } @PostMapping(value = "/onl/kjb/statistics/apiStatsMinuteMan.json", params = "cmd=LIST") public ResponseEntity> selectList(ApiStatsSearch search, Pageable pageable) { Pageable sortedPageable = PageRequest.of( pageable.getPageNumber(), pageable.getPageSize(), Sort.by(Sort.Order.desc("statTime"))); Page page = service.selectList(search, sortedPageable); Page uiPage = page.map(mapper::toVo); return ResponseEntity.ok(new GridResponse<>(uiPage)); } @PostMapping(value = "/onl/kjb/statistics/apiStatsMinuteMan.json", params = "cmd=CHART") public ResponseEntity> selectChartData(ApiStatsSearch search) { List chartData = service.selectChartData(search); return ResponseEntity.ok(chartData); } }