修改面试状态同时修改对应子流程状态及根据面试房间状态限制部分面试操作

This commit is contained in:
pserimal
2023-06-25 18:28:29 +08:00
parent be9399d1cb
commit fb6122c961
12 changed files with 180 additions and 19 deletions

View File

@@ -0,0 +1,34 @@
package com.cool.store.dao;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerLineInfoMapper;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Repository
public class HyInterviewDAO {
@Resource
private HyPartnerInterviewMapper interviewMapper;
@Resource
private HyPartnerLineInfoMapper lineInfoMapper;
/**
* 更新面试状态必须使用该方法
* 需要同步更新面试状态和线索表中的子流程状态
*/
@Transactional
public void updateInterviewWorkflowStatus(String interviewPlanId, WorkflowStatusEnum status) {
//修改面试状态
interviewMapper.updateInterviewStatus(interviewPlanId, status.getCode());
//获取对应的lineId
String lineId = interviewMapper.getLineId(interviewPlanId);
//修改线索表子流程状态
lineInfoMapper.updateWorkflowStatus(lineId, status.getCode());
}
}

View File

@@ -29,4 +29,12 @@ public interface HyPartnerCertificationInfoMapper {
* @return 面试会议 id
*/
String getInterviewIdByQualifyVerifyId(@Param("qualifyVerifyId") String qualifyVerifyId);
/**
* 根据资质审核流程 id 获取面试会议 id
* @param qualifyVerifyId 资质审核流程 id
* @return 面试会议计划 id
*/
String getInterviewPlanIdByQualifyVerifyId(String qualifyVerifyId);
}

View File

@@ -70,4 +70,17 @@ public interface HyPartnerInterviewMapper {
*/
List<HyPartnerInterviewDO> getInterviewBaseInfoList(@Param("record") GetInterviewListReq request);
void batchUpdateInterviewStatus(@Param("interviewIds") List<Long> interviewIdList, @Param("interviewStatus") Integer interviewStatus);
HyPartnerInterviewDO getInterviewInfoByInterviewPlanId(@Param("interviewPlanId") String interviewPlanId);
/**
* 修改面试状态
*/
void updateInterviewStatus(@Param("interviewPlanId") String interviewPlanId, @Param("status") String status);
/**
* 获取面试对应的线索id
*/
String getLineId(@Param("interviewPlanId") String interviewPlanId);
}

View File

@@ -135,4 +135,11 @@ public interface HyPartnerInterviewPlanMapper {
* 修改面试实际开始时间
*/
void updateActualStartTime(@Param("id") Long id, @Param("now") String now);
/**
* 获取面试房间状态
* @param interviewPlanId
*/
Integer getRoomStatus(@Param("interviewPlanId") String interviewPlanId);
}

View File

@@ -208,8 +208,11 @@ public interface HyPartnerLineInfoMapper {
/**
* 根据面试计划 id 查询战区 id
* @param interviewPlanId
* @return
*/
String getAffiliationZoneIdByInterviewPlanId(String interviewPlanId);
/**
* 修改线索状态
*/
void updateWorkflowStatus(@Param("lineId") String lineId, @Param("status") String status);
}

View File

@@ -238,4 +238,16 @@
from hy_partner_certification_info
where qualify_verify_id = #{qualifyVerifyId}
</select>
<!-- 根据资质审核流程 id 获取面试会议计划 id -->
<select id="getInterviewPlanIdByQualifyVerifyId" resultType="java.lang.String">
select interview_plan_id
from hy_partner_interview
where id = (
select partner_interview_id
from hy_partner_certification_info
where qualify_verify_id = #{qualifyVerifyId}
)
and deleted = 0
</select>
</mapper>

View File

@@ -373,7 +373,7 @@
</foreach>
</update>
<!-- 根据 interviewId 获取意向区域 -->
<!-- 根据 interviewId 获取意向区域 -->
<select id="getVerifyCityByInterviewId" resultType="java.lang.String">
SELECT area_path
FROM hy_open_area_info
@@ -411,4 +411,29 @@
</where>
</select>
<!-- 根据面试计划id获取面试信息 -->
<select id="getInterviewInfoByInterviewPlanId" resultType="com.cool.store.entity.HyPartnerInterviewDO">
select
<include refid="Base_Column_List"/>
from
hy_partner_interview
where
interview_plan_id = #{interviewPlanId}
</select>
<!-- 修改面试状态 -->
<update id="updateInterviewStatus">
UPDATE hy_partner_interview
SET status = #{status}
WHERE interview_plan_id = #{interviewPlanId}
</update>
<!-- 获取面试对应的线索id -->
<select id="getLineId" resultType="java.lang.String">
SELECT partner_line_id
FROM hy_partner_interview
WHERE interview_plan_id = #{interviewPlanId}
</select>
</mapper>

View File

@@ -462,4 +462,11 @@
from enterprise_user
where user_id = #{userId}
</select>
<!-- 获取面试房间状态 -->
<select id="getRoomStatus" resultType="java.lang.Integer">
select room_status
from hy_partner_interview_plan
where id = #{interviewPlanId}
</select>
</mapper>

View File

@@ -562,4 +562,21 @@
and partner_id = #{partner_id}
</select>
<!-- 根据面试计划 id 查询战区 id -->
<select id="getAffiliationZoneIdByInterviewPlanId" resultType="java.lang.String">
SELECT affiliation_zone
FROM hy_partner_line_info
WHERE id = (
SELECT partner_line_id
FROM hy_partner_interview_plan
WHERE id = #{interviewPlanId}
)
</select>
<update id="updateWorkflowStatus">
UPDATE hy_partner_line_info
SET workflow_status = #{status}
WHERE id = #{lineId}
</update>
</mapper>