预约面试功能开发

This commit is contained in:
francis-fh
2026-06-24 18:18:55 +08:00
parent a3cd9b0277
commit f51b1a3ce1
14 changed files with 354 additions and 23 deletions

View File

@@ -16,6 +16,8 @@
<result property="meetingPassword" column="meeting_password"/>
<result property="interviewLocation" column="interview_location"/>
<result property="contactPhone" column="contact_phone"/>
<result property="companyName" column="company_name"/>
<result property="jobName" column="job_name"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
@@ -25,11 +27,16 @@
<result property="remark" column="remark"/>
</resultMap>
<!-- VO 带公司名和岗位名继承基础映射jobTitle 来自关联查询的实时数据) -->
<resultMap type="com.ruoyi.cms.domain.vo.InterviewInvitationVO" id="InterviewInvitationVOResult" extends="InterviewInvitationResult">
<result property="jobTitle" column="job_title"/>
</resultMap>
<sql id="selectInterviewInvitationVo">
select id, company_id, job_id, user_id, apply_id, interview_time,
interview_method, meeting_link, meeting_password, interview_location,
contact_phone, status, del_flag, create_by, create_time, update_by, update_time, remark
contact_phone, company_name, job_name, status, del_flag,
create_by, create_time, update_by, update_time, remark
from interview_invitation
</sql>
@@ -45,4 +52,22 @@
order by create_time desc
</select>
<!-- 带公司名和岗位名的列表查询COALESCE 优先用关联表实时数据,兜底用冗余存储 -->
<select id="getInterviewInvitationVOList" resultMap="InterviewInvitationVOResult" parameterType="InterviewInvitation">
select t.*,
COALESCE(c.name, t.company_name) as company_name,
COALESCE(j.job_title, t.job_name) as job_title
from interview_invitation t
left join company c on c.company_id = t.company_id and c.del_flag = '0'
left join job j on j.job_id = t.job_id and j.del_flag = '0'
<where> t.del_flag = '0'
<if test="companyId != null and companyId != ''"> and t.company_id = #{companyId}</if>
<if test="jobId != null and jobId != ''"> and t.job_id = #{jobId}</if>
<if test="userId != null and userId != ''"> and t.user_id = #{userId}</if>
<if test="applyId != null and applyId != ''"> and t.apply_id = #{applyId}</if>
<if test="status != null and status != ''"> and t.status = #{status}</if>
</where>
order by t.create_time desc
</select>
</mapper>