邀请面试业务逻辑完善

This commit is contained in:
2025-12-18 23:40:06 +08:00
parent efc6c6e5a9
commit d89be3848a
12 changed files with 307 additions and 53 deletions

View File

@@ -4,6 +4,7 @@ import com.vetti.common.annotation.Log;
import com.vetti.common.core.controller.BaseController;
import com.vetti.common.core.domain.R;
import com.vetti.common.core.page.TableDataInfo;
import com.vetti.common.core.page.TableWebDataInfo;
import com.vetti.common.enums.BusinessType;
import com.vetti.hotake.domain.HotakeMeetingCalendarDetail;
import com.vetti.hotake.service.IHotakeMeetingCalendarDetailService;
@@ -33,13 +34,12 @@ public class HotakeMeetingCalendarDetailController extends BaseController
* 查询会议日历记录明细列表
*/
@ApiOperation("查询会议日历记录明细列表")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarDetail:list')")
@GetMapping("/list")
public TableDataInfo list(HotakeMeetingCalendarDetail hotakeMeetingCalendarDetail)
public TableWebDataInfo<HotakeMeetingCalendarDetail> list(HotakeMeetingCalendarDetail hotakeMeetingCalendarDetail)
{
startPage();
List<HotakeMeetingCalendarDetail> list = hotakeMeetingCalendarDetailService.selectHotakeMeetingCalendarDetailList(hotakeMeetingCalendarDetail);
return getDataTable(list);
return getWebDataTable(list);
}
@@ -47,7 +47,6 @@ public class HotakeMeetingCalendarDetailController extends BaseController
* 获取会议日历记录明细详细信息
*/
@ApiOperation("获取会议日历记录明细详细信息")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarDetail:query')")
@GetMapping(value = "/{id}")
public R<HotakeMeetingCalendarDetail> getInfo(@PathVariable("id") Long id)
{
@@ -58,7 +57,6 @@ public class HotakeMeetingCalendarDetailController extends BaseController
* 新增会议日历记录明细
*/
@ApiOperation("新增会议日历记录明细")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarDetail:add')")
@Log(title = "会议日历记录明细", businessType = BusinessType.INSERT)
@PostMapping
public R<HotakeMeetingCalendarDetail> add(@RequestBody HotakeMeetingCalendarDetail hotakeMeetingCalendarDetail)
@@ -70,7 +68,6 @@ public class HotakeMeetingCalendarDetailController extends BaseController
* 修改会议日历记录明细
*/
@ApiOperation("修改会议日历记录明细")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarDetail:edit')")
@Log(title = "会议日历记录明细", businessType = BusinessType.UPDATE)
@PutMapping
public R<HotakeMeetingCalendarDetail> edit(@RequestBody HotakeMeetingCalendarDetail hotakeMeetingCalendarDetail)
@@ -82,7 +79,6 @@ public class HotakeMeetingCalendarDetailController extends BaseController
* 删除会议日历记录明细
*/
@ApiOperation("删除会议日历记录明细")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarDetail:remove')")
@Log(title = "会议日历记录明细", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable Long[] ids)

View File

@@ -4,8 +4,10 @@ import com.vetti.common.annotation.Log;
import com.vetti.common.core.controller.BaseController;
import com.vetti.common.core.domain.R;
import com.vetti.common.core.page.TableDataInfo;
import com.vetti.common.core.page.TableWebDataInfo;
import com.vetti.common.enums.BusinessType;
import com.vetti.hotake.domain.HotakeMeetingCalendarInfo;
import com.vetti.hotake.domain.vo.HotakeMeetingCalendarVo;
import com.vetti.hotake.service.IHotakeMeetingCalendarInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -21,7 +23,7 @@ import java.util.List;
* @author wangxiangshun
* @date 2025-11-09
*/
@Api(tags ="会议日历记录")
@Api(tags ="会议日历记录")
@RestController
@RequestMapping("/hotake/meetingCalendarInfo")
public class HotakeMeetingCalendarInfoController extends BaseController
@@ -32,21 +34,31 @@ public class HotakeMeetingCalendarInfoController extends BaseController
/**
* 查询会议日历记录主列表
*/
@ApiOperation("查询会议日历记录列表")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarInfo:list')")
@GetMapping("/list")
public TableDataInfo list(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo)
@ApiOperation("查询会议日历记录列表")
@GetMapping("/getPageList")
public TableWebDataInfo<HotakeMeetingCalendarInfo> pageList(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo)
{
startPage();
List<HotakeMeetingCalendarInfo> list = hotakeMeetingCalendarInfoService.selectHotakeMeetingCalendarInfoList(hotakeMeetingCalendarInfo);
return getDataTable(list);
return getWebDataTable(list);
}
/**
* 查询会议日历记录主列表(无分页)
*/
@ApiOperation("查询会议日历记录列表(无分页)")
@GetMapping("/getList")
public R<List<HotakeMeetingCalendarInfo>> list(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo)
{
List<HotakeMeetingCalendarInfo> list = hotakeMeetingCalendarInfoService.selectHotakeMeetingCalendarInfoList(hotakeMeetingCalendarInfo);
return R.ok(list);
}
/**
* 获取会议日历记录主详细信息
*/
@ApiOperation("获取会议日历记录详细信息")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarInfo:query')")
@ApiOperation("获取会议日历记录详细信息")
@GetMapping(value = "/{id}")
public R<HotakeMeetingCalendarInfo> getInfo(@PathVariable("id") Long id)
{
@@ -56,8 +68,7 @@ public class HotakeMeetingCalendarInfoController extends BaseController
/**
* 新增会议日历记录主
*/
@ApiOperation("新增会议日历记录")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarInfo:add')")
@ApiOperation("新增会议日历记录")
@Log(title = "会议日历记录主", businessType = BusinessType.INSERT)
@PostMapping
public R<HotakeMeetingCalendarInfo> add(@RequestBody HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo)
@@ -68,8 +79,7 @@ public class HotakeMeetingCalendarInfoController extends BaseController
/**
* 修改会议日历记录主
*/
@ApiOperation("修改会议日历记录")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarInfo:edit')")
@ApiOperation("修改会议日历记录")
@Log(title = "会议日历记录主", businessType = BusinessType.UPDATE)
@PutMapping
public R<HotakeMeetingCalendarInfo> edit(@RequestBody HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo)
@@ -80,12 +90,24 @@ public class HotakeMeetingCalendarInfoController extends BaseController
/**
* 删除会议日历记录主
*/
@ApiOperation("删除会议日历记录")
@PreAuthorize("@ss.hasPermi('hotake:meetingCalendarInfo:remove')")
@ApiOperation("删除会议日历记录")
@Log(title = "会议日历记录主", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable Long[] ids)
{
return R.ok(hotakeMeetingCalendarInfoService.deleteHotakeMeetingCalendarInfoByIds(ids));
}
/**
* 保存会议日历记录主
*/
@ApiOperation("保存会议日历记录")
@Log(title = "保存会议日历记录", businessType = BusinessType.INSERT)
@PostMapping
public R<?> save(@RequestBody HotakeMeetingCalendarVo calendarVo)
{
hotakeMeetingCalendarInfoService.saveHotakeMeetingCalendarInfo(calendarVo);
return R.ok();
}
}

View File

@@ -0,0 +1,28 @@
package com.vetti.common.enums;
public enum MeetingCalendarStatus {
NORMAL("1", "正常"),
CANCEL("0", "取消"),
;
private final String code;
private final String info;
MeetingCalendarStatus(String code, String info)
{
this.code = code;
this.info = info;
}
public String getCode()
{
return code;
}
public String getInfo()
{
return info;
}
}

View File

@@ -28,13 +28,13 @@ public class HotakeMeetingCalendarDetail extends BaseEntity
@Excel(name = "会议ID")
private Long meetingId;
/** 参会人员ID */
@ApiModelProperty("参会人员ID")
@Excel(name = "参会人员ID")
private Long userId;
/** 候选人ID */
@ApiModelProperty("候选人ID")
@Excel(name = "候选人ID")
private Long candidateId;
@ApiModelProperty("参会人员详细信息")
private SysUser user;
@ApiModelProperty("候选人详细信息")
private SysUser candidateUser;
}

View File

@@ -25,10 +25,13 @@ public class HotakeMeetingCalendarInfo extends BaseEntity
@ApiModelProperty("主键ID")
private Long id;
/** 用户ID */
@ApiModelProperty("用户ID")
@Excel(name = "用户ID")
private Long userId;
/** 招聘人ID */
@ApiModelProperty("招聘人ID")
@Excel(name = "招聘人ID")
private Long recruiterId;
@ApiModelProperty("岗位申请ID")
private Long roleApplyId;
/** 公司名称 */
@ApiModelProperty("公司名称")
@@ -50,11 +53,18 @@ public class HotakeMeetingCalendarInfo extends BaseEntity
@Excel(name = "会议时间")
private String times;
/** 发送消息方式(逗号分隔) */
@ApiModelProperty("发送消息方式(逗号分隔)")
@Excel(name = "发送消息方式(逗号分隔)")
private String messageVia;
/** 状态0 取消1 正常) */
@ApiModelProperty("状态0 取消1 正常)")
@Excel(name = "状态", readConverterExp = "0=,取=消1,正=常")
private String status;
@ApiModelProperty("岗位基本信息")
private HotakeRolesInfo rolesInfo;
@ApiModelProperty("参会人员")
private List<HotakeMeetingCalendarDetail> calendarDetails;

View File

@@ -0,0 +1,39 @@
package com.vetti.hotake.domain.vo;
import com.vetti.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 面试邀请会议记录
*
* @author wangxiangshun
* @date 2025-12-14
*/
@Data
@Accessors(chain = true)
public class HotakeMeetingCalendarInfoVo {
/** 候选人ID */
@ApiModelProperty("候选人ID")
@Excel(name = "候选人ID")
private Long candidateId;
/** 会议日期 */
@ApiModelProperty("会议日期(年月日)")
@Excel(name = "会议日期")
private String meetingDate;
/** 会议时间 */
@ApiModelProperty("会议时间")
@Excel(name = "会议时间")
private String times;
/** 发送消息方式(逗号分隔) */
@ApiModelProperty("发送消息方式(逗号分隔)")
@Excel(name = "发送消息方式(逗号分隔)")
private String messageVia;
}

View File

@@ -0,0 +1,34 @@
package com.vetti.hotake.domain.vo;
import com.vetti.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 面试邀请会议
*
* @author wangxiangshun
* @date 2025-12-14
*/
@Data
@Accessors(chain = true)
public class HotakeMeetingCalendarVo {
/** 招聘人ID */
@ApiModelProperty("招聘人ID")
@Excel(name = "招聘人ID")
private Long recruiterId;
/** 岗位申请ID */
@ApiModelProperty("岗位申请ID")
@Excel(name = "岗位申请ID")
private Long roleApplyId;
/** 面试邀请数据集合 */
@ApiModelProperty("面试邀请数据集合")
@Excel(name = "面试邀请数据集合")
private List<HotakeMeetingCalendarInfoVo> calendarInfoVoList;
}

View File

@@ -2,6 +2,7 @@ package com.vetti.hotake.service;
import java.util.List;
import com.vetti.hotake.domain.HotakeMeetingCalendarInfo;
import com.vetti.hotake.domain.vo.HotakeMeetingCalendarVo;
/**
* 会议日历记录主Service接口
@@ -67,4 +68,14 @@ public interface IHotakeMeetingCalendarInfoService
*/
public int batchInsertHotakeMeetingCalendarInfo(List<HotakeMeetingCalendarInfo> hotakeMeetingCalendarInfoList);
/**
* 保存会议日历记录
*
* @param calendarVo 面试邀请信息
* @return 结果
*/
public void saveHotakeMeetingCalendarInfo(HotakeMeetingCalendarVo calendarVo);
}

View File

@@ -8,7 +8,16 @@ import cn.hutool.core.collection.CollectionUtil;
import com.vetti.common.core.domain.entity.SysUser;
import com.vetti.common.core.service.BaseServiceImpl;
import com.vetti.common.enums.FillTypeEnum;
import com.vetti.common.enums.MeetingCalendarStatus;
import com.vetti.common.enums.StageEnum;
import com.vetti.hotake.domain.HotakeMeetingCalendarDetail;
import com.vetti.hotake.domain.HotakeRolesApplyInfo;
import com.vetti.hotake.domain.HotakeRolesInfo;
import com.vetti.hotake.domain.vo.HotakeMeetingCalendarInfoVo;
import com.vetti.hotake.domain.vo.HotakeMeetingCalendarVo;
import com.vetti.hotake.mapper.HotakeMeetingCalendarDetailMapper;
import com.vetti.hotake.mapper.HotakeRolesApplyInfoMapper;
import com.vetti.hotake.mapper.HotakeRolesInfoMapper;
import com.vetti.hotake.service.IHotakeMeetingCalendarDetailService;
import com.vetti.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,12 +37,26 @@ import com.vetti.hotake.service.IHotakeMeetingCalendarInfoService;
@SuppressWarnings("all")
@Service
public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implements IHotakeMeetingCalendarInfoService {
private final String meetingName = "Interview Invitation";
@Autowired
private HotakeMeetingCalendarInfoMapper hotakeMeetingCalendarInfoMapper;
@Autowired
private HotakeMeetingCalendarDetailMapper hotakeMeetingCalendarDetailMapper;
@Autowired
private IHotakeMeetingCalendarDetailService calendarDetailService;
@Autowired
private HotakeRolesInfoMapper hotakeRolesInfoMapper;
@Autowired
private HotakeRolesApplyInfoMapper hotakeRolesApplyInfoMapper;
@Autowired
private ISysUserService userService;
@@ -47,21 +70,42 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
@Override
public HotakeMeetingCalendarInfo selectHotakeMeetingCalendarInfoById(Long id) {
HotakeMeetingCalendarInfo calendarInfo = hotakeMeetingCalendarInfoMapper.selectHotakeMeetingCalendarInfoById(id);
//查询岗位数据
HotakeRolesInfo query = new HotakeRolesInfo();
List<HotakeRolesInfo> rolesInfoList = hotakeRolesInfoMapper.selectHotakeRolesInfoList(query);
//查询岗位数据
HotakeRolesApplyInfo queryApply = new HotakeRolesApplyInfo();
List<HotakeRolesApplyInfo> applyInfoList = hotakeRolesApplyInfoMapper.selectHotakeRolesApplyInfoList(queryApply);
//获取对应的参会人员数据
HotakeMeetingCalendarDetail queryDetail = new HotakeMeetingCalendarDetail();
List<HotakeMeetingCalendarDetail> detailList = calendarDetailService.selectHotakeMeetingCalendarDetailList(queryDetail);
if (CollectionUtil.isNotEmpty(detailList)) {
Map<Long, List<HotakeMeetingCalendarDetail>> mapDetailList = detailList.stream().collect(Collectors.groupingBy(HotakeMeetingCalendarDetail::getMeetingId));
SysUser queryUser = new SysUser();
List<SysUser> userList = userService.selectUserList(queryUser);
List<HotakeMeetingCalendarDetail> calendarDetails = mapDetailList.get(calendarInfo.getId());
for (HotakeMeetingCalendarDetail detail : calendarDetails) {
List<SysUser> users = userList.stream().filter(e -> e.getUserId() == detail.getUserId()).collect(Collectors.toList());
List<SysUser> users = userList.stream().filter(e -> e.getUserId() == detail.getCandidateId()).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(users)) {
detail.setUser(users.get(0));
detail.setCandidateUser(users.get(0));
}
}
calendarInfo.setCalendarDetails(calendarDetails);
//返回岗位数据信息
//返回岗位数据信息
List<HotakeRolesApplyInfo> applyInfos = applyInfoList.stream().filter(e->e.getId().longValue() == calendarInfo.getRoleApplyId().longValue()).toList();
if(CollectionUtil.isNotEmpty(applyInfos)) {
HotakeRolesApplyInfo applyInfo = applyInfos.get(0);
List<HotakeRolesInfo> rolesInfos = rolesInfoList.stream().filter(e->e.getId().longValue() == applyInfo.getRoleId().longValue()).toList();
if(CollectionUtil.isNotEmpty(rolesInfos)) {
HotakeRolesInfo rolesInfo = rolesInfos.get(0);
calendarInfo.setRolesInfo(rolesInfo);
}
}
}
return calendarInfo;
}
@@ -77,6 +121,13 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
public List<HotakeMeetingCalendarInfo> selectHotakeMeetingCalendarInfoList(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo) {
List<HotakeMeetingCalendarInfo> calendarInfos = hotakeMeetingCalendarInfoMapper.selectHotakeMeetingCalendarInfoList(hotakeMeetingCalendarInfo);
if (CollectionUtil.isNotEmpty(calendarInfos)) {
//查询岗位数据
HotakeRolesInfo query = new HotakeRolesInfo();
List<HotakeRolesInfo> rolesInfoList = hotakeRolesInfoMapper.selectHotakeRolesInfoList(query);
//查询岗位数据
HotakeRolesApplyInfo queryApply = new HotakeRolesApplyInfo();
List<HotakeRolesApplyInfo> applyInfoList = hotakeRolesApplyInfoMapper.selectHotakeRolesApplyInfoList(queryApply);
//获取对应的参会人员数据
HotakeMeetingCalendarDetail queryDetail = new HotakeMeetingCalendarDetail();
List<HotakeMeetingCalendarDetail> detailList = calendarDetailService.selectHotakeMeetingCalendarDetailList(queryDetail);
@@ -87,12 +138,22 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
for (HotakeMeetingCalendarInfo calendarInfo : calendarInfos) {
List<HotakeMeetingCalendarDetail> calendarDetails = mapDetailList.get(calendarInfo.getId());
for (HotakeMeetingCalendarDetail detail : calendarDetails) {
List<SysUser> users = userList.stream().filter(e -> e.getUserId() == detail.getUserId()).collect(Collectors.toList());
List<SysUser> users = userList.stream().filter(e -> e.getUserId() == detail.getCandidateId()).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(users)) {
detail.setUser(users.get(0));
detail.setCandidateUser(users.get(0));
}
}
calendarInfo.setCalendarDetails(calendarDetails);
//返回岗位数据信息
List<HotakeRolesApplyInfo> applyInfos = applyInfoList.stream().filter(e->e.getId().longValue() == calendarInfo.getRoleApplyId().longValue()).toList();
if(CollectionUtil.isNotEmpty(applyInfos)) {
HotakeRolesApplyInfo applyInfo = applyInfos.get(0);
List<HotakeRolesInfo> rolesInfos = rolesInfoList.stream().filter(e->e.getId().longValue() == applyInfo.getRoleId().longValue()).toList();
if(CollectionUtil.isNotEmpty(rolesInfos)) {
HotakeRolesInfo rolesInfo = rolesInfos.get(0);
calendarInfo.setRolesInfo(rolesInfo);
}
}
}
}
}
@@ -110,7 +171,6 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
public HotakeMeetingCalendarInfo insertHotakeMeetingCalendarInfo(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo) {
fill(FillTypeEnum.INSERT.getCode(), hotakeMeetingCalendarInfo);
hotakeMeetingCalendarInfoMapper.insertHotakeMeetingCalendarInfo(hotakeMeetingCalendarInfo);
//保存参会人员
//1.1 先删除对应的参会人员
calendarDetailService.deleteHotakeMeetingCalendarDetailByInfoId(hotakeMeetingCalendarInfo.getId());
@@ -182,4 +242,41 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
public int batchInsertHotakeMeetingCalendarInfo(List<HotakeMeetingCalendarInfo> hotakeMeetingCalendarInfoList) {
return hotakeMeetingCalendarInfoMapper.batchInsertHotakeMeetingCalendarInfo(hotakeMeetingCalendarInfoList);
}
/**
* 保存会议日历记录
* @param calendarVo 面试邀请信息
*/
@Override
public void saveHotakeMeetingCalendarInfo(HotakeMeetingCalendarVo calendarVo) {
//保存面试邀请数据
if(CollectionUtil.isNotEmpty(calendarVo.getCalendarInfoVoList())){
for(HotakeMeetingCalendarInfoVo calendarInfoVo : calendarVo.getCalendarInfoVoList()){
HotakeMeetingCalendarInfo calendarInfo = new HotakeMeetingCalendarInfo();
calendarInfo.setRoleApplyId(calendarVo.getRoleApplyId());
calendarInfo.setRecruiterId(calendarVo.getRecruiterId());
calendarInfo.setMeetingDate(calendarInfoVo.getMeetingDate());
calendarInfo.setTimes(calendarInfoVo.getTimes());
calendarInfo.setMessageVia(calendarInfoVo.getMessageVia());
calendarInfo.setStatus(MeetingCalendarStatus.NORMAL.getCode());
calendarInfo.setMeetingName(meetingName);
//保存主表数据
fill(FillTypeEnum.INSERT.getCode(), calendarInfo);
insertHotakeMeetingCalendarInfo(calendarInfo);
//保存明细数据
HotakeMeetingCalendarDetail hotakeMeetingCalendarDetail = new HotakeMeetingCalendarDetail();
hotakeMeetingCalendarDetail.setMeetingId(calendarInfo.getId());
hotakeMeetingCalendarDetail.setCandidateId(calendarInfoVo.getCandidateId());
fill(FillTypeEnum.INSERT.getCode(), hotakeMeetingCalendarDetail);
hotakeMeetingCalendarDetailMapper.insertHotakeMeetingCalendarDetail(hotakeMeetingCalendarDetail);
//更新申请岗位状态
HotakeRolesApplyInfo applyInfo = new HotakeRolesApplyInfo();
applyInfo.setId(calendarVo.getRoleApplyId());
applyInfo.setStage(StageEnum.INTERVIEW.getCode());
hotakeRolesApplyInfoMapper.updateHotakeRolesApplyInfo(applyInfo);
}
}
}
}

View File

@@ -77,6 +77,11 @@ public class HotakeRolesApplyInfoServiceImpl extends BaseServiceImpl implements
applyInfo.setRolesInfo(rolesInfo);
}
}
if(StrUtil.isNotEmpty(applyInfo.getCvTemplateJson())){
HotakeCvInfoDto cvInfoDto = handleAnalysisCvInfo(applyInfo.getCvTemplateJson());
applyInfo.setCvInfoDto(cvInfoDto);
}
}
}
return applyInfoList;

View File

@@ -7,7 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="HotakeMeetingCalendarDetail" id="HotakeMeetingCalendarDetailResult">
<result property="id" column="id" />
<result property="meetingId" column="meeting_id" />
<result property="userId" column="user_id" />
<result property="candidateId" column="candidate_id" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -17,14 +17,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectHotakeMeetingCalendarDetailVo">
select id, meeting_id, user_id, del_flag, create_by, create_time, update_by, update_time, remark from hotake_meeting_calendar_detail
select id, meeting_id, candidate_id, del_flag, create_by, create_time, update_by, update_time, remark from hotake_meeting_calendar_detail
</sql>
<select id="selectHotakeMeetingCalendarDetailList" parameterType="HotakeMeetingCalendarDetail" resultMap="HotakeMeetingCalendarDetailResult">
<include refid="selectHotakeMeetingCalendarDetailVo"/>
<where>
<if test="meetingId != null "> and meeting_id = #{meetingId}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="candidateId != null "> and candidate_id = #{candidateId}</if>
</where>
</select>
@@ -37,7 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
insert into hotake_meeting_calendar_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="meetingId != null">meeting_id,</if>
<if test="userId != null">user_id,</if>
<if test="candidateId != null">candidate_id,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
@@ -47,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="meetingId != null">#{meetingId},</if>
<if test="userId != null">#{userId},</if>
<if test="candidateId != null">#{candidateId},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
@@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update hotake_meeting_calendar_detail
<trim prefix="SET" suffixOverrides=",">
<if test="meetingId != null">meeting_id = #{meetingId},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="candidateId != null">candidate_id = #{candidateId},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
@@ -88,9 +88,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<insert id="batchInsertHotakeMeetingCalendarDetail">
insert into hotake_meeting_calendar_detail( id, meeting_id, user_id, del_flag, create_by, create_time, update_by, update_time, remark) values
insert into hotake_meeting_calendar_detail( id, meeting_id, candidate_id, del_flag, create_by, create_time, update_by, update_time, remark) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.meetingId}, #{item.userId}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
( #{item.id}, #{item.meetingId}, #{item.candidateId}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
</foreach>
</insert>
</mapper>

View File

@@ -6,12 +6,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="HotakeMeetingCalendarInfo" id="HotakeMeetingCalendarInfoResult">
<result property="id" column="id" />
<result property="userId" column="user_id" />
<result property="recruiterId" column="recruiter_id" />
<result property="roleApplyId" column="role_apply_id" />
<result property="compName" column="comp_name" />
<result property="meetingName" column="meeting_name" />
<result property="meetingDate" column="meeting_date" />
<result property="times" column="times" />
<result property="status" column="status" />
<result property="messageVia" column="message_via" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -21,13 +23,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectHotakeMeetingCalendarInfoVo">
select id, user_id, comp_name, meeting_name, meeting_date, times, status, del_flag, create_by, create_time, update_by, update_time, remark from hotake_meeting_calendar_info
select id, recruiter_id,role_apply_id, comp_name, meeting_name, meeting_date, times, status,message_via,
del_flag, create_by, create_time, update_by, update_time, remark from hotake_meeting_calendar_info
</sql>
<select id="selectHotakeMeetingCalendarInfoList" parameterType="HotakeMeetingCalendarInfo" resultMap="HotakeMeetingCalendarInfoResult">
<include refid="selectHotakeMeetingCalendarInfoVo"/>
<where>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="recruiterId != null "> and recruiter_id = #{recruiterId}</if>
<if test="roleApplyId != null "> and role_apply_id = #{roleApplyId}</if>
<if test="compName != null and compName != ''"> and comp_name like concat('%', #{compName}, '%')</if>
<if test="meetingName != null and meetingName != ''"> and meeting_name like concat('%', #{meetingName}, '%')</if>
<if test="meetingDate != null and meetingDate != ''"> and meeting_date = #{meetingDate}</if>
@@ -44,12 +48,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="insertHotakeMeetingCalendarInfo" parameterType="HotakeMeetingCalendarInfo" useGeneratedKeys="true" keyProperty="id">
insert into hotake_meeting_calendar_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="userId != null">user_id,</if>
<if test="recruiterId != null">recruiter_id,</if>
<if test="roleApplyId != null">role_apply_id,</if>
<if test="compName != null">comp_name,</if>
<if test="meetingName != null">meeting_name,</if>
<if test="meetingDate != null">meeting_date,</if>
<if test="times != null">times,</if>
<if test="status != null">status,</if>
<if test="messageVia != null">message_via,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
@@ -58,12 +64,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userId != null">#{userId},</if>
<if test="recruiterId != null">#{recruiterId},</if>
<if test="roleApplyId != null">#{roleApplyId},</if>
<if test="compName != null">#{compName},</if>
<if test="meetingName != null">#{meetingName},</if>
<if test="meetingDate != null">#{meetingDate},</if>
<if test="times != null">#{times},</if>
<if test="status != null">#{status},</if>
<if test="messageVia != null">#{messageVia},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
@@ -76,12 +84,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateHotakeMeetingCalendarInfo" parameterType="HotakeMeetingCalendarInfo">
update hotake_meeting_calendar_info
<trim prefix="SET" suffixOverrides=",">
<if test="userId != null">user_id = #{userId},</if>
<if test="recruiterId != null">recruiter_id = #{recruiterId},</if>
<if test="roleApplyId != null">role_apply_id = #{roleApplyId},</if>
<if test="compName != null">comp_name = #{compName},</if>
<if test="meetingName != null">meeting_name = #{meetingName},</if>
<if test="meetingDate != null">meeting_date = #{meetingDate},</if>
<if test="times != null">times = #{times},</if>
<if test="status != null">status = #{status},</if>
<if test="messageVia != null">message_via = #{messageVia},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
@@ -104,9 +114,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<insert id="batchInsertHotakeMeetingCalendarInfo">
insert into hotake_meeting_calendar_info( id, user_id, comp_name, meeting_name, meeting_date, times, status, del_flag, create_by, create_time, update_by, update_time, remark) values
insert into hotake_meeting_calendar_info( id, recruiter_id,role_apply_id, comp_name, meeting_name, meeting_date, times,
status, message_via,del_flag, create_by, create_time, update_by, update_time, remark) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.userId}, #{item.compName}, #{item.meetingName}, #{item.meetingDate}, #{item.times}, #{item.status}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
( #{item.id}, #{item.recruiterId},#{item.roleApplyId}, #{item.compName}, #{item.meetingName},
#{item.meetingDate}, #{item.times}, #{item.status},#{item.messageVia} ,#{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
</foreach>
</insert>
</mapper>