package com.ruoyi.cms.controller; import com.ruoyi.cms.domain.dto.QueryParamDto; import com.ruoyi.cms.service.AnalysisJobDemandTreadService; import com.ruoyi.common.core.domain.AjaxResult; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 岗位需求趋势变化分析 * * @author 马宝龙 * @date 2026/6/26 */ @RestController @RequestMapping("/analysis/jobDemandTread") @RequiredArgsConstructor public class AnalysisJobDemandTreadController { private final AnalysisJobDemandTreadService analysisJobDemandTreadService; /** * 数据总览 * * @param dto 查询参数 * @return 数据总览 */ @PostMapping("/overview") public AjaxResult overview(@RequestBody QueryParamDto dto) { return AjaxResult.success(analysisJobDemandTreadService.overview(dto)); } /** * 宏观经济与岗位需求关联 * * @param dto 查询参数 * @return 结果列表 */ @PostMapping("/economyAndJobDemandCorrelation") public AjaxResult economyAndJobDemandCorrelation(@RequestBody QueryParamDto dto) { return AjaxResult.success(analysisJobDemandTreadService.economyAndJobDemandCorrelation(dto)); } /** * 热门岗位Top10排名 * * @param dto 查询参数 * @return 结果列表 */ @PostMapping("/hotJobRank") public AjaxResult hotJobRank(@RequestBody QueryParamDto dto) { return AjaxResult.success(analysisJobDemandTreadService.hotJobRank(dto)); } /** * GDP与岗位需求相关性分析 * * @param dto 查询参数 * @return 结果列表 */ @PostMapping("/gdpAndJobDemandCorrelation") public AjaxResult gdpAndJobDemandCorrelation(@RequestBody QueryParamDto dto) { return AjaxResult.success(analysisJobDemandTreadService.gdpAndJobDemandCorrelation(dto)); } /** * 岗位类型占比变化趋势 * * @param dto 查询参数 * @return 趋势数据 */ @PostMapping("/jobTypePercentageTread") public AjaxResult jobTypePercentageTread(@RequestBody QueryParamDto dto) { return AjaxResult.success(analysisJobDemandTreadService.jobTypePercentageTread(dto)); } /** * 岗位需求总量 * * @param dto 查询参数 * @return 趋势数据 */ @PostMapping("/jobDemandCountTread") public AjaxResult jobDemandCountTread(@RequestBody QueryParamDto dto) { return AjaxResult.success(analysisJobDemandTreadService.jobDemandCountTread(dto)); } /** * 查询职业列表 * * @return 职业列表 */ @GetMapping("/occupationList") public AjaxResult occupationList() { return AjaxResult.success(analysisJobDemandTreadService.occupationList()); } /** * 技能关键词 * * @param dto 查询参数 * @return 结果列表 */ @PostMapping("/skillKeyword") public AjaxResult skillKeyword(@RequestBody QueryParamDto dto) { return AjaxResult.success(analysisJobDemandTreadService.skillKeyword(dto)); } /** * 热力图 * * @param dto 查询参数 * @return 热力图列表 */ @PostMapping("/heatmap") public AjaxResult heatmap(@RequestBody QueryParamDto dto) { return AjaxResult.success(analysisJobDemandTreadService.heatmap(dto)); } }