Files
zxjp-web/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
俞扬 2ff7b04d0c Merge branch 'cc_20230520_partner' of http://gitlab.coolcollege.cn/hangzhou/java/coolstore-partner-manage into cc_20230520_partner
# Conflicts:
#	coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
#	coolstore-partner-webb/src/main/resources/application-dev.properties
2023-06-16 11:48:29 +08:00

372 lines
12 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.HyPartnerInterviewMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyPartnerInterviewDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="status" jdbcType="TINYINT" property="status" />
<result column="partner_line_id" jdbcType="BIGINT" property="partnerLineId" />
<result column="interview_plan_id" jdbcType="BIGINT" property="interviewPlanId" />
<result column="partner_id" jdbcType="VARCHAR" property="partnerId" />
<result column="deadline" jdbcType="TIMESTAMP" property="deadline" />
<result column="interviewer" jdbcType="VARCHAR" property="interviewer" />
<result column="recorder" jdbcType="VARCHAR" property="recorder" />
<result column="process_info" jdbcType="VARCHAR" property="processInfo" />
<result column="record_time" jdbcType="TIMESTAMP" property="recordTime" />
<result column="summary" jdbcType="VARCHAR" property="summary" />
<result column="auth_code" jdbcType="VARCHAR" property="authCode" />
<result column="qualify_verify_id" jdbcType="VARCHAR" property="qualifyVerifyId" />
<result column="pass_file_url" jdbcType="VARCHAR" property="passFileUrl" />
<result column="expiry_date" jdbcType="TIMESTAMP" property="expiryDate" />
<result column="latest_log_message" jdbcType="VARCHAR" property="latestLogMessage" />
<result column="pass_reason" jdbcType="VARCHAR" property="passReason" />
<result column="certify_file" jdbcType="VARCHAR" property="certifyFile" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="approve_time" jdbcType="TIMESTAMP" property="approveTime" />
<result column="partner_enter_time" jdbcType="TIMESTAMP" property="partnerEnterTime" />
<result column="interviewer_enter_time" jdbcType="TIMESTAMP" property="interviewerEnterTime" />
</resultMap>
<resultMap id="PartnerInterviewInfoVO" type="com.cool.store.vo.PartnerInterviewInfoVO">
<id column="interviewId" property="interviewId"/>
<result column="partnerId" property="partnerId"/>
<result column="interviewerId" property="interviewerId"/>
<association property="partnerName" column="partnerId" select="queryPartnerName" javaType="string"/>
<association property="interviewerName" column="interviewerId" select="queryInterviewerName" javaType="string"/>
</resultMap>
<resultMap id="partnerEnterInterviewVO" type="com.cool.store.vo.EnterInterviewVO">
<association property="partnerName" column="partner_id" select="queryPartnerName"></association>
<association property="interviewerName" column="interviewer" select="queryInterviewerName"></association>
</resultMap>
<resultMap id="passLetterDetail" type="com.cool.store.vo.PartnerPassLetterDetailVO">
<association property="partnerName" column="partner_id" select="queryPartnerName"></association>
<association property="verifyCity" column="partner_id" select="getVerifyCity"></association>
</resultMap>
<sql id="Base_Column_List">
id, status, partner_line_id, interview_plan_id, partner_id, deadline, interviewer,
recorder, process_info, record_time, summary, auth_code, qualify_verify_id, pass_file_url, expiry_date,
latest_log_message, pass_reason, certify_file, create_time, update_time, approve_time,
partner_enter_time, interviewer_enter_time
</sql>
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
insert into hy_partner_interview
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="status != null">
status,
</if>
<if test="partnerLineId != null">
partner_line_id,
</if>
<if test="interviewPlanId != null">
interview_plan_id,
</if>
<if test="partnerId != null">
partner_id,
</if>
<if test="deadline != null">
deadline,
</if>
<if test="interviewer != null">
interviewer,
</if>
<if test="recorder != null">
recorder,
</if>
<if test="processInfo != null">
process_info,
</if>
<if test="recordTime != null">
record_time,
</if>
<if test="summary != null">
summary,
</if>
<if test="authCode != null">
auth_code,
</if>
<if test="passFileUrl != null">
pass_file_url,
</if>
<if test="expiryDate != null">
expiry_date,
</if>
<if test="latestLogMessage != null">
latest_log_message,
</if>
<if test="passReason != null">
pass_reason,
</if>
<if test="certifyFile != null">
certify_file,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="approveTime != null">
approve_time,
</if>
<if test="partnerEnterTime != null">
partner_enter_time,
</if>
<if test="interviewerEnterTime != null">
interviewer_enter_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="status != null">
#{status},
</if>
<if test="partnerLineId != null">
#{partnerLineId},
</if>
<if test="interviewPlanId != null">
#{interviewPlanId},
</if>
<if test="partnerId != null">
#{partnerId},
</if>
<if test="deadline != null">
#{deadline},
</if>
<if test="interviewer != null">
#{interviewer},
</if>
<if test="recorder != null">
#{recorder},
</if>
<if test="processInfo != null">
#{processInfo},
</if>
<if test="recordTime != null">
#{recordTime},
</if>
<if test="summary != null">
#{summary},
</if>
<if test="authCode != null">
#{authCode},
</if>
<if test="passFileUrl != null">
#{passFileUrl},
</if>
<if test="expiryDate != null">
#{expiryDate},
</if>
<if test="latestLogMessage != null">
#{latestLogMessage},
</if>
<if test="passReason != null">
#{passReason},
</if>
<if test="certifyFile != null">
#{certifyFile},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="approveTime != null">
#{approveTime},
</if>
<if test="partnerEnterTime != null">
#{partnerEnterTime},
</if>
<if test="interviewerEnterTime != null">
#{interviewerEnterTime},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective">
update hy_partner_interview
<set>
<if test="status != null">
status = #{status},
</if>
<if test="partnerLineId != null">
partner_line_id = #{partnerLineId},
</if>
<if test="interviewPlanId != null">
interview_plan_id = #{interviewPlanId},
</if>
<if test="partnerId != null">
partner_id = #{partnerId},
</if>
<if test="deadline != null">
deadline = #{deadline},
</if>
<if test="interviewer != null">
interviewer = #{interviewer},
</if>
<if test="recorder != null">
recorder = #{recorder},
</if>
<if test="processInfo != null">
process_info = #{processInfo},
</if>
<if test="recordTime != null">
record_time = #{recordTime},
</if>
<if test="summary != null">
summary = #{summary},
</if>
<if test="authCode != null">
auth_code = #{authCode},
</if>
<if test="passFileUrl != null">
pass_file_url = #{passFileUrl},
</if>
<if test="expiryDate != null">
expiry_date = #{expiryDate},
</if>
<if test="latestLogMessage != null">
latest_log_message = #{latestLogMessage},
</if>
<if test="passReason != null">
pass_reason = #{passReason},
</if>
<if test="certifyFile != null">
certify_file = #{certifyFile},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="approveTime != null">
approve_time = #{approveTime},
</if>
<if test="partnerEnterTime != null">
partner_enter_time = #{partnerEnterTime},
</if>
<if test="interviewerEnterTime != null">
interviewer_enter_time = #{interviewerEnterTime},
</if>
<if test="qualifyVerifyId != null">
qualify_verify_id = #{qualifyVerifyId},
</if>
</set>
where id = #{id}
</update>
<!-- 根据加盟商id查询面试信息 -->
<select id="queryByPartnerId" resultMap="PartnerInterviewInfoVO">
SELECT t1.id interviewId, `status`, start_time, end_time, room_id, t1.partner_id partnerId, t1.interviewer interviewerId
FROM hy_partner_interview t1
LEFT JOIN hy_partner_interview_plan t2 ON t1.interview_plan_id = t2.id
WHERE t1.partner_id = #{partnerId}
</select>
<select id="queryPartnerName" resultType="string">
SELECT username
FROM hy_partner_user_info
WHERE partner_id = #{partnerId}
</select>
<select id="queryInterviewerName" resultType="string">
SELECT name
FROM enterprise_user
WHERE deleted = 0
AND user_id = #{interview}
</select>
<!-- 修改面试状态 -->
<update id="updateInterviewStatus">
UPDATE hy_partner_interview
SET `status` = #{status}
WHERE id = #{interviewId}
</update>
<!-- 修改面试实际开始时间 -->
<update id="updateActualStartTime">
UPDATE hy_partner_interview_plan
SET actual_start_time = IF(actual_start_time IS NULL, #{dateTime}, actual_start_time)
WHERE id = (
SELECT interview_plan_id
FROM hy_partner_interview
WHERE id = #{interviewId}
)
</update>
<!-- 修改面试官或加盟商入会时间 -->
<update id="updateEnterTime">
UPDATE hy_partner_interview
<set>
<if test="userType != null and userType == 1">
interviewer_enter_time = IF(interviewer_enter_time IS NULL, #{dateTime}, interviewer_enter_time),
</if>
<if test="userType != null and userType == 2">
partner_enter_time = IF(partner_enter_time IS NULL, #{dateTime}, partner_enter_time)
</if>
</set>
WHERE id = 1
</update>
<!-- 修改加盟商参会状态为参加 -->
<update id="updateWhetherPartnerEnter">
UPDATE hy_partner_interview_plan
SET is_partner_interview = 1
WHERE id = (
SELECT interview_plan_id
FROM hy_partner_interview
WHERE id = #{interviewId}
)
</update>
<!-- 根据会议 id 获取面试官 id -->
<select id="getInterviewerByInterviewId" resultMap="partnerEnterInterviewVO">
SELECT interviewer, interviewer interviewer_id, partner_id
FROM hy_partner_interview
WHERE id = #{interviewId}
</select>
<!-- 获取通知函详情 -->
<select id="getPassLetterDetail" resultMap="passLetterDetail">
SELECT auth_code, pass_code, pass_file_url, expiry_date, partner_id
FROM hy_partner_interview
WHERE id = #{interviewId}
</select>
<!-- 获取意向开店区域 -->
<select id="getVerifyCity" resultType="string">
SELECT area_path
FROM hy_open_area_info
WHERE id = (
SELECT want_shop_area
FROM hy_partner_intent_info
WHERE partner_id = #{partner_id}
)
</select>
<select id="selectByPrimaryKeySelective" resultType="com.cool.store.entity.HyPartnerInterviewDO">
select
<include refid="Base_Column_List"/>
from
hy_partner_intent_info
where
id = #{interviewId}
</select>
<!-- 生成通过函 pdf 后修改 -->
<update id="updatePassLetterInfo">
UPDATE hy_partner_interview
<set>
<if test="passCode != null and passCode != ''">
pass_code = #{passCode},
</if>
<if test="passFileUrl != null and passFileUrl != ''">
pass_file_url = #{passFileUrl},
</if>
<if test="expiryDate != null and expiryDate != ''">
expiry_date = #{expiryDate}
</if>
</set>
WHERE id = #{interviewId}
</update>
</mapper>