新增面试邀约功能

This commit is contained in:
francis-fh
2026-06-24 09:31:29 +08:00
parent 7d5ad10883
commit a3cd9b0277
8 changed files with 461 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
package com.ruoyi.cms.controller.app;
import com.ruoyi.cms.domain.InterviewInvitation;
import com.ruoyi.cms.service.InterviewInvitationService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.SiteSecurityUtils;
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;
/**
* 移动端:面试邀约
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
@RestController
@RequestMapping("/app/interview")
@Api(tags = "移动端:面试邀约")
public class AppInterviewController extends BaseController {
@Autowired
private InterviewInvitationService interviewInvitationService;
/**
* 我的面试邀约列表
*/
@ApiOperation("我的面试邀约列表")
@GetMapping("/list")
public TableDataInfo list(){
InterviewInvitation query = new InterviewInvitation();
query.setUserId(SiteSecurityUtils.getUserId());
startPage();
List<InterviewInvitation> list = interviewInvitationService.getInterviewInvitationList(query);
return getDataTable(list);
}
/**
* 获取详细信息
*/
@ApiOperation("面试邀约详情")
@GetMapping("/{id}")
public AjaxResult getInfo(@PathVariable Long id){
return AjaxResult.success(interviewInvitationService.getInterviewInvitationById(id));
}
/**
* 更新面试邀约状态(接受/拒绝)
*/
@ApiOperation("更新面试邀约状态")
@PutMapping("/status/{id}")
public AjaxResult updateStatus(@PathVariable Long id, @RequestParam String status){
return toAjax(interviewInvitationService.updateInterviewStatus(id, status));
}
}

View File

@@ -0,0 +1,80 @@
package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.domain.InterviewInvitation;
import com.ruoyi.cms.service.InterviewInvitationService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 面试邀约
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
@RestController
@RequestMapping("/cms/interview")
@Api(tags = "后台:面试邀约")
public class CmsInterviewController extends BaseController {
@Autowired
private InterviewInvitationService interviewInvitationService;
/**
* 列表
*/
@ApiOperation("面试邀约列表")
@PreAuthorize("@ss.hasPermi('cms:interview:list')")
@GetMapping("/list")
public TableDataInfo list(InterviewInvitation interviewInvitation){
startPage();
List<InterviewInvitation> list = interviewInvitationService.getInterviewInvitationList(interviewInvitation);
return getDataTable(list);
}
/**
* 保存
*/
@ApiOperation("新增面试邀约")
@PreAuthorize("@ss.hasPermi('cms:interview:add')")
@Log(title = "面试邀约", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody InterviewInvitation interviewInvitation){
return toAjax(interviewInvitationService.insertInterviewInvitation(interviewInvitation));
}
@ApiOperation("修改面试邀约")
@PreAuthorize("@ss.hasPermi('cms:interview:edit')")
@Log(title = "面试邀约", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody InterviewInvitation interviewInvitation){
return toAjax(interviewInvitationService.updateInterviewInvitation(interviewInvitation));
}
@ApiOperation("删除面试邀约")
@PreAuthorize("@ss.hasPermi('cms:interview:remove')")
@Log(title = "面试邀约", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(interviewInvitationService.deleteInterviewInvitationIds(ids));
}
@ApiOperation("面试邀约详情")
@PreAuthorize("@ss.hasPermi('cms:interview:query')")
@GetMapping("/{id}")
public AjaxResult getInfo(@PathVariable Long id)
{
return AjaxResult.success(interviewInvitationService.getInterviewInvitationById(id));
}
}