用户新增简历模版Json、工作性值属性

This commit is contained in:
2026-01-13 23:18:53 +08:00
parent 85294a917a
commit 43578299bc
12 changed files with 478 additions and 138 deletions

View File

@@ -3,6 +3,8 @@ package com.vetti.web.controller.system;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import cn.hutool.json.JSONUtil;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@@ -177,6 +179,8 @@ public class SysUserController extends BaseController
{ {
return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
} }
user.setCvTemplateJson(JSONUtil.toJsonStr(user.getCvInfoDto()));
user.setWorkNatureJson(JSONUtil.toJsonStr(user.getWorkNatureDto()));
user.setUpdateBy(getUsername()); user.setUpdateBy(getUsername());
return toAjax(userService.updateUser(user)); return toAjax(userService.updateUser(user));
} }

View File

@@ -0,0 +1,49 @@
package com.vetti.common.core.domain.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历结构化信息对象 hotake_cv_info
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class HotakeUserCvInfoDto {
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("出生日期")
private String birthday;
@ApiModelProperty("电话")
private String phone;
@ApiModelProperty("邮箱")
private String email;
@ApiModelProperty("岗位")
private String position;
@ApiModelProperty("地点")
private String location;
@ApiModelProperty("当前工作公司")
private String currentWork;
@ApiModelProperty("工作年限")
private String experienceYear;
@ApiModelProperty("链接对象集合")
private List<VcUserLinksDto> links;
@ApiModelProperty("自我介绍")
private String about;
@ApiModelProperty("技能工具-许可证、注册/会员资格、认证")
private List<VcUserSkillsToolsDto> skillsTools;
@ApiModelProperty("语言")
private List<VcUserLanguagesDto> languages;
@ApiModelProperty("工作经验集合")
private List<VcUserExperienceDto> experience;
@ApiModelProperty("教育经历")
private List<VcUserEducationDto> education;
}

View File

@@ -0,0 +1,60 @@
package com.vetti.common.core.domain.dto.user;
import com.vetti.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 求职偏好对象 hotake_job_preference
*
* @author vetti
* @date 2024-01-13
*/
@Data
@Accessors(chain = true)
public class HotakeWorkNatureDto {
private static final long serialVersionUID = 1L;
/**
* 期望工作类型(Full-time, Part-time, Contract, Internship, Casual)
*/
@ApiModelProperty("期望工作类型")
@Excel(name = "期望工作类型")
private String preferredJobTypes;
/**
* 到岗时间(Immediate, 2 weeks, 4 weeks, 6+ weeks)
*/
@ApiModelProperty("到岗时间")
@Excel(name = "到岗时间")
private String availability;
/**
* 期望薪资范围
*/
@ApiModelProperty("期望薪资范围")
@Excel(name = "期望薪资范围")
private String expectedPayRange;
/**
* 是否愿意出差0 否1 是)
*/
@ApiModelProperty("是否愿意出差")
@Excel(name = "是否愿意出差")
private Boolean willingnessToTravel;
/**
* 出差距离偏好
*/
@ApiModelProperty("出差距离偏好")
@Excel(name = "出差距离偏好")
private String travelDistance;
/**
* 状态0 禁用1 启用)
*/
@ApiModelProperty("状态0 禁用1 启用)")
@Excel(name = "状态", readConverterExp = "0=,禁=用1,启=用")
private String status;
}

View File

@@ -0,0 +1,29 @@
package com.vetti.common.core.domain.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-教育经历-证书-信息对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class VcUserCertificateDto {
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("文件后缀(doc/pdf)")
private String fileSuffix;
@ApiModelProperty("文件地址")
private String fileUrl;
@ApiModelProperty("文件大小")
private String fileSizeShow;
}

View File

@@ -0,0 +1,32 @@
package com.vetti.common.core.domain.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-教育经历-信息对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class VcUserEducationDto {
@ApiModelProperty("学位")
private String degree;
@ApiModelProperty("学校名")
private String institution;
@ApiModelProperty("开始时间")
private String durationStart;
@ApiModelProperty("结束时间")
private String durationEnd;
@ApiModelProperty("证书附件")
private VcUserCertificateDto certificate;
}

View File

@@ -0,0 +1,19 @@
package com.vetti.common.core.domain.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-工作经验-描述-信息对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class VcUserExperienceDescriptionDto {
@ApiModelProperty("内容")
private String content;
}

View File

@@ -0,0 +1,37 @@
package com.vetti.common.core.domain.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-工作经验-信息对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class VcUserExperienceDto {
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("公司")
private String company;
@ApiModelProperty("地点")
private String location;
@ApiModelProperty("开始时间")
private String durationStart;
@ApiModelProperty("结束时间")
private String durationEnd;
@ApiModelProperty("描述集合")
private List<VcUserExperienceDescriptionDto> description;
}

View File

@@ -0,0 +1,19 @@
package com.vetti.common.core.domain.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-语言-信息对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class VcUserLanguagesDto {
@ApiModelProperty("内容")
private String content;
}

View File

@@ -0,0 +1,22 @@
package com.vetti.common.core.domain.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历链接-信息对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class VcUserLinksDto {
@ApiModelProperty("内容")
private String content;
@ApiModelProperty("类型(例如:LinkedIn,Website)")
private String dataType;
}

View File

@@ -0,0 +1,19 @@
package com.vetti.common.core.domain.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历 技能工具-许可证、注册/会员资格、认证-信息对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class VcUserSkillsToolsDto {
@ApiModelProperty("内容")
private String content;
}

View File

@@ -5,6 +5,8 @@ import java.util.List;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import com.vetti.common.core.domain.dto.UserBestSideDto; import com.vetti.common.core.domain.dto.UserBestSideDto;
import com.vetti.common.core.domain.dto.user.HotakeUserCvInfoDto;
import com.vetti.common.core.domain.dto.user.HotakeWorkNatureDto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
@@ -21,71 +23,98 @@ import com.vetti.common.xss.Xss;
* @author ruoyi * @author ruoyi
*/ */
public class SysUser extends BaseEntity public class SysUser extends BaseEntity {
{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 用户ID */ /**
* 用户ID
*/
@ApiModelProperty("用户ID") @ApiModelProperty("用户ID")
@Excel(name = "用户序号", type = Type.EXPORT, cellType = ColumnType.NUMERIC, prompt = "用户编号") @Excel(name = "用户序号", type = Type.EXPORT, cellType = ColumnType.NUMERIC, prompt = "用户编号")
private Long userId; private Long userId;
/** 部门ID */ /**
* 部门ID
*/
@ApiModelProperty("用户ID") @ApiModelProperty("用户ID")
@Excel(name = "部门编号", type = Type.IMPORT) @Excel(name = "部门编号", type = Type.IMPORT)
private Long deptId; private Long deptId;
/** 用户账号 */ /**
* 用户账号
*/
@ApiModelProperty("用户账号(注册邮箱或者手机号)") @ApiModelProperty("用户账号(注册邮箱或者手机号)")
@Excel(name = "登录名称") @Excel(name = "登录名称")
private String userName; private String userName;
/** 用户昵称 */ /**
* 用户昵称
*/
@ApiModelProperty("用户名称(姓名)") @ApiModelProperty("用户名称(姓名)")
@Excel(name = "用户名称") @Excel(name = "用户名称")
private String nickName; private String nickName;
/** 用户邮箱 */ /**
* 用户邮箱
*/
@ApiModelProperty("用户邮箱") @ApiModelProperty("用户邮箱")
@Excel(name = "用户邮箱") @Excel(name = "用户邮箱")
private String email; private String email;
/** 手机号码 */ /**
* 手机号码
*/
@ApiModelProperty("手机号码") @ApiModelProperty("手机号码")
@Excel(name = "手机号码", cellType = ColumnType.TEXT) @Excel(name = "手机号码", cellType = ColumnType.TEXT)
private String phonenumber; private String phonenumber;
/** 用户性别 */ /**
* 用户性别
*/
@ApiModelProperty("用户性别(0=男,1=女,2=未知)") @ApiModelProperty("用户性别(0=男,1=女,2=未知)")
@Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
private String sex; private String sex;
/** 用户头像 */ /**
* 用户头像
*/
@ApiModelProperty("用户头像") @ApiModelProperty("用户头像")
private String avatar; private String avatar;
/** 密码 */ /**
* 密码
*/
@ApiModelProperty("密码") @ApiModelProperty("密码")
private String password; private String password;
/** 账号状态0正常 1停用 */ /**
* 账号状态0正常 1停用
*/
@ApiModelProperty("账号状态0正常 1停用") @ApiModelProperty("账号状态0正常 1停用")
@Excel(name = "账号状态", readConverterExp = "0=正常,1=停用") @Excel(name = "账号状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
/** 删除标志0代表存在 2代表删除 */ /**
* 删除标志0代表存在 2代表删除
*/
@ApiModelProperty("删除标志0代表存在 2代表删除") @ApiModelProperty("删除标志0代表存在 2代表删除")
private String delFlag; private String delFlag;
/** 最后登录IP */ /**
* 最后登录IP
*/
@Excel(name = "最后登录IP", type = Type.EXPORT) @Excel(name = "最后登录IP", type = Type.EXPORT)
private String loginIp; private String loginIp;
/** 最后登录时间 */ /**
* 最后登录时间
*/
@Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
private Date loginDate; private Date loginDate;
/** 密码最后更新时间 */ /**
* 密码最后更新时间
*/
private Date pwdUpdateDate; private Date pwdUpdateDate;
/** /**
@@ -139,240 +168,221 @@ public class SysUser extends BaseEntity
@ApiModelProperty("职位名称") @ApiModelProperty("职位名称")
private String jobTitle; private String jobTitle;
/** 部门对象 */ @ApiModelProperty("简历模版Json")
private String cvTemplateJson;
@ApiModelProperty("简历详细信息-固定模版")
private HotakeUserCvInfoDto cvInfoDto;
@ApiModelProperty("工作性值Json")
private String workNatureJson;
@ApiModelProperty("工作性值")
private HotakeWorkNatureDto workNatureDto;
/**
* 部门对象
*/
@Excels({ @Excels({
@Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
@Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
}) })
private SysDept dept; private SysDept dept;
/** 角色对象 */ /**
* 角色对象
*/
private List<SysRole> roles; private List<SysRole> roles;
/** 角色组 */ /**
* 角色组
*/
private Long[] roleIds; private Long[] roleIds;
/** 岗位组 */ /**
* 岗位组
*/
private Long[] postIds; private Long[] postIds;
/** 角色ID */ /**
* 角色ID
*/
private Long roleId; private Long roleId;
public SysUser() public SysUser() {
{
} }
public SysUser(Long userId) public SysUser(Long userId) {
{
this.userId = userId; this.userId = userId;
} }
public Long getUserId() public Long getUserId() {
{
return userId; return userId;
} }
public void setUserId(Long userId) public void setUserId(Long userId) {
{
this.userId = userId; this.userId = userId;
} }
public boolean isAdmin() public boolean isAdmin() {
{
return isAdmin(this.userId); return isAdmin(this.userId);
} }
public static boolean isAdmin(Long userId) public static boolean isAdmin(Long userId) {
{
return userId != null && 1L == userId; return userId != null && 1L == userId;
} }
public Long getDeptId() public Long getDeptId() {
{
return deptId; return deptId;
} }
public void setDeptId(Long deptId) public void setDeptId(Long deptId) {
{
this.deptId = deptId; this.deptId = deptId;
} }
// @Xss(message = "用户昵称不能包含脚本字符") // @Xss(message = "用户昵称不能包含脚本字符")
// @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符") // @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
public String getNickName() public String getNickName() {
{
return nickName; return nickName;
} }
public void setNickName(String nickName) public void setNickName(String nickName) {
{
this.nickName = nickName; this.nickName = nickName;
} }
// @Xss(message = "用户账号不能包含脚本字符") // @Xss(message = "用户账号不能包含脚本字符")
// @NotBlank(message = "用户账号不能为空") // @NotBlank(message = "用户账号不能为空")
// @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符") // @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
public String getUserName() public String getUserName() {
{
return userName; return userName;
} }
public void setUserName(String userName) public void setUserName(String userName) {
{
this.userName = userName; this.userName = userName;
} }
// @Email(message = "邮箱格式不正确") // @Email(message = "邮箱格式不正确")
// @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") // @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
public String getEmail() public String getEmail() {
{
return email; return email;
} }
public void setEmail(String email) public void setEmail(String email) {
{
this.email = email; this.email = email;
} }
// @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符") // @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
public String getPhonenumber() public String getPhonenumber() {
{
return phonenumber; return phonenumber;
} }
public void setPhonenumber(String phonenumber) public void setPhonenumber(String phonenumber) {
{
this.phonenumber = phonenumber; this.phonenumber = phonenumber;
} }
public String getSex() public String getSex() {
{
return sex; return sex;
} }
public void setSex(String sex) public void setSex(String sex) {
{
this.sex = sex; this.sex = sex;
} }
public String getAvatar() public String getAvatar() {
{
return avatar; return avatar;
} }
public void setAvatar(String avatar) public void setAvatar(String avatar) {
{
this.avatar = avatar; this.avatar = avatar;
} }
public String getPassword() public String getPassword() {
{
return password; return password;
} }
public void setPassword(String password) public void setPassword(String password) {
{
this.password = password; this.password = password;
} }
public String getStatus() public String getStatus() {
{
return status; return status;
} }
public void setStatus(String status) public void setStatus(String status) {
{
this.status = status; this.status = status;
} }
public String getDelFlag() public String getDelFlag() {
{
return delFlag; return delFlag;
} }
public void setDelFlag(String delFlag) public void setDelFlag(String delFlag) {
{
this.delFlag = delFlag; this.delFlag = delFlag;
} }
public String getLoginIp() public String getLoginIp() {
{
return loginIp; return loginIp;
} }
public void setLoginIp(String loginIp) public void setLoginIp(String loginIp) {
{
this.loginIp = loginIp; this.loginIp = loginIp;
} }
public Date getLoginDate() public Date getLoginDate() {
{
return loginDate; return loginDate;
} }
public void setLoginDate(Date loginDate) public void setLoginDate(Date loginDate) {
{
this.loginDate = loginDate; this.loginDate = loginDate;
} }
public Date getPwdUpdateDate() public Date getPwdUpdateDate() {
{
return pwdUpdateDate; return pwdUpdateDate;
} }
public void setPwdUpdateDate(Date pwdUpdateDate) public void setPwdUpdateDate(Date pwdUpdateDate) {
{
this.pwdUpdateDate = pwdUpdateDate; this.pwdUpdateDate = pwdUpdateDate;
} }
public SysDept getDept() public SysDept getDept() {
{
return dept; return dept;
} }
public void setDept(SysDept dept) public void setDept(SysDept dept) {
{
this.dept = dept; this.dept = dept;
} }
public List<SysRole> getRoles() public List<SysRole> getRoles() {
{
return roles; return roles;
} }
public void setRoles(List<SysRole> roles) public void setRoles(List<SysRole> roles) {
{
this.roles = roles; this.roles = roles;
} }
public Long[] getRoleIds() public Long[] getRoleIds() {
{
return roleIds; return roleIds;
} }
public void setRoleIds(Long[] roleIds) public void setRoleIds(Long[] roleIds) {
{
this.roleIds = roleIds; this.roleIds = roleIds;
} }
public Long[] getPostIds() public Long[] getPostIds() {
{
return postIds; return postIds;
} }
public void setPostIds(Long[] postIds) public void setPostIds(Long[] postIds) {
{
this.postIds = postIds; this.postIds = postIds;
} }
public Long getRoleId() public Long getRoleId() {
{
return roleId; return roleId;
} }
public void setRoleId(Long roleId) public void setRoleId(Long roleId) {
{
this.roleId = roleId; this.roleId = roleId;
} }
@@ -508,9 +518,41 @@ public class SysUser extends BaseEntity
this.userOperStatus = userOperStatus; this.userOperStatus = userOperStatus;
} }
public String getCvTemplateJson() {
return cvTemplateJson;
}
public void setCvTemplateJson(String cvTemplateJson) {
this.cvTemplateJson = cvTemplateJson;
}
public HotakeUserCvInfoDto getCvInfoDto() {
return cvInfoDto;
}
public void setCvInfoDto(HotakeUserCvInfoDto cvInfoDto) {
this.cvInfoDto = cvInfoDto;
}
public String getWorkNatureJson() {
return workNatureJson;
}
public void setWorkNatureJson(String workNatureJson) {
this.workNatureJson = workNatureJson;
}
public HotakeWorkNatureDto getWorkNatureDto() {
return workNatureDto;
}
public void setWorkNatureDto(HotakeWorkNatureDto workNatureDto) {
this.workNatureDto = workNatureDto;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("userId", getUserId()) .append("userId", getUserId())
.append("deptId", getDeptId()) .append("deptId", getDeptId())
.append("userName", getUserName()) .append("userName", getUserName())

View File

@@ -43,6 +43,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="userFlag" column="user_flag" /> <result property="userFlag" column="user_flag" />
<result property="userOperStatus" column="user_oper_status" /> <result property="userOperStatus" column="user_oper_status" />
<result property="cvTemplateJson" column="cv_template_json" />
<result property="workNatureJson" column="work_nature_json" />
<association property="dept" javaType="SysDept" resultMap="deptResult" /> <association property="dept" javaType="SysDept" resultMap="deptResult" />
@@ -73,7 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,u.sys_user_type r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,u.sys_user_type
,u.steps,u.job_position,u.experience,u.cv_url,u.location,u.job_type,u.relocate,u.best_side_json,u.address, ,u.steps,u.job_position,u.experience,u.cv_url,u.location,u.job_type,u.relocate,u.best_side_json,u.address,
u.user_flag,u.user_set_json,u.company_name,u.job_title,u.user_oper_status u.user_flag,u.user_set_json,u.company_name,u.job_title,u.user_oper_status,u.cv_template_json,u.work_nature_json
from sys_user u from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id left join sys_user_role ur on u.user_id = ur.user_id
@@ -82,7 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult"> <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
d.dept_name, d.leader,u.sys_user_type,u.steps,u.job_position,u.experience,u.cv_url,u.location,u.job_type,u.relocate,u.best_side_json,u.address,u.user_flag,u.user_set_json,u.company_name,u.job_title,u.user_oper_status from sys_user u d.dept_name, d.leader,u.sys_user_type,u.steps,u.job_position,u.experience,u.cv_url,u.location,u.job_type,u.relocate,u.best_side_json,u.address,u.user_flag,u.user_set_json,u.company_name,u.job_title,u.user_oper_status,u.cv_template_json,u.work_nature_json from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
where u.del_flag = '0' where u.del_flag = '0'
<if test="userId != null and userId != 0"> <if test="userId != null and userId != 0">
@@ -116,7 +118,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult"> <select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status,
u.create_time,u.sys_user_type,u.steps,u.job_position,u.experience,u.cv_url,u.location, u.create_time,u.sys_user_type,u.steps,u.job_position,u.experience,u.cv_url,u.location,
u.job_type,u.relocate,u.best_side_json,u.address,u.user_flag,u.user_set_json,u.company_name,u.job_title,u.user_oper_status u.job_type,u.relocate,u.best_side_json,u.address,u.user_flag,u.user_set_json,u.company_name,u.job_title,u.user_oper_status,u.cv_template_json,u.work_nature_json
from sys_user u from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id left join sys_user_role ur on u.user_id = ur.user_id
@@ -134,7 +136,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult"> <select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,u.sys_user_type, select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,u.sys_user_type,
u.steps,u.job_position,u.experience,u.cv_url,u.location,u.job_type,u.relocate,u.best_side_json,u.address,u.user_flag,u.user_set_json,u.company_name,u.job_title,u.user_oper_status u.steps,u.job_position,u.experience,u.cv_url,u.location,u.job_type,u.relocate,u.best_side_json,u.address,u.user_flag,u.user_set_json,u.company_name,u.job_title,u.user_oper_status,u.cv_template_json,u.work_nature_json
from sys_user u from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id left join sys_user_role ur on u.user_id = ur.user_id
@@ -205,6 +207,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="companyName != null and companyName != ''">company_name,</if> <if test="companyName != null and companyName != ''">company_name,</if>
<if test="jobTitle != null and jobTitle != ''">job_title,</if> <if test="jobTitle != null and jobTitle != ''">job_title,</if>
<if test="userOperStatus != null and userOperStatus != ''">user_oper_status,</if> <if test="userOperStatus != null and userOperStatus != ''">user_oper_status,</if>
<if test="cvTemplateJson != null and cvTemplateJson != ''">cv_template_json,</if>
<if test="workNatureJson != null and workNatureJson != ''">work_nature_json,</if>
create_time create_time
)values( )values(
@@ -238,6 +242,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="companyName != null and companyName != ''">#{companyName},</if> <if test="companyName != null and companyName != ''">#{companyName},</if>
<if test="jobTitle != null and jobTitle != ''">#{jobTitle},</if> <if test="jobTitle != null and jobTitle != ''">#{jobTitle},</if>
<if test="userOperStatus != null and userOperStatus != ''">#{userOperStatus},</if> <if test="userOperStatus != null and userOperStatus != ''">#{userOperStatus},</if>
<if test="cvTemplateJson != null and cvTemplateJson != ''">#{cvTemplateJson},</if>
<if test="workNatureJson != null and workNatureJson != ''">#{workNatureJson},</if>
sysdate() sysdate()
) )
@@ -275,6 +281,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="companyName != null and companyName != ''">company_name = #{companyName},</if> <if test="companyName != null and companyName != ''">company_name = #{companyName},</if>
<if test="jobTitle != null and jobTitle != ''">job_title = #{jobTitle},</if> <if test="jobTitle != null and jobTitle != ''">job_title = #{jobTitle},</if>
<if test="userOperStatus != null and userOperStatus != ''">user_oper_status = #{userOperStatus},</if> <if test="userOperStatus != null and userOperStatus != ''">user_oper_status = #{userOperStatus},</if>
<if test="cvTemplateJson != null and cvTemplateJson != ''">cv_template_json = #{cvTemplateJson},</if>
<if test="workNatureJson != null and workNatureJson != ''">work_nature_json = #{workNatureJson},</if>
update_time = sysdate() update_time = sysdate()
</set> </set>