Commit 155e9959 by 284718418@qq.com

Merge branch 'feature_20220305_V2.3' into develop

# Conflicts:
#	src/main/java/cn/timer/api/bean/yggl/YgglMainEmp.java
#	src/main/java/cn/timer/api/config/interceptor/WebSecurityConfig.java
#	src/main/java/cn/timer/api/controller/yggl/YgglController.java
#	src/main/java/cn/timer/api/dao/yggl/YgglMainEmpMapper.java
#	src/main/resources/application-dev.yml
#	src/main/resources/application-test.yml
#	src/main/resources/mapping/yggl/YgglMainEmpMapper.xml
parents 13ba8374 69e275b2
...@@ -116,12 +116,12 @@ ...@@ -116,12 +116,12 @@
</dependency> </dependency>
<!-- optional这个需要为 true 热部署才有效 --> <!-- optional这个需要为 true 热部署才有效 -->
<!--<dependency>--> <dependency>
<!--<groupId>org.springframework.boot</groupId>--> <groupId>org.springframework.boot</groupId>
<!--<artifactId>spring-boot-devtools</artifactId>--> <artifactId>spring-boot-devtools</artifactId>
<!--<optional>true</optional>--> <optional>true</optional>
<!--<scope>runtime</scope>--> <scope>runtime</scope>
<!--</dependency>--> </dependency>
<!-- swagger2 --> <!-- swagger2 -->
<dependency> <dependency>
...@@ -310,7 +310,13 @@ ...@@ -310,7 +310,13 @@
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId> <artifactId>mybatis-plus</artifactId>
<version>3.3.0</version> <version>3.4.1</version>
</dependency>
<!-- mybatis-plus-join -->
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join</artifactId>
<version>1.2.2</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-maven-plugin --> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-maven-plugin -->
...@@ -430,6 +436,12 @@ ...@@ -430,6 +436,12 @@
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId> <artifactId>spring-test</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
</dependency>
</dependencies> </dependencies>
<repositories> <repositories>
......
package cn.timer.api.dto.yggl; package cn.timer.api.bean.clazz;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
...@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.IdType; ...@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -25,7 +26,7 @@ import lombok.NoArgsConstructor; ...@@ -25,7 +26,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
@TableName("nation_class") @TableName("nation_class")
@ApiModel("民族") @ApiModel("民族")
public class YgmzDto { public class NationClass extends Model<NationClass> {
@Id @Id
@GeneratedValue @GeneratedValue
@TableId (type = IdType.AUTO) @TableId (type = IdType.AUTO)
......
package cn.timer.api.bean.wechat;
/**
*
* 8小时企业管理
* 公众号模板消息
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-04-18 15:14:40
* https://mp.weixin.qq.com/advanced/tmplmsg?action=list&t=tmplmsg/list&token=275969966&lang=zh_CN
*/
public class MessageTemplate {
/**
* 通知面试官
* 通知面试者
* 面试安排提醒
* {{first.DATA}}
* 面试职位:{{keyword1.DATA}}
* 面试时间:{{keyword2.DATA}}
* {{remark.DATA}}
*/
public static final String TEMPLATE_ID_TO_INTERVIEWER = "Uz6mVUYk9Tu7EO2V1pqiQ3x4EudDJTYWdaFtdf64h3M";
/**
* 应聘通知
* {{first.DATA}}
* 应聘职位:{{keyword1.DATA}}
* 通知内容:{{keyword2.DATA}}
* 通知人:{{keyword3.DATA}}
* 通知时间:{{keyword4.DATA}}
* {{remark.DATA}}
*/
public static final String TEMPLATE_ID_TO_INTERVIEWE = "YChIP5ho7sT_dL5GMykjR4LCuR5aJ8E0tf73i4p_vvk";
}
...@@ -211,6 +211,12 @@ public class YgglMainEmp extends Model<YgglMainEmp> { ...@@ -211,6 +211,12 @@ public class YgglMainEmp extends Model<YgglMainEmp> {
@ApiModelProperty(value="自定义工号",example="") @ApiModelProperty(value="自定义工号",example="")
private String customNum; private String customNum;
@ApiModelProperty(value="对应合同公司字典ID",example="0")
private Integer zpglCompanyId;
@ApiModelProperty(value="对应工作地点典ID",example="0")
private Integer zpglGzddId;
@Transient @Transient
@TableField(exist = false) @TableField(exist = false)
private String workTime;//工龄 private String workTime;//工龄
......
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 招聘管理合同公司字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-17 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_company")
@Data
public class ZpglCompany extends Model<ZpglCompany> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 公司名称
*/
@ApiModelProperty(value = "公司名称")
private String companyName;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private Integer createUserId;
/**
* 更新者
*/
@ApiModelProperty(value = "更新者")
private Integer updateUserId;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private Integer orgCode;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 招聘管理测评题库表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_cptk")
@Data
public class ZpglCptk extends Model<ZpglCptk> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 题目
*/
@ApiModelProperty(value = "题目")
private String question;
/**
* 选项
*/
@ApiModelProperty(value = "选项")
private String answerA;
/**
* 选项
*/
@ApiModelProperty(value = "选项")
private String answerB;
/**
* 选项
*/
@ApiModelProperty(value = "选项")
private String answerC;
/**
* 选项
*/
@ApiModelProperty(value = "选项")
private String answerD;
/**
* 排序:从小到大
*/
@ApiModelProperty(value = "排序:从小到大")
private Integer sort;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 招聘管理用户测评答题卡表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_dtk")
@Data
public class ZpglDtk extends Model<ZpglDtk> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 红色值
*/
@ApiModelProperty(value = "红色值")
private Integer red;
/**
* 蓝色值
*/
@ApiModelProperty(value = "蓝色值")
private Integer blue;
/**
* 黄色值
*/
@ApiModelProperty(value = "黄色值")
private Integer yellow;
/**
* 绿色值
*/
@ApiModelProperty(value = "绿色值")
private Integer green;
/**
* 总分值
*/
@ApiModelProperty(value = "总分值")
private Integer count;
/**
* 对应人才信息表ID
*/
@ApiModelProperty(value = "对应人才信息表ID")
private Integer zpglRcxxId;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 招聘管理淘汰原因字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_fail")
@Data
public class ZpglFail extends Model<ZpglFail> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职
*/
@ApiModelProperty(value = "状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职")
private Integer zpglRcxxStatus;
/**
* 淘汰原因
*/
@ApiModelProperty(value = "淘汰原因")
private String failCause;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private Integer createUserId;
/**
* 更新者
*/
@ApiModelProperty(value = "更新者")
private Integer updateUserId;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private Integer orgCode;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 招聘管理工作地点字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-17 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_gzdd")
@Data
public class ZpglGzdd extends Model<ZpglGzdd> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 省名
*/
@ApiModelProperty(value = "省名")
private String provinceId;
/**
* 省名
*/
@ApiModelProperty(value = "省名")
private String province;
/**
* 区名
*/
@ApiModelProperty(value = "区名")
private String districtId;
/**
* 区名
*/
@ApiModelProperty(value = "区名")
private String district;
/**
* 城市
*/
@ApiModelProperty(value = "城市")
private String cityId;
/**
* 城市
*/
@ApiModelProperty(value = "城市")
private String city;
/**
* 工作地点
*/
@ApiModelProperty(value = "工作地点")
private String gzddName;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private Integer createUserId;
/**
* 更新者
*/
@ApiModelProperty(value = "更新者")
private Integer updateUserId;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private Integer orgCode;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
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 java.util.Date;
/**
* 招聘管理面试流程记录表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_mslc_log")
@ApiModel("资源目录表")
public class ZpglMslcLog extends Model<ZpglMslcLog> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 类型,1状态变更,2面试,3Offer,4讨论,5其他
*/
@ApiModelProperty(value = "类型,1状态变更,2面试,3Offer,4讨论,5其他")
private Integer zpglRcxxStatus;
/**
* 详细内容
*/
@ApiModelProperty(value = "详细内容")
private String detail;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.Date;
/**
* 招聘管理人才信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx")
@Data
public class ZpglRcxx extends Model<ZpglRcxx> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 职位id
*/
@ApiModelProperty(value = "职位id")
private Integer zpglZwxxId;
/**
* 姓名
*/
@ApiModelProperty(value = "姓名")
private String name;
/**
* 手机
*/
@ApiModelProperty(value = "手机")
private String mobile;
/**
* 邮件地址
*/
@ApiModelProperty(value = "邮件地址")
private String mail;
/**
* 身份证号码
*/
@ApiModelProperty(value = "身份证号码")
private String idCard;
/**
* 微信
*/
@ApiModelProperty(value = "微信")
private String weixin;
/**
* 身高CM
*/
@ApiModelProperty(value = "身高CM")
private Integer height;
/**
* 体重KG
*/
@ApiModelProperty(value = "体重KG")
private Integer weight;
/**
* 政治面貌
*/
@ApiModelProperty(value = "政治面貌")
private String face;
/**
* 民族
*/
@ApiModelProperty(value = "民族")
private Integer nationClassId;
/**
* 籍贯
*/
@ApiModelProperty(value = "籍贯")
private String nativePlace;
/**
* 部门岗位ID
*/
@ApiModelProperty(value = "部门岗位ID")
private Integer bmgwId;
/**
* 工作性质 0全职、1实习、2兼职、3劳务派遣、4劳务、5派遣、6外包、7退休返聘
*/
@ApiModelProperty(value = "工作性质 0全职、1实习、2兼职、3劳务派遣、4劳务、5派遣、6外包、7退休返聘")
private Integer jobType;
/**
* 预计入职日期
*/
@ApiModelProperty(value = "预计入职日期")
private Date yjrzTime;
/**
* 省名
*/
@ApiModelProperty(value = "省名")
private String provinceId;
/**
* 省名
*/
@ApiModelProperty(value = "省名")
private String province;
/**
* 区名
*/
@ApiModelProperty(value = "区名")
private String districtId;
/**
* 区名
*/
@ApiModelProperty(value = "区名")
private String district;
/**
* 城市
*/
@ApiModelProperty(value = "城市")
private String cityId;
/**
* 城市
*/
@ApiModelProperty(value = "城市")
private String city;
/**
* 详细地址
*/
@ApiModelProperty(value = "详细地址")
private String address;
/**
* 现居住地详址
*/
@ApiModelProperty(value = "现居住地详址")
private String grAddress;
/**
* 是否结婚:0否,1是
*/
@ApiModelProperty(value = "是否结婚:0否,1是")
private Integer marryStatus;
/**
* 语言 1:英语 2:粤语 3:普通话
* 列:1,2,3
*/
@ApiModelProperty(value = "语言 1:英语 2:粤语 3:普通话 ")
private String language;
/**
* 驾照 1:A照 2:B照 3:C照
*/
@ApiModelProperty(value = "驾照 1:A照 2:B照 3:C照")
private Integer drivingLicense;
/**
* 病史 :0无,1有
*/
@ApiModelProperty(value = "病史 :0无,1有")
private Integer medicalHistory;
/**
* 病史1有:具体说明
*/
@ApiModelProperty(value = "具体说明")
private String medicalDetail;
/**
* 待遇要求(税前)单位元/月
*/
@ApiModelProperty(value = "待遇要求(税前)单位元/月")
private Integer salary;
/**
* 求职状态:0离职,1在岗
*/
@ApiModelProperty(value = "求职状态:0离职,1在岗")
private Integer workStatus;
/**
* 可到岗时间:0一周内 1两周内 2一个月内 3两个月内 4不确定
*/
@ApiModelProperty(value = "可到岗时间:0一周内 1两周内 2一个月内 3两个月内 4不确定")
private Integer workTimer;
/**
* 爱好特长
*/
@ApiModelProperty(value = "爱好特长")
private String hobby;
/**
* 自我介绍
*/
@ApiModelProperty(value = "自我介绍")
private String contMyDesc;
/**
* 受到奖励
*/
@ApiModelProperty(value = "受到奖励")
private String reward;
/**
* 处分,违法,犯罪记录
*/
@ApiModelProperty(value = "处分,违法,犯罪记录")
private String record;
/**
* 招聘渠道ID
*/
@ApiModelProperty(value = "招聘渠道ID")
private Integer zpglZpqdId;
/**
* 签名图片
*/
@ApiModelProperty(value = "签名图片")
private String signatureImg;
/**
* 文件名
*/
@ApiModelProperty(value = "文件名")
private String fileName;
/**
* 文件路径
*/
@ApiModelProperty(value = "文件路径")
private String filePath;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 性别 0:男1:女
*/
@ApiModelProperty(value = "性别 0:男1:女")
private Integer sex;
/**
* 出生日期
*/
@ApiModelProperty(value = "出生日期")
private Date datebirth;
/**
* 工作年限
*/
@ApiModelProperty(value = "工作年限")
private Integer workyears;
/**
* 最高学历 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士
*/
@ApiModelProperty(value = "最高学历 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士")
private String highesteducation;
/**
* 毕业院校
*/
@ApiModelProperty(value = "毕业院校")
private String universitie;
/**
* 专业名称
*/
@ApiModelProperty(value = "专业名称")
private String subject;
/**
* 最近工作单位
*/
@ApiModelProperty(value = "最近工作单位")
private String company;
/**
* 最近职位
*/
@ApiModelProperty(value = "最近职位")
private String zjzw;
/**
* 参加工作时间
*/
@ApiModelProperty(value = "参加工作时间")
private Date workBeginYear;
/**
* 标签
*/
@ApiModelProperty(value = "标签")
private String label;
/**
* 状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职
*/
@ApiModelProperty(value = "状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职")
private Integer status;
/**
* 对应淘汰原因字典ID
*/
@ApiModelProperty(value = "对应淘汰原因字典ID")
private Integer zpglFailId;
/**
* 对应合同公司字典ID
*/
@ApiModelProperty(value = "对应合同公司字典ID")
private Integer zpglCompanyId;
/**
* 对应职级字典ID
*/
@ApiModelProperty(value = "对应职级字典ID")
private Integer zpglZjId;
/**
* 对应工作地点字典ID
*/
@ApiModelProperty(value = "对应工作地点字典ID")
private Integer zpglGzddId;
/**
* 面试官id
*/
@ApiModelProperty(value = "面试官id")
private Integer interviewerId;
/**
* 面试时间
*/
@ApiModelProperty(value = "面试时间")
private Date interviewTime;
/**
* 面试方式 1:现场面试 2:电话面试 3:视屏面试
*/
@ApiModelProperty(value = "面试方式 1:现场面试 2:电话面试 3:视屏面试")
private Integer interviewWay;
/**
* 通知方式 1:全部 2:短信 3:邮件 4.微信公众号
*/
@ApiModelProperty(value = "通知方式 1:全部 2:短信 3:邮件 4.微信公众号")
private Integer noticeWay;
/**
* 面试轮次
*/
@ApiModelProperty(value = "面试轮次")
private Integer interviewNum;
/**
* 对应用户id
*/
@ApiModelProperty(value = "对应用户id")
private Integer userId;
/**
* 加入原因
*/
@ApiModelProperty(value = "加入原因")
private String joincause;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private String orgCode;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 国家地区 0:中国;1:中国香港;2:中国澳门;3:中国台湾
*/
@ApiModelProperty(value = "国家地区 0:中国;1:中国香港;2:中国澳门;3:中国台湾")
private Integer area;
/**
* 附加操作:0无,1加入人才库
*/
@ApiModelProperty(value = "附加操作:0无,1加入人才库")
private Integer ifrck;
/**
* 附加操作:0无,1加入人才库
*/
@ApiModelProperty(value = "附加操作:0无,1加入人才库")
private Date ifrckTime;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 淘汰原因
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "淘汰原因")
private String failCause;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 简历证书
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx_certificate")
@Data
public class ZpglRcxxCertificate extends Model<ZpglRcxxCertificate> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 获得时间
*/
@ApiModelProperty(value = "获得时间")
private Date getTime;
/**
* 证书名称
*/
@ApiModelProperty(value = "证书名称")
private String certificateName;
/**
* 证书图片
*/
@ApiModelProperty(value = "证书图片")
private String image;
/**
*
*/
@ApiModelProperty(value = "")
private Integer isDelete;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 工作经验
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx_experience")
@Data
public class ZpglRcxxExperience extends Model<ZpglRcxxExperience> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 公司名称
*/
@ApiModelProperty(value = "公司名称")
private String company;
/**
* 入职时间
*/
@ApiModelProperty(value = "入职时间")
private Date startTime;
/**
* 离职时间 0000-00-00 00:00:00为至今
*/
@ApiModelProperty(value = "离职时间 0000-00-00 00:00:00为至今")
private Date endTime;
/**
* 职位名称
*/
@ApiModelProperty(value = "职位名称")
private String jobName;
/**
* 所在部门
*/
@ApiModelProperty(value = "所在部门")
private String department;
/**
* 薪水(单位元/月)
*/
@ApiModelProperty(value = "薪水(单位元/月)")
private Integer salary;
/**
* 工作内容
*/
@ApiModelProperty(value = "工作内容")
private String workContent;
/**
* 离职原因
*/
@ApiModelProperty(value = "离职原因")
private String reason;
/**
* 联系人姓名
*/
@ApiModelProperty(value = "联系人姓名")
private String linkName;
/**
* 联系人手机
*/
@ApiModelProperty(value = "联系人手机")
private String linkMobile;
/**
*
*/
@ApiModelProperty(value = "")
private Integer isDelete;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 家庭资料表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx_jtzl")
@Data
public class ZpglRcxxJtzl extends Model<ZpglRcxxJtzl> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 姓名
*/
@ApiModelProperty(value = "姓名")
private String name;
/**
* 关系
*/
@ApiModelProperty(value = "关系")
private String relationship;
/**
* 工作(学习)单位
*/
@ApiModelProperty(value = "工作(学习)单位")
private String linkAddress;
/**
* 联系电话
*/
@ApiModelProperty(value = "联系电话")
private String linkMobile;
/**
*
*/
@ApiModelProperty(value = "")
private Integer isDelete;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 联系信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx_lxxxb")
@Data
public class ZpglRcxxLxxxb extends Model<ZpglRcxxLxxxb> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 联系人姓名
*/
@ApiModelProperty(value = "联系人姓名")
private String linkName;
/**
* 联系人手机
*/
@ApiModelProperty(value = "联系人手机")
private String linkMobile;
/**
* 省名
*/
@ApiModelProperty(value = "省名")
private String provinceId;
/**
* 省名
*/
@ApiModelProperty(value = "省名")
private String province;
/**
* 区名
*/
@ApiModelProperty(value = "区名")
private String districtId;
/**
* 区名
*/
@ApiModelProperty(value = "区名")
private String district;
/**
* 城市
*/
@ApiModelProperty(value = "城市")
private String cityId;
/**
* 城市
*/
@ApiModelProperty(value = "城市")
private String city;
/**
* 联系人详细地址
*/
@ApiModelProperty(value = "联系人详细地址")
private String linkAddressDetail;
/**
*
*/
@ApiModelProperty(value = "")
private Integer isDelete;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.*;
import java.util.Date;
/**
* Offer发送记录表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-04-14 10:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx_offer")
@Data
public class ZpglRcxxOffer extends Model<ZpglRcxxOffer> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 邮件标题
*/
@ApiModelProperty(value = "邮件标题")
private String title;
/**
* 部门
*/
@ApiModelProperty(value = "部门")
private String bumen;
/**
* 岗位
*/
@ApiModelProperty(value = "岗位")
private String gangwei;
/**
* 姓名
*/
@ApiModelProperty(value = "姓名")
private String rcxxName;
/**
* 企业名称
*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**
* 联系人
*/
@ApiModelProperty(value = "联系人")
private String linkName;
/**
* 联系人电话
*/
@ApiModelProperty(value = "联系人电话")
private String linkPhone;
/**
* 联系人邮箱
*/
@ApiModelProperty(value = "联系人邮箱")
private String linkEmail;
/**
* 入职日期
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JSONField(format = "yyyy-MM-dd")
@ApiModelProperty(value = "入职日期")
private Date rzTime;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private Integer orgCode;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private String deleteFlag;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 收件人邮箱
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "收件人邮箱")
private String receiverEmail;
/**
* 发件人邮箱
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "发件人邮箱")
private String senderEmail;
}
package cn.timer.api.bean.zpgl;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* 项目信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-04-1 10:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx_project")
@Data
public class ZpglRcxxProject extends Model<ZpglRcxxProject> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JSONField(format = "yyyy-MM-dd")
@ApiModelProperty(value = "开始时间")
private Date startTime;
/**
* 结束时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty(value = "结束时间")
private Date endTime;
/**
* 项目名称
*/
@ApiModelProperty(value = "项目名称")
private String projectName;
/**
* 项目角色:职位名称/职位名
*/
@ApiModelProperty(value = "项目角色:职位名称/职位名")
private String job;
/**
* 工作描述:项目详情介绍
*/
@ApiModelProperty(value = "工作描述:项目详情介绍")
private String projectDescribe;
/**
* 个人在该项目负责的具体工作详情
*/
@ApiModelProperty(value = "个人在该项目负责的具体工作详情")
private String duty;
/**
* 项目地点城市或区域
*/
@ApiModelProperty(value = "项目地点城市或区域")
private String location;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 教育经历
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx_study")
@Data
public class ZpglRcxxStudy extends Model<ZpglRcxxStudy> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间")
private Date startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
private Date endTime;
/**
* 学校名称
*/
@ApiModelProperty(value = "学校名称")
private String schoolName;
/**
* 学历 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士
*/
@ApiModelProperty(value = "学历 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士")
private Integer education;
/**
* 专业名称
*/
@ApiModelProperty(value = "专业名称")
private String subject;
/**
*
*/
@ApiModelProperty(value = "")
private Integer isDelete;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 培训经验
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_rcxx_train")
@Data
public class ZpglRcxxTrain extends Model<ZpglRcxxTrain> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 培训中心
*/
@ApiModelProperty(value = "培训中心")
private String trainCompany;
/**
* 培训课程
*/
@ApiModelProperty(value = "培训课程")
private String trainSubject;
/**
* 培训开始时间
*/
@ApiModelProperty(value = "培训开始时间")
private Date startTime;
/**
* 培训结束时间
*/
@ApiModelProperty(value = "培训结束时间")
private Date endTime;
/**
* 培训内容
*/
@ApiModelProperty(value = "培训内容")
private String trainContent;
/**
*
*/
@ApiModelProperty(value = "")
private Integer isDelete;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 招聘管理职位信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-21 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_wxgzpt_emp_rcxx")
@Data
public class ZpglWxgzptEmpRcxx extends Model<ZpglWxgzptEmpRcxx> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 员工档案表ID
*/
@ApiModelProperty(value = "员工档案表ID")
private Integer ygglMainEmpId;
/**
* 手机号
*/
@ApiModelProperty(value = "手机号")
private String mobile;
/**
* 微信openid
*/
@ApiModelProperty(value = "微信openid")
private String openid;
/**
* 微信unionid
*/
@ApiModelProperty(value = "微信unionid")
private String unionid;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private Integer orgCode;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 招聘管理职级字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-17 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_zj")
@Data
public class ZpglZj extends Model<ZpglZj> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 职级名称
*/
@ApiModelProperty(value = "职级名称")
private String zjName;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private Integer createUserId;
/**
* 更新者
*/
@ApiModelProperty(value = "更新者")
private Integer updateUserId;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private Integer orgCode;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
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 java.util.Date;
/**
* 招聘管理招聘渠道字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-28 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_zpqd")
@Data
public class ZpglZpqd extends Model<ZpglZpqd> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 工作地点
*/
@ApiModelProperty(value = "工作地点")
private String zpqdName;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private Integer createUserId;
/**
* 更新者
*/
@ApiModelProperty(value = "更新者")
private Integer updateUserId;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private Integer orgCode;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.Date;
/**
* 招聘管理职位信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_zwxx")
@Data
public class ZpglZwxx extends Model<ZpglZwxx> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 职位名称
*/
@ApiModelProperty(value = "职位名称")
private String name;
/**
* 部门id
*/
@ApiModelProperty(value = "部门id")
private Integer deptId;
/**
* 职位类型ID
*/
@ApiModelProperty(value = "职位类型ID")
private Integer jobClassId;
/**
* 工作性质 1:全职 2:兼职 3:实习 4:退休返聘 5:劳务外派 6:劳务外包
*/
@ApiModelProperty(value = "工作性质 1:全职 2:兼职 3:实习 4:退休返聘 5:劳务外派 6:劳务外包")
private Integer workType;
/**
* 对应合工作地点字典ID
*/
@ApiModelProperty(value = "对应合工作地点字典ID")
private Integer zpglGzddId;
/**
* 招聘人数
*/
@ApiModelProperty(value = "招聘人数")
private Integer num;
/**
* 已入职人数
*/
@ApiModelProperty(value = "已入职人数")
private Integer entryNum;
/**
* 招聘原因
*/
@ApiModelProperty(value = "招聘原因")
private String reason;
/**
* 工作经验要求:1:1年一下 2:1-3年 3:3-5年 4:5-10年 5:10年以上
*/
@ApiModelProperty(value = "工作经验要求:1:1年一下 2:1-3年 3:3-5年 4:5-10年 5:10年以上")
private Integer experience;
/**
* 学历要求 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士
*/
@ApiModelProperty(value = "学历要求 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士")
private Integer education;
/**
* 薪资范围
*/
@ApiModelProperty(value = "薪资范围")
private Integer salaryMin;
/**
* 薪资范围
*/
@ApiModelProperty(value = "薪资范围")
private Integer salaryMax;
/**
* 最迟到岗时间
*/
@ApiModelProperty(value = "最迟到岗时间")
private Date registerTime;
/**
* 启动时间
*/
@ApiModelProperty(value = "启动时间")
private Date startTime;
/**
* 截止时间
*/
@ApiModelProperty(value = "截止时间")
private Date endTime;
/**
* 描述
*/
@ApiModelProperty(value = "描述")
private String description;
/**
* 紧急程度状态 1:一般 2:紧急
*/
@ApiModelProperty(value = "紧急程度状态 1:一般 2:紧急")
private Integer urgentStatus;
/**
* 状态 1:招聘中 2:停止招聘
*/
@ApiModelProperty(value = "状态 1:招聘中 2:停止招聘")
private Integer status;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private String orgCode;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 省名
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "省名")
private String province;
/**
* 区名
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "区名")
private String district;
/**
* 城市
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "城市")
private String city;
/**
* 工作地点
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "工作地点")
private String gzddName;
}
...@@ -305,4 +305,64 @@ public interface JxglEnumInterface { ...@@ -305,4 +305,64 @@ public interface JxglEnumInterface {
} }
/**
* 招聘管理-人才信息:状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职
*/
@Getter
enum ResumeStatus implements JxglEnumInterface {
FILTERING(1, "待初筛"),
FILTER_PASS(2, "初筛通过"), INTERVIEW(3, "已安排面试"),
INTERVIEWED(4, "已面试"), INTERVIEW_PASS(5, "面试通过"),
EMPLOY(6, "拟录用"), OFFER(7, "已发Offer"),
ENTRYING(8, "待入职"), PASS_OUT(9, "9已淘汰"),ENTRY(10, "已入职");
private Integer type;
private String name;
ResumeStatus(Integer type, String name) {
this.type = type;
this.name = name;
}
}
/**
* 招聘管理-面试流程:类型,1状态变更,2面试,3Offer,4讨论,5其他
*/
@Getter
enum MslcLogStatus implements JxglEnumInterface {
CHANGEING(1, "状态变更"),
INTERVIEW(2, "面试"), OFFER(3, "Offer"),
DISCUSS(4, "讨论"), OTHER(5, "其他");
private Integer type;
private String name;
MslcLogStatus(Integer type, String name) {
this.type = type;
this.name = name;
}
}
/**
* 招聘管理-面试流程:通知方式 1:全部 2:短信 3:邮件 4.微信公众号
*/
@Getter
enum NoticeWay implements JxglEnumInterface {
ALL(1, "全部"),
SHORT_MESSAGE(2, "短信"), EMAIL(3, "邮件"),
WECHAT_PUBLIC(4, "微信公众号");
private Integer type;
private String name;
NoticeWay(Integer type, String name) {
this.type = type;
this.name = name;
}
}
} }
...@@ -30,7 +30,7 @@ public class WebSecurityConfig implements WebMvcConfigurer { ...@@ -30,7 +30,7 @@ public class WebSecurityConfig implements WebMvcConfigurer {
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
// 所有已api开头的访问都要进入RedilsSessionInterceptor拦截器进行登录验证,并排除login接口(全路径)。必须写成链式,分别设置的话会创建多个拦截器。 // 所有已api开头的访问都要进入RedisSessionInterceptor拦截器进行登录验证,并排除login接口(全路径)。必须写成链式,分别设置的话会创建多个拦截器。
// 必须写成getSessionInterceptor(),否则SessionInterceptor中的@Autowired会无效 // 必须写成getSessionInterceptor(),否则SessionInterceptor中的@Autowired会无效
//.excludePathPatterns("/") //.excludePathPatterns("/")
registry.addInterceptor(getSessionInterceptor()) registry.addInterceptor(getSessionInterceptor())
...@@ -53,7 +53,14 @@ public class WebSecurityConfig implements WebMvcConfigurer { ...@@ -53,7 +53,14 @@ public class WebSecurityConfig implements WebMvcConfigurer {
.excludePathPatterns("/druid/login*") .excludePathPatterns("/druid/login*")
.excludePathPatterns("/app/**") .excludePathPatterns("/app/**")
.excludePathPatterns("/webjars/**") .excludePathPatterns("/webjars/**")
.excludePathPatterns("/check/**"); .excludePathPatterns("/zpgl/h5/**")
.excludePathPatterns("/yggl/mz/*")
.excludePathPatterns("/yggl/sysRegion")
.excludePathPatterns("/wxgzh/**")
.excludePathPatterns("/wxgzpt/**")
.excludePathPatterns("/MP_verify_VohzppEKB3VfeKxw.txt")
.excludePathPatterns("/evaluation/**")
.excludePathPatterns("/oss/uploadImg");
// registry.addInterceptor(getSessionInterceptor()).addPathPatterns("/**").excludePathPatterns("/swagger-ui*"); // registry.addInterceptor(getSessionInterceptor()).addPathPatterns("/**").excludePathPatterns("/swagger-ui*");
} }
......
...@@ -53,6 +53,15 @@ public class SftpConfiguration { ...@@ -53,6 +53,15 @@ public class SftpConfiguration {
@Value("${sftp.client.serverUrl}") @Value("${sftp.client.serverUrl}")
private String serverUrl; private String serverUrl;
@Value("${sftp.client.targetPath}")
private String targetPath;
@Value("${sftp.client.reservedName}")
private boolean reservedName;
@Value("${config-8timer.file-address.type}")
public String fileAddress;
/** /**
* @Title: getSftpSocket * @Title: getSftpSocket
* @Description: 获取连接 * @Description: 获取连接
......
...@@ -7,11 +7,13 @@ import java.util.Date; ...@@ -7,11 +7,13 @@ import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import cn.timer.api.utils.redis.RedisUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -169,6 +171,9 @@ public class LoginController { ...@@ -169,6 +171,9 @@ public class LoginController {
@Autowired @Autowired
private AliyunSMS aliyunSMS; private AliyunSMS aliyunSMS;
@Resource
private RedisUtil redisUtil;
// @Autowired // @Autowired
// private DataSourceTransactionManager transactionManager; // private DataSourceTransactionManager transactionManager;
...@@ -253,9 +258,52 @@ public class LoginController { ...@@ -253,9 +258,52 @@ public class LoginController {
String message = j.getString("Message"); String message = j.getString("Message");
if ("OK".equals(message)) { if ("OK".equals(message)) {
session.setAttribute(phone, code); session.setAttribute(phone, code);
// redisTemplate.set(phone, code); // redisTemplate.set(phone, code);
// redisTemplate.expire(phone, 60); // redisTemplate.expire(phone, 60);
return ResultUtil.data("发送验证码成功");
} else {
return ResultUtil.error("发送验证码失败");
}
} catch (Exception e) {
e.printStackTrace();
return ResultUtil.error("发送验证码失败");
}
}
/**
* 发送验证码
*
* @param entRegisterDto
* @return
*/
@PostMapping(value = "/sendcode1")
@ApiOperation(value = "1.发送验证码", httpMethod = "POST", notes = "接口发布说明")
@ApiOperationSupport(order = 1)
@Log(title = "发送验证码", businessType = BusinessType.SEND_CODE)
public Result<String> sendCode1(@RequestBody EntRegisterDto entRegisterDto) {
String phone = entRegisterDto.getPhone();
if (phone == null || StrUtil.hasBlank(phone)) {
return ResultUtil.error("请输入手机号");
}
// 6位随机数验证码
try {
Integer code = (int) ((Math.random() * 9 + 1) * 100000);
if (phone == null || "".equals(phone)) {
phone = entRegisterDto.getUsername();
entRegisterDto.setPhone(phone);
}
List<Object> list = aliyunSMS.authCode(entRegisterDto, entRegisterDto.getTc(), code);
Integer useId = (Integer) list.get(0);
JSONObject j = (JSONObject) list.get(1);
// 获取当前日期的字符串格式
String message = j.getString("Message");
if ("OK".equals(message)) {
session.setAttribute(phone, code);
redisUtil.set(phone, code,60*5);
return ResultUtil.data("发送验证码成功"); return ResultUtil.data("发送验证码成功");
} else { } else {
return ResultUtil.error("发送验证码失败"); return ResultUtil.error("发送验证码失败");
......
...@@ -11,6 +11,7 @@ import java.util.List; ...@@ -11,6 +11,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.timer.api.controller.zpgl.sevice.ZpglService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
...@@ -89,6 +90,8 @@ public class CrmController { ...@@ -89,6 +90,8 @@ public class CrmController {
@Autowired @Autowired
private CrmClientContactsMapper crmClientContactsMapper; private CrmClientContactsMapper crmClientContactsMapper;
@Autowired
private ZpglService zpglService;
private Integer getEmpNum(UserBean userBean) { private Integer getEmpNum(UserBean userBean) {
return userBean.getEmpNum(); return userBean.getEmpNum();
...@@ -369,12 +372,6 @@ public class CrmController { ...@@ -369,12 +372,6 @@ public class CrmController {
// return ResultUtil.data(crmSeaRules, "获取成功"); // return ResultUtil.data(crmSeaRules, "获取成功");
// } // }
private SysRegion getSysRegion(Integer keyId) {
return SysRegion.builder().build()
.selectOne(new QueryWrapper<SysRegion>().lambda().eq(SysRegion::getKeyId, keyId).select(
SysRegion::getRegionName, SysRegion::getKeyId, SysRegion::getZipCode,
SysRegion::getRegionCode));
}
@PostMapping("addClient") @PostMapping("addClient")
@Transactional @Transactional
...@@ -384,14 +381,14 @@ public class CrmController { ...@@ -384,14 +381,14 @@ public class CrmController {
Integer orgCode = getOrgCode(userBean); Integer orgCode = getOrgCode(userBean);
crmClientData.setClientStatus(1); crmClientData.setClientStatus(1);
crmClientData.setCreateUser(empNum); crmClientData.setCreateUser(empNum);
SysRegion district = getSysRegion(crmClientData.getDistrictId()); SysRegion district = zpglService.getSysRegion(crmClientData.getDistrictId());
// crmClientData.setZipCode(district.getZipCode()); // crmClientData.setZipCode(district.getZipCode());
if (district != null) { if (district != null) {
crmClientData.setDistrict(district.getRegionName()); crmClientData.setDistrict(district.getRegionName());
SysRegion city = getSysRegion(district.getRegionCode()); SysRegion city = zpglService.getSysRegion(district.getRegionCode());
crmClientData.setCity(city.getRegionName()); crmClientData.setCity(city.getRegionName());
crmClientData.setCityId(city.getKeyId()); crmClientData.setCityId(city.getKeyId());
SysRegion province = getSysRegion(city.getRegionCode()); SysRegion province = zpglService.getSysRegion(city.getRegionCode());
crmClientData.setProvinceId(province.getKeyId()); crmClientData.setProvinceId(province.getKeyId());
crmClientData.setProvince(province.getRegionName()); crmClientData.setProvince(province.getRegionName());
} }
......
...@@ -59,17 +59,8 @@ public class DiskFilesController { ...@@ -59,17 +59,8 @@ public class DiskFilesController {
@Autowired @Autowired
private DiskFilesService diskFilesService; private DiskFilesService diskFilesService;
@Value("${sftp.client.root}") @Autowired
private String root; private SftpConfiguration config;
@Value("${sftp.client.targetPath}")
private String targetPath;
@Value("${sftp.client.reservedName}")
private boolean reservedName;
@Value("${sftp.client.serverUrl}")
private String serverUrl;
@ResponseBody @ResponseBody
...@@ -112,12 +103,12 @@ public class DiskFilesController { ...@@ -112,12 +103,12 @@ public class DiskFilesController {
List<FileInfoDto> imageUrls; List<FileInfoDto> imageUrls;
try { try {
//上传文件到服务器 //上传文件到服务器
imageUrls = ftpService.uploadFile(targetPath, file, reservedName); imageUrls = ftpService.uploadFile(file);
for (FileInfoDto dto : imageUrls) { for (FileInfoDto dto : imageUrls) {
//新增资源上传文件 //新增资源上传文件
diskFiles.setFileType(dto.getFileSuffix()); diskFiles.setFileType(dto.getFileSuffix());
//"/home/disk/123456.jpg" //"/home/disk/123456.jpg"
diskFiles.setDiskPath(root + targetPath + "/" + dto.getFileName()); diskFiles.setDiskPath(config.getRoot() + config.getTargetPath() + "/" + dto.getFileName());
diskFiles.setUrlPath(dto.getUrlPath()); diskFiles.setUrlPath(dto.getUrlPath());
diskFiles.setTitle(dto.getResourceFileName()); diskFiles.setTitle(dto.getResourceFileName());
diskFiles.setFileSize(dto.getFileSize()); diskFiles.setFileSize(dto.getFileSize());
......
package cn.timer.api.controller.disk.constant;
/**
* 文件存储地址常量
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-04-02 11:05:49
*/
public class FileAddressConstant {
/**
* aliyun-oss(阿里云OSS)
*/
public static final String ALIYUN_OSS = "aliyun-oss";
/**
* physics-oss(物理机器OSS)
*/
public static final String PHYSICS_OSS = "physics-oss";
}
package cn.timer.api.controller.oss; package cn.timer.api.controller.oss;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import cn.timer.api.service.OSSService; import cn.timer.api.service.OSSService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -20,6 +21,8 @@ import cn.timer.api.utils.aliyun.OSSUtil; ...@@ -20,6 +21,8 @@ import cn.timer.api.utils.aliyun.OSSUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import javax.servlet.http.HttpServletRequest;
@Api(tags = "9.0阿里云OSS操作") @Api(tags = "9.0阿里云OSS操作")
@Transactional @Transactional
@RequestMapping(value = "/oss", produces = { "application/json" }) @RequestMapping(value = "/oss", produces = { "application/json" })
...@@ -176,4 +179,33 @@ public class OSSController { ...@@ -176,4 +179,33 @@ public class OSSController {
return data; return data;
} }
@PostMapping(value = "/uploadImg")
@ApiOperation(value = "上传图片", httpMethod = "POST", notes = "接口发布说明")
@ResponseBody
public Result<String> uploadImg(@RequestParam(required = true) String param,@RequestParam(required = false) String moudle, @Param("file") MultipartFile file) throws Exception {
if (file == null || file.getSize() <= 0) {
return ResultUtil.error("上传的文件为空,请重新选择!");
}
Set<String> typeSet = new HashSet<>();
typeSet.add(".jpg");
typeSet.add(".png");
typeSet.add(".gif");
String fileName = file.getOriginalFilename();
int index = fileName.lastIndexOf(".");
String fileType = fileName.substring(index);
//校验图片类型是否有效
if (!typeSet.contains(fileType)) {
return ResultUtil.error("只能上传图片文件!");
}
JSONObject jsonObject = JSON.parseObject(param);
Integer id = jsonObject.getInteger("id");
String orgid = jsonObject.getString("orgid");
moudle=id+"";
Result<String> data = ossService.upload(1, moudle, file);
return data;
}
} }
package cn.timer.api.controller.verify;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
*
* @author longys
* @date 2022/3/30 15:35
*/
@RestController
@RequestMapping("/")
public class VerifyController {
/**
* 网页授权域名
* 验证文件
* @param response
*/
@GetMapping("/MP_verify_VohzppEKB3VfeKxw.txt")
public void verify(HttpServletResponse response){
PrintWriter out = null;
try {
out = response.getWriter();
out.write("VohzppEKB3VfeKxw");
} catch (IOException e) {
e.printStackTrace();
} finally {
out.close();
}
}
}
...@@ -105,7 +105,7 @@ import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper; ...@@ -105,7 +105,7 @@ import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper;
import cn.timer.api.dao.kqmk.KqglAssoLeaveBalanceMapper; import cn.timer.api.dao.kqmk.KqglAssoLeaveBalanceMapper;
import cn.timer.api.dao.qyzx.QyzxEmpEntAssoMapper; import cn.timer.api.dao.qyzx.QyzxEmpEntAssoMapper;
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper; import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import cn.timer.api.dao.yggl.YgMzDtoMapper; import cn.timer.api.dao.clazz.NationClassMapper;
import cn.timer.api.dao.yggl.YgglMainEmpMapper; import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.yggl.YgglMainLzbMapper; import cn.timer.api.dao.yggl.YgglMainLzbMapper;
import cn.timer.api.dao.zzgl.ZzglBmgwMMapper; import cn.timer.api.dao.zzgl.ZzglBmgwMMapper;
...@@ -124,7 +124,7 @@ import cn.timer.api.dto.yggl.YgKVDto; ...@@ -124,7 +124,7 @@ import cn.timer.api.dto.yggl.YgKVDto;
import cn.timer.api.dto.yggl.YgQueryDto; import cn.timer.api.dto.yggl.YgQueryDto;
import cn.timer.api.dto.yggl.YgbintuDto; import cn.timer.api.dto.yggl.YgbintuDto;
import cn.timer.api.dto.yggl.YgglCartogramDto; import cn.timer.api.dto.yggl.YgglCartogramDto;
import cn.timer.api.dto.yggl.YgmzDto; import cn.timer.api.bean.clazz.NationClass;
import cn.timer.api.dto.yggl.YgzzDto; import cn.timer.api.dto.yggl.YgzzDto;
import cn.timer.api.utils.DateFormatUtils; import cn.timer.api.utils.DateFormatUtils;
import cn.timer.api.utils.Md5; import cn.timer.api.utils.Md5;
...@@ -164,7 +164,7 @@ public class YgglController { ...@@ -164,7 +164,7 @@ public class YgglController {
// weng(民族) // weng(民族)
@Autowired @Autowired
private YgMzDtoMapper ygMzDtoMapper; private NationClassMapper nationClassMapper;
@Resource @Resource
private RedisUtil redisUtil; private RedisUtil redisUtil;
...@@ -275,6 +275,7 @@ public class YgglController { ...@@ -275,6 +275,7 @@ public class YgglController {
String zjNum = addygdaDto.getZjNum(); String zjNum = addygdaDto.getZjNum();
Integer attgroupid = addygdaDto.getAttgroupid();//考勤组id Integer attgroupid = addygdaDto.getAttgroupid();//考勤组id
boolean isvalid = true; boolean isvalid = true;
if(zjType != null){
switch (zjType) { switch (zjType) {
case 0: case 0:
isvalid = IdcardUtil.isValidCard15(zjNum) || IdcardUtil.isValidCard18(zjNum); isvalid = IdcardUtil.isValidCard15(zjNum) || IdcardUtil.isValidCard18(zjNum);
...@@ -297,6 +298,7 @@ public class YgglController { ...@@ -297,6 +298,7 @@ public class YgglController {
default: default:
break; break;
} }
}
// if (!isvalid) { // if (!isvalid) {
// return ResultUtil.error("证件格式不对!"); // return ResultUtil.error("证件格式不对!");
// } // }
...@@ -367,7 +369,7 @@ public class YgglController { ...@@ -367,7 +369,7 @@ public class YgglController {
} }
} }
if(syq != null){
if(syq == 0) { if(syq == 0) {
ygglMainEmp.setZzTime(rzTime); ygglMainEmp.setZzTime(rzTime);
}else { }else {
...@@ -378,6 +380,7 @@ public class YgglController { ...@@ -378,6 +380,7 @@ public class YgglController {
ygglMainEmp.setZzTime(ClockInTool.strToDateLong(zztime)); ygglMainEmp.setZzTime(ClockInTool.strToDateLong(zztime));
} }
}
ygglMainEmp.insert(); ygglMainEmp.insert();
...@@ -515,9 +518,23 @@ public class YgglController { ...@@ -515,9 +518,23 @@ public class YgglController {
empQuery.setEmpNums(empNums); empQuery.setEmpNums(empNums);
IPage<YgglMainEmp> ygglMainEmpPage = ygglMainEmpMapper.selectME(page, empQuery); IPage<YgglMainEmp> ygglMainEmpPage = ygglMainEmpMapper.selectME(page, empQuery);
List<YgglMainEmp> ygglMainEmps = ygglMainEmpPage.getRecords(); Map<String, Object> map = new HashMap<>(9);
// 在职
map.put("list", ygglMainEmpPage.getRecords());
// 在职
map.put("zaizhi", ygglMainEmpMapper.selectEmpCount(orgCode,1));
// 全职
map.put("quanzhi", ygglMainEmpMapper.selectEmpCount(orgCode,2));
// 试用期
map.put("shiyongqi", ygglMainEmpMapper.selectEmpCount(orgCode,3));
// 正式
map.put("zhengshi", ygglMainEmpMapper.selectEmpCount(orgCode,4));
// 待离职
map.put("dailizhi", ygglMainEmpMapper.selectEmpCount(orgCode,5));
// 已离职
map.put("yilizhi", ygglMainEmpMapper.selectEmpCount(orgCode,6));
return ResultUtil.data(page, ygglMainEmps); return ResultUtil.data(ygglMainEmpPage, map);
} }
/** /**
...@@ -1552,12 +1569,12 @@ public class YgglController { ...@@ -1552,12 +1569,12 @@ public class YgglController {
@PostMapping(value = "/mz/{id}") @PostMapping(value = "/mz/{id}")
@ApiOperation(value = "60.展示民族/展示所有民族", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "60.展示民族/展示所有民族", httpMethod = "POST", notes = "接口发布说明")
@ApiOperationSupport(order = 60) @ApiOperationSupport(order = 60)
public Result<List<YgmzDto>> selectmzs(@CurrentUser UserBean userBean, @PathVariable Integer id) { public Result<List<NationClass>> selectmzs(@PathVariable Integer id) {
if (id == null || id == 0) { if (id == null || id == 0) {
List<YgmzDto> allmz = new LambdaQueryChainWrapper<YgmzDto>(ygMzDtoMapper).list(); List<NationClass> allmz = new LambdaQueryChainWrapper<NationClass>(nationClassMapper).list();
return ResultUtil.data(allmz, "展示所有民族"); return ResultUtil.data(allmz, "展示所有民族");
} }
List<YgmzDto> mz = new LambdaQueryChainWrapper<YgmzDto>(ygMzDtoMapper).eq(YgmzDto::getNumber, id).list(); List<NationClass> mz = new LambdaQueryChainWrapper<NationClass>(nationClassMapper).eq(NationClass::getNumber, id).list();
return ResultUtil.data(mz, "展示该民族"); return ResultUtil.data(mz, "展示该民族");
} }
...@@ -1590,7 +1607,7 @@ public class YgglController { ...@@ -1590,7 +1607,7 @@ public class YgglController {
@ApiOperation(value = "62.查询员工列表", httpMethod = "GET", notes = "接口发布说明") @ApiOperation(value = "62.查询员工列表", httpMethod = "GET", notes = "接口发布说明")
@ApiOperationSupport(order = 62) @ApiOperationSupport(order = 62)
public Result<List<YgQueryDto>> queryEmpMessage(@CurrentUser UserBean userBean) { public Result<List<YgQueryDto>> queryEmpMessage(@CurrentUser UserBean userBean) {
List<YgQueryDto> ygQueryDto = ygglMainEmpMapper.queryEmpMessage(userBean.getOrgCode(),null); List<YgQueryDto> ygQueryDto = ygglMainEmpMapper.queryEmpMessage(userBean.getOrgCode());
for (YgQueryDto yg : ygQueryDto) { for (YgQueryDto yg : ygQueryDto) {
if (StringUtil.isEmpty(yg.getHeadUrl())) { if (StringUtil.isEmpty(yg.getHeadUrl())) {
yg.setHeadUrl(""); yg.setHeadUrl("");
...@@ -1973,7 +1990,7 @@ public class YgglController { ...@@ -1973,7 +1990,7 @@ public class YgglController {
List<YgglMainEmp> yglList = YgglMainEmp.builder().build() List<YgglMainEmp> yglList = YgglMainEmp.builder().build()
.selectList(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()) .selectList(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, userBean.getOrgCode())
.in(YgglMainEmp::getEmpNum, empNumList) .in(YgglMainEmp::getEmpNum, empNumList)
.select(YgglMainEmp::getId,YgglMainEmp::getEmpNum, YgglMainEmp::getName, YgglMainEmp::getHeadUrl).orderByDesc(YgglMainEmp::getId)); .select(YgglMainEmp::getId, YgglMainEmp::getEmpNum, YgglMainEmp::getName, YgglMainEmp::getHeadUrl).orderByDesc(YgglMainEmp::getId));
for (YgglMainEmp yg : yglList) { for (YgglMainEmp yg : yglList) {
if (StringUtil.isEmpty(yg.getHeadUrl())) { if (StringUtil.isEmpty(yg.getHeadUrl())) {
yg.setHeadUrl(CommonEnum.NULL_STR.getDesc()); yg.setHeadUrl(CommonEnum.NULL_STR.getDesc());
......
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.zpgl.ZpglCompany;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.List;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-18 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"})
public class ZpglCompanyController {
/**
* 招聘-合同公司字典
*
* @param
* @return
*/
@GetMapping(value = "/conpany")
@ApiOperation(value = "1.合同公司字典", httpMethod = "GET", notes = "合同公司字典")
@ApiOperationSupport(order = 1)
public Result<Object> fail(@CurrentUser UserBean userBean) {
try {
QueryWrapper<ZpglCompany> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglCompany::getDeleteFlag, 0).eq(ZpglCompany::getOrgCode, userBean.getOrgCode());
List<ZpglCompany> zpglCompany = ZpglCompany.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglCompany, "查询成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-合同公司字典失败");
}
}
/**
* 招聘-添加合同公司
*
* @param
* @return
*/
@PostMapping(value = "/company/save")
@ApiOperation(value = "2.招聘-添加合同公司", httpMethod = "POST", notes = "招聘-添加合同公司")
@ApiOperationSupport(order = 2)
public Result<Object> save(@CurrentUser UserBean userBean, @RequestBody ZpglCompany zpglCompany) {
try {
zpglCompany.setCreateUserId(userBean.getEmpNum());
zpglCompany.setUpdateUserId(userBean.getEmpNum());
zpglCompany.setOrgCode(userBean.getOrgCode());
return zpglCompany.insert() ? ResultUtil.success() : ResultUtil.error();
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-添加合同公司失败");
}
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.zpgl.ZpglCptk;
import cn.timer.api.bean.zpgl.ZpglDtk;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author longys
* @date 2022/4/14 15:48
*/
@Api(tags = "性格颜色测评")
@RestController
@RequestMapping(value = "/evaluation")
public class ZpglEvaluationController {
@ApiOperation(value = "获取测评题库", httpMethod = "GET", notes = "获取测评题库")
@RequestMapping("/get_cptk_list")
public Result<List<ZpglCptk>> getCptkList(){
List<ZpglCptk> zpglCptks = ZpglCptk.builder().build()
.selectList(new QueryWrapper<ZpglCptk>().lambda().orderByAsc(ZpglCptk::getSort));
return ResultUtil.data(zpglCptks);
}
@ApiOperation(value = "提交测评", httpMethod = "POST", notes = "提交测评")
@RequestMapping("/add_evaluation")
public Result<Object> addEvaluation(@RequestBody ZpglDtk zpglDtk){
ZpglDtk dtk = zpglDtk.selectOne(new QueryWrapper<ZpglDtk>()
.lambda().eq(ZpglDtk::getZpglRcxxId, zpglDtk.getZpglRcxxId()));
if (dtk!=null){
return ResultUtil.error("你已提交测评!");
}
try {
zpglDtk.insert();
} catch (Exception e) {
e.printStackTrace();
return ResultUtil.error();
}
return ResultUtil.success();
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.zpgl.ZpglFail;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.List;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"})
public class ZpglFailController {
/**
* 招聘-淘汰原因字典
*
* @param
* @return
*/
@GetMapping(value = "/fail")
@ApiOperation(value = "1.淘汰原因字典", httpMethod = "GET", notes = "淘汰原因字典")
@ApiOperationSupport(order = 1)
public Result<Object> fail(@CurrentUser UserBean userBean, @ApiParam("招聘状态") @RequestParam(required = false) Integer status) {
try {
QueryWrapper<ZpglFail> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglFail::getDeleteFlag, 0).eq(ZpglFail::getOrgCode, userBean.getOrgCode()).eq(ZpglFail::getZpglRcxxStatus, status);
List<ZpglFail> zpglFail = ZpglFail.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglFail, "查询成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-淘汰原因字典失败");
}
}
/**
* 招聘-添加淘汰原因
*
* @param
* @return
*/
@PostMapping(value = "/save")
@ApiOperation(value = "2.招聘-添加淘汰原因", httpMethod = "POST", notes = "招聘-添加淘汰原因")
@ApiOperationSupport(order = 2)
public Result<Object> save(@CurrentUser UserBean userBean, @RequestBody ZpglFail zpglFail) {
try {
zpglFail.setCreateUserId(userBean.getEmpNum());
zpglFail.setUpdateUserId(userBean.getEmpNum());
zpglFail.setOrgCode(userBean.getOrgCode());
return zpglFail.insert() ? ResultUtil.success() : ResultUtil.error();
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-添加淘汰原因失败");
}
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.clazz.SysRegion;
import cn.timer.api.bean.zpgl.ZpglGzdd;
import cn.timer.api.bean.zpgl.ZpglZj;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.controller.zpgl.sevice.ZpglService;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.List;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-18 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"})
public class ZpglGzddController {
@Autowired
private ZpglService zpglService;
/**
* 招聘-工作地点
*
* @param
* @return
*/
@GetMapping(value = "/gzdd")
@ApiOperation(value = "1.工作地点字典", httpMethod = "GET", notes = "工作地点字典")
@ApiOperationSupport(order = 1)
public Result<Object> fail(@CurrentUser UserBean userBean) {
try {
QueryWrapper<ZpglGzdd> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglGzdd::getDeleteFlag, 0).eq(ZpglGzdd::getOrgCode, userBean.getOrgCode());
List<ZpglGzdd> zpglGzdd = ZpglGzdd.builder().build().selectList(queryWrapper);
zpglGzdd.forEach(zg -> {
zg.setGzddName(zg.getProvince()+"/"+zg.getCity()+"/"+zg.getDistrict()+"/"+zg.getGzddName());
});
return ResultUtil.data(zpglGzdd, "查询成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-工作地点失败");
}
}
/**
* 招聘-添加职级
*
* @param
* @return
*/
@PostMapping(value = "/gzdd/save")
@ApiOperation(value = "2.招聘-添加工作地点", httpMethod = "POST", notes = "招聘-添加工作地点")
@ApiOperationSupport(order = 2)
public Result<Object> save(@CurrentUser UserBean userBean, @RequestBody ZpglGzdd zpglGzdd) {
try {
if(StringUtils.isEmpty(zpglGzdd.getDistrictId()) || zpglGzdd.getDistrictId().length() <= 0){
return ResultUtil.error();
}
SysRegion district = zpglService.getSysRegion(Integer.parseInt(zpglGzdd.getDistrictId()));
if (district != null) {
zpglGzdd.setDistrict(district.getRegionName());
SysRegion city = zpglService.getSysRegion(district.getRegionCode());
zpglGzdd.setCity(city.getRegionName());
zpglGzdd.setCityId(city.getKeyId().toString());
SysRegion province = zpglService.getSysRegion(city.getRegionCode());
zpglGzdd.setProvinceId(province.getKeyId().toString());
zpglGzdd.setProvince(province.getRegionName());
}
zpglGzdd.setCreateUserId(userBean.getEmpNum());
zpglGzdd.setUpdateUserId(userBean.getEmpNum());
zpglGzdd.setOrgCode(userBean.getOrgCode());
return zpglGzdd.insert() ? ResultUtil.success() : ResultUtil.error();
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-添加职级失败");
}
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.aspect.lang.annotation.Log;
import cn.timer.api.aspect.lang.enums.BusinessType;
import cn.timer.api.bean.zpgl.*;
import cn.timer.api.config.enuminterface.JxglEnumInterface;
import cn.timer.api.controller.zpgl.sevice.ZpglMslcLogService;
import cn.timer.api.dto.zpgl.InterviewApplicationDto;
import cn.timer.api.utils.DateFormatUtils;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import cn.timer.api.utils.ZpglMessageTemplate;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl/h5")
public class ZpglH5Controller {
@Autowired
private ZpglMslcLogService zpglMslcLogService;
/**
* 添加面试申请
* @param
* @return
*/
@RequestMapping("/add_interview_application")
@ApiOperation(value = "添加面试申请", httpMethod = "POST", notes = "添加面试申请")
@Log(title = "addInterviewApplication", businessType = BusinessType.INSERT_UPDATE)
public Result<Object> addInterviewApplication(@Validated @RequestBody InterviewApplicationDto dto) {
System.out.println(dto);
ZpglRcxx zpglRcxx = new ZpglRcxx();
//复制到 ZpglRcxx 实体对象
BeanUtils.copyProperties(dto,zpglRcxx);
// 计算工作年限
if(!StringUtils.isEmpty(zpglRcxx.getWorkBeginYear())){
zpglRcxx.setWorkyears(DateFormatUtils.yearCompare(zpglRcxx.getWorkBeginYear(),new Date()));
}
zpglRcxx.insertOrUpdate();
if(StringUtils.isEmpty(zpglRcxx.getId())){
// 新增人才信息 初始化流程记录
ZpglMslcLog zpglMslcLog = new ZpglMslcLog();
zpglMslcLog.setZpglRcxxId(zpglRcxx.getId());
zpglMslcLog.setUserId(0);
zpglMslcLog.setUserName("");
zpglMslcLog.setZpglRcxxStatus(JxglEnumInterface.MslcLogStatus.OTHER.getType());
zpglMslcLog.setDetail(ZpglMessageTemplate.SYS_ADD);
zpglMslcLogService.addZpglMslcLog(zpglMslcLog);
}
//添加紧急联系人
if(dto.getZpglRcxxLxxxb() != null){
ZpglRcxxLxxxb zpglRcxxLxxxb = dto.getZpglRcxxLxxxb();
zpglRcxxLxxxb.setZpglRcxxId(zpglRcxx.getId());
zpglRcxxLxxxb.insertOrUpdate();
}
//新增/修改工作经验
if(dto.getZpglRcxxExperience() !=null && dto.getZpglRcxxExperience().size()>0){
List<ZpglRcxxExperience> experiences = dto.getZpglRcxxExperience();
for(ZpglRcxxExperience experience : experiences){
if(experience.getCompany() != null){
experience.setZpglRcxxId(zpglRcxx.getId());
experience.insertOrUpdate();
}
}
}
//新增/修改教育经历
if(dto.getZpglRcxxStudy() !=null && dto.getZpglRcxxStudy().size()>0){
List<ZpglRcxxStudy> zpglRcxxStudys = dto.getZpglRcxxStudy();
for(ZpglRcxxStudy study : zpglRcxxStudys){
if(study.getSchoolName() != null){
study.setZpglRcxxId(zpglRcxx.getId());
study.insertOrUpdate();
}
}
}
//新增/修改家庭资料
if(dto.getZpglRcxxJtzls() !=null && dto.getZpglRcxxJtzls().size()>0){
List<ZpglRcxxJtzl> zpglRcxxJtzls = dto.getZpglRcxxJtzls();
for(ZpglRcxxJtzl jtzl : zpglRcxxJtzls){
if(jtzl.getName() != null){
jtzl.setZpglRcxxId(zpglRcxx.getId());
jtzl.insertOrUpdate();
}
}
}
return ResultUtil.success();
}
/**
* 查询面试申请信息
* @param
* @return
*/
@RequestMapping("/interview_application_info/{mobile}")
@ApiOperation(value = "查询面试申请信息", httpMethod = "GET", notes = "查询面试申请信息")
@Log(title = "interviewApplicationIofo", businessType = BusinessType.INSERT_UPDATE)
public Result<InterviewApplicationDto> interviewApplicationIofo(@PathVariable String mobile) {
System.out.println(mobile);
if(mobile == null || "".equals(mobile)){
return ResultUtil.error("手机号不能为空");
}
InterviewApplicationDto dto = new InterviewApplicationDto();
List<ZpglRcxx> zpglRcxxes = ZpglRcxx.builder().build()
.selectList(new QueryWrapper<ZpglRcxx>().lambda()
.eq(ZpglRcxx::getMobile, mobile));
if(zpglRcxxes.size() == 0){
return ResultUtil.error("没有简历信息");
}
ZpglRcxx zpglRcxx = zpglRcxxes.get(0);
//复制到dto
BeanUtils.copyProperties(zpglRcxx,dto);
//联系人信息
List<ZpglRcxxLxxxb> zpglRcxxLxxxbs = ZpglRcxxLxxxb.builder().build().selectList(new QueryWrapper<ZpglRcxxLxxxb>()
.lambda().select(ZpglRcxxLxxxb::getId,ZpglRcxxLxxxb::getLinkName,ZpglRcxxLxxxb::getLinkMobile)
.eq(ZpglRcxxLxxxb::getZpglRcxxId, zpglRcxx.getId()));
if(zpglRcxxLxxxbs.size()>0)
dto.setZpglRcxxLxxxb(zpglRcxxLxxxbs.get(0));
//工作经验
List<ZpglRcxxExperience> experiences = ZpglRcxxExperience.builder().build()
.selectList(new QueryWrapper<ZpglRcxxExperience>()
.lambda().eq(ZpglRcxxExperience::getZpglRcxxId, zpglRcxx.getId()));
if (experiences.size()>0)
dto.setZpglRcxxExperience(experiences);
//教育经历
List<ZpglRcxxStudy> study = ZpglRcxxStudy.builder().build()
.selectList(new QueryWrapper<ZpglRcxxStudy>()
.lambda().eq(ZpglRcxxStudy::getZpglRcxxId, zpglRcxx.getId()));
if (study.size()>0)
dto.setZpglRcxxStudy(study);
//家庭资料
List<ZpglRcxxJtzl> jtzl = ZpglRcxxJtzl.builder().build()
.selectList(new QueryWrapper<ZpglRcxxJtzl>()
.lambda().eq(ZpglRcxxJtzl::getZpglRcxxId, zpglRcxx.getId()));
if (jtzl.size()>0)
dto.setZpglRcxxJtzls(jtzl);
return ResultUtil.data(dto,"查询成功");
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.zpgl.ZpglMslcLog;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.enuminterface.JxglEnumInterface;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.dto.zpgl.ZpglMslcLogDto;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.List;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"})
@Slf4j
public class ZpglMslcController {
/**
* 招聘-招聘中
*
* @param
* @return
*/
@GetMapping(value = "/mslc_list")
@ApiOperation(value = "1.招聘管理面试流程记录", httpMethod = "GET", notes = "招聘管理面试流程记录")
@ApiOperationSupport(order = 1)
public Result<Object> mslcList(@CurrentUser UserBean userBean,
@ApiParam("人才信息ID") @RequestParam(required = false) Integer zpglRcxxId,
@ApiParam("状态") @RequestParam(required = false) Integer zpglRcxxStatus) {
try {
QueryWrapper<ZpglMslcLog> queryWrapper = new QueryWrapper<ZpglMslcLog>();
queryWrapper.lambda().eq(ZpglMslcLog::getZpglRcxxId,zpglRcxxId);
// 0全部类型,1状态变更,2面试,3Offer,4讨论,5其他
// JxglEnumInterface.MslcLogStatus
if(zpglRcxxStatus>0){
queryWrapper.lambda().eq(ZpglMslcLog::getZpglRcxxStatus,zpglRcxxStatus);
}
queryWrapper.lambda().orderByDesc(ZpglMslcLog::getCreateTime);
List<ZpglMslcLog> zpglMslcLogs = ZpglMslcLog.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglMslcLogs, "搜索成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-招聘列表失败");
}
}
/**
* 招聘-添加讨论
*
* @param
* @return
*/
@PostMapping(value = "/mslc/save")
@ApiOperation(value = "2.招聘-添加讨论", httpMethod = "POST", notes = "招聘-添加讨论")
@ApiOperationSupport(order = 2)
public Result<Object> save(@CurrentUser UserBean userBean, @RequestBody @Validated ZpglMslcLogDto zpglMslcLogDto) {
try {
ZpglMslcLog zpglMslcLog = ZpglMslcLog.builder().build();
BeanUtils.copyProperties(zpglMslcLogDto, zpglMslcLog);
zpglMslcLog.setUserId(userBean.getEmpNum());
zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername());
zpglMslcLog.setDetail(userBean.getQyzxEmpLogin().getUsername()+" "+zpglMslcLogDto.getDetail());
zpglMslcLog.setZpglRcxxStatus(JxglEnumInterface.MslcLogStatus.DISCUSS.getType());
return zpglMslcLog.insert() ? ResultUtil.data(zpglMslcLog) : ResultUtil.error();
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-添加讨论");
}
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.zpgl.ZpglWxgzptEmpRcxx;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.transaction.Transactional;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-04-25 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"})
@Slf4j
public class ZpglWxgzptEmpRcxxController {
/**
* 招聘-检测用户是否关注并且注册 8小时企业管理 微信公众号
*
* @param
* @return
*/
@GetMapping(value = "/check_user_wechat")
@ApiOperation(value = "1.检测用户是否关注并且注册 8小时企业管理 微信公众号", httpMethod = "GET", notes = "招聘列表")
@ApiOperationSupport(order = 1)
public Result<Object> checkUserWechat(@CurrentUser UserBean userBean,
@ApiParam("面试官ID") @RequestParam(required = false) Integer interviewerId,
@ApiParam("面试者手机号") @RequestParam(required = false) String mobile) {
try {
int interviewer = 0,interviewee=0;
ZpglWxgzptEmpRcxx zpglWxgzptEmpRcxx = ZpglWxgzptEmpRcxx.builder().build().selectOne(
new QueryWrapper<ZpglWxgzptEmpRcxx>().select("openid").lambda().eq(ZpglWxgzptEmpRcxx::getMobile,mobile)
);
// 面试者已绑定
if(!StringUtils.isEmpty(zpglWxgzptEmpRcxx) && !StringUtils.isEmpty(zpglWxgzptEmpRcxx.getOpenid()) && zpglWxgzptEmpRcxx.getOpenid().length()>0){
interviewee = 1;
}
QyzxEmpLogin qyzxEmpLogin = QyzxEmpLogin.builder().id(interviewerId).build().selectById();
ZpglWxgzptEmpRcxx zpglWxgzptEmpRcxxee = ZpglWxgzptEmpRcxx.builder().build().selectOne(
new QueryWrapper<ZpglWxgzptEmpRcxx>().select("openid").lambda().eq(ZpglWxgzptEmpRcxx::getMobile,qyzxEmpLogin.getPhone())
);
// 面试官已绑定
if(!StringUtils.isEmpty(zpglWxgzptEmpRcxxee) && !StringUtils.isEmpty(zpglWxgzptEmpRcxxee.getOpenid()) && zpglWxgzptEmpRcxxee.getOpenid().length()>0){
interviewer = 1;
}
if(interviewer==0 && interviewee==0){
return ResultUtil.data(1,"面试官和候选人未绑定公众号,请提醒面试官、候选人关注8小时企业管理公众号!");
}
if(interviewer==0){
return ResultUtil.data(1,"面试官未绑定公众号,请提醒面试官关注8小时企业管理公众号!");
}
if(interviewee==0){
return ResultUtil.data(1,"候选人未绑定公众号,请提醒候选人关注8小时企业管理公众号!");
}
return ResultUtil.data(0,"都绑定了");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-检测失败");
}
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.zpgl.ZpglZj;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.List;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-18 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"})
public class ZpglZjController {
/**
* 招聘-职级字典
*
* @param
* @return
*/
@GetMapping(value = "/zj")
@ApiOperation(value = "1.职级字典", httpMethod = "GET", notes = "职级字典")
@ApiOperationSupport(order = 1)
public Result<Object> fail(@CurrentUser UserBean userBean) {
try {
QueryWrapper<ZpglZj> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglZj::getDeleteFlag, 0).eq(ZpglZj::getOrgCode, userBean.getOrgCode());
List<ZpglZj> zpglCompany = ZpglZj.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglCompany, "查询成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-职级字典失败");
}
}
/**
* 招聘-添加职级
*
* @param
* @return
*/
@PostMapping(value = "/zj/save")
@ApiOperation(value = "2.招聘-添加职级", httpMethod = "POST", notes = "招聘-添加职级")
@ApiOperationSupport(order = 2)
public Result<Object> save(@CurrentUser UserBean userBean, @RequestBody ZpglZj zpglZj) {
try {
zpglZj.setCreateUserId(userBean.getEmpNum());
zpglZj.setUpdateUserId(userBean.getEmpNum());
zpglZj.setOrgCode(userBean.getOrgCode());
return zpglZj.insert() ? ResultUtil.success() : ResultUtil.error();
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-添加职级失败");
}
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.zpgl.ZpglZpqd;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.List;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-28 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"})
public class ZpglZpqdController {
/**
* 招聘-招聘渠道字典
*
* @param
* @return
*/
@GetMapping(value = "/zpqd/{OrgCode}")
@ApiOperation(value = "1.招聘渠道字典", httpMethod = "GET", notes = "招聘渠道字典")
@ApiOperationSupport(order = 1)
public Result<Object> zpqd(@PathVariable Integer OrgCode) {
try {
QueryWrapper<ZpglZpqd> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglZpqd::getDeleteFlag, 0).eq(ZpglZpqd::getOrgCode, OrgCode);
List<ZpglZpqd> zpglZpqd = ZpglZpqd.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglZpqd, "查询成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-招聘渠道字典失败");
}
}
/**
* 招聘-添加招聘渠道
*
* @param
* @return
*/
@PostMapping(value = "/zpqd/save")
@ApiOperation(value = "2.招聘-添加招聘渠道", httpMethod = "POST", notes = "招聘-添加招聘渠道")
@ApiOperationSupport(order = 2)
public Result<Object> save(@CurrentUser UserBean userBean, @RequestBody ZpglZpqd zpglZpqd) {
try {
zpglZpqd.setCreateUserId(userBean.getEmpNum());
zpglZpqd.setUpdateUserId(userBean.getEmpNum());
zpglZpqd.setOrgCode(userBean.getOrgCode());
return zpglZpqd.insert() ? ResultUtil.success() : ResultUtil.error();
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-添加招聘渠道失败");
}
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.zpgl.*;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.controller.kqgl.atttimer.RealTimeUpdate;
import cn.timer.api.controller.zpgl.sevice.ZpglService;
import cn.timer.api.dao.kqgl.UserEquiRelationMapper;
import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper;
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.zpgl.ZpglRcxxMapper;
import cn.timer.api.dto.zpgl.ZpglZwxxAddUpdateDto;
import cn.timer.api.dto.zpgl.ZpglZwxxDto;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import cn.timer.api.utils.query.BaseQuery;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.yulichang.query.MPJQueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.List;
/**
* 招聘管理-招聘职位
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-22 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpzw", produces = {"application/json"})
@Slf4j
public class ZpglZwxxController {
/**
* 招聘职位列表
*
* @param
* @return
*/
@GetMapping(value = "/list")
@ApiOperation(value = "1.招聘职位列表", httpMethod = "GET", notes = "招聘职位表")
@ApiOperationSupport(order = 1)
public Result<Object> recruit(@CurrentUser UserBean userBean, BaseQuery baseQuery,
@ApiParam("搜索关键字") @RequestParam(required = false) String query,
@ApiParam("职位ID") @RequestParam(required = false) Integer zpglZwxxId,
@ApiParam("状态") @RequestParam(required = false) Integer status) {
try {
Page<ZpglZwxx> page = new Page<ZpglZwxx>(baseQuery.getPageNum(), baseQuery.getPageSize());
MPJQueryWrapper<ZpglZwxx> queryWrapper = new MPJQueryWrapper<>();
queryWrapper.selectAll(ZpglZwxx.class).select("zg.gzdd_name","zg.province","zg.district","zg.city")
.leftJoin("zpgl_gzdd zg on t.zpgl_gzdd_id = zg.id");
queryWrapper.eq("t.org_code", userBean.getOrgCode()).eq("t.delete_flag",0);
if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) {
queryWrapper.eq("t.id", zpglZwxxId);
}
if (!StringUtils.isEmpty(query)) {
queryWrapper.like("t.name", query);
}
queryWrapper.eq("t.status", status).orderByDesc("t.create_time");
IPage<ZpglZwxx> zpglZwxxPage = ZpglZwxx.builder().build().selectPage(page, queryWrapper);
List<ZpglZwxx> zpglRcxxs = page.getRecords();
zpglZwxxPage.getCurrent();
zpglZwxxPage.getPages();
zpglZwxxPage.getTotal();
zpglZwxxPage.getSize();
return ResultUtil.data(zpglZwxxPage, zpglRcxxs, "搜索成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("获取招聘职位列表失败");
}
}
/**
* 招聘职位-停止招聘
*
* @param
* @return
*/
@PostMapping(value = "/edit")
@ApiOperation(value = "2.招聘职位-停止招聘", httpMethod = "POST", notes = "招聘职位-停止招聘")
@ApiOperationSupport(order = 2)
public Result<Object> edit(@CurrentUser UserBean userBean, @RequestBody ZpglZwxxDto zpglZwxxDto) {
try {
return ZpglZwxx.builder().id(zpglZwxxDto.getId()).status(zpglZwxxDto.getStatus()).userId(userBean.getEmpNum()).userName(userBean.getQyzxEmpLogin().getUsername()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-删除人才信息失败");
}
}
/**
* 招聘职位-删除
*
* @param
* @return
*/
@PostMapping(value = "/delete")
@ApiOperation(value = "3.招聘职位-删除", httpMethod = "POST", notes = "招聘职位-删除")
@ApiOperationSupport(order = 3)
public Result<Object> delete(@CurrentUser UserBean userBean, @RequestBody ZpglZwxxDto zpglZwxxDto) {
try {
return ZpglZwxx.builder().id(zpglZwxxDto.getId()).deleteFlag(zpglZwxxDto.getDeleteFlag()).userId(userBean.getEmpNum()).userName(userBean.getQyzxEmpLogin().getUsername()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-删除人才信息失败");
}
}
/**
* 招聘职位-添加
*
* @param
* @return
*/
@PostMapping(value = "/add")
@ApiOperation(value = "4.招聘职位-添加", httpMethod = "POST", notes = "招聘职位-添加")
@ApiOperationSupport(order = 4)
public Result<Object> add(@CurrentUser UserBean userBean, @RequestBody ZpglZwxxAddUpdateDto zpglZwxxAddUpdateDto) {
try {
ZpglZwxx zpglZwxx = new ZpglZwxx();
BeanUtils.copyProperties(zpglZwxxAddUpdateDto,zpglZwxx);
zpglZwxx.setUserId(userBean.getEmpNum());
zpglZwxx.setUserName(userBean.getQyzxEmpLogin().getUsername());
zpglZwxx.setStatus(1);
zpglZwxx.setOrgCode(userBean.getOrgCode().toString());
return zpglZwxx.insertOrUpdate()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招招聘职位-添加失败");
}
}
}
package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.bean.zpgl.ZpglMslcLog;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/14
*/
public interface ZpglMslcLogService {
/**
* 添加面试流程记录
* @param zpglMslcLog
* @return
*/
boolean addZpglMslcLog(ZpglMslcLog zpglMslcLog);
}
package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.bean.zpgl.ZpglMslcLog;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/14
*/
@Service
@Transactional(rollbackOn = Exception.class)
public class ZpglMslcLogServiceImpl implements ZpglMslcLogService {
@Override
public boolean addZpglMslcLog(ZpglMslcLog zpglMslcLog) {
return zpglMslcLog.insert();
}
}
package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.bean.email.SendMessage;
import cn.timer.api.bean.zpgl.ZpglRcxxOffer;
import cn.timer.api.utils.DateFormatUtils;
import cn.timer.api.utils.ZpglMessageTemplate;
import cn.timer.api.utils.email.EmailUtils;
import com.aliyun.tea.utils.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.mail.javamail.JavaMailSender;
import java.util.Date;
public class ZpglSendMessageThread implements Runnable {
public JavaMailSender mailSender;
private ZpglRcxxOffer zpglRcxxOffer;
public ZpglSendMessageThread(JavaMailSender mailSender, ZpglRcxxOffer zpglRcxxOffer) {
this.mailSender = mailSender;
this.zpglRcxxOffer = zpglRcxxOffer;
}
@Override
public void run() {
try {
EmailUtils.sendThymeleafMail(
mailSender,
ZpglMessageTemplate.print(ZpglMessageTemplate.OFFER_TEMPLATE, new String[]{
zpglRcxxOffer.getRcxxName(),
zpglRcxxOffer.getCompanyName(),
zpglRcxxOffer.getBumen(),
zpglRcxxOffer.getGangwei(),
DateFormatUtils.tranDate(zpglRcxxOffer.getRzTime(), DateFormatUtils.YYYYMMDD),
zpglRcxxOffer.getLinkName(),
StringUtils.isEmpty(zpglRcxxOffer.getLinkPhone()) ? "" : zpglRcxxOffer.getLinkPhone(),
StringUtils.isEmpty(zpglRcxxOffer.getLinkEmail()) ? "" : zpglRcxxOffer.getLinkEmail()}),
zpglRcxxOffer.getTitle(),
new String[]{zpglRcxxOffer.getReceiverEmail()});
SendMessage sendMessage = SendMessage.builder().build();
BeanUtils.copyProperties(zpglRcxxOffer, sendMessage);
sendMessage.setCreatedTime(new Date());
sendMessage.insert();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.bean.clazz.SysRegion;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.dto.zpgl.ImportCandidateDto;
import cn.timer.api.dto.zpgl.ZpglRcxxDto;
import cn.timer.api.utils.Result;
import org.springframework.web.multipart.MultipartFile;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/18
*/
public interface ZpglService {
/**
* 招聘-变更人才信息状态
* 添加面试流程记录
* @param userBean zpglRcxxDto
* @return
*/
boolean updateZpglRcxx(UserBean userBean, ZpglRcxxDto zpglRcxxDto);
/**
* 地址字典
* @param keyId
* @return
*/
SysRegion getSysRegion(Integer keyId);
/**
* BaiduTicResume
* @param file
* @return
*/
Result<Object> addResumeImportCandidate(UserBean userBean, MultipartFile file, ImportCandidateDto importCandidateDto);
/**
* ResumeSDK
* @param file
* @return
*/
Result<Object> addCandidateByResumeSDK(UserBean userBean, MultipartFile file, ImportCandidateDto importCandidateDto);
/**
* 招聘-更改招聘职位
* 添加面试流程记录
* @param userBean zpglRcxxDto
* @return
*/
boolean updateZpglRcxxZwxx(UserBean userBean, ZpglRcxxDto zpglRcxxDto);
/**
* 入职维护
* 职位信息已入职人数+1
* 招聘-变更人才信息状态
* 添加面试流程记录
* 维护微信公众平台表
* @param userBean
* @param zpglRcxxDto
* @return
*/
boolean updateZpglOther(UserBean userBean, ZpglRcxxDto zpglRcxxDto,Integer userId);
}
package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.dto.template.InterviewNotice;
import java.util.Map;
/**
* @author longys
* @date 2022/3/25 18:08
*/
public interface ZpglWxgzptService {
/**
* 添加消息队列
* @param map
* @return
*/
String addMessageQueue(Map<String,Object> map);
/**
* 安排面试 通知面试官、面试者
* 添加消息队列
* @param interviewNotice
* @return
*/
String addInterviewMessageQueue(InterviewNotice interviewNotice);
/**
* 发起应聘登记 or 测评
* 添加消息队列
* @param interviewNotice
* @return
*/
String sendApplyOrCePin(InterviewNotice interviewNotice);
}
package cn.timer.api.controller.zpgl.sevice;
import cn.hutool.http.HttpUtil;
import cn.timer.api.bean.wechat.MessageTemplate;
import cn.timer.api.dto.template.InterviewNotice;
import cn.timer.api.dto.template.TemplateData;
import cn.timer.api.dto.wxgzh.MessageQueueDto;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author longys
* @date 2022/3/25 18:08
*/
@Slf4j
@Service
@Transactional(rollbackOn = Exception.class)
public class ZpglWxgzptServiceImpl implements ZpglWxgzptService {
@Value("${youling.serverUrl}")
private String serverUrl;
@Override
public String addMessageQueue(Map<String, Object> map) {
return HttpUtil.post(serverUrl + "/wxgzh/addMessageQueue", map);
}
@Override
public String addInterviewMessageQueue(InterviewNotice interviewNotice) {
//消息队列对象
MessageQueueDto mqd = new MessageQueueDto();
BeanUtils.copyProperties(interviewNotice, mqd);
/** 模板消息内容 start */
List<TemplateData> templateData = new ArrayList<>();
// 内容
TemplateData key1 = new TemplateData("first", interviewNotice.getContentStr(), "#000000");
templateData.add(key1);
// 面试职位
TemplateData key2 = new TemplateData("keyword1", interviewNotice.getZpglZwxxName(), "#000000");
templateData.add(key2);
// 面试时间
TemplateData key3 = new TemplateData("keyword2", interviewNotice.getInterviewTime(), "#000000");
templateData.add(key3);
// 备注
TemplateData key4 = new TemplateData("remark", interviewNotice.getRemark(), "#000000");
templateData.add(key4);
//数据处理成固定好的json格式
String content = mqd.getContentJson(templateData);
mqd.setContent(content);
/** 模板消息内容 end */
Map map = JSON.parseObject(JSON.toJSONString(mqd), Map.class);
return HttpUtil.post(serverUrl + "/wxgzh/addMessageQueue", map);
}
@Override
public String sendApplyOrCePin(InterviewNotice interviewNotice) {
//消息队列对象
MessageQueueDto mqd = new MessageQueueDto();
BeanUtils.copyProperties(interviewNotice, mqd);
/** 模板消息内容 start */
List<TemplateData> templateData = new ArrayList<>();
// 内容
TemplateData key = new TemplateData("first", interviewNotice.getContentStr(), "#000000");
templateData.add(key);
// 应聘职位
TemplateData key1 = new TemplateData("keyword1", interviewNotice.getZpglZwxxName(), "#000000");
templateData.add(key1);
// 通知内容
TemplateData key2 = new TemplateData("keyword2", interviewNotice.getContentNotice(), "#000000");
templateData.add(key2);
// 通知人
TemplateData key3 = new TemplateData("keyword3", interviewNotice.getNoticeName(), "#000000");
templateData.add(key3);
// 通知时间
TemplateData key4 = new TemplateData("keyword4", interviewNotice.getNowTime(), "#000000");
templateData.add(key4);
// 备注
TemplateData remark = new TemplateData("remark", interviewNotice.getRemark(), "#000000");
templateData.add(remark);
//数据处理成固定好的json格式
String content = mqd.getContentJson(templateData);
mqd.setContent(content);
/** 模板消息内容 end */
Map map = JSON.parseObject(JSON.toJSONString(mqd), Map.class);
return HttpUtil.post(serverUrl + "/wxgzh/addMessageQueue", map);
}
}
package cn.timer.api.dao.yggl; package cn.timer.api.dao.clazz;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.dto.yggl.YgmzDto; import cn.timer.api.bean.clazz.NationClass;
...@@ -12,6 +12,6 @@ import cn.timer.api.dto.yggl.YgmzDto; ...@@ -12,6 +12,6 @@ import cn.timer.api.dto.yggl.YgmzDto;
* @author Tang 2019-11-15 * @author Tang 2019-11-15
*/ */
@Repository @Repository
public interface YgMzDtoMapper extends BaseMapper<YgmzDto> { public interface NationClassMapper extends BaseMapper<NationClass> {
} }
...@@ -49,7 +49,7 @@ public interface YgglMainEmpMapper extends BaseMapper<YgglMainEmp> { ...@@ -49,7 +49,7 @@ public interface YgglMainEmpMapper extends BaseMapper<YgglMainEmp> {
* @param userBean * @param userBean
* @return * @return
*/ */
List<YgQueryDto> queryEmpMessage(@Param("orgCode") Integer orgCode,@Param("isInsure")Integer isInsure); List<YgQueryDto> queryEmpMessage(@Param("orgCode") Integer orgCode);
/** /**
...@@ -132,6 +132,15 @@ public interface YgglMainEmpMapper extends BaseMapper<YgglMainEmp> { ...@@ -132,6 +132,15 @@ public interface YgglMainEmpMapper extends BaseMapper<YgglMainEmp> {
List<DepartmentStaffDto> DepartmentStaff(Integer orgcode,Integer upid); List<DepartmentStaffDto> DepartmentStaff(Integer orgcode,Integer upid);
/**
* 查询在职员工数
* @param orgCode
* @param status 1在职 2全职 3试用期 4正式 5待离职 6已离职
* @return
*/
Integer selectEmpCount(Integer orgCode,Integer status);
List<YgglMainEmp> selectListByIds(@Param("array")String[] ids); List<YgglMainEmp> selectListByIds(@Param("array")String[] ids);
List<YgglMainEmp> selectListByIZjNum(@Param("array")String[] zjNum,@Param("orgCode") Integer orgCode); List<YgglMainEmp> selectListByIZjNum(@Param("array")String[] zjNum,@Param("orgCode") Integer orgCode);
......
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglCompany;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理合同公司字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-17 15:14:40
*/
@Repository
public interface ZpglCompanyMapper extends BaseMapper<ZpglCompany> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglCptk;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理测评题库表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglCptkMapper extends BaseMapper<ZpglCptk> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglDtk;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理用户测评答题卡表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglDtkMapper extends BaseMapper<ZpglDtk> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglFail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理淘汰原因字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglFailMapper extends BaseMapper<ZpglFail> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglGzdd;
import cn.timer.api.bean.zpgl.ZpglZj;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理工作地点字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-17 15:14:40
*/
@Repository
public interface ZpglGzddMapper extends BaseMapper<ZpglGzdd> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglMslcLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理面试流程记录表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglMslcLogMapper extends BaseMapper<ZpglMslcLog> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxxCertificate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 简历证书
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglRcxxCertificateMapper extends BaseMapper<ZpglRcxxCertificate> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxxExperience;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 工作经验
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglRcxxExperienceMapper extends BaseMapper<ZpglRcxxExperience> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxxJtzl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 家庭资料表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglRcxxJtzlMapper extends BaseMapper<ZpglRcxxJtzl> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxxLxxxb;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 联系信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglRcxxLxxxbMapper extends BaseMapper<ZpglRcxxLxxxb> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxx;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理人才信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglRcxxMapper extends MPJBaseMapper<ZpglRcxx> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxxOffer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* Offer发送记录
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-04-14 15:14:40
*/
@Repository
public interface ZpglRcxxOfferMapper extends BaseMapper<ZpglRcxxOffer> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxxProject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 教育经历
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglRcxxProjectMapper extends BaseMapper<ZpglRcxxProject> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxxStudy;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 教育经历
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglRcxxStudyMapper extends BaseMapper<ZpglRcxxStudy> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxxTrain;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 培训经验
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglRcxxTrainMapper extends BaseMapper<ZpglRcxxTrain> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglWxgzptEmpRcxx;
import com.github.yulichang.base.MPJBaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理人才信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-21 15:14:40
*/
@Repository
public interface ZpglWxgzptEmpRcxxMapper extends MPJBaseMapper<ZpglWxgzptEmpRcxx> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglCompany;
import cn.timer.api.bean.zpgl.ZpglZj;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理职级字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-17 15:14:40
*/
@Repository
public interface ZpglZjMapper extends BaseMapper<ZpglZj> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglZpqd;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理职级字典表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-28 15:14:40
*/
@Repository
public interface ZpglZpqdMapper extends BaseMapper<ZpglZpqd> {
}
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglZwxx;
import com.github.yulichang.base.MPJBaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理职位信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Repository
public interface ZpglZwxxMapper extends MPJBaseMapper<ZpglZwxx> {
}
package cn.timer.api.dto.baidu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 简历相关请求参数,每次一份简历
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/29
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BaiduTicResumeDto implements Serializable {
/**
* 简历文档名称,文件大小不超过10M
*/
private String filename;
/**
* 简历文档类型,目前支持pdf、doc、docx、wps、txt、jpg、jpeg、png、bmp、tif格式
*/
private String filetype;
/**
* 待解析文档内容,必须是二进制读取,base64编码
*/
private String filedata;
/**
* 非必填
* 需要保留的字段,每个元素表示需要保留的字段位置,
* 具体格式参考返回参数中results参数部分,
* 如' ["basic_infos.name", "education_infos[].school", "work_infos"] ';
* 层级按半角圆点“.”分割,list类型用半角方括号“[]”表示。如果不填该参数,默认选择全部字段
*/
private String fields;
}
package cn.timer.api.dto.baidu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 基本信息
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/30
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BasicInfo implements Serializable {
// 姓名:中文姓名
private String name;
// 性别:男/女
private String gender;
private String age; // 年龄:当前年龄,整数
// 工作年限:当前工作年限,整数,多段工作年限会累加并向下取整
private String cur_duration;
private String highest_degree; // 学历:最高学历(包括在读),格式统一为博士/硕士/学士
private String work_begin_year; // 开始工作年限:第一份工作的开始年份,四位数年份,如2013
private String id_number; // 身份证号:中国居民身份证号码,纯数字
// 生日:出生日期,格式化为 年-月,如2000-01,若只有年,则只显示年,如2000
private String birth_date;
// 民族:中国56个民族, 如 汉族,壮族
private String nation;
private String location; // 所在地:所在地城市或区域,如 深圳市,深圳市南山区
// 详细地址:具体家庭居住地,如 深圳市南山区华联花园6栋2-224
private String home_location;
// 当前公司
private String cur_company;
private String cur_job; // 当前职位
// 毕业学校:最高学历学校
private String school;
private String major; // 专业:最高学历对应的专业
private String job_intention; // 求职意向
private String cur_package; // 当前薪水:当前工资或当前工资范围,如10-20万人民币等,以简历为准
private String desire_package; // 期望薪水:期望工资或期望工资范围,如20k-30k等,以简历为准
private String industry; // 所属行业:最新工作的所属行业
private String job_status; // 求职状态:在职/正在找工作(在职)/考虑好的职业机会(在职)/已离职/暂不考虑其他机会/应届生,输出为原文
private String politic; // 政治面貌:党员/团员/群众,输出为原文
private String marriage; // 婚姻状况:未婚/已婚,输出为原文
private String birth_place; // 籍贯:籍贯地区,如 广东汕头,上海,江苏南通。以简历描述为准,输出为原文
private String desire_loc; // 期望工作地区:期望工作城市或区域,多个地区则以英文逗号分隔,如 北京,上海,广州,深圳,输出为原文
// 联系方式:国内11位手机号,格式化为纯数字
private String phone_numbers;
// 邮箱:合格邮箱地址
private String email_address;
private String landline; // 固定电话:国内8位座机号
private String qq; // QQ号:QQ号码
// 微信号:微信账号
private String wechat;
private String skill_text;
}
package cn.timer.api.dto.baidu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 教育信息
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/30
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EducationInfo implements Serializable {
private String school; // 学校
private String college; // 学院
private String major; // 专业
private String schooling_record; // 学历,输出统一为:博士研究生/硕士研究生/本科/专科/高中/中专/初中
private String degree; // 学位,输出统一为:博士/硕士/学士
private String start_time; // 开始年份-月份,若只有年则只输出年。如2019-10或2019
private String end_time; // 结束年份-月份,若只有年则只输出年。如2019-10或2019
private String is_in; // 是否仍在校:1表示在,0表示不在
private String gpa; // Gpa
private String rank; // 排名
}
package cn.timer.api.dto.baidu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 其他信息
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/30
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ElseInfo implements Serializable {
private String self_evaluation; // 个人评价
private String skills; // 技能:掌握技能列表,用竖线分隔
private String honor; // 所获奖项:用竖线分隔
private String lang; // 外语:掌握外语水平,用竖线分隔
private String lang_level; // 外语水平,格式为 语言-水平:分数,如 英语-CET4:502,英语-雅思:6.5,用竖线分隔
private String certificate; // 获得证书,用竖线分隔
}
package cn.timer.api.dto.baidu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 项目信息
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/30
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProjectInfo implements Serializable {
private String project_name; // 项目名称
private String job; // 项目角色:职位名称/职位名
private String describe; // 工作描述:项目详情介绍
private String duty; // 个人在该项目负责的具体工作详情
private String location; // 项目地点城市或区域
private String start_time; // 开始年份-月份,若只有年则只输出年。如2019-10或2019
private String end_time; // 结束年份-月份,若只有年则只输出年。如2019-10或2019
private String is_in; // 是否仍在:1表示在,0表示不在
}
package cn.timer.api.dto.baidu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 简历摘录
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/30
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ResumeExtract implements Serializable {
private BasicInfo basic_infos;
private List<EducationInfo> education_infos;
private ElseInfo else_infos;
private List<ProjectInfo> project_infos;
private List<WorkInfo> work_infos;
}
package cn.timer.api.dto.baidu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 工作信息
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/30
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WorkInfo implements Serializable {
// 公司名称
private String company;
// 部门名称/所在部门
private String department;
private String location; // 工作城市/工作地点
// 职位名称
private String job;
//private String package; // 该岗位工资水平,如,3000-5000元/月,输出为原文
// 开始年份-月份,若只有年则只输出年。如2019-10或2019
private String start_time;
// 结束年份-月份,若只有年则只输出年。如2019-10或2019
private String end_time;
private String is_in; // 是否仍在:1表示在,0表示不在
// 工作内容
private String describe;
}
package cn.timer.api.dto.email;
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 java.io.Serializable;
import java.util.Date;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-4-13 10:05:49
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SendMessageDto implements Serializable {
private static final long serialVersionUID = -1599962875587367209L;
@ApiModelProperty(value = "创建id")
private Integer createdUser;
@ApiModelProperty(value = "创建时间")
private Date createdTime;
@ApiModelProperty(value = "邮件主题")
private String subject;
@ApiModelProperty(value = "邮件内容")
private String content;
@ApiModelProperty(value = "收件人邮箱")
private String receiverEmail;
@ApiModelProperty(value = "发件人邮箱")
private String senderEmail;
}
package cn.timer.api.dto.resumesdk;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 语言证书列表
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/4/22
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Cert_objs implements Serializable {
/**
* 语言名称
*/
private String langcert_lang;
/**
* 证书名称
*/
private String langcert_name;
/**
* 证书成绩
*/
private String langcert_score;
}
package cn.timer.api.dto.resumesdk;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 教育经历
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/4/22
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Education_objs implements Serializable {
/**
* 学校名称
*/
private String edu_college;
/**
* 专业名称
*/
private String edu_major;
/**
* 开始时间
*/
private String start_date;
/**
* 结束时间
*/
private String end_date;
/**
* 学历
*/
private String edu_degree;
/**
* 学历:小学、初中、高中、中专、大专、本科、硕士研究生、博士研究生、博士后、mba
*/
private String edu_degree_norm;
/**
* 学校排名:取值1~1000
*/
private String edu_college_rank;
/**
* 学校类型取值0~7:
* 0:普通院校
* 1:985
* 2:211
* 3:港澳台院校
* 4:海外院校
* 5:中学
* 6:职业教育
* 7:培训机构
*/
private String edu_college_type;
}
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