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:
2026-06-27 22:44:56 +08:00
parent 0ccfb6e6dc
commit b35ed5989e
29 changed files with 1969 additions and 50 deletions

View File

@@ -0,0 +1,21 @@
package com.ruoyi.cms.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 跨域联合招聘会-联盟城市。
*/
@Data
@TableName("shz.cms_cross_city_alliance")
public class CrossCityAlliance extends BaseEntity
{
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 城市名称 */
private String name;
}

View File

@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;
/**
* 公司招聘会关联对象 fair_company
* @author lishundong
@@ -34,4 +36,16 @@ public class FairCompany extends BaseEntity
@ApiModelProperty("招聘会id")
private Long jobFairId;
@ApiModelProperty("审核状态 0待审核 1通过 2驳回")
private String reviewStatus;
@ApiModelProperty("审核人")
private String reviewBy;
@ApiModelProperty("审核时间")
private Date reviewTime;
@ApiModelProperty("审核备注")
private String reviewRemark;
}

View File

@@ -202,6 +202,19 @@ public class Job extends BaseEntity
@ApiModelProperty("审核状态")
private String reviewStatus;
@TableField(exist = false)
@ApiModelProperty("户外招聘会岗位审核状态")
private String fairReviewStatus;
@TableField(exist = false)
@ApiModelProperty("户外招聘会岗位审核备注")
private String fairReviewRemark;
@TableField(exist = false)
@ApiModelProperty("户外招聘会岗位审核时间")
private String fairReviewTime;
//简历是否被查看
@TableField(exist = false)
private String isView;

View File

@@ -3,6 +3,7 @@ package com.ruoyi.cms.domain;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -88,4 +89,32 @@ public class OutdoorFair extends BaseEntity
@Excel(name = "招聘会照片")
@ApiModelProperty("招聘会照片")
private String photoUrl;
@TableField(exist = false)
@ApiModelProperty("当前企业ID")
private Long companyId;
@TableField(exist = false)
@ApiModelProperty("当前企业名称")
private String companyName;
@TableField(exist = false)
@ApiModelProperty("当前企业是否已报名")
private Boolean signedUp;
@TableField(exist = false)
@ApiModelProperty("当前企业公共H5页面链接")
private String h5Url;
@TableField(exist = false)
@ApiModelProperty("当前企业二维码内容")
private String qrCodeContent;
@TableField(exist = false)
@ApiModelProperty("当前企业报名审核状态")
private String reviewStatus;
@TableField(exist = false)
@ApiModelProperty("当前企业报名审核备注")
private String reviewRemark;
}

View File

@@ -1,11 +1,15 @@
package com.ruoyi.cms.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.Date;
/**
* 户外招聘会岗位关联。
*/
@@ -21,4 +25,20 @@ public class OutdoorFairJob extends BaseEntity
private Long companyId;
private Long jobId;
/** 审核状态 0待审核 1通过 2驳回。 */
private String reviewStatus;
private String reviewBy;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date reviewTime;
private String reviewRemark;
@TableField(exist = false)
private String companyName;
@TableField(exist = false)
private String jobTitle;
}

View File

@@ -0,0 +1,65 @@
package com.ruoyi.cms.domain.rc;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 跨域招聘会岗位视图(聚合 public_job_fair -> public_job_fair_job -> job -> company
*/
@Data
@ApiModel("跨域招聘会岗位")
public class CrossDomainJobVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("岗位ID")
private Long jobId;
@ApiModelProperty("岗位名称")
private String jobTitle;
@ApiModelProperty("最低薪资")
private Integer minSalary;
@ApiModelProperty("最高薪资")
private Integer maxSalary;
@ApiModelProperty("学历要求")
private String education;
@ApiModelProperty("经验要求")
private String experience;
@ApiModelProperty("招聘人数")
private Integer vacancies;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("发布日期")
private Date postingDate;
@ApiModelProperty("企业ID")
private Long companyId;
@ApiModelProperty("企业名称")
private String companyName;
@ApiModelProperty("行业")
private String industry;
@ApiModelProperty("企业规模")
private String scale;
@ApiModelProperty("招聘会ID")
private String jobFairId;
@ApiModelProperty("招聘会标题")
private String jobFairTitle;
@ApiModelProperty("跨域联盟城市(逗号分隔)")
private String crossDomainCities;
}

View File

@@ -151,6 +151,12 @@ public class PublicJobFair implements Serializable {
@ApiModelProperty("招聘会类别")
private String jobFairCategory;
@ApiModelProperty("是否跨域Y-是 N-否)")
private String isCrossDomain;
@ApiModelProperty("跨域联盟城市(逗号分隔的城市名称)")
private String crossDomainCities;
@ApiModelProperty("纬度")
private java.math.BigDecimal latitude;