package com.smppw.analysis.client; import com.smppw.analysis.application.dto.performance.*; import com.smppw.analysis.application.service.performance.FundPerformanceService; import com.smppw.analysis.domain.dto.performance.WinVO; import com.smppw.common.pojo.ResultVo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; /** * @author wangzaijun * @date 2023/8/7 15:52 * @description 业绩表现api */ @RestController @RequestMapping("/v1/api/performance") public class FundPerformanceApi { private final FundPerformanceService service; public FundPerformanceApi(FundPerformanceService service) { this.service = service; } @GetMapping("indicator") public Map indicator(IndicatorReq req) { return this.service.calcIndicator(req); } @GetMapping("trend") public ResultVo> trend(TrendReq req) { Map data = this.service.trend(req); return ResultVo.ok(data); } @GetMapping("imf-trend") public ResultVo> imfTrend(ImfTrendReq req) { Map data = this.service.imfTrend(req); return ResultVo.ok(data); } @GetMapping("dynamic-down") public ResultVo> dynamicDown(DrawdownTrendReq req) { Map data = this.service.dynamicDown(req); return ResultVo.ok(data); } @GetMapping("correlation") public ResultVo> cor(CorrelationReq req) { Map data = this.service.cor(req); return ResultVo.ok(data); } @GetMapping("win") public ResultVo win(WinReq req) { WinVO data = this.service.win(req); return ResultVo.ok(data); } @GetMapping("revenue") public ResultVo> revenue(RevenueReq req) { Map data = this.service.revenue(req); return ResultVo.ok(data); } @GetMapping("interval") public ResultVo> interval(IntervalReq req) { Map data = this.service.interval(req); return ResultVo.ok(data); } @GetMapping("rolling") public ResultVo> rolling(RollingReq req) { Map data = this.service.rolling(req); return ResultVo.ok(data); } @GetMapping("rank") public ResultVo> rank(RankReq req) { Map data = this.service.rank(req); return ResultVo.ok(data); } }