岗位- AI问题业务逻辑完善

This commit is contained in:
2025-12-14 15:42:14 +08:00
parent 37766b1a05
commit e18371ddb8
15 changed files with 730 additions and 8 deletions

View File

@@ -0,0 +1,96 @@
package com.vetti.web.controller.hotake;
import com.vetti.common.annotation.Log;
import com.vetti.common.core.controller.BaseController;
import com.vetti.common.core.domain.R;
import com.vetti.common.core.page.TableWebDataInfo;
import com.vetti.common.enums.BusinessType;
import com.vetti.hotake.domain.HotakeAiInterviewQuestionsInfo;
import com.vetti.hotake.service.IHotakeAiInterviewQuestionsInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* AI面试问题信息Controller
*
* @author wangxiangshun
* @date 2025-12-14
*/
@Api(tags ="AI面试问题信息")
@RestController
@RequestMapping("/hotake/aiInterviewQuestionsInfo")
public class HotakeAiInterviewQuestionsInfoController extends BaseController
{
@Autowired
private IHotakeAiInterviewQuestionsInfoService hotakeAiInterviewQuestionsInfoService;
/**
* 查询AI面试问题信息列表
*/
@ApiOperation("查询AI面试问题信息列表")
@GetMapping("/getPageList")
public TableWebDataInfo<HotakeAiInterviewQuestionsInfo> pageList(HotakeAiInterviewQuestionsInfo hotakeAiInterviewQuestionsInfo)
{
startPage();
List<HotakeAiInterviewQuestionsInfo> list = hotakeAiInterviewQuestionsInfoService.selectHotakeAiInterviewQuestionsInfoList(hotakeAiInterviewQuestionsInfo);
return getWebDataTable(list);
}
/**
* 查询AI面试问题信息列表(无分页)
*/
@ApiOperation("查询AI面试问题信息列表(无分页)")
@GetMapping("/getList")
public R<List<HotakeAiInterviewQuestionsInfo>> list(HotakeAiInterviewQuestionsInfo hotakeAiInterviewQuestionsInfo)
{
List<HotakeAiInterviewQuestionsInfo> list = hotakeAiInterviewQuestionsInfoService.selectHotakeAiInterviewQuestionsInfoList(hotakeAiInterviewQuestionsInfo);
return R.ok(list);
}
/**
* 获取AI面试问题信息详细信息
*/
@ApiOperation("获取AI面试问题信息详细信息")
@GetMapping(value = "/{id}")
public R<HotakeAiInterviewQuestionsInfo> getInfo(@PathVariable("id") Long id)
{
return R.ok(hotakeAiInterviewQuestionsInfoService.selectHotakeAiInterviewQuestionsInfoById(id));
}
/**
* 新增AI面试问题信息
*/
@ApiOperation("新增AI面试问题信息")
@Log(title = "AI面试问题信息", businessType = BusinessType.INSERT)
@PostMapping
public R<?> add(@RequestBody HotakeAiInterviewQuestionsInfo hotakeAiInterviewQuestionsInfo)
{
return R.ok(hotakeAiInterviewQuestionsInfoService.insertHotakeAiInterviewQuestionsInfo(hotakeAiInterviewQuestionsInfo));
}
/**
* 修改AI面试问题信息
*/
@ApiOperation("修改AI面试问题信息")
@Log(title = "AI面试问题信息", businessType = BusinessType.UPDATE)
@PutMapping
public R<?> edit(@RequestBody HotakeAiInterviewQuestionsInfo hotakeAiInterviewQuestionsInfo)
{
return R.ok(hotakeAiInterviewQuestionsInfoService.updateHotakeAiInterviewQuestionsInfo(hotakeAiInterviewQuestionsInfo));
}
/**
* 删除AI面试问题信息
*/
@ApiOperation("删除AI面试问题信息")
@Log(title = "AI面试问题信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<?> remove(@PathVariable Long[] ids)
{
return R.ok(hotakeAiInterviewQuestionsInfoService.deleteHotakeAiInterviewQuestionsInfoByIds(ids));
}
}

View File

@@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletResponse;
import com.vetti.common.core.domain.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@@ -77,12 +78,13 @@ public class SysDictDataController extends BaseController
/**
* 根据字典类型查询字典数据信息
*/
@ApiOperation("根据字典类型查询字典数据信息(hotake_languages_type:语言类型,hotake_skills_tool_type:技能工具类型," +
"role_level:岗位级别,role_location_type:岗位地点类型,role_select_job_type:岗位选择工作类型,role_type:岗位类型," +
"role_required_skills:所需技能,role_nice_to_have_skills:加分技能,role_education_requirements_type:教育要求类型," +
"role_certification_licenses:岗位所需证书,role_benefits:岗位福利,role_publishing_channels:发布渠道)")
@ApiOperation("根据字典类型查询字典数据信息")
@GetMapping(value = "/type/{dictType}")
public R<List<SysDictData>> dictType(@PathVariable String dictType)
public R<List<SysDictData>> dictType(@ApiParam("(hotake_languages_type:语言类型,hotake_skills_tool_type:技能工具类型," +
" role_level:岗位级别,role_location_type:岗位地点类型,role_select_job_type:岗位选择工作类型,role_type:岗位类型," +
" role_required_skills:所需技能,role_nice_to_have_skills:加分技能,role_education_requirements_type:教育要求类型," +
" role_certification_licenses:岗位所需证书,role_benefits:岗位福利,role_publishing_channels:发布渠道," +
"role_initial_screening_questions_type:初始化筛选问题类型,role_recruiter_voice_avatar:招聘AI语音和虚拟形象)") @PathVariable String dictType)
{
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
if (StringUtils.isNull(data))