1.修改工作经历和教育经历实体类位置,方便移动端用户可以修改自己的信息
2.修改es按照名称或者类型查询的逻辑
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package com.ruoyi.cms.controller.app;
|
||||
|
||||
import com.ruoyi.cms.domain.AppUserEducation;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserEducation;
|
||||
import com.ruoyi.cms.service.IAppUserEducationService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.ruoyi.cms.controller.app;
|
||||
|
||||
import com.ruoyi.cms.domain.AppUserTrain;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserTrain;
|
||||
import com.ruoyi.cms.service.IAppUserTrainService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.cms.domain.AppUserEducation;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserEducation;
|
||||
import com.ruoyi.cms.service.IAppUserEducationService;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.cms.domain.AppUserTrain;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserTrain;
|
||||
import com.ruoyi.cms.service.IAppUserTrainService;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("APP求职者教育经历表")
|
||||
@TableName("app_user_education")
|
||||
public class AppUserEducation extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键ID */
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/** 求职者用户ID */
|
||||
@Excel(name = "用户ID")
|
||||
@ApiModelProperty("用户ID")
|
||||
private Long userId;
|
||||
|
||||
/** 学校名称 */
|
||||
@Excel(name = "学校名称")
|
||||
@ApiModelProperty("学校名称")
|
||||
private String schoolName;
|
||||
|
||||
/** 学历 */
|
||||
@Excel(name = "学历")
|
||||
@ApiModelProperty("学历")
|
||||
private Integer educationLevel;
|
||||
|
||||
/** 专业 */
|
||||
@Excel(name = "专业")
|
||||
@ApiModelProperty("专业")
|
||||
private String major;
|
||||
|
||||
/** 学位 */
|
||||
@Excel(name = "学位 1学士 2硕士 3博士")
|
||||
@ApiModelProperty("学位")
|
||||
private String degree;
|
||||
|
||||
/** 学习形式 1全日制 2自考 3函授 4成人 */
|
||||
@Excel(name = "学习形式")
|
||||
@ApiModelProperty("学习形式")
|
||||
private String studyType;
|
||||
|
||||
/** 入学时间(字符串模糊填写) */
|
||||
@Excel(name = "入学时间")
|
||||
@ApiModelProperty("入学时间")
|
||||
private String startTime;
|
||||
|
||||
/** 毕业时间 */
|
||||
@Excel(name = "毕业时间")
|
||||
@ApiModelProperty("毕业时间")
|
||||
private String endTime;
|
||||
|
||||
/** 在校经历描述 在校经历、获奖、主修课程 */
|
||||
@Excel(name = "在校经历")
|
||||
@ApiModelProperty("在校经历")
|
||||
private String content;
|
||||
|
||||
/** 排序 */
|
||||
@Excel(name = "排序")
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
@Data
|
||||
@ApiModel("APP求职者培训经历表")
|
||||
@TableName("app_user_train")
|
||||
public class AppUserTrain extends BaseEntity
|
||||
{
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键ID */
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/** 求职者用户ID */
|
||||
@Excel(name = "求职者用户ID")
|
||||
@ApiModelProperty("求职者用户ID")
|
||||
private Long userId;
|
||||
|
||||
/** 培训机构 */
|
||||
@Excel(name = "培训机构")
|
||||
@ApiModelProperty("培训机构")
|
||||
private String trainOrg;
|
||||
|
||||
/** 培训课程 */
|
||||
@Excel(name = "培训课程")
|
||||
@ApiModelProperty("培训课程")
|
||||
private String trainCourse;
|
||||
|
||||
/** 培训开始时间(字符串自由填写) */
|
||||
@Excel(name = "开始时间")
|
||||
@ApiModelProperty("开始时间")
|
||||
private String startTime;
|
||||
|
||||
/** 培训结束时间 */
|
||||
@Excel(name = "结束时间")
|
||||
@ApiModelProperty("结束时间")
|
||||
private String endTime;
|
||||
|
||||
/** 培训证书 */
|
||||
@Excel(name = "培训证书")
|
||||
@ApiModelProperty("培训证书")
|
||||
private String trainCert;
|
||||
|
||||
/** 培训内容 */
|
||||
@Excel(name = "培训内容")
|
||||
@ApiModelProperty("培训内容")
|
||||
private String trainContent;
|
||||
|
||||
/** 排序 */
|
||||
@Excel(name = "排序")
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cms.domain.AppUserEducation;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserEducation;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import java.util.List;
|
||||
|
||||
@@ -18,4 +18,6 @@ public interface AppUserEducationMapper extends BaseMapper<AppUserEducation>
|
||||
* 根据用户ID查询全部学历(APP简历使用)
|
||||
*/
|
||||
List<AppUserEducation> selectEducationListByUserId(@Param("userId") Long userId);
|
||||
|
||||
void batchInsert(@Param("appUserEducations") List<AppUserEducation> appUserEducations);
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cms.domain.AppUserTrain;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserTrain;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,4 +19,6 @@ public interface AppUserTrainMapper extends BaseMapper<AppUserTrain>
|
||||
* 根据用户ID查询全部培训记录
|
||||
*/
|
||||
List<AppUserTrain> selectTrainListByUserId(@Param("userId") Long userId);
|
||||
|
||||
void batchInsert(@Param("appUserTrains") List<AppUserTrain> appUserTrains);
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.ruoyi.cms.domain.AppUserEducation;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserEducation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.ruoyi.cms.domain.AppUserTrain;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserTrain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cms.domain.AppUserEducation;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserEducation;
|
||||
import com.ruoyi.cms.mapper.AppUserEducationMapper;
|
||||
import com.ruoyi.cms.service.IAppUserEducationService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserEducation;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserTrain;
|
||||
import com.ruoyi.cms.util.http.HttpClientUtils;
|
||||
import com.ruoyi.cms.util.http.JsonUtil;
|
||||
import com.ruoyi.common.constant.CacheConstants;
|
||||
@@ -55,6 +57,12 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
||||
private FileMapper fileMapper;
|
||||
@Autowired
|
||||
private HttpClientUtils httpClientUtils;
|
||||
//教育经历
|
||||
@Autowired
|
||||
private AppUserEducationMapper appUserEducationMapper;
|
||||
//培训经历
|
||||
@Autowired
|
||||
private AppUserTrainMapper appUserTrainMapper;
|
||||
|
||||
//互联网修改个人信息
|
||||
@Value("${lc_web_auth.editUserInfoUrl}")
|
||||
@@ -587,6 +595,12 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
||||
//修改技能
|
||||
List<AppSkill> skillList=registerBody.getAppSkillsList();
|
||||
editSkill(skillList,userId);
|
||||
//修改教育信息
|
||||
List<AppUserEducation> educations=registerBody.getAppUserEducations();
|
||||
editAppUserEducation(educations,userId);
|
||||
//修改培训信息
|
||||
List<AppUserTrain> trains=registerBody.getAppUserTrains();
|
||||
editAppUserTrain(trains,userId);
|
||||
//修改用户信息
|
||||
AppUser appUser=registerBody.getAppUser();
|
||||
if(appUser!=null&&appUser.getUserId()!=null){
|
||||
@@ -630,6 +644,42 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改教育经历
|
||||
* @param list
|
||||
* @param userId
|
||||
*/
|
||||
public void editAppUserEducation(List<AppUserEducation> list, Long userId){
|
||||
if(list!=null&&list.size()>0){
|
||||
List<AppUserEducation> add=new ArrayList<>();
|
||||
list.forEach(it->{
|
||||
it.setUserId(userId);
|
||||
if(it.getId()!=null){appUserEducationMapper.updateById(it);}else{add.add(it);}
|
||||
});
|
||||
if(add.size()>0){
|
||||
appUserEducationMapper.batchInsert(add);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改培训经历
|
||||
* @param list
|
||||
* @param userId
|
||||
*/
|
||||
public void editAppUserTrain(List<AppUserTrain> list, Long userId){
|
||||
if(list!=null&&list.size()>0){
|
||||
List<AppUserTrain> add=new ArrayList<>();
|
||||
list.forEach(it->{
|
||||
it.setUserId(userId);
|
||||
if(it.getId()!=null){appUserTrainMapper.updateById(it);}else{add.add(it);}
|
||||
});
|
||||
if(add.size()>0){
|
||||
appUserTrainMapper.batchInsert(add);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AppUser> selectNoTmAppUserList(AppUser appUser)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cms.domain.AppUserTrain;
|
||||
import com.ruoyi.common.core.domain.entity.AppUserTrain;
|
||||
import com.ruoyi.cms.mapper.AppUserTrainMapper;
|
||||
import com.ruoyi.cms.service.IAppUserTrainService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -545,28 +545,38 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
//优化岗位名称查询,只有命中岗位名称或者分类就行
|
||||
String titleStr = esJobSearch.getJobTitle();
|
||||
String cateStr = esJobSearch.getJobCategory();
|
||||
if (!StringUtil.isEmptyOrNull(titleStr) || !StringUtil.isEmptyOrNull(cateStr)) {
|
||||
boolean hasTitle = !StringUtil.isEmptyOrNull(titleStr);
|
||||
boolean hasCate = !StringUtil.isEmptyOrNull(cateStr);
|
||||
|
||||
if (hasTitle || hasCate) {
|
||||
wrapper.and(sub -> {
|
||||
boolean first = true;
|
||||
sub.or();
|
||||
if (!StringUtil.isEmptyOrNull(titleStr)) {
|
||||
if (hasTitle) {
|
||||
String[] words = titleStr.split(",");
|
||||
for (String w : words) {
|
||||
if (!first) sub.or();
|
||||
// 同时匹配岗位名称和岗位分类(jobCategory 已存储为标签文字)
|
||||
sub.match(ESJobDocument::getJobTitle, w, 5.0f);
|
||||
sub.or();
|
||||
sub.match(ESJobDocument::getJobCategory, w, 5.0f);
|
||||
first = false;
|
||||
String word = w.trim();
|
||||
if (StringUtil.isEmptyOrNull(word)) {
|
||||
continue;
|
||||
}
|
||||
sub.or(inner -> inner
|
||||
.match(ESJobDocument::getJobTitle, word, 5.0f)
|
||||
.or()
|
||||
.match(ESJobDocument::getJobCategory, word, 5.0f)
|
||||
);
|
||||
}
|
||||
}
|
||||
if (!StringUtil.isEmptyOrNull(cateStr)) {
|
||||
// category 搜索时同时匹配 jobCategory 和 jobTitle,避免因 jobCategory 字段为空而搜不到
|
||||
if (!first) sub.or();
|
||||
sub.match(ESJobDocument::getJobCategory, cateStr, 5.0f);
|
||||
first = false;
|
||||
sub.or();
|
||||
sub.match(ESJobDocument::getJobTitle, cateStr, 5.0f);
|
||||
if (hasCate) {
|
||||
String[] words = cateStr.split(",");
|
||||
for (String w : words) {
|
||||
String word = w.trim();
|
||||
if (StringUtil.isEmptyOrNull(word)) {
|
||||
continue;
|
||||
}
|
||||
sub.or(inner -> inner
|
||||
.match(ESJobDocument::getJobTitle, word, 5.0f)
|
||||
.or()
|
||||
.match(ESJobDocument::getJobCategory, word, 5.0f)
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user