feat: Implement job fair company registration review workflow
- Added review status fields to the public_job_fair_company table to manage company registration states (pending, approved, rejected). - Enhanced PublicJobFairServiceImpl to handle company registration, review, and job management for companies. - Updated PublicJobFairMapper.xml with new SQL queries for managing company relations and reviews. - Created migration script to add review fields and set default values for existing records. - Introduced new permissions for company users to manage job postings and registration status. - Added utility methods for ensuring proper role checks and company retrieval.
This commit is contained in:
@@ -54,6 +54,25 @@
|
||||
<result property="scale" column="scale"/>
|
||||
<result property="industry" column="industry"/>
|
||||
<result property="companyType" column="nature"/>
|
||||
<result property="reviewStatus" column="review_status"/>
|
||||
<result property="reviewBy" column="review_by"/>
|
||||
<result property="reviewTime" column="review_time"/>
|
||||
<result property="reviewRemark" column="review_remark"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.ruoyi.cms.domain.rc.PublicJobFairCompany" id="PublicJobFairCompanyResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="jobFairId" column="job_fair_id"/>
|
||||
<result property="companyId" column="company_id"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="reviewStatus" column="review_status"/>
|
||||
<result property="reviewBy" column="review_by"/>
|
||||
<result property="reviewTime" column="review_time"/>
|
||||
<result property="reviewRemark" column="review_remark"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectPublicJobFairVo">
|
||||
@@ -91,13 +110,60 @@
|
||||
</select>
|
||||
|
||||
<select id="selectCompanyListByJobFairId" resultMap="CompanyVOResult">
|
||||
select pfc.id, pfc.company_id, c.name, c.scale, c.industry, c.nature
|
||||
select pfc.id, pfc.company_id, c.name, c.scale, c.industry, c.nature,
|
||||
pfc.review_status, pfc.review_by, pfc.review_time, pfc.review_remark
|
||||
from public_job_fair_company pfc
|
||||
left join company c on pfc.company_id = c.company_id
|
||||
where pfc.job_fair_id = #{jobFairId} and pfc.del_flag = '0'
|
||||
order by pfc.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectCompanyRelation" resultMap="PublicJobFairCompanyResult">
|
||||
select id, job_fair_id, company_id, create_by, create_time, update_by, update_time,
|
||||
del_flag, review_status, review_by, review_time, review_remark
|
||||
from public_job_fair_company
|
||||
where job_fair_id = #{jobFairId}
|
||||
and company_id = #{companyId}
|
||||
and del_flag = '0'
|
||||
order by create_time desc
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<select id="selectCompanyRelations" resultMap="PublicJobFairCompanyResult">
|
||||
select id, job_fair_id, company_id, create_by, create_time, update_by, update_time,
|
||||
del_flag, review_status, review_by, review_time, review_remark
|
||||
from public_job_fair_company
|
||||
where company_id = #{companyId}
|
||||
and del_flag = '0'
|
||||
and job_fair_id in
|
||||
<foreach item="jobFairId" collection="jobFairIds" open="(" separator="," close=")">
|
||||
#{jobFairId}
|
||||
</foreach>
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectCompanyRelationById" resultMap="PublicJobFairCompanyResult">
|
||||
select id, job_fair_id, company_id, create_by, create_time, update_by, update_time,
|
||||
del_flag, review_status, review_by, review_time, review_remark
|
||||
from public_job_fair_company
|
||||
where id = #{id} and del_flag = '0'
|
||||
</select>
|
||||
|
||||
<update id="updateCompanyReview">
|
||||
update public_job_fair_company
|
||||
<set>
|
||||
review_status = #{reviewStatus},
|
||||
review_by = #{reviewBy},
|
||||
review_time = #{reviewTime},
|
||||
review_remark = #{reviewRemark},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime}
|
||||
</set>
|
||||
where id = #{id}
|
||||
and job_fair_id = #{jobFairId}
|
||||
and del_flag = '0'
|
||||
</update>
|
||||
|
||||
<select id="selectJobListByJobFairIdAndCompanyId" resultType="com.ruoyi.cms.domain.Job">
|
||||
select j.job_id, j.job_title, j.min_salary, j.max_salary, j.education, j.experience,
|
||||
j.company_name, j.job_location, j.job_location_area_code, j.posting_date, j.vacancies,
|
||||
@@ -203,15 +269,27 @@
|
||||
</update>
|
||||
|
||||
<insert id="insertJobFairCompany">
|
||||
insert into public_job_fair_company (id, job_fair_id, company_id, create_by, create_time, del_flag)
|
||||
values (#{id}, #{jobFairId}, #{companyId}, #{createBy}, #{createTime}, '0')
|
||||
insert into public_job_fair_company (
|
||||
id, job_fair_id, company_id, create_by, create_time, del_flag,
|
||||
review_status, review_by, review_time, review_remark
|
||||
)
|
||||
values (
|
||||
#{id}, #{jobFairId}, #{companyId}, #{createBy}, #{createTime}, '0',
|
||||
#{reviewStatus}, #{reviewBy}, #{reviewTime}, #{reviewRemark}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="insertJobFairCompanyBatch">
|
||||
insert into public_job_fair_company (id, job_fair_id, company_id, create_by, create_time, del_flag)
|
||||
insert into public_job_fair_company (
|
||||
id, job_fair_id, company_id, create_by, create_time, del_flag,
|
||||
review_status, review_by, review_time, review_remark
|
||||
)
|
||||
values
|
||||
<foreach item="item" collection="list" separator=",">
|
||||
(#{item.id}, #{item.jobFairId}, #{item.companyId}, #{item.createBy}, #{item.createTime}, '0')
|
||||
(
|
||||
#{item.id}, #{item.jobFairId}, #{item.companyId}, #{item.createBy}, #{item.createTime}, '0',
|
||||
#{item.reviewStatus}, #{item.reviewBy}, #{item.reviewTime}, #{item.reviewRemark}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
@@ -219,6 +297,14 @@
|
||||
update public_job_fair_company set del_flag = '2' where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="deleteJobFairJobsByCompany">
|
||||
update public_job_fair_job
|
||||
set del_flag = '2', update_time = CURRENT_TIMESTAMP
|
||||
where job_fair_id = #{jobFairId}
|
||||
and company_id = #{companyId}
|
||||
and del_flag = '0'
|
||||
</update>
|
||||
|
||||
<insert id="insertJobFairJob">
|
||||
insert into public_job_fair_job (id, job_fair_id, job_id, company_id, create_by, create_time, del_flag)
|
||||
values (#{id}, #{jobFairId}, #{jobId}, #{companyId}, #{createBy}, #{createTime}, '0')
|
||||
@@ -236,6 +322,22 @@
|
||||
update public_job_fair_job set del_flag = '2' where id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="selectJobRelation" resultType="com.ruoyi.cms.domain.rc.PublicJobFairJob">
|
||||
select id, job_fair_id, job_id, company_id, create_by, create_time, update_by, update_time, del_flag
|
||||
from public_job_fair_job
|
||||
where job_fair_id = #{jobFairId}
|
||||
and job_id = #{jobId}
|
||||
and del_flag = '0'
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<select id="selectJobRelationById" resultType="com.ruoyi.cms.domain.rc.PublicJobFairJob">
|
||||
select id, job_fair_id, job_id, company_id, create_by, create_time, update_by, update_time, del_flag
|
||||
from public_job_fair_job
|
||||
where id = #{id}
|
||||
and del_flag = '0'
|
||||
</select>
|
||||
|
||||
<resultMap type="com.ruoyi.cms.domain.rc.JobFairSignUpVO" id="SignUpVOResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="jobFairId" column="job_fair_id"/>
|
||||
|
||||
Reference in New Issue
Block a user