This commit is contained in:
2026-01-09 20:13:01 +08:00
parent 91195d3b42
commit 0282dbb0e7
665 changed files with 168201 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
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.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.xss.Xss;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
@Data
@ApiModel("APP通知")
@TableName(value = "app_notice")
public class AppNotice extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "notice_id",type = IdType.AUTO)
@ApiModelProperty("公司id")
private Long noticeId;
@Xss(message = "消息标题不能包含脚本字符")
@NotBlank(message = "消息标题不能为空")
@Size(min = 0, max = 50, message = "消息标题不能超过50个字符")
private String noticeTitle;
@ApiModelProperty("消息类型")
private String noticeType;
@ApiModelProperty("消息内容")
private String noticeContent;
@ApiModelProperty("消息状态 0正常 1关闭")
private String status;
}

View File

@@ -0,0 +1,39 @@
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.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户岗位浏览记录对象 app_review_job
* @author ${author}
* @date 2025-02-14
*/
@Data
@ApiModel("用户岗位浏览记录")
@TableName(value = "app_review_job")
public class AppReviewJob extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
private Long id;
@ApiModelProperty("用户id")
private Long userId;
@ApiModelProperty("岗位id")
private Long jobId;
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "浏览日期", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("浏览日期")
private String reviewDate;
}

View File

@@ -0,0 +1,69 @@
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.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
@Data
@ApiModel("业务数据表")
@TableName(value = "bussiness_dict_data")
public class BussinessDictData extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@ApiModelProperty("字典编码")
@Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
@TableId(value = "dict_code",type = IdType.AUTO)
private Long dictCode;
@ApiModelProperty("字典排序")
@Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
private Long dictSort;
@Excel(name = "字典标签")
@ApiModelProperty("字典标签")
@NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
private String dictLabel;
@Excel(name = "字典键值")
@ApiModelProperty("字典键值")
@NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
private String dictValue;
@ApiModelProperty("字典类型")
@Excel(name = "字典类型")
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
private String dictType;
@ApiModelProperty("样式属性(其他样式扩展)")
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
private String cssClass;
@ApiModelProperty("表格字典样式")
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
private String listClass;
@ApiModelProperty("是否默认Y是 N否")
@Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
private String isDefault;
@ApiModelProperty("状态 0=正常,1=停用 ")
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
}

View File

@@ -0,0 +1,43 @@
package com.ruoyi.cms.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
@Data
@ApiModel("字典类型表")
@TableName(value = "bussiness_dict_type")
public class BussinessDictType extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 字典主键 */
@Excel(name = "字典主键", cellType = ColumnType.NUMERIC)
private Long dictId;
/** 字典名称 */
@Excel(name = "字典名称")
@NotBlank(message = "字典名称不能为空")
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
private String dictName;
/** 字典类型 */
@Excel(name = "字典类型")
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
@Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
private String dictType;
/** 状态0正常 1停用 */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
}

View File

@@ -0,0 +1,98 @@
package com.ruoyi.cms.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* app操作日志记录对象 bussiness_oper_log
* @author ${author}
* @date 2024-11-13
*/
@Data
@ApiModel("app操作日志记录")
@TableName(value = "bussiness_oper_log")
public class BussinessOperLog extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "oper_id",type = IdType.AUTO)
@ApiModelProperty("日志主键")
private Long operId;
@Excel(name = "模块标题")
@ApiModelProperty("模块标题")
private String title;
@Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除")
@ApiModelProperty("业务类型0其它 1新增 2修改 3删除")
private Integer businessType;
@Excel(name = "方法名称")
@ApiModelProperty("方法名称")
private String method;
@Excel(name = "请求方式")
@ApiModelProperty("请求方式")
private String requestMethod;
@Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
@ApiModelProperty("操作类别0其它 1后台用户 2手机端用户")
private Integer operatorType;
@Excel(name = "操作人员")
@ApiModelProperty("操作人员")
private String operName;
@Excel(name = "部门名称")
@ApiModelProperty("部门名称")
private String deptName;
@Excel(name = "请求URL")
@ApiModelProperty("请求URL")
private String operUrl;
@Excel(name = "主机地址")
@ApiModelProperty("主机地址")
private String operIp;
@Excel(name = "操作地点")
@ApiModelProperty("操作地点")
private String operLocation;
@Excel(name = "请求参数")
@ApiModelProperty("请求参数")
private String operParam;
@Excel(name = "返回参数")
@ApiModelProperty("返回参数")
private String jsonResult;
@Excel(name = "操作状态", readConverterExp = "0=正常,1=异常")
@ApiModelProperty("操作状态0正常 1异常")
private Integer status;
@Excel(name = "错误消息")
@ApiModelProperty("错误消息")
private String errorMsg;
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("操作时间")
private Date operTime;
@Excel(name = "消耗时间")
@ApiModelProperty("消耗时间")
private Long costTime;
@ApiModelProperty("业务类型数组")
private Integer[] businessTypes;
}

View File

@@ -0,0 +1,46 @@
package com.ruoyi.cms.domain;
import java.math.BigDecimal;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* 商圈对象 commercial_area
* @author Lishundong
* @date 2024-11-12
*/
@Data
@ApiModel("商圈")
@TableName(value = "commercial_area")
public class CommercialArea extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "commercial_area_id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long commercialAreaId;
@Excel(name = "商圈名称")
@ApiModelProperty("商圈名称")
private String commercialAreaName;
@Excel(name = "纬度")
@ApiModelProperty("纬度")
private BigDecimal latitude;
@Excel(name = "经度")
@ApiModelProperty("经度")
private BigDecimal longitude;
@Excel(name = "地址")
@ApiModelProperty("地址")
private String address;
}

View File

@@ -0,0 +1,33 @@
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;
import lombok.EqualsAndHashCode;
/**
* 工作人员配置
*/
@TableName("community_user")
@EqualsAndHashCode(callSuper = true)
@Data
public class CommunityUser extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 微信名
*/
private String wechatName;
/**
* 手机号
*/
private String phoneNumber;
}

View File

@@ -0,0 +1,54 @@
package com.ruoyi.cms.domain;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* 公司卡片对象 company_card
* @author ${author}
* @date 2025-02-18
*/
@Data
@ApiModel("公司卡片")
@TableName(value = "company_card")
public class CompanyCard extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "company_card_id",type = IdType.AUTO)
@ApiModelProperty("公司卡片id")
private Long companyCardId;
@Excel(name = "卡片名称")
@ApiModelProperty("卡片名称")
private String name;
@Excel(name = "标签,逗号分开")
@ApiModelProperty("标签,逗号分开")
private String targ;
@Excel(name = "企业性质")
@ApiModelProperty("企业性质,逗号分开")
private String companyNature;
@Excel(name = "背景色")
@ApiModelProperty("背景色")
private String backgroudColor;
@ApiModelProperty("状态 0未发布 1发布")
private Integer status;
@ApiModelProperty("排序")
private Integer cardOrder;
@ApiModelProperty("描述")
private String description;
}

View File

@@ -0,0 +1,37 @@
package com.ruoyi.cms.domain;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* 公司卡片收藏对象 company_card_collection
* @author ${author}
* @date 2025-02-18
*/
@Data
@ApiModel("公司卡片收藏")
@TableName(value = "company_card_collection")
public class CompanyCardCollection extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "company_card_collection_id",type = IdType.AUTO)
@ApiModelProperty("公司id")
private Long companyCardCollectionId;
@Excel(name = "用户id")
@ApiModelProperty("用户id")
private Long userId;
@Excel(name = "公司卡片id")
@ApiModelProperty("公司卡片id")
private Long companyCardId;
}

View File

@@ -0,0 +1,37 @@
package com.ruoyi.cms.domain;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* 用户公司收藏对象 company_collection
* @author lishundong
* @date 2024-09-04
*/
@Data
@ApiModel("用户公司收藏")
@TableName(value = "company_collection")
public class CompanyCollection extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@Excel(name = "公司id")
@ApiModelProperty("公司id")
private Long companyId;
@Excel(name = "App用户id")
@ApiModelProperty("App用户id")
private Long userId;
}

View File

@@ -0,0 +1,35 @@
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.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 公司标签对象 company_label
* @author ${author}
* @date 2025-02-18
*/
@Data
@ApiModel("公司标签")
@TableName(value = "company_label")
public class CompanyLabel extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
private Long id;
@ApiModelProperty("公司标签")
private String dictValue;
@ApiModelProperty("公司id")
private Long companyId;
}

View File

@@ -0,0 +1,159 @@
package com.ruoyi.cms.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.core.domain.entity.Company;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.dromara.easyes.annotation.IndexField;
import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.IndexName;
import org.dromara.easyes.annotation.rely.Analyzer;
import org.dromara.easyes.annotation.rely.FieldType;
import org.dromara.easyes.annotation.rely.IdType;
import java.math.BigDecimal;
import java.util.Date;
/**
* 全文索引 ES数据模型
**/
@IndexName("job_document")
@Data
public class ESJobDocument
{
@ApiModelProperty("es中的唯一id")
@IndexId(type = IdType.NONE)
@JsonIgnore
private String id;
@ApiModelProperty("岗位id")
private Long jobId;
@ApiModelProperty("公告标题")
@IndexField(fieldType = FieldType.TEXT, analyzer = Analyzer.IK_SMART, searchAnalyzer = Analyzer.IK_MAX_WORD)
private String jobTitle;
@ApiModelProperty("内容")
@IndexField(fieldType = FieldType.TEXT, analyzer = Analyzer.IK_SMART, searchAnalyzer = Analyzer.IK_MAX_WORD)
private String description;
@ApiModelProperty("最小薪资(元)")
private Long minSalary;
@ApiModelProperty("最大薪资(元)")
private Long maxSalary;
@ApiModelProperty("学历要求 对应字典education")
private String education;
@ApiModelProperty("工作经验要求 对应字典experience")
private String experience;
@ApiModelProperty("用人单位名称")
private String companyName;
@ApiModelProperty("岗位区划")
private String jobLocation;
@ApiModelProperty("工作地点区县字典代码")
private Integer jobLocationAreaCode;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("发布时间")
private Date postingDate;
@ApiModelProperty("招聘人数")
private Long vacancies;
@ApiModelProperty("纬度")
private BigDecimal latitude;
@ApiModelProperty("经度")
private BigDecimal longitude;
@ApiModelProperty("浏览量")
private Long view;
@ApiModelProperty("公司id")
private Long companyId;
@ApiModelProperty("是否火")
private Integer isHot;
@ApiModelProperty("申请次数")
private Integer applyNum;
@JsonIgnore
@ApiModelProperty("公司")
private Company company;
@ApiModelProperty("是否申请 0为否 1为是")
private Integer isApply;
@ApiModelProperty("是否收藏 0为否 1为是")
private Integer isCollection;
@ApiModelProperty("数据来源")
private String dataSource;
@ApiModelProperty("岗位链接")
private String jobUrl;
@JsonIgnore
@IndexField(fieldType = FieldType.GEO_POINT)
@ApiModelProperty("经纬度")
private String latAndLon;
@JsonIgnore
@ApiModelProperty("公司规模")
private String scaleDictCode;
@ApiModelProperty("行业分类")
private String industry;
@ApiModelProperty("岗位分类")
private String jobCategory;
@JsonIgnore
@ApiModelProperty("学历要求 对应字典education int类型 es方便查询")
private Integer education_int;
@JsonIgnore
@ApiModelProperty("工作经验要求 对应字典experience int类型 es方便查询")
private Integer experience_int;
@ApiModelProperty("公司规模 int类型 es方便查询")
private Integer scale;
@ApiModelProperty("岗位链接 APP内")
private String appJobUrl;
@ApiModelProperty("公司性质")
private String companyNature;
@ApiModelProperty("是否有视频介绍")
private Integer isExplain;
@ApiModelProperty("视频介绍URL")
private String explainUrl;
@ApiModelProperty("视频封面URL")
private String cover;
@ApiModelProperty("岗位类型 0疆内 1疆外")
private String jobType;
@ApiModelProperty("类型 0常规岗位 1就业见习岗位 2实习实训岗位 3社区实践岗位 对应字段字典position_type")
private String type;
@ApiModelProperty("信用代码")
private String code;
@ApiModelProperty("工作地点")
private String jobAddress;
@ApiModelProperty("公司信息")
@IndexField(fieldType = FieldType.TEXT)
private String companyVoJson;
}

View File

@@ -0,0 +1,74 @@
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.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 新入职员工确认信息
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
@Data
@TableName("employee_confirm")
public class EmployeeConfirm extends BaseEntity {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
/**
* 企业id
*/
@ApiModelProperty("企业id")
private Long companyId;
/**
* 姓名
*/
@ApiModelProperty("姓名")
private String contactPerson;
/**
* 身份证
*/
@ApiModelProperty("身份证")
private String idCard;
/**
* 入职日期
*/
@ApiModelProperty("入职日期")
private String entryDate;
/**
* 联系电话
*/
@ApiModelProperty("联系电话")
private String contactPersonPhone;
/**
* 劳动合同期限
*/
@ApiModelProperty("劳动合同期限")
private String contractTerm;
@ApiModelProperty("工作id")
private Long jobId;
@ApiModelProperty("移动端用户id")
private Long userId;
/**
* 申请id
*/
@TableField(exist = false)
private Long applyId;
}

View File

@@ -0,0 +1,38 @@
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.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户岗位收藏对象 job_collection
* @author lishundong
* @date 2024-09-03
*/
@Data
@ApiModel("用户和招聘会收藏")
@TableName(value = "fair_collection")
public class FairCollection extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@Excel(name = "招聘会id")
@ApiModelProperty("招聘会id")
private Long fairId;
@Excel(name = "App用户id")
@ApiModelProperty("App用户id")
private Long userId;
}

View File

@@ -0,0 +1,37 @@
package com.ruoyi.cms.domain;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* 公司招聘会关联对象 fair_company
* @author lishundong
* @date 2024-09-04
*/
@Data
@ApiModel("公司招聘会关联")
@TableName(value = "fair_company")
public class FairCompany extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@Excel(name = "公司id")
@ApiModelProperty("公司id")
private Long companyId;
@Excel(name = "招聘会id")
@ApiModelProperty("招聘会id")
private Long jobFairId;
}

View File

@@ -0,0 +1,195 @@
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.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.cms.domain.vo.CompanyVo;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.entity.AppUser;
import com.ruoyi.common.core.domain.entity.Company;
import com.ruoyi.common.core.domain.entity.File;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* 岗位对象 job
* @author lishundong
* @date 2024-09-04
*/
@Data
@ApiModel("岗位")
@TableName(value = "job")
public class Job extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "job_id",type = IdType.AUTO)
@ApiModelProperty("工作id")
private Long jobId;
@Excel(name = "职位名称")
@ApiModelProperty("职位名称")
private String jobTitle;
@Excel(name = "最小薪资", readConverterExp = "元=")
@ApiModelProperty("最小薪资(元)")
private Long minSalary;
@Excel(name = "最大薪资", readConverterExp = "元=")
@ApiModelProperty("最大薪资(元)")
private Long maxSalary;
@Excel(name = "学历要求 对应字典education")
@ApiModelProperty("学历要求 对应字典education")
private String education;
@Excel(name = "工作经验要求 对应字典experience")
@ApiModelProperty("工作经验要求 对应字典experience")
private String experience;
@Excel(name = "用人单位名称")
@ApiModelProperty("用人单位名称")
private String companyName;
@Excel(name = "岗位区划")
@ApiModelProperty("岗位区划")
private String jobLocation;
@ApiModelProperty("工作地点区县字典代码")
private Integer jobLocationAreaCode;
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("发布时间")
private String postingDate;
@Excel(name = "招聘人数")
@ApiModelProperty("招聘人数")
private Long vacancies;
@Excel(name = "纬度")
@ApiModelProperty("纬度")
private BigDecimal latitude;
@Excel(name = "经度")
@ApiModelProperty("经度")
private BigDecimal longitude;
@Excel(name = "浏览量")
@ApiModelProperty("浏览量")
@TableField("\"view\"")
private Long view;
@Excel(name = "公司id")
@ApiModelProperty("公司id")
private Long companyId;
@ApiModelProperty("是否火")
private Integer isHot;
@ApiModelProperty("申请次数")
@JsonIgnore
private Integer applyNum;
@TableField(exist = false)
@ApiModelProperty("公司信息")
private Company company;
@TableField(exist = false)
@ApiModelProperty("是否申请 0为否 1为是")
private Integer isApply;
@TableField(exist = false)
@ApiModelProperty("是否收藏 0为否 1为是")
private Integer isCollection;
@ApiModelProperty("岗位描述")
private String description;
@ApiModelProperty("是否发布 0未发布 1发布")
private Integer isPublish;
@ApiModelProperty("数据来源")
private String dataSource;
@ApiModelProperty("岗位链接")
private String jobUrl;
@ApiModelProperty("jobRow对应id")
private Long rowId;
@TableField(exist = false)
@ApiModelProperty("公司规模")
private String scale;
@TableField(exist = false)
@ApiModelProperty("行业分类")
private String industry;
@ApiModelProperty("岗位分类")
private String jobCategory;
@TableField(exist = false)
@ApiModelProperty("公司性质")
private String companyNature;
@TableField(exist = false)
@ApiModelProperty("申请时间")
private String applyTime;
@ApiModelProperty("是否有视频介绍")
private Integer isExplain;
@ApiModelProperty("视频介绍URL")
private String explainUrl;
@ApiModelProperty("视频封面URL")
private String cover;
@TableField(exist = false)
@ApiModelProperty("薪酬")
private String compensation;
@TableField(exist = false)
@ApiModelProperty("信用代码")
private String code;
@ApiModelProperty("岗位类型 0疆内 1疆外")
private String jobType;
@ApiModelProperty("类型 0常规岗位 1就业见习岗位 2实习实训岗位 3社区实践岗位 4零工 对应字段字典position_type")
private String type;
@ApiModelProperty("工作地点")
private String jobAddress;
@TableField(exist = false)
@ApiModelProperty("岗位联系人列表")
private List<JobContact> jobContactList;
@TableField(exist = false)
@ApiModelProperty("附件列表")
private List<File> filesList;
@TableField(exist = false)
@ApiModelProperty("公司信息")
private CompanyVo companyVo;
@TableField(exist = false)
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("时间(足迹、投简历、收藏)")
private String shareTime;
@TableField(exist = false)
@ApiModelProperty("申请人列表")
private List<AppUser> applyUsers;
}

View File

@@ -0,0 +1,50 @@
package com.ruoyi.cms.domain;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* 岗位申请对象 job_apply
* @author lishundong
* @date 2024-09-04
*/
@Data
@ApiModel("岗位申请")
@TableName(value = "job_apply")
public class JobApply extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@Excel(name = "岗位id")
@ApiModelProperty("岗位id")
private Long jobId;
@Excel(name = "App用户id")
@ApiModelProperty("App用户id")
private Long userId;
@Excel(name = "匹配度")
@ApiModelProperty("匹配度")
private Long matchingDegree;
@ApiModelProperty("是否录用 0录用 2或null未录用")
private String hire;
@ApiModelProperty("录用来源 0本系统 1招聘会")
private String hireSource;
@TableField(exist = false)
@ApiModelProperty("身份证,招聘传递")
private String idCard;
}

View File

@@ -0,0 +1,38 @@
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.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户岗位收藏对象 job_collection
* @author lishundong
* @date 2024-09-03
*/
@Data
@ApiModel("用户岗位收藏")
@TableName(value = "job_collection")
public class JobCollection extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@Excel(name = "岗位id")
@ApiModelProperty("岗位id")
private Long jobId;
@Excel(name = "App用户id")
@ApiModelProperty("App用户id")
private Long userId;
}

View File

@@ -0,0 +1,53 @@
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.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 岗位联系人
*
* @author
* @email
* @date 2025-09-30 15:57:06
*/
@Data
@ApiModel("岗位联系人")
@TableName("job_contact")
public class JobContact extends BaseEntity {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
/**
* 岗位id
*/
@ApiModelProperty("岗位id")
private Long jobId;
/**
* 联系人
*/
@ApiModelProperty("联系人")
private String contactPerson;
/**
* 联系人电话
*/
@ApiModelProperty("联系人电话")
private String contactPersonPhone;
/**
* 职务
*/
@ApiModelProperty("职务")
private String position;
}

View File

@@ -0,0 +1,83 @@
package com.ruoyi.cms.domain;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.Company;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* 招聘会信息对象 job_fair
* @author lishundong
* @date 2024-09-04
*/
@Data
@ApiModel("招聘会信息")
@TableName(value = "job_fair")
public class JobFair extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "job_fair_id",type = IdType.AUTO)
@ApiModelProperty("招聘会id")
private Long jobFairId;
@Excel(name = "招聘会名称")
@ApiModelProperty("招聘会名称")
private String name;
@Excel(name = "招聘会类型 对应字典 job_fair_type")
@ApiModelProperty("招聘会类型 对应字典 job_fair_type")
private String jobFairType;
@Excel(name = "地点")
@ApiModelProperty("地点")
private String location;
@Excel(name = "纬度")
@ApiModelProperty("纬度")
private BigDecimal latitude;
@Excel(name = "经度")
@ApiModelProperty("经度")
private BigDecimal longitude;
@ApiModelProperty("描述")
private String description;
@ApiModelProperty("地点")
private String address;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "招聘会开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("招聘会开始时间")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "招聘会结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("招聘会结束时间")
private Date endTime;
@TableField(exist = false)
@ApiModelProperty("公司列表")
private List<Company> companyList;
@TableField(exist = false)
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("程序时间")
private Date queryDate;
@TableField(exist = false)
@ApiModelProperty("是否收藏")
private Integer isCollection;
}

View File

@@ -0,0 +1,38 @@
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.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户岗位收藏对象 job_collection
* @author lishundong
* @date 2024-09-03
*/
@Data
@ApiModel("用户岗位收藏")
@TableName(value = "job_recommend")
public class JobRecomment extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@Excel(name = "岗位id")
@ApiModelProperty("岗位id")
private Long jobId;
@Excel(name = "App用户id")
@ApiModelProperty("App用户id")
private Long userId;
}

View File

@@ -0,0 +1,51 @@
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@TableName(value = "notice")
public class Notice extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "notice_id",type = IdType.AUTO)
private Long noticeId;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("副标题")
private String subTitle;
@ApiModelProperty("未读数量")
private Integer notReadCount;
@ApiModelProperty("是否阅读 0未读 1已读")
private String isRead;
@JsonFormat(pattern = "MM-dd")
@ApiModelProperty("日期")
private Date date;
@ApiModelProperty("通知类型 1系统通知(包括录用) 2职位上新")
private String noticeType;
@ApiModelProperty("公告内容")
private String noticeContent;
@ApiModelProperty("用户id")
private Long userId;
@ApiModelProperty("业务id")
private Long bussinessId;
}

View File

@@ -0,0 +1,62 @@
package com.ruoyi.cms.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName(value = "row_work")
public class RowWork {
private String Id;
private String TaskId;
private String TaskName;
private String Std_class;
private String JobCategory;
private String SF;
private String ZCMC;
private String Aca112;
private String Acb22a;
private String Aac011;
private String Acb240;
private String Recruit_Num;
private String Acb202;
private String Aab302;
private String Acb241;
private String Salary;
private String SalaryLow;
private String SalaryHight;
private Date Aae397;
private String AAB004;
private String AAB022;
private String AAB019;
private String AAE006;
private String AAB092;
private String ORG;
private String ACE760;
private String AAE004;
private String AAE005;
private String Num_employers;
private String Experience;
private String Highlight;
private String Minimum_age;
private String Maximum_age;
private String Sex;
private String IndustryType;
private String IndustrySub;
private String AAB019_OK;
private String Aac011_OK;
private String Experience_OK;
private String Num_OK;
private Date Collect_time;
private String ClearFlag;
private String Province;
private String City;
private String County;
private String importdate;
private String YearMonth;
private String IsRepeat;
private String latitude;
private String longitude;
}

View File

@@ -0,0 +1,45 @@
package com.ruoyi.cms.domain;
import com.alibaba.excel.annotation.ExcelProperty;
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.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 敏感词库
*
* @author
* @email
* @date 2025-10-10 10:42:16
*/
@Data
@TableName("sensitive_word_data")
public class SensitiveWordData extends BaseEntity {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
/**
* 敏感词
*/
@ExcelProperty(value = "敏感词", index = 0)
@ApiModelProperty("敏感词")
private String sensitiveWord;
/**
* 类型
*/
@ExcelProperty(value = "类型", index = 1)
@ApiModelProperty("类型")
private String type;
}

View File

@@ -0,0 +1,33 @@
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.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 文件对象 file
* @author ${author}
* @date 2025-03-18
*/
@Data
@TableName(value = "statics")
public class Statics extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/** id */
@TableId(value = "id",type = IdType.AUTO)
private Long id;
@ApiModelProperty("时间")
private String time;
@ApiModelProperty("类型")
private String type;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("数据")
private String data;
}

View File

@@ -0,0 +1,39 @@
package com.ruoyi.cms.domain;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
import java.util.List;
/**
* 地铁线路对象 subway_line
* @author Lishundong
* @date 2024-11-12
*/
@Data
@ApiModel("地铁线路")
@TableName(value = "subway_line")
public class SubwayLine extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "line_id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long lineId;
@Excel(name = "线路名称")
@ApiModelProperty("线路名称")
private String lineName;
@TableField(exist = false)
@ApiModelProperty("站点列表")
private List<SubwayStation> subwayStationList;
}

View File

@@ -0,0 +1,56 @@
package com.ruoyi.cms.domain;
import java.math.BigDecimal;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.ruoyi.common.core.domain.BaseEntity;
/**
* 地铁站点对象 subway_station
* @author Lishundong
* @date 2024-11-12
*/
@Data
@ApiModel("地铁站点")
@TableName(value = "subway_station")
public class SubwayStation extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "station_id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long stationId;
@Excel(name = "地铁名称")
@ApiModelProperty("地铁名称")
private String stationName;
@Excel(name = "所属线路名称")
@ApiModelProperty("所属线路名称")
private String lineName;
@Excel(name = "线路id")
@ApiModelProperty("线路id")
private Long lineId;
@Excel(name = "纬度")
@ApiModelProperty("纬度")
private BigDecimal latitude;
@Excel(name = "经度")
@ApiModelProperty("经度")
private BigDecimal longitude;
@ApiModelProperty("排序")
private Integer stationOrder;
@ApiModelProperty("地址")
private String address;
}

View File

@@ -0,0 +1,21 @@
package com.ruoyi.cms.domain;
import lombok.Data;
@Data
public class VectorJob {
private String jobTitle; // Aca112
private String jobId; // id
private String scale; // Num_employers
private String education; // Aac011_OK
private String nature; // AAB019_OK
private String experience; // Experience_OK
private String salary; // Acb241
private String companyName; // aab004
private String area; // Aab302
private String jobLocation; // acb202
private String description; // Acb22a
private String jobUrl; // ACE760
private String minSalary;
private String maxSalary;
}

View File

@@ -0,0 +1,39 @@
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;
import lombok.EqualsAndHashCode;
/**
* 转发对象配置
*/
@TableName("wechat_group")
@EqualsAndHashCode(callSuper = true)
@Data
public class WechatGroup extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 群聊名称
*/
private String name;
/**
* 工作人员 ID
*/
private Long communityId;
/**
* 是否启用 0=禁用 1=启用
*/
private Integer isPush;
}

View File

@@ -0,0 +1,37 @@
package com.ruoyi.cms.domain.ai;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("ai聊天详情")
@TableName("AI_CHAT_DETAIL")
public class AiChatDetail {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("会话id")
private String chatId;
@ApiModelProperty("数据id")
private String dataId;
@ApiModelProperty("会话类型Human用户AI大模型")
private String obj;
@ApiModelProperty("会话内容")
private String content;
@ApiModelProperty("会话时间")
private Date time;
@ApiModelProperty("耗时")
private Double durationSeconds;
}

View File

@@ -0,0 +1,53 @@
package com.ruoyi.cms.domain.ai;
import com.alibaba.fastjson2.annotation.JSONField;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@ApiModel("ai聊天历史记录")
@TableName("AI_CHAT_HISTORY")
public class AiChatHistory{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("用户id")
private Long userId;
@JSONField(name = "chatId")
@ApiModelProperty("会话id")
private String chatId;
@ApiModelProperty("应用id")
private String appId;
@JSONField(name = "title")
@ApiModelProperty("第一次的问题")
private String title;
@JSONField(name = "updateTime")
@ApiModelProperty("会话时间")
private Date updateTime;
@ApiModelProperty("是否删除")
private String delFlag;
@TableField(exist = false)
private List<String> answerStringList;
@TableField(exist = false)
private double durationSeconds;
@TableField(exist = false)
private String customTitle;
@TableField(exist = false)
private String dataId;
@TableField(exist = false)
private boolean top=false;
}

View File

@@ -0,0 +1,17 @@
package com.ruoyi.cms.domain.chat;
import com.alibaba.fastjson2.JSONArray;
import lombok.Data;
import java.util.List;
@Data
public class ChatRequest {
private String data;
private String dataId;
private String sessionId;
private long userId;
private List<String> fileUrl;
private JSONArray messages;
}

View File

@@ -0,0 +1,58 @@
package com.ruoyi.cms.domain.query;
import com.ruoyi.cms.domain.Job;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* 前端搜索对象
*
* @author ruoyi
*/
@Data
public class ESJobSearch extends Job
{
/** 搜索值 */
private String searchValue;
/** 当前记录起始索引 */
private Integer current;
/** 每页显示记录数 */
private Integer pageSize;
private String sessionId;
private String radius;
@ApiModelProperty("排序方式 0推荐 1最热 2最新发布 3最大薪资")
private Integer order;
//商圈id
private List<Long> commercialAreaIds;
//区县id
private List<String> countyIds;
//地铁id
private List<Integer> subwayIds;
/** 纬度 */
private BigDecimal latitude;
/** 经度 */
private BigDecimal longitude;
//是否发布 0未发布 1发布
private Integer isPublish;
private String salaryDictCode;
private String scaleDictCode;
private String area;
/*** 用户角色app角色0企业1求职者2网格员 3内部政府人员*/
private String userType;
}

View File

@@ -0,0 +1,9 @@
package com.ruoyi.cms.domain.query;
import lombok.Data;
@Data
public class LabelQuery {
private Long cardId;
private String companyName;
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.cms.domain.query;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.cms.domain.Job;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class MineJobQuery extends Job {
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("发布时间")
private String startDate;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("发布时间")
private String endDate;
}

View File

@@ -0,0 +1,198 @@
package com.ruoyi.cms.domain.query;
import lombok.Data;
import java.time.Year;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Data
public class Staticsquery {
//月/季度/年
private String timeDimension;
//岗位发布数量 招聘增长率
private String type;
private String startTime;
private String endTime;
public List<String> generateTimeRange() {
switch (timeDimension) {
case "":
return generateMonthRange();
case "季度":
return generateQuarterRange();
case "":
return generateYearRange();
default:
throw new IllegalArgumentException("Invalid time dimension: " + timeDimension);
}
}
private List<String> generateMonthRange() {
List<String> months = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
try {
YearMonth start = YearMonth.parse(startTime, formatter);
YearMonth end = YearMonth.parse(endTime, formatter);
if (start.isAfter(end)) {
YearMonth temp = start;
start = end;
end = temp;
}
YearMonth current = end;
while (!current.isBefore(start)) {
months.add(current.format(formatter));
current = current.minusMonths(1);
}
if (!start.isAfter(end)) {
Collections.reverse(months);
}
} catch (DateTimeParseException e) {
throw new IllegalArgumentException("Invalid month format. Please use yyyy-MM format.");
}
return months;
}
private List<String> generateQuarterRange() {
List<String> quarters = new ArrayList<>();
try {
Quarter start = Quarter.parse(startTime);
Quarter end = Quarter.parse(endTime);
if (start.isAfter(end)) {
Quarter temp = start;
start = end;
end = temp;
}
Quarter current = end;
while (!current.isBefore(start)) {
quarters.add(current.toString());
current = current.previous();
}
if (!start.isAfter(end)) {
Collections.reverse(quarters);
}
} catch (IllegalArgumentException e) {
throw new IllegalArgumentException("Invalid quarter format. Please use yyyy-第x季度 format (e.g. 2024-第一季度).");
}
return quarters;
}
private List<String> generateYearRange() {
List<String> years = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
try {
Year start = Year.parse(startTime, formatter);
Year end = Year.parse(endTime, formatter);
if (start.isAfter(end)) {
Year temp = start;
start = end;
end = temp;
}
Year current = end;
while (!current.isBefore(start)) {
years.add(current.format(formatter));
current = current.minusYears(1);
}
if (!start.isAfter(end)) {
Collections.reverse(years);
}
} catch (DateTimeParseException e) {
throw new IllegalArgumentException("Invalid year format. Please use yyyy format.");
}
return years;
}
// Helper class for quarter handling with Chinese characters
private static class Quarter implements Comparable<Quarter> {
private final int year;
private final int quarter;
private static final String[] CHINESE_QUARTERS = {"第一季度", "第二季度", "第三季度", "第四季度"};
private Quarter(int year, int quarter) {
if (quarter < 1 || quarter > 4) {
throw new IllegalArgumentException("Quarter must be between 1 and 4");
}
this.year = year;
this.quarter = quarter;
}
public static Quarter parse(String quarterStr) {
String[] parts = quarterStr.split("-");
if (parts.length != 2 || !parts[1].startsWith("") || !parts[1].endsWith("季度")) {
throw new IllegalArgumentException("Invalid quarter format");
}
int year = Integer.parseInt(parts[0]);
String quarterStrPart = parts[1];
// Find which quarter this matches
int quarter = -1;
for (int i = 0; i < CHINESE_QUARTERS.length; i++) {
if (CHINESE_QUARTERS[i].equals(quarterStrPart)) {
quarter = i + 1;
break;
}
}
if (quarter == -1) {
throw new IllegalArgumentException("Invalid quarter name: " + quarterStrPart);
}
return new Quarter(year, quarter);
}
public Quarter previous() {
if (quarter == 1) {
return new Quarter(year - 1, 4);
} else {
return new Quarter(year, quarter - 1);
}
}
public boolean isBefore(Quarter other) {
if (this.year < other.year) return true;
if (this.year > other.year) return false;
return this.quarter < other.quarter;
}
public boolean isAfter(Quarter other) {
return other.isBefore(this);
}
@Override
public String toString() {
return year + "-" + CHINESE_QUARTERS[quarter - 1];
}
@Override
public int compareTo(Quarter other) {
if (this.year != other.year) {
return Integer.compare(this.year, other.year);
}
return Integer.compare(this.quarter, other.quarter);
}
}
}

View File

@@ -0,0 +1,17 @@
package com.ruoyi.cms.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class AppNoticeVO {
private Long id;
private String title;
private String subTitle;
private Integer notReadCount;
private Integer isRead;
@JsonFormat(pattern = "MM-dd")
private Date date;
}

View File

@@ -0,0 +1,17 @@
package com.ruoyi.cms.domain.vo;
import com.ruoyi.common.core.domain.entity.AppSkill;
import lombok.Data;
@Data
public class AppSkillVo extends AppSkill {
/**
* 技能名称
*/
private String nameStr;
/**
* 技能等级
*/
private String levelStr;
}

View File

@@ -0,0 +1,22 @@
package com.ruoyi.cms.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 用户注册对象
*
* @author ruoyi
*/
@Data
public class AppUserLky
{
@ApiModelProperty("技能列表")
private List<AppSkillVo> appSkillsList;
@ApiModelProperty("当前职位名称")
private List<String> jobTitles;
}

View File

@@ -0,0 +1,21 @@
package com.ruoyi.cms.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.entity.AppUser;
import lombok.Data;
import java.util.Date;
@Data
public class CandidateVO extends AppUser {
@JsonFormat(pattern = "yyyy-MM-dd")
private Date applyDate;
private Integer matchingDegree;
private String applyId;
@Excel(name = "公司名称", sort = 0)
private String companyName;
@Excel(name = "岗位名称", sort = 1)
private String jobName;
}

View File

@@ -0,0 +1,9 @@
package com.ruoyi.cms.domain.vo;
import com.ruoyi.cms.domain.CompanyCard;
import lombok.Data;
@Data
public class CompanyCardVO extends CompanyCard {
private Integer isCollection = 0;
}

View File

@@ -0,0 +1,12 @@
package com.ruoyi.cms.domain.vo;
import com.ruoyi.common.core.domain.entity.CompanyContact;
import lombok.Data;
import java.util.List;
@Data
public class CompanyContactVo {
private List<CompanyContact> companyContactList;
}

View File

@@ -0,0 +1,34 @@
package com.ruoyi.cms.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.entity.CompanyContact;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 公司对象 company
* @author lishundong
* @date 2024-09-04
*/
@Data
public class CompanyVo implements Serializable
{
@ApiModelProperty("公司id")
private Long companyId;
@Excel(name = "单位名称")
@ApiModelProperty("单位名称")
private String name;
@TableField(exist = false)
@ApiModelProperty("公司描述")
private String companyDescription;
@TableField(exist = false)
@ApiModelProperty("企业联系人列表")
private List<CompanyContact> companyContactList;
}

View File

@@ -0,0 +1,12 @@
package com.ruoyi.cms.domain.vo;
import lombok.Data;
@Data
public class CompetitivenessResponse {
private Integer totalApplicants; // 总申请人数
private Integer matchScore; // 匹配分数(0-100)
private Integer rank; // 排名
private Integer percentile; // 超过百分比(0-100)
private RadarChart radarChart; // 雷达图6维度数据
}

View File

@@ -0,0 +1,11 @@
package com.ruoyi.cms.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.cms.domain.Job;
import java.util.Date;
public class JobApplyVO extends Job {
@JsonFormat(pattern = "yyyy-MM-dd")
private Date applyDate;
}

View File

@@ -0,0 +1,11 @@
package com.ruoyi.cms.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.cms.domain.Job;
import java.util.Date;
public class JobCollectionVO extends Job {
@JsonFormat(pattern = "yyyy-MM-dd")
private Date collectionDate;
}

View File

@@ -0,0 +1,11 @@
package com.ruoyi.cms.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.cms.domain.Job;
import java.util.Date;
public class JobReviewVO extends Job {
@JsonFormat(pattern = "yyyy-MM-dd")
private Date reviewDate;
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cms.domain.vo;
import lombok.Data;
/**
* 消息条数
*/
@Data
public class NoticeTotal {
/**
* 未读消息
*/
private Integer qbxx;
/**
* 全部未读
*/
private Integer wdxx;
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.cms.domain.vo;
import lombok.Data;
@Data
public class RadarChart {
private Integer skill; // 技能(0-100)
private Integer experience; // 工作经验(0-100)
private Integer education; // 学历(0-100)
private Integer salary; // 薪资(0-100)
private Integer age; // 年龄(0-100)
private Integer location; // 工作地(0-100)
}

View File

@@ -0,0 +1,10 @@
package com.ruoyi.cms.domain.vo;
import lombok.Data;
@Data
public class WechatAuthVO {
private String openid;
private String unionid;
private String sessionKey;
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.cms.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class WechatGroupVo {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private Long id;
private String name;
private Integer isPush;
private String wechatNumber;
private String phoneNumber;
private String wechatName;
private Long communityId;
}