feat: Add Cross-Domain Job Fair and Alliance City Management
- Implemented AppOutdoorFairController for outdoor job fair public H5 interfaces. - Created CrossCityAllianceController for managing cross-domain alliance cities. - Added CrossCityAlliance domain model and corresponding service and mapper. - Developed CrossDomainJobVO for aggregating job data across job fairs. - Created SQL scripts for initializing the cross-city alliance table and modifying the public job fair schema. - Added migration script for backing up and restoring the HighGo database schema.
This commit is contained in:
@@ -34,7 +34,10 @@
|
||||
</sql>
|
||||
|
||||
<select id="selectFairJobPage" resultType="com.ruoyi.cms.domain.Job">
|
||||
SELECT job.*
|
||||
SELECT job.*,
|
||||
relation.review_status AS "fairReviewStatus",
|
||||
relation.review_remark AS "fairReviewRemark",
|
||||
to_char(relation.review_time, 'YYYY-MM-DD HH24:MI:SS') AS "fairReviewTime"
|
||||
FROM shz.cms_outdoor_fair_job relation
|
||||
INNER JOIN shz.job job ON job.job_id = relation.job_id
|
||||
<include refid="fairJobWhere"/>
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
<result property="deptCodeLast" column="dept_code_last"/>
|
||||
<result property="deptCodeAll" column="dept_code_all"/>
|
||||
<result property="jobFairCategory" column="job_fair_category"/>
|
||||
<result property="isCrossDomain" column="is_cross_domain"/>
|
||||
<result property="crossDomainCities" column="cross_domain_cities"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.ruoyi.cms.domain.rc.PublicJobFairDetail" id="DetailResult">
|
||||
@@ -59,7 +61,7 @@
|
||||
job_fair_host_unit, job_fair_help_unit, job_fair_organize_unit, job_fair_introduction, job_fair_remark,
|
||||
job_fair_phone, job_fair_image, job_fair_area_image, create_by, create_time, update_by, update_time,
|
||||
job_fair_venue_id, job_fair_sign_up_start_time, job_fair_sign_up_end_time, enterprise_num, booth_num,
|
||||
division_name, dept_code_last, dept_code_all, job_fair_category
|
||||
division_name, dept_code_last, dept_code_all, job_fair_category, is_cross_domain, cross_domain_cities
|
||||
from public_job_fair
|
||||
</sql>
|
||||
|
||||
@@ -106,6 +108,23 @@
|
||||
order by j.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectCrossDomainJobs" resultType="com.ruoyi.cms.domain.rc.CrossDomainJobVO">
|
||||
select j.job_id as jobId, j.job_title as jobTitle, j.min_salary as minSalary, j.max_salary as maxSalary,
|
||||
j.education, j.experience, j.vacancies, j.posting_date as postingDate,
|
||||
j.company_id as companyId, j.company_name as companyName,
|
||||
c.industry, c.scale,
|
||||
pf.job_fair_id as jobFairId, pf.job_fair_title as jobFairTitle, pf.cross_domain_cities as crossDomainCities
|
||||
from public_job_fair pf
|
||||
inner join public_job_fair_job pfj on pfj.job_fair_id = pf.job_fair_id and pfj.del_flag = '0'
|
||||
inner join job j on j.job_id = pfj.job_id and j.del_flag = '0'
|
||||
left join company c on c.company_id = pfj.company_id
|
||||
where pf.is_cross_domain = 'y' and pf.del_flag = '0'
|
||||
<if test="cityNames != null and cityNames != ''">
|
||||
and string_to_array(pf.cross_domain_cities, ',') && string_to_array(#{cityNames}, ',')
|
||||
</if>
|
||||
order by j.posting_date desc nulls last, j.job_id desc
|
||||
</select>
|
||||
|
||||
<select id="checkUserSignUp" resultType="java.lang.Integer">
|
||||
select count(1) from rc_job_fair_sign_up
|
||||
where job_fair_id = #{jobFairId}::bigint and user_id = #{personId} and del_flag = '0' and status = '0'
|
||||
@@ -126,7 +145,7 @@
|
||||
job_fair_image, job_fair_area_image, job_fair_venue_id,
|
||||
job_fair_sign_up_start_time, job_fair_sign_up_end_time,
|
||||
enterprise_num, booth_num, division_name, dept_code_last, dept_code_all,
|
||||
job_fair_category, latitude, longitude,
|
||||
job_fair_category, is_cross_domain, cross_domain_cities, latitude, longitude,
|
||||
create_by, create_time, del_flag
|
||||
) values (
|
||||
#{jobFairId}, #{jobFairTitle}, #{jobFairAddress}, #{jobFairType},
|
||||
@@ -135,7 +154,7 @@
|
||||
#{jobFairImage}, #{jobFairAreaImage}, #{jobFairVenueId},
|
||||
#{jobFairSignUpStartTime}, #{jobFairSignUpEndTime},
|
||||
#{enterpriseNum}, #{boothNum}, #{divisionName}, #{deptCodeLast}, #{deptCodeAll},
|
||||
#{jobFairCategory}, #{latitude}, #{longitude},
|
||||
#{jobFairCategory}, #{isCrossDomain}, #{crossDomainCities}, #{latitude}, #{longitude},
|
||||
#{createBy}, #{createTime}, '0'
|
||||
)
|
||||
</insert>
|
||||
@@ -165,6 +184,8 @@
|
||||
<if test="deptCodeLast != null">dept_code_last = #{deptCodeLast},</if>
|
||||
<if test="deptCodeAll != null">dept_code_all = #{deptCodeAll},</if>
|
||||
<if test="jobFairCategory != null">job_fair_category = #{jobFairCategory},</if>
|
||||
<if test="isCrossDomain != null">is_cross_domain = #{isCrossDomain},</if>
|
||||
<if test="crossDomainCities != null">cross_domain_cities = #{crossDomainCities},</if>
|
||||
<if test="latitude != null">latitude = #{latitude},</if>
|
||||
<if test="longitude != null">longitude = #{longitude},</if>
|
||||
update_by = #{updateBy},
|
||||
|
||||
Reference in New Issue
Block a user