投递简历

This commit is contained in:
ljq 2023-12-07 09:51:52 +08:00
parent 53f4756e60
commit 364b9d0ff4
10 changed files with 161 additions and 4 deletions

View File

@ -10,7 +10,7 @@ import org.springframework.web.filter.CorsFilter;
* 解决跨域
*/
@Configuration
public class CorsFilterConfig {
public class CorsFilterConfig {
/**

View File

@ -2,10 +2,9 @@ package com.yzdx.AiInterviewer.controller.VxController;
import com.yzdx.AiInterviewer.comment.R;
import com.yzdx.AiInterviewer.service.VxService.VxCarouselChartService;
import com.yzdx.AiInterviewer.service.VxService.VxInterviewApplicationService;
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 org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/vx_interview")
@ -13,10 +12,25 @@ public class VxInterviewController {
@Autowired
private VxCarouselChartService vxCarouselChartService;
@Autowired
private VxInterviewApplicationService vxInterviewApplicationService;
@GetMapping("/getCarouselChart")
public R getCarouselChart(){
return R.success(vxCarouselChartService.getVxCarouselChartService());
}
@PostMapping("addInterviewApplication")
public R addInterviewApplication( @RequestParam(value = "jobId")Integer jobId,
@RequestParam(value = "userId")Integer userId,
@RequestParam(value = "resumeId")Integer resumeId,
@RequestParam(value = "postingId")Integer postingId,
@RequestParam(value = "companyEncoding")String companyEncoding,
@RequestParam(value = "status")Integer status){
Integer rows=vxInterviewApplicationService.addInterviewApplication(jobId,userId,resumeId,postingId,companyEncoding,status);
if(rows==-2){
return R.error("申请失败");
}
return R.success("申请成功");
}
}

View File

@ -0,0 +1,30 @@
package com.yzdx.AiInterviewer.entity.vxEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yzdx.AiInterviewer.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("面试申请表")
@TableName("interview_application")
public class VxInterviewApplication extends BaseEntity {
@ApiModelProperty("申请表id")
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty("用户id ")
private Integer userId;
@ApiModelProperty("招聘id")
private Integer postingId;
@ApiModelProperty("公司编码")
private String companyEncoding;
@ApiModelProperty("岗位id")
private Integer jobId;
@ApiModelProperty("简历id")
private Integer resumeId;
@ApiModelProperty("状态")
private Integer status;
}

View File

@ -0,0 +1,30 @@
package com.yzdx.AiInterviewer.entity.vxEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yzdx.AiInterviewer.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("微信面试通知类")
@TableName("interview_notice")
public class VxInterviewNotice extends BaseEntity {
@TableId(type = IdType.AUTO)
@ApiModelProperty("面试通知id")
private Integer id;
@ApiModelProperty("公司编码")
private String companyEncoding;
@ApiModelProperty("通知内容")
private String detail;
@ApiModelProperty("注意事项")
private String attention;
@ApiModelProperty("接收人id")
private Integer recipient;
@ApiModelProperty("岗位id")
private Integer jobId;
@ApiModelProperty("招聘面试id")
private Integer postId;
}

View File

@ -0,0 +1,9 @@
package com.yzdx.AiInterviewer.mapper.VxMapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yzdx.AiInterviewer.entity.vxEntity.VxInterviewNotice;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface InterviewNoticeMapper extends BaseMapper<VxInterviewNotice> {
}

View File

@ -0,0 +1,9 @@
package com.yzdx.AiInterviewer.mapper.VxMapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yzdx.AiInterviewer.entity.vxEntity.VxInterviewApplication;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface VxInterviewApplicationMapper extends BaseMapper<VxInterviewApplication> {
}

View File

@ -0,0 +1,8 @@
package com.yzdx.AiInterviewer.service.VxService;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yzdx.AiInterviewer.entity.vxEntity.VxFeedBack;
import com.yzdx.AiInterviewer.entity.vxEntity.VxInterviewNotice;
public interface InterviewNoticeService extends IService<VxInterviewNotice> {
}

View File

@ -0,0 +1,8 @@
package com.yzdx.AiInterviewer.service.VxService;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yzdx.AiInterviewer.entity.vxEntity.VxInterviewApplication;
public interface VxInterviewApplicationService extends IService<VxInterviewApplication> {
Integer addInterviewApplication(Integer jobId, Integer userId, Integer resumeId, Integer postingId, String companyEncoding, Integer status);
}

View File

@ -0,0 +1,38 @@
package com.yzdx.AiInterviewer.service.VxService.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yzdx.AiInterviewer.entity.vxEntity.VxInterviewApplication;
import com.yzdx.AiInterviewer.mapper.VxMapper.VxInterviewApplicationMapper;
import com.yzdx.AiInterviewer.service.VxService.VxInterviewApplicationService;
import com.yzdx.AiInterviewer.utiles.TimeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class VxInterviewApplicationServiceImpl extends ServiceImpl<VxInterviewApplicationMapper, VxInterviewApplication> implements VxInterviewApplicationService {
@Autowired
private VxInterviewApplicationMapper vxInterviewApplicationMapper;
@Override
public Integer addInterviewApplication(Integer jobId, Integer userId, Integer resumeId, Integer postingId, String companyEncoding, Integer status) {
LambdaQueryWrapper<VxInterviewApplication> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(VxInterviewApplication::getJobId,jobId).eq(VxInterviewApplication::getPostingId,postingId);
VxInterviewApplication vxInterviewApplication = vxInterviewApplicationMapper.selectOne(queryWrapper);
if(vxInterviewApplication!=null){
return -2;
}
VxInterviewApplication vxInterviewApplication1=new VxInterviewApplication();
vxInterviewApplication1.setJobId(jobId);
vxInterviewApplication1.setCompanyEncoding(companyEncoding);
vxInterviewApplication1.setPostingId(postingId);
vxInterviewApplication1.setUserId(userId);
vxInterviewApplication1.setResumeId(resumeId);
vxInterviewApplication1.setStatus(status);
vxInterviewApplication1.setCreateTime(TimeUtil.getTime());
vxInterviewApplication1.setUpdateTime(TimeUtil.getTime());
vxInterviewApplication1.setCreateUser(userId);
vxInterviewApplication1.setUpdateUser(userId);
int insert = vxInterviewApplicationMapper.insert(vxInterviewApplication1);
return insert;
}
}

View File

@ -0,0 +1,11 @@
package com.yzdx.AiInterviewer.service.VxService.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yzdx.AiInterviewer.entity.vxEntity.VxInterviewNotice;
import com.yzdx.AiInterviewer.mapper.VxMapper.InterviewNoticeMapper;
import com.yzdx.AiInterviewer.service.VxService.InterviewNoticeService;
import org.springframework.stereotype.Service;
@Service
public class VxInterviewNoticeImpl extends ServiceImpl<InterviewNoticeMapper, VxInterviewNotice> implements InterviewNoticeService {
}