|
|
@@ -0,0 +1,236 @@
|
|
|
+package net.mingsoft.tf.action;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.io.File;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.regex.Pattern;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+import net.mingsoft.base.entity.ResultData;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
+import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import net.mingsoft.tf.biz.IRecruitmentSubmissionBiz;
|
|
|
+import net.mingsoft.tf.entity.RecruitmentSubmissionEntity;
|
|
|
+import net.mingsoft.base.entity.BaseEntity;
|
|
|
+import net.mingsoft.basic.util.BasicUtil;
|
|
|
+import net.mingsoft.basic.util.StringUtil;
|
|
|
+import net.mingsoft.basic.bean.EUListBean;
|
|
|
+import net.mingsoft.basic.annotation.LogAnn;
|
|
|
+import net.mingsoft.basic.constant.e.BusinessTypeEnum;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
+import io.swagger.v3.oas.annotations.Parameter;
|
|
|
+import io.swagger.v3.oas.annotations.Parameters;
|
|
|
+import io.swagger.v3.oas.annotations.Operation;
|
|
|
+import io.swagger.v3.oas.annotations.Hidden;
|
|
|
+import io.swagger.v3.oas.annotations.enums.ParameterIn;
|
|
|
+
|
|
|
+/**
|
|
|
+* 招聘投递管理控制层
|
|
|
+* @author 阿白
|
|
|
+* 创建日期:2025年12月13日 下午2:01:00<br/>
|
|
|
+* 历史修订:<br/>
|
|
|
+*/
|
|
|
+@Tag(name = "后台-招聘投递接口")
|
|
|
+@Controller("tfRecruitmentSubmissionAction")
|
|
|
+@RequestMapping("/${ms.manager.path}/tf/recruitmentSubmission")
|
|
|
+public class RecruitmentSubmissionAction extends net.mingsoft.tf.action.BaseAction{
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 注入招聘投递业务层
|
|
|
+ */
|
|
|
+ @Autowired
|
|
|
+ private IRecruitmentSubmissionBiz recruitmentSubmissionBiz;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回主界面index
|
|
|
+ */
|
|
|
+ @Hidden
|
|
|
+ @GetMapping("/index")
|
|
|
+ public String index() {
|
|
|
+ return "/tf/recruitment-submission/index";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回编辑界面recruitmentSubmission的form
|
|
|
+ */
|
|
|
+ @Hidden
|
|
|
+ @GetMapping("/form")
|
|
|
+ public String form() {
|
|
|
+ return "/tf/recruitment-submission/form";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询招聘投递列表
|
|
|
+ * @param recruitmentSubmission 招聘投递实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "查询招聘投递列表接口")
|
|
|
+ @Parameters({
|
|
|
+ @Parameter(name = "submissionName", description = "姓名", in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionTel", description = "联系电话", in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionEmail", description = "邮件", in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "recruitmentId", description = "招聘ID", in = ParameterIn.QUERY),
|
|
|
+ })
|
|
|
+ @RequestMapping(value ="/list",method = {RequestMethod.GET,RequestMethod.POST})
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("tf:recruitmentSubmission:view")
|
|
|
+ public ResultData list(@ModelAttribute @Parameter(hidden = true) RecruitmentSubmissionEntity recruitmentSubmission) {
|
|
|
+ BasicUtil.startPage();
|
|
|
+ List recruitmentSubmissionList = null;
|
|
|
+ if ( recruitmentSubmission.getSqlWhere() != null){
|
|
|
+ recruitmentSubmissionList = recruitmentSubmissionBiz.query(recruitmentSubmission);
|
|
|
+ } else {
|
|
|
+ LambdaQueryWrapper<RecruitmentSubmissionEntity> wrapper = new LambdaQueryWrapper<>(recruitmentSubmission).orderByDesc(RecruitmentSubmissionEntity::getCreateDate);
|
|
|
+ recruitmentSubmissionList = recruitmentSubmissionBiz.list(wrapper);
|
|
|
+ }
|
|
|
+ return ResultData.build().success(new EUListBean(recruitmentSubmissionList,(int)BasicUtil.endPage(recruitmentSubmissionList).getTotal()));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取招聘投递
|
|
|
+ * @param recruitmentSubmission 招聘投递实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "获取招聘投递列表接口")
|
|
|
+ @Parameter(name = "id", description = "主键ID", required =true,in = ParameterIn.QUERY)
|
|
|
+ @GetMapping("/get")
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("tf:recruitmentSubmission:view")
|
|
|
+ public ResultData get(@ModelAttribute @Parameter(hidden = true) RecruitmentSubmissionEntity recruitmentSubmission) {
|
|
|
+ if (StringUtils.isBlank(recruitmentSubmission.getId())) {
|
|
|
+ return ResultData.build().error(getResString("err.error",this.getResString("id")));
|
|
|
+ }
|
|
|
+ RecruitmentSubmissionEntity _recruitmentSubmission = (RecruitmentSubmissionEntity)recruitmentSubmissionBiz.getById(recruitmentSubmission.getId());
|
|
|
+ return ResultData.build().success(_recruitmentSubmission);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存招聘投递
|
|
|
+ * @param recruitmentSubmission 招聘投递实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "保存招聘投递列表接口")
|
|
|
+ @Parameters({
|
|
|
+ @Parameter(name = "submissionName", description = "姓名", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionTel", description = "联系电话", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionEmail", description = "邮件", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionFile", description = "附件", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "recruitmentId", description = "招聘ID", required = false, in = ParameterIn.QUERY),
|
|
|
+ })
|
|
|
+ @PostMapping("/save")
|
|
|
+ @ResponseBody
|
|
|
+ @LogAnn(title = "保存招聘投递", businessType = BusinessTypeEnum.INSERT)
|
|
|
+ public ResultData save(@ModelAttribute @Parameter(hidden = true) RecruitmentSubmissionEntity recruitmentSubmission) {
|
|
|
+
|
|
|
+ if ( StringUtils.isNotBlank(recruitmentSubmission.getSubmissionName()) && !StringUtil.checkLength(recruitmentSubmission.getSubmissionName()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("submission.name"), "0", "255"));
|
|
|
+ }
|
|
|
+ if ( StringUtils.isNotBlank(recruitmentSubmission.getSubmissionTel()) && !StringUtil.checkLength(recruitmentSubmission.getSubmissionTel()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("submission.tel"), "0", "255"));
|
|
|
+ }
|
|
|
+ if ( StringUtils.isNotBlank(recruitmentSubmission.getSubmissionEmail()) && !StringUtil.checkLength(recruitmentSubmission.getSubmissionEmail()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("submission.email"), "0", "255"));
|
|
|
+ }
|
|
|
+ if ( StringUtils.isNotBlank(recruitmentSubmission.getRecruitmentId()) && !StringUtil.checkLength(recruitmentSubmission.getRecruitmentId()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("recruitment.id"), "0", "255"));
|
|
|
+ }
|
|
|
+ recruitmentSubmissionBiz.save(recruitmentSubmission);
|
|
|
+ return ResultData.build().success(recruitmentSubmission);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除招聘投递
|
|
|
+ *
|
|
|
+ * @param recruitmentSubmissions 招聘投递实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "批量删除招聘投递列表接口")
|
|
|
+ @PostMapping("/delete")
|
|
|
+ @ResponseBody
|
|
|
+ @LogAnn(title = "删除招聘投递", businessType = BusinessTypeEnum.DELETE)
|
|
|
+ @RequiresPermissions("tf:recruitmentSubmission:del")
|
|
|
+ public ResultData delete(@RequestBody List<RecruitmentSubmissionEntity> recruitmentSubmissions) {
|
|
|
+ List<String> ids = (List)recruitmentSubmissions.stream().map((p) -> {return p.getId();}).collect(Collectors.toList());
|
|
|
+ return this.recruitmentSubmissionBiz.removeByIds(ids) ? ResultData.build().success() : ResultData.build().error(this.getResString("err.error", new String[]{this.getResString("id")}));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新招聘投递列表
|
|
|
+ *
|
|
|
+ * @param recruitmentSubmission 招聘投递实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "更新招聘投递列表接口")
|
|
|
+ @Parameters({
|
|
|
+ @Parameter(name = "id", description = "主键ID", required =true,in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionName", description = "姓名", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionTel", description = "联系电话", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionEmail", description = "邮件", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "submissionFile", description = "附件", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "recruitmentId", description = "招聘ID", required = false, in = ParameterIn.QUERY),
|
|
|
+ })
|
|
|
+ @PostMapping("/update")
|
|
|
+ @ResponseBody
|
|
|
+ @LogAnn(title = "更新招聘投递", businessType = BusinessTypeEnum.UPDATE)
|
|
|
+ @RequiresPermissions("tf:recruitmentSubmission:update")
|
|
|
+ public ResultData update(@ModelAttribute @Parameter(hidden = true) RecruitmentSubmissionEntity recruitmentSubmission) {
|
|
|
+ //先查询数据是否存在
|
|
|
+ RecruitmentSubmissionEntity _recruitmentSubmission = (RecruitmentSubmissionEntity)recruitmentSubmissionBiz.getById(recruitmentSubmission.getId());
|
|
|
+ if(_recruitmentSubmission == null) {
|
|
|
+ return ResultData.build().error(getResString("err.not.exist",recruitmentSubmission.getId() ));
|
|
|
+ }
|
|
|
+
|
|
|
+ if ( StringUtils.isNotBlank(recruitmentSubmission.getSubmissionName()) && !StringUtil.checkLength(recruitmentSubmission.getSubmissionName()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("submission.name"), "0", "255"));
|
|
|
+ }
|
|
|
+ if ( StringUtils.isNotBlank(recruitmentSubmission.getSubmissionTel()) && !StringUtil.checkLength(recruitmentSubmission.getSubmissionTel()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("submission.tel"), "0", "255"));
|
|
|
+ }
|
|
|
+ if ( StringUtils.isNotBlank(recruitmentSubmission.getSubmissionEmail()) && !StringUtil.checkLength(recruitmentSubmission.getSubmissionEmail()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("submission.email"), "0", "255"));
|
|
|
+ }
|
|
|
+ if ( StringUtils.isNotBlank(recruitmentSubmission.getRecruitmentId()) && !StringUtil.checkLength(recruitmentSubmission.getRecruitmentId()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("recruitment.id"), "0", "255"));
|
|
|
+ }
|
|
|
+ recruitmentSubmissionBiz.updateById(recruitmentSubmission);
|
|
|
+ return ResultData.build().success(recruitmentSubmission);
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("verify")
|
|
|
+ @ResponseBody
|
|
|
+ public ResultData verify(String fieldName, String fieldValue, String id,String idName) {
|
|
|
+ boolean verify = false;
|
|
|
+ if (StringUtils.isBlank(id)) {
|
|
|
+ verify = super.validated("RECRUITMENT_SUBMISSION",fieldName,fieldValue);
|
|
|
+ } else {
|
|
|
+ verify = super.validated("RECRUITMENT_SUBMISSION",fieldName,fieldValue,id,idName);
|
|
|
+ }
|
|
|
+ if (verify) {
|
|
|
+ return ResultData.build().success(false);
|
|
|
+ }else {
|
|
|
+ return ResultData.build().success(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|