1.我的简历-用户工作经历表

2.敏感词库
3.新入职员工确认信息等对应后台功能
This commit is contained in:
sh
2025-10-10 18:45:44 +08:00
parent 27746bd727
commit 2f28aa9c4d
24 changed files with 852 additions and 5 deletions

View File

@@ -1,18 +1,20 @@
package com.ruoyi.cms.controller.app;
import com.ruoyi.cms.domain.File;
import com.ruoyi.cms.service.IFileService;
import com.ruoyi.common.annotation.BussinessLog;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@RestController
@RequestMapping("/app/file")
public class AppFileController {
public class AppFileController extends BaseController {
@Autowired
private IFileService fileService;
@BussinessLog(title = "上传文件")
@@ -20,4 +22,12 @@ public class AppFileController {
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "bussinessId",required = false) Long bussinessId) {
return fileService.uploadFile(file,bussinessId);
}
@BussinessLog(title = "获取附件列表")
@GetMapping("/list")
public TableDataInfo list(File file)
{
List<File> results = fileService.selectFileList(file);
return getDataTable(results);
}
}

View File

@@ -0,0 +1,71 @@
package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.domain.EmployeeConfirm;
import com.ruoyi.cms.service.EmployeeConfirmService;
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/employeeConfirm")
@Api(tags = "后台:新入职员工确认信息")
public class EmployeeConfirmController extends BaseController {
@Autowired
private EmployeeConfirmService employeeConfirmService;
/**
* 列表
*/
@ApiOperation("新入职员工确认信息列表")
@PreAuthorize("@ss.hasPermi('cms:employeeConfirm:list')")
@RequestMapping("/list")
public TableDataInfo list(EmployeeConfirm employeeConfirm){
List<EmployeeConfirm> list=employeeConfirmService.getEmployeeConfirmList(employeeConfirm);
return getDataTable(list);
}
/**
* 保存
*/
@ApiOperation("新增新入职员工确认信息")
@PreAuthorize("@ss.hasPermi('cms:employeeConfirm:add')")
@Log(title = "职员工确认信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody EmployeeConfirm employeeConfirm){
return toAjax(employeeConfirmService.insertEmployeeConfirm(employeeConfirm));
}
@ApiOperation("修改新入职员工确认信息")
@PreAuthorize("@ss.hasPermi('cms:employeeConfirm:edit')")
@Log(title = "职员工确认信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody EmployeeConfirm employeeConfirm){
return toAjax(employeeConfirmService.updateEmployeeConfirm(employeeConfirm));
}
@ApiOperation("删除新入职员工确认信息")
@PreAuthorize("@ss.hasPermi('app:employeeConfirm:remove')")
@Log(title = "公司", businessType = BusinessType.DELETE)
@DeleteMapping("/{employeeConfirmIds}")
public AjaxResult remove(@PathVariable Long[] employeeConfirmIds)
{
return toAjax(employeeConfirmService.deleteEmployeeConfirmIds(employeeConfirmIds));
}
}

View File

@@ -0,0 +1,29 @@
package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.domain.JobApply;
import com.ruoyi.cms.service.IJobApplyService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
@RestController
@RequestMapping("/cms/jobApply")
@Api(tags = "后台:岗位申请")
public class JobApplyController extends BaseController {
@Autowired
IJobApplyService iJobApplyService;
@GetMapping("/trendChart")
public AjaxResult trendChart(JobApply jobApply)
{
HashMap<String,Integer> result = iJobApplyService.trendChart(jobApply);
return success(result);
}
}

View File

@@ -0,0 +1,91 @@
package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.domain.SensitiveWordData;
import com.ruoyi.cms.service.SensitiveWordDataService;
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/sensitiveworddata")
@Api(tags = "后台:敏感词库")
public class SensitiveWordDataController extends BaseController {
@Autowired
private SensitiveWordDataService sensitiveWordDataService;
/**
* 列表
*/
@ApiOperation("敏感词库详细信息")
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:list')")
@GetMapping("/list")
public TableDataInfo list(SensitiveWordData sensitiveWordData){
startPage();
List<SensitiveWordData> list = sensitiveWordDataService.selectSensitiveworddataList(sensitiveWordData);
return getDataTable(list);
}
/**
* 获取详细信息
*/
@ApiOperation("获取敏感词库详细信息")
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:query')")
@GetMapping(value = "/{id}")
public AjaxResult list(@PathVariable("id") Long id){
return success(sensitiveWordDataService.selectById(id));
}
/**
* 保存
*/
@ApiOperation("新增敏感词")
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:add')")
@Log(title = "敏感词", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult save(@RequestBody SensitiveWordData sensitiveWordData){
return toAjax(sensitiveWordDataService.insertSensitiveworddata(sensitiveWordData));
}
/**
* 修改
*/
@ApiOperation("修改敏感词")
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:edit')")
@Log(title = "敏感词", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SensitiveWordData sensitiveWordData){
return toAjax(sensitiveWordDataService.updateSensitiveworddata(sensitiveWordData));
}
/**
* 删除敏感词
*/
@ApiOperation("删除敏感词")
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:remove')")
@Log(title = "敏感词", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(sensitiveWordDataService.deleteSensitiveworddataIds(ids));
}
}

View File

@@ -0,0 +1,93 @@
package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.domain.UserWorkExperiences;
import com.ruoyi.cms.service.UserWorkExperiencesService;
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 16:26:26
*/
@RestController
@RequestMapping("/cms/userworkexperiences")
@Api(tags = "后台:用户工作经历")
public class UserWorkExperiencesController extends BaseController {
@Autowired
private UserWorkExperiencesService userWorkExperiencesService;
/**
* 列表
*/
@ApiOperation("工作经历列表信息")
@PreAuthorize("@ss.hasPermi('cms:userworkexperiences:list')")
@GetMapping("/list")
public TableDataInfo list(UserWorkExperiences userWorkExperiences){
startPage();
List<UserWorkExperiences> list=userWorkExperiencesService.getWorkExperiencesList(userWorkExperiences);
return getDataTable(list);
}
/**
* 信息
*/
/**
* 获取详细信息
*/
@ApiOperation("获取工作经历详细信息")
@PreAuthorize("@ss.hasPermi('cms:userworkexperiences:query')")
@GetMapping(value = "/{id}")
public AjaxResult query(@PathVariable("id") Long id){
return success(userWorkExperiencesService.getWorkExperiencesById(id));
}
/**
* 保存
*/
@ApiOperation("新增工作经历")
@PreAuthorize("@ss.hasPermi('cms:userworkexperiences:add')")
@Log(title = "工作经历", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody UserWorkExperiences userWorkExperiences){
return toAjax(userWorkExperiencesService.insertWorkExperiences(userWorkExperiences));
}
/**
* 修改
*/
@ApiOperation("修改工作经历")
@PreAuthorize("@ss.hasPermi('cms:userworkexperiences:edit')")
@Log(title = "工作经历", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult update(@RequestBody UserWorkExperiences userWorkExperiences){
return toAjax(userWorkExperiencesService.updateWorkExperiencesById(userWorkExperiences));
}
/**
* 删除
*/
@ApiOperation("删除工作经历")
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:remove')")
@Log(title = "工作经历", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(Long[] ids){
return toAjax(userWorkExperiencesService.deleteWorkExperiencesIds(ids));
}
}

View File

@@ -0,0 +1,66 @@
package com.ruoyi.cms.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 新入职员工确认信息
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
@Data
@TableName("employee_confirm")
public class EmployeeConfirm extends BaseEntity {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
/**
* 企业id
*/
@ApiModelProperty("企业id")
private Long companyId;
/**
* 姓名
*/
@ApiModelProperty("姓名")
private String contactPerson;
/**
* 身份证
*/
@ApiModelProperty("身份证")
private String idCard;
/**
* 入职日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("入职日期")
private Date entryDate;
/**
* 联系电话
*/
@ApiModelProperty("联系电话")
private String contactPersonPhone;
/**
* 劳动合同期限
*/
@ApiModelProperty("劳动合同期限")
private String contractTerm;
}

View File

@@ -0,0 +1,42 @@
package com.ruoyi.cms.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 敏感词库
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
@Data
@TableName("sensitive_word_data")
public class SensitiveWordData extends BaseEntity {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
/**
* 敏感词
*/
@ApiModelProperty("敏感词")
private String sensitiveWord;
/**
* 类型
*/
@ApiModelProperty("类型")
private String type;
}

View File

@@ -0,0 +1,63 @@
package com.ruoyi.cms.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户工作经历表
*
* @author
* @email
* @date 2025-10-10 16:26:26
*/
@Data
@TableName("user_work_experiences")
public class UserWorkExperiences extends BaseEntity {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
/**
* 公司名称
*/
@ApiModelProperty("公司名称")
private String companyName;
/**
* 职务
*/
@ApiModelProperty("职务")
private String position;
/**
* 用户id
*/
@ApiModelProperty("用户id")
private Long userId;
/**
* 开始时间
*/
@ApiModelProperty("开始时间")
private String startDate;
/**
* 截至时间
*/
@ApiModelProperty("截至时间")
private String endDate;
/**
* 描述
*/
@ApiModelProperty("描述")
private String description;
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cms.domain.EmployeeConfirm;
import java.util.List;
/**
* 新入职员工确认信息
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
public interface EmployeeConfirmMapper extends BaseMapper<EmployeeConfirm> {
List<EmployeeConfirm> getEmployeeConfirmList(EmployeeConfirm employeeConfirm);
}

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.HashMap;
import java.util.List;
import com.ruoyi.cms.domain.Job;
@@ -26,4 +28,6 @@ public interface JobApplyMapper extends BaseMapper<JobApply>
List<Job> applyJob(Long userId);
List<CandidateVO> candidates(Long jobId);
HashMap<String,Integer> trendChart(JobApply jobApply);
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cms.domain.SensitiveWordData;
import java.util.List;
/**
* 敏感词库
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
public interface SensitiveWordDataMapper extends BaseMapper<SensitiveWordData> {
List<SensitiveWordData> selectSensitiveworddataList(SensitiveWordData sensitiveWordData);
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cms.domain.UserWorkExperiences;
import java.util.List;
/**
* 用户工作经历表
*
* @author
* @email
* @date 2025-10-10 16:26:26
*/
public interface UserWorkExperiencesMapper extends BaseMapper<UserWorkExperiences> {
List<UserWorkExperiences> getWorkExperiencesList(UserWorkExperiences userWorkExperiences);
}

View File

@@ -0,0 +1,24 @@
package com.ruoyi.cms.service;
import com.ruoyi.cms.domain.EmployeeConfirm;
import java.util.List;
/**
* 新入职员工确认信息
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
public interface EmployeeConfirmService {
List<EmployeeConfirm> getEmployeeConfirmList(EmployeeConfirm employeeConfirm);
int insertEmployeeConfirm(EmployeeConfirm employeeConfirm);
int updateEmployeeConfirm(EmployeeConfirm employeeConfirm);
int deleteEmployeeConfirmIds(Long[] ids);
}

View File

@@ -57,4 +57,6 @@ public interface IJobApplyService
List<Job> applyJob();
HashMap<String, Integer> statistics();
HashMap<String,Integer> trendChart(JobApply jobApply);
}

View File

@@ -0,0 +1,26 @@
package com.ruoyi.cms.service;
import com.ruoyi.cms.domain.SensitiveWordData;
import java.util.List;
/**
* 敏感词库
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
public interface SensitiveWordDataService {
List<SensitiveWordData> selectSensitiveworddataList(SensitiveWordData sensitiveworddata);
SensitiveWordData selectById(Long id);
int insertSensitiveworddata(SensitiveWordData sensitiveWordData);
int updateSensitiveworddata(SensitiveWordData sensitiveWordData);
int deleteSensitiveworddataIds(Long[] ids);
}

View File

@@ -0,0 +1,26 @@
package com.ruoyi.cms.service;
import com.ruoyi.cms.domain.UserWorkExperiences;
import java.util.List;
/**
* 用户工作经历表
*
* @author
* @email
* @date 2025-10-10 16:26:26
*/
public interface UserWorkExperiencesService {
List<UserWorkExperiences> getWorkExperiencesList(UserWorkExperiences userWorkExperiences);
int insertWorkExperiences(UserWorkExperiences userWorkExperiences);
int updateWorkExperiencesById(UserWorkExperiences userWorkExperiences);
int deleteWorkExperiencesIds(Long[] ids);
UserWorkExperiences getWorkExperiencesById(Long id);
}

View File

@@ -0,0 +1,38 @@
package com.ruoyi.cms.service.impl;
import com.ruoyi.cms.domain.EmployeeConfirm;
import com.ruoyi.cms.mapper.EmployeeConfirmMapper;
import com.ruoyi.cms.service.EmployeeConfirmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
@Service
public class EmployeeConfirmServiceImpl implements EmployeeConfirmService {
@Autowired
EmployeeConfirmMapper employeeConfirmMapper;
@Override
public List<EmployeeConfirm> getEmployeeConfirmList(EmployeeConfirm employeeConfirm) {
return employeeConfirmMapper.getEmployeeConfirmList(employeeConfirm);
}
@Override
public int insertEmployeeConfirm(EmployeeConfirm employeeConfirm) {
return employeeConfirmMapper.insert(employeeConfirm);
}
@Override
public int updateEmployeeConfirm(EmployeeConfirm employeeConfirm) {
return employeeConfirmMapper.updateById(employeeConfirm);
}
@Override
public int deleteEmployeeConfirmIds(Long[] ids) {
return employeeConfirmMapper.deleteBatchIds(Arrays.asList(ids));
}
}

View File

@@ -116,4 +116,9 @@ public class JobApplyServiceImpl extends ServiceImpl<JobApplyMapper,JobApply> im
map.put("fairCollecitonCount", fairCollecitonCount);
return map;
}
@Override
public HashMap<String, Integer> trendChart(JobApply jobApply) {
return jobApplyMapper.trendChart(jobApply);
}
}

View File

@@ -0,0 +1,43 @@
package com.ruoyi.cms.service.impl;
import com.ruoyi.cms.domain.SensitiveWordData;
import com.ruoyi.cms.mapper.SensitiveWordDataMapper;
import com.ruoyi.cms.service.SensitiveWordDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
@Service
public class SensitiveWordDataServiceImpl implements SensitiveWordDataService {
@Autowired
SensitiveWordDataMapper sensitiveWordDataMapper;
@Override
public List<SensitiveWordData> selectSensitiveworddataList(SensitiveWordData sensitiveworddata) {
return sensitiveWordDataMapper.selectSensitiveworddataList(sensitiveworddata);
}
@Override
public SensitiveWordData selectById(Long id) {
return sensitiveWordDataMapper.selectById(id);
}
@Override
public int insertSensitiveworddata(SensitiveWordData sensitiveWordData) {
return sensitiveWordDataMapper.insert(sensitiveWordData);
}
@Override
public int updateSensitiveworddata(SensitiveWordData sensitiveWordData) {
return sensitiveWordDataMapper.updateById(sensitiveWordData);
}
@Override
public int deleteSensitiveworddataIds(Long[] ids) {
return sensitiveWordDataMapper.deleteBatchIds(Arrays.asList(ids));
}
}

View File

@@ -0,0 +1,42 @@
package com.ruoyi.cms.service.impl;
import com.ruoyi.cms.domain.UserWorkExperiences;
import com.ruoyi.cms.mapper.UserWorkExperiencesMapper;
import com.ruoyi.cms.service.UserWorkExperiencesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
@Service
public class UserWorkExperiencesServiceImpl implements UserWorkExperiencesService {
@Autowired
UserWorkExperiencesMapper userWorkExperiencesMapper;
public List<UserWorkExperiences> getWorkExperiencesList(UserWorkExperiences userWorkExperiences){
return userWorkExperiencesMapper.getWorkExperiencesList(userWorkExperiences);
}
@Override
public int insertWorkExperiences(UserWorkExperiences userWorkExperiences) {
return userWorkExperiencesMapper.insert(userWorkExperiences);
}
@Override
public int updateWorkExperiencesById(UserWorkExperiences userWorkExperiences) {
return userWorkExperiencesMapper.updateById(userWorkExperiences);
}
@Override
public int deleteWorkExperiencesIds(Long[] ids) {
return userWorkExperiencesMapper.deleteBatchIds(Arrays.asList(ids));
}
@Override
public UserWorkExperiences getWorkExperiencesById(Long id) {
return userWorkExperiencesMapper.selectById(id);
}
}