添加热门城市 行业 地区

This commit is contained in:
zk
2026-08-05 12:09:48 +08:00
parent 243b1ffc5a
commit 5074297775
7 changed files with 202 additions and 0 deletions
@@ -8,6 +8,9 @@ import org.jiayunet.pojo.dto.job.JobDetailDto;
import org.jiayunet.pojo.dto.job.JobDto;
import org.jiayunet.pojo.dto.job.JobAgentRecommendDto;
import org.jiayunet.pojo.param.job.*;
import org.jiayunet.pojo.vo.HotCityVo;
import org.jiayunet.pojo.vo.HotIndustryVo;
import org.jiayunet.pojo.vo.HotJobCategoryVo;
import org.jiayunet.pojo.vo.JobApplyCountVo;
import java.util.List;
import org.jiayunet.pojo.vo.JobFavoriteCountVo;
@@ -64,6 +67,39 @@ public class JobController {
return jobService.countJobs(param, userId);
}
/**
* 岗位热门行业
* <p>按上架岗位数量倒序返回二级行业,接口允许不登录访问</p>
*
* @param limit 返回条数,默认10
*/
@GetMapping("/industry/hot")
public List<HotIndustryVo> listHotIndustries(@RequestParam(required = false, defaultValue = "10") Integer limit) {
return jobService.listHotIndustries(limit);
}
/**
* 热门岗位类型
* <p>按上架岗位数量倒序返回二级岗位类型,接口允许不登录访问</p>
*
* @param limit 返回条数,默认10
*/
@GetMapping("/category/hot")
public List<HotJobCategoryVo> listHotJobCategories(@RequestParam(required = false, defaultValue = "10") Integer limit) {
return jobService.listHotJobCategories(limit);
}
/**
* 热门城市
* <p>按上架岗位数量倒序返回城市,接口允许不登录访问</p>
*
* @param limit 返回条数,默认10
*/
@GetMapping("/city/hot")
public List<HotCityVo> listHotCities(@RequestParam(required = false, defaultValue = "10") Integer limit) {
return jobService.listHotCities(limit);
}
/**
* 岗位详情
* <p>返回岗位完整信息、公司信息、匹配度、收藏状态</p>
@@ -22,6 +22,9 @@ import org.jiayunet.pojo.po.*;
import org.jiayunet.tool.HttpTool;
import org.jiayunet.exception.BusinessException;
import org.jiayunet.exception.BusinessExpCodeEnum;
import org.jiayunet.pojo.vo.HotCityVo;
import org.jiayunet.pojo.vo.HotIndustryVo;
import org.jiayunet.pojo.vo.HotJobCategoryVo;
import org.jiayunet.pojo.vo.JobApplyCountVo;
import org.jiayunet.pojo.vo.JobFavoriteCountVo;
import org.jiayunet.pojo.vo.JobListItemVo;
@@ -204,6 +207,33 @@ public class JobService {
return total == null ? 0L : total;
}
/**
* 热门行业查询(二级行业)
* <p>岗位关联公司、公司关联行业(bg_industry level=2),按上架岗位数量倒序取前 limit 个</p>
* <p>只返回行业ID和名称,岗位数量仅用于排序不对外暴露</p>
*/
public List<HotIndustryVo> listHotIndustries(Integer limit) {
return jobMapper.selectHotIndustries(limit);
}
/**
* 热门岗位类型查询(二级岗位类型)
* <p>bg_job.category_id 存三级叶子,SQL 内自关联上溯到二级后按二级分组,按上架岗位数量倒序取前 limit 个</p>
* <p>只返回岗位类型ID和名称,岗位数量仅用于排序不对外暴露</p>
*/
public List<HotJobCategoryVo> listHotJobCategories(Integer limit) {
return jobMapper.selectHotJobCategories(limit);
}
/**
* 热门城市查询
* <p>岗位关联公司、公司关联地区,按上架岗位数量倒序取前 limit 个</p>
* <p>只返回地区编码和名称,岗位数量仅用于排序不对外暴露</p>
*/
public List<HotCityVo> listHotCities(Integer limit) {
return jobMapper.selectHotCities(limit);
}
/**
* 扩展地区编码(包含自身和所有子级)
* <p>一次查询:code本身 + provinceCode匹配 + cityCode匹配</p>