期末篇章之校园人事管理系统,前后端分离项目(部分开源),最后的潦草的分享时刻,前端使用vue2(部分vue3)但建议不要混合使用哈;后端使用springboot,其中还使用了mybatisPlus,设计了16个实体类对象,其实做得比较臃肿了,建议可以使用mybatis的一个代码生成器(easyCode)插件,而我是全部手敲出来才知道有这个“懒人神器”的。😭
本篇章展示实体类模块的代码:
按照我IDEA的排序展示了哈!
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 教学单位实体类
* @date 2023/5/15 17:07
*/
@Data
public class AcademicInstitution {
/** 编号 */
private int id;
/** 院系名称 */
private String collegeName;
/** 所属机构 */
private String subsidiaryOrgan;
/** 部门数 */
private int numberOfDepartments;
/** 职工人数 */
private int numberOfEmployees;
/** 院系负责人 */
private String departmentHead;
/** 负责人电话 */
private String headPhoneNumber;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
/**
* @author yic
* @description: TODO
* @date 2023/4/23 12:12
*/
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/** 管理员实体类 */
@Data
public class Administrator {
/***
* 管理员编号
* @date 2023/4/23 12:14
*/
private int id;
/***
* 管理员账号
* @date 2023/4/23 12:15
*/
@Length(max = 20, min = 1, message = "管理员账号长度限制[1,20]")
private String account;
/***
* 管理员密码
* @date 2023/4/23 12:15
*/
@NotNull(message = "密码不能为空哦!")
@Length(max = 20, min = 6, message = "密码长度必须大于等于6或小于等于20")
private String password;
/** 创建时间 */
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: TODO
* @date 2023/4/15 18:51
*/
@Data
public class AdminUser{
/** 用户编号 */
private long id;
/** 账号 */
private String account;
/** 密码 */
private String password;
/** 创建时间 */
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 状态 */
@TableField("status")
private Integer status;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 劳动合同数据管理模块
* @date 2023/5/22 22:37
*/
@Data
public class Contract {
/** 编号 */
private int id;
/** 合同名称 */
private String name;
/** 合同类型 */
private String type;
/** 详情文件 */
private String details;
/** 签订人 */
private String signer;
/** 负责人 */
private String responsiblePerson;
/** 负责人电话 */
private String responsiblePersonPhone;
/** 签订时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修订时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 管理机构实体类模块
* @date 2023/5/15 12:51
*/
@Data
public class Department {
/** 管理机构编号 */
private int id;
/** 机构名称 */
private String orgName;
/** 机构简介 */
private String deptDesc;
/** 部门数量 */
private int deptCount;
/** 职工数量 */
private int staffCount;
/** 机构负责人 */
private String orgLeader;
/** 负责人电话 */
private String leaderPhone;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 部门管理
* @date 2023/5/15 23:39
*/
@Data
public class DepartmentM {
/** 编号 */
private int id;
/** 部门名称 */
private String departmentName;
/** 所属单位 */
private String parentUnit;
/** 岗位数 */
private int jobCount;
/** 在职人数 */
private int employeeCount;
/** 部门负责人 */
private String departmentHead;
/** 联系方式 */
private String contactInfo;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
/**
* @author yic
* @description: 生日关怀
* @date 2023/5/21 10:36
*/
@Data
public class EmployeeBirthdayCare {
/**编号*/
private int id;
/**姓名*/
private String name;
/**性别*/
private String gender;
/**年龄*/
private int age;
/**生日*/
private Date birthday;
/**生日提醒信息*/
private String birthdayReminder;
/**关怀状态*/
private String careStatus;
/**所属部门*/
private String department;
/**负责人*/
private String manager;
/**负责人电话*/
private String managerPhone;
/** 发布时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
/**
* @author yic
* @description: 节假日关怀模块
* @date 2023/5/21 12:24
*/
@Data
public class HolidayCare {
/**编号*/
private int id;
/**员工姓名*/
private String employeeName;
/**节假日日期*/
private Date holidayDate;
/**节假日通知内容*/
private String notificationContent;
/**关怀状态*/
private String careStatus;
/** 发布时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 应试管理
* @date 2023/5/22 0:28
*/
@Data
public class Interviewee {
/** 编号 */
private int id;
/** 应试人姓名 */
private String intervieweeName;
/** 手机号 */
private String phoneNumber;
/** 性别 */
private char gender;
/** 年龄 */
private int age;
/** 面试岗位 */
private String appliedPosition;
/** 面试状态 */
private String interviewStatus;
/** 面试负责人 */
private String interviewer;
/** 面试时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
// 构造函数、Getter 和 Setter 方法
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 应招情况管理模块
* @date 2023/5/22 0:02
*/
@Data
public class JobApplication {
/** 编号 */
private int id;
/** 应聘人姓名 */
private String applicantName;
/** 性别 */
private char gender;
/** 年龄 */
private int age;
/** 学历 */
private String education;
/** 应聘岗位 */
private String appliedPosition;
/** 是否服从分配 */
private boolean willingnessToRelocate;
/** 个人简介文件 */
private String personalResumePath;
/** 联系方式 */
private String contactInfo;
/** 报名渠道 */
private String applicationChannel;
/** 报名时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
// 构造函数、Getter 和 Setter 方法
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 人事调动模块
* @date 2023/5/22 19:39
*/
@Data
public class PersonnelTransfer {
/** 编号 */
private int id;
/** 调动人员 */
private String personnelName;
/** 原本院系 */
private String originalDepartment;
/** 原本岗位 */
private String originalPosition;
/** 现调院系 */
private String currentDepartment;
/** 现调岗位 */
private String currentPosition;
/** 调动类型 */
private String transferType;
/** 人事调动文件 */
private String personnelTransferDocument;
/** 经办人 */
private String handler;
/** 经办人电话 */
private String handlerPhone;
/** 调动时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 岗位管理模块
* @date 2023/5/19 8:53
*/
@Data
public class PositionM {
/** 编号 */
private int id;
/** 岗位名称 */
private String jobName;
/** 所属单位 */
private String subordinateUnit;
/** 所属部门 */
private String subordinateDepartment;
/** 在岗人数 */
private int numberOfPeopleOnDuty;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* @author yic
* @description: TODO
* @date 2023/4/27 10:27
* RecruitDemand 招聘需求表
*/
@Data
public class RecruitDemand {
/***
* 编号
* @author yic
* @date 2023/4/27 10:30
*/
// @Range(min = 1,max = 9999,message = "招聘信息编号的设置范围[1,9999]")
private int id;
/***
* 招聘岗位
* @author yic
* @date 2023/4/27 10:31
*/
@NotBlank(message = "招聘岗位不能为空!")
private String position;
/***
* 招聘需求
* @author yic
* @date 2023/4/27 10:31
*/
@NotBlank(message = "岗位需求不能为空!")
private String requirement;
/** 学历要求 */
private String educationRequirement;
/** 工作年限 */
private String workYearsRequirement;
/** 招聘人数 */
@Range(min = 1,message = "招聘人数需求1人以上")
private int recruitmentNumber;
/** 招聘状态 */
@NotBlank(message = "招聘状态不能为空!")
private String recruitmentStatus;
/** 招聘负责人 */
@NotBlank(message = "招聘负责人不能为空!")
private String recruitmentResponsiblePerson;
/** 负责人联系电话 */
@NotBlank(message = "招聘负责人联系电话不能为空!")
private String responsiblePersonPhone;
/** 入职时间 */
@ApiModelProperty("入职时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 方案管理模块的实体类
* @date 2023/5/19 16:41
*/
@Data
public class Scheme {
//方案编号 方案名称 方案类型 方案详情 所属部门 所属院系 方案负责人 方案负责人电话 发布时间 修改时间
/** 编号 */
private int id;
/** 方案名称 */
private String schemeName;
/** 方案类型 */
private String schemeType;
/** 方案详情 */
private String schemeDetails;
/** 所属部门 */
private String department;
/** 所属院系 */
private String faculty;
/** 方案负责人 */
private String schemeLeader;
/** 方案负责人电话 */
private String schemeLeaderPhone;
/** 发布时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
重点实体类模块
package com.project.pmmsystem.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.Date;
/**
* @author yic
* @description: 教师档案模块
* @date 2023/5/5 15:37
*/
@Data
public class Teacher {
/***
* 编号
* @author yic
* @date 2023/5/5 15:39
*/
private int id;
/** 教师工号 */
@Length(min = 6,max = 9,message = "教师工号长度范围[6~9位自定义字符]")
private String teacherId;
/** 教职工登录密码 */
private String loginPassword;
/** 教师姓名 */
private String teacherName;
/** 性别 */
private String gender;
/** 年龄 */
private int age;
/** 出生日期 */
@JSONField(format = "yyyy-MM-dd ") //后台转换到页面显示
@DateTimeFormat(pattern="yyyy-MM-dd") //前端页面转换到Date字段
private Date birthDate;
/** 证件号 */
private String idNumber;
/** 户籍地 */
private String registeredResidence;
/** 居住地 */
private String currentResidence;
/** 政治面貌 */
private String politicalStatus;
/** 学历 */
private String education;
/** 毕业院校 */
private String graduateSchool;
/** 手机号 */
private String phoneNumber;
/** 所在院系 */
private String department;
/** 任教课程 */
private String teachingCourse;
/** 教师类型 */
private String teacherType;
/** 证件照 */
private String idPhoto;
/** 简介文件 */
private String briefIntro;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
/**
* @author yic
* @description: 薪资管理模块
* @date 2023/5/12 21:47
*/
@Data
public class TeacherSalary{
/**
* 编号
* @author yic
* @date 2023/5/12 15:26
*/
private int id;
/** 教师工号 */
private String teacherId;
/** 教师姓名 */
private String teacherName;
/***
* 职务
* @author yic
* @date 2023/5/12 15:26
*/
private String position;
/***
* 基本薪资
* @author yic
* @date 2023/5/12 15:28
*/
private double basicSalary;
/***
* 奖金
* @author yic
* @date 2023/5/12 15:28
*/
private double bonus;
/***
* 五险一金
* @author yic
* @date 2023/5/12 15:28
*/
private double fiveInsuranceAndOneFund;
/***
* 社保
* @author yic
* @date 2023/5/12 15:29
*/
private double socialSecurity;
/***
* 房补
* @author yic
* @date 2023/5/12 15:29
*/
private double housingAllowance;
/***
* 水电补
* @author yic
* @date 2023/5/12 15:29
*/
private double utilitiesAllowance;
/***
* 交通补
* @author yic
* @date 2023/5/12 15:30
*/
private double transportationAllowance;
/**应缴税额 需要计算!*/
private double taxPayable;
/**处罚扣取*/
private double penaltyDeduction;
/**最终月薪 需要计算! */
private double finalMonthlySalary;
/**出薪状态*/
private String salaryStatus;
/**出薪日期*/
private Date salaryDate;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
package com.project.pmmsystem.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author yic
* @description: 应聘 面试 之后再到免试
* @date 2023/5/22 0:29
*/
@Data
public class Trainee {
/** 编号 */
private int id;
/** 免试人姓名 */
private String traineeName;
/** 手机号 */
private String phoneNumber;
/** 性别 */
private char gender;
/** 年龄 */
private int age;
/** 试训岗位 */
private String trainingPosition;
/** 试训期 */
private int trainingPeriod;
/** 试训负责人 */
private String trainer;
/** 试训状态 */
private String trainingStatus;
/** 试训开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 试训结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
// 构造函数、Getter 和 Setter 方法
}
本章全代码,16+1个实体类对象,用了@Data注解就省去了写get和set方法了。其中的创建时间和修改时间这两个字段,用了一个可以自动填充的工具。
本期内容到此结束,感谢观看!