Commit d83f4fd3 by 陶湘宇

Merge branch 'feature_20211213_extension' of…

Merge branch 'feature_20211213_extension' of develop-gitlab.youlingrc.com:8timerv2/8timerapiv200 into develop

* 'feature_20211213_extension' of develop-gitlab.youlingrc.com:8timerv2/8timerapiv200:
  添加配置文件
  8小时简历助手
  修改员工假期BUG
parents 35a09c4f b07537b5
package cn.timer.api.bean.extension;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/13
*/
@Data
@ApiModel
public class ExtensionCompany implements Serializable {
/**
* 成功标志
*/
@ApiModelProperty(value = "成功标志 ", example = "成功标志")
private boolean valid;
/**
* 企业名称
*/
@ApiModelProperty(value = "企业名称 ", example = "企业名称")
private String company_name;
}
package cn.timer.api.bean.extension;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class ExtensionCore {
private String login;
private String publishJobPos;
private String publishJobPos2;
private String parseResume;
}
package cn.timer.api.bean.extension;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class ExtensionCss {
private String html;
}
package cn.timer.api.bean.extension;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/13
*/
@Data
@ApiModel
public class ExtensionJobConfig implements Serializable {
private ExtensionCore core;
private ExtensionMessage message;
private Boolean disabled;
private Map<String,Object> selector = new HashMap<>(0);
private Map<String,Integer> waiting = new HashMap<>(0);
private String disabled_reason;
private ExtensionLink link;
private ExtensionCss css;
private ExtensionSystem system;
}
package cn.timer.api.bean.extension;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/13
*/
@Data
@ApiModel
public class ExtensionJobPositions implements Serializable {
private String id;
@ApiModelProperty(value = "用人部门名称", example = "用人部门名称")
private String dep_name;
@ApiModelProperty(value = "用人部门ID", example = "用人部门ID")
private String dep_id;
@ApiModelProperty(value = "职位名称", example = "职位名称")
private String name;
@ApiModelProperty(value = "工作城市", example = "省")
private String province_name;
@ApiModelProperty(value = "工作城市", example = "市")
private String city_name;
@ApiModelProperty(value = "工作城市", example = "区")
private String town_name;
@ApiModelProperty(value = "工作地点", example = "工作地点")
private String work_place_name;
private Integer status;
}
package cn.timer.api.bean.extension;
import lombok.Data;
import java.util.List;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class ExtensionLink {
private List<String> html;
}
package cn.timer.api.bean.extension;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class ExtensionMatches {
private Integer inject_delay;
private String matches;
private String pattern;
private String channel_name;
private String key;
private String channel;
private String type;
private String method;
private Boolean auto_parse;
private Boolean disabled;
private Boolean reparse;
private Boolean repeat_inject_reject;
}
package cn.timer.api.bean.extension;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class ExtensionMessage {
private static String RESUME_ZHAOPIN_NOPUBPOS_NONE_AREA = "请在智联招聘上发布职位!";
private static String RESUME_PARSE_SUCCESS = "简历解析成功!";
private static String RESUME_IMPROVE_BASE_INFO = "请完善个人信息";
private static String PAGE_LOADING = "页面加载中,请稍候重试!";
private static String RESUME_ZHAOPIN_SEARCH_NONE_AREA = "请调整简历搜索条件!";
private static String RESUME_PARSE_NOT_SUPPORT_EN_LANG = "英文简历暂不支持,请切换到中文简历";
private static String RESUME_PARSE_WARNING_51JOB_NO_INFO = "简历页面请切换回【简历详情】选项卡!";
private static String RESUME_NO_CONTACT = "不支持未购买或未下载的简历,请先确认已获取简历的联系方式";
private static String RESUME_SAVE_FAILED = "简历保存失败!";
private static String RESUME_SAVE_SUCCESS = "简历保存成功!";
private static String RESUME_ZHAOPIN_RESLIST_NOT_SUPPORT = "列表视图不支持简历解析,请切换到详细视图或打开简历详情页查看";
private static String RESUME_LOADING = "简历加载中,请稍候重试!";
private static String RESUME_NOT_SUPPORT = "无法提取当前页面信息,请在智联招聘、前程无忧、拉勾网、 猎聘网、BOSS直聘中打开简历。";
private static String RESUME_ZHAOPIN_NOSUIT_NONE_AREA = "当前页面无简历!";
private static String RESUME_NOT_SAVED_TIPS = "简历数据未保存,继续解析将进行覆盖!";
private static String RESUME_PARSE_ERROR = "简历解析失败!";
private static String RESUME_LAGOU_TRANSFER_ERROR = "简历转换失败,请刷新页面重试";
private static String RESUME_NO_PERMISSION_LAGOU = "请登录拉勾网!";
private static String RESUME_ZHAOPIN_DAVE_JS_NONE_AREA = "当前页面无简历!";
private static String CONNECTION_FAILED = "连接中断,请刷新简历页面!";
private static String RESUME_ZHAOPIN_DAVE_JS_ERROR_AREA = "智联招聘服务器出小差了,请稍后再试!";
}
/**
* Title: ExtensionResume.java
*
* @Description:
* @author wuqingjun
* @date 2021年12月21日
* @version 1.0
*/
package cn.timer.api.bean.extension;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.swing.text.html.HTML;
import java.util.Date;
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "extension_resume")
@ApiModel("简历助手拓展简历")
public class ExtensionResume extends Model<ExtensionResume> {
private static final long serialVersionUID = 4427752422137750655L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键ID")
private Integer id;
@ApiModelProperty(value = "年龄")
private Integer age;
@ApiModelProperty(value = "头像")
private String avatar;
@ApiModelProperty(value = "出生年月")
private Date birthday;
@ApiModelProperty(value = "平台简称")
private String channel;
@ApiModelProperty(value = "备注")
private String comment;
@ApiModelProperty(value = "自行投递简历")
private String deliver_resume_by_self;
@ApiModelProperty(value = "学历:1小学,2初中,3高中,4大专,5本科,6硕士,7博士,8职高,9中专,10技校,11其他")
private Integer education;
@ApiModelProperty(value = "邮箱")
private String email;
@ApiModelProperty(value = "html格式文件")
private String html_content;
@ApiModelProperty(value = "html类型")
private String html_content_type;
@ApiModelProperty(value = "虚拟手机")
private Boolean is_virtual_mobile;
@ApiModelProperty(value = "最近职位")
private String job_position;
@ApiModelProperty(value = "职位ID")
private String job_position_id;
@ApiModelProperty(value = "最后一家公司")
private String last_company;
@ApiModelProperty(value = "最后一家公司职位")
private String last_job_position;
@ApiModelProperty(value = "现居住地")
private String live_place;
@ApiModelProperty(value = "毕业专业")
private String major_name;
@ApiModelProperty(value = "手机号码")
private String mobile;
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty(value = "")
private Boolean negotiable;
@ApiModelProperty(value = "简历来源ID")
private String resume_origin_id;
@ApiModelProperty(value = "简历来源url")
private String resume_origin_url;
@ApiModelProperty(value = "期望月薪max")
private Integer salary_max;
@ApiModelProperty(value = "期望月薪min")
private Integer salary_min;
@ApiModelProperty(value = "毕业院校")
private String school;
@ApiModelProperty(value = "性别:1男,2女")
private Integer sex;
@ApiModelProperty(value = "")
private String task_id;
@ApiModelProperty(value = "状态:-1无,30待初筛31初筛通过,32淘汰初筛")
private Integer to_status;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
@ApiModelProperty(value = "")
private String work_experience;
@ApiModelProperty(value = "工作开始时间")
private Date work_start_dt;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package cn.timer.api.bean.extension;
import io.swagger.models.auth.In;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class ExtensionResumeassistant {
private String id;
private String online_dt;
private String version_no;
private String content;
private String download_url;
private String zip_download_url;
private String file_name;
private String zip_name;
private String add_dt;
private String update_dt;
private String add_name;
private String update_name;
private String version_url;
private String zip_url;
private Integer add_by;
private Integer update_by;
}
package cn.timer.api.bean.extension;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class ExtensionSystem {
private int content_post_message_timeout= 25000;
private int latest_version_fetch_interval= 900000;
private int core_api_fetch_interval= 600000;
private int jobposition_fetch_interval= 60000;
private boolean job_position_filterable= true;
private double smart_match_job_position_rate= 0.7;
}
package cn.timer.api.bean.extension.param;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/17
*/
@Data
public class CandidateRecordParam {
private String mobile;
private String name;
private String channel;
private Long resume_origin_id;
}
......@@ -48,6 +48,7 @@ public class WebSecurityConfig implements WebMvcConfigurer {
.excludePathPatterns("/kqdk/punchclock/**")
.excludePathPatterns("/kqz/sauserregdata/**")
.excludePathPatterns("/login/**")
.excludePathPatterns("/api/recruitment/**")
.excludePathPatterns("/swagger*/**")
.excludePathPatterns("/v2/api-docs")
.excludePathPatterns("/druid/login*")
......
This source diff could not be displayed because it is too large. You can view the blob instead.
package cn.timer.api.dao.extension;
import cn.timer.api.bean.extension.ExtensionResume;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* Title: ExtensionResumeMapper.java
*
* @Description:
* @author wuqingjun
* @date 2021年12月21日
* @version 1.0
*/
@Repository
public interface ExtensionResumeMapper extends BaseMapper<ExtensionResume> {
}
package cn.timer.api.utils;
import lombok.Data;
import org.springframework.stereotype.Service;
import java.io.Serializable;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/13
* 简历助手前后端交互数据标准
*/
@Service("extensionResult")
@Data
public class ExtensionResult<T> implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 成功标志
*/
private boolean result;
/**
* 消息
*/
private String msg;
/**
* 失败消息
*/
private String errormsg;
/**
* 返回代码
*/
private Integer resultcode;
/**
* 时间戳
*/
private long timestamp = System.currentTimeMillis();
/**
* 结果对象
*/
private T data;
}
package cn.timer.api.utils;
import org.springframework.stereotype.Service;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/13
*/
@Service("extensionResultUtil")
public class ExtensionResultUtil<T> {
// private static final String CODE_KEY = "code";
// private static final String RESULT_KEY = "result";
// private static final String MESSAGE_KEY = "message";
// private static final String DATA_KEY = "data";
//
// private static final String PAGE_KEY = "page";
// private static final String NUMBER_KEY = "number";
// private static final String SIZE_KEY = "size";
// private static final String TOTALELEMENTS_KEY = "totalelements";
// private static final String TOTALPAGES_KEY = "totalpages";
// private static final String OFFSET_KEY = "offset";
private static final String MESSAGE_SUCCESS = "操作成功";
private static final String MESSAGE_FAIL = "操作失败";
// private static final String MESSAGE_ERROR = "操作错误";
// private static final String MESSAGE_KICKOUT = "当前账户已在其他地方登录,请重新登录";
private static final String MESSAGE_PARAMERROR = "参数错误";
// private static final String MESSAGE_UNAUTHORIZED = "授权错误";
// private static final String MESSAGE_UNAUTHENTICATED = "认证错误";
// private static final String MESSAGE_EXCEPTION = "服务器异常";
private static final Integer STATUS_CODE_SUCCESS = 200;
private static final Integer STATUS_CODE_UNLOGIN = 301;
private static final Integer STATUS_CODE_UNPARAM = 400;
private static final Integer STATUS_CODE_EXCEPTION = 500;
private ExtensionResult<T> extensionResult;
public ExtensionResultUtil() {
extensionResult = new ExtensionResult<>();
extensionResult.setResult(true);
extensionResult.setMsg("success");
this.extensionResult.setErrormsg("");
extensionResult.setResultcode(STATUS_CODE_SUCCESS);
}
public ExtensionResult<T> setData(T t) {
this.extensionResult.setData(t);
this.extensionResult.setResultcode(STATUS_CODE_SUCCESS);
this.extensionResult.setMsg("success");
this.extensionResult.setErrormsg("");
return this.extensionResult;
}
public ExtensionResult<T> setSuccessMsg(String msg) {
this.extensionResult.setResult(true);
this.extensionResult.setResultcode(STATUS_CODE_SUCCESS);
this.extensionResult.setMsg(msg);
this.extensionResult.setErrormsg("");
this.extensionResult.setData(null);
return this.extensionResult;
}
public ExtensionResult<T> setData(T t, String msg) {
this.extensionResult.setData(t);
this.extensionResult.setResultcode(STATUS_CODE_SUCCESS);
this.extensionResult.setMsg(msg);
this.extensionResult.setErrormsg("");
return this.extensionResult;
}
public ExtensionResult<T> setErrorMsg(T t) {
this.extensionResult.setData(t);
this.extensionResult.setResultcode(STATUS_CODE_UNPARAM);
this.extensionResult.setErrormsg(MESSAGE_PARAMERROR);
this.extensionResult.setMsg("");
return this.extensionResult;
}
public ExtensionResult<T> setErrorMsg(String msg) {
this.extensionResult.setResult(false);
this.extensionResult.setMsg("");
this.extensionResult.setErrormsg(msg);
this.extensionResult.setResultcode(STATUS_CODE_EXCEPTION);
return this.extensionResult;
}
public ExtensionResult<T> setErrorMsg(Integer code, String msg) {
this.extensionResult.setResult(false);
this.extensionResult.setErrormsg(msg);
this.extensionResult.setMsg("");
this.extensionResult.setResultcode(code);
return this.extensionResult;
}
public static <T> ExtensionResult<T> data(T t) {
return new ExtensionResultUtil<T>().setData(t);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.timer.api.dao.extension.ExtensionResumeMapper">
<resultMap id="BaseResultMap" type="cn.timer.api.bean.extension.ExtensionResume" >
<id column="id" property="id" />
<result column="age" property="age" />
<result column="avatar" property="avatar" />
<result column="birthday" property="birthday" />
<result column="channel" property="channel" />
<result column="comment" property="comment" />
<result column="deliver_resume_by_self" property="deliver_resume_by_self" />
<result column="education" property="education" />
<result column="email" property="email" />
<result column="html_content" property="html_content" />
<result column="html_content_type" property="html_content_type" />
<result column="is_virtual_mobile" property="is_virtual_mobile" />
<result column="job_position" property="job_position" />
<result column="job_position_id" property="job_position_id" />
<result column="last_company" property="last_company" />
<result column="last_job_position" property="last_job_position" />
<result column="live_place" property="live_place" />
<result column="major_name" property="major_name" />
<result column="mobile" property="mobile" />
<result column="name" property="name" />
<result column="negotiable" property="negotiable" />
<result column="resume_origin_id" property="resume_origin_id" />
<result column="resume_origin_url" property="resume_origin_url" />
<result column="salary_max" property="salary_max" />
<result column="salary_min" property="salary_min" />
<result column="school" property="school" />
<result column="sex" property="sex" />
<result column="task_id" property="task_id" />
<result column="to_status" property="to_status" />
<result column="update_time" property="updateTime" />
<result column="work_experience" property="work_experience" />
<result column="work_start_dt" property="work_start_dt" />
<result column="create_time" property="createTime" />
</resultMap>
<sql id="Base_Column_List">
id,
age,
avatar,
birthday,
channel,
comment,
deliver_resume_by_self,
education,
email,
html_content,
html_content_type,
is_virtual_mobile,
job_position,
job_position_id,
last_company,
last_job_position,
live_place,
major_name,
mobile,
name,
negotiable,
resume_origin_id,
resume_origin_url,
salary_max,
salary_min,
school,
sex,
task_id,
to_status,
update_time,
work_experience,
work_start_dt,
create_time
</sql>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment