Commit 6f651de3f70a832a6c778f05b62720b48cb3b7a0
1 parent
79dbfcff
简历人才库
Showing
11 changed files
with
666 additions
and
9 deletions
Show diff stats
boot-nunu/src/main/java/com/softwarebr/nunu/dao/res/TalentDao.java
0 → 100644
| @@ -0,0 +1,11 @@ | @@ -0,0 +1,11 @@ | ||
| 1 | +package com.softwarebr.nunu.dao.res; | ||
| 2 | + | ||
| 3 | +import com.brframework.commondb.core.CommonRepository; | ||
| 4 | +import com.softwarebr.nunu.entity.res.Talent; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * @author zj | ||
| 8 | + * @date 2020-11-02 16:27:34 | ||
| 9 | + */ | ||
| 10 | +public interface TalentDao extends CommonRepository<Long, Talent> { | ||
| 11 | +} |
boot-nunu/src/main/java/com/softwarebr/nunu/dto/res/TalentParamDTO.java
0 → 100644
| @@ -0,0 +1,58 @@ | @@ -0,0 +1,58 @@ | ||
| 1 | +package com.softwarebr.nunu.dto.res; | ||
| 2 | + | ||
| 3 | +import io.swagger.annotations.ApiModelProperty; | ||
| 4 | +import lombok.Data; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * @date 2020-02-21 11:48:30 | ||
| 8 | + * @author lilin | ||
| 9 | + */ | ||
| 10 | + | ||
| 11 | +@Data | ||
| 12 | +public class TalentParamDTO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "姓名", required = true, example = "") | ||
| 15 | + private String name; | ||
| 16 | + | ||
| 17 | + @ApiModelProperty(value = "性别", required = true, example = "") | ||
| 18 | + private String sex; | ||
| 19 | + | ||
| 20 | + @ApiModelProperty(value = "出生日期", required = true, example = "") | ||
| 21 | + private String birthDay; | ||
| 22 | + | ||
| 23 | + @ApiModelProperty(value = "期望工作省份", required = true, example = "") | ||
| 24 | + private Long provinceId; | ||
| 25 | + | ||
| 26 | + @ApiModelProperty(value = "期望工作城市", required = true, example = "") | ||
| 27 | + private Long cityId; | ||
| 28 | + | ||
| 29 | + @ApiModelProperty(value = "期望工作区县", required = true, example = "") | ||
| 30 | + private Long areaId; | ||
| 31 | + | ||
| 32 | + @ApiModelProperty(value = "擅长领域", required = true, example = "") | ||
| 33 | + private String expertise; | ||
| 34 | + | ||
| 35 | + @ApiModelProperty(value = "招聘封面图", required = true, example = "") | ||
| 36 | + private String coverUri; | ||
| 37 | + | ||
| 38 | + @ApiModelProperty(value = "工作经历", required = true, example = "") | ||
| 39 | + private String empirical; | ||
| 40 | + | ||
| 41 | + @ApiModelProperty(value = "合作需求", required = true, example = "") | ||
| 42 | + private String cooperationNeeds; | ||
| 43 | + | ||
| 44 | + @ApiModelProperty(value = "附件,多张以逗号,分隔", required = true, example = "") | ||
| 45 | + private String annex; | ||
| 46 | + | ||
| 47 | + @ApiModelProperty(value = "项目联系人", required = true, example = "") | ||
| 48 | + private String contact; | ||
| 49 | + | ||
| 50 | + @ApiModelProperty(value = "手机号码", required = true, example = "") | ||
| 51 | + private String contactPhone; | ||
| 52 | + | ||
| 53 | + @ApiModelProperty(value = "电子邮箱", required = true, example = "") | ||
| 54 | + private String email; | ||
| 55 | + | ||
| 56 | + @ApiModelProperty(value = "公开状态(1公开 2隐私 3平台可见)", required = true, example = "") | ||
| 57 | + private Integer publicity; | ||
| 58 | +} |
boot-nunu/src/main/java/com/softwarebr/nunu/entity/res/Talent.java
0 → 100644
| @@ -0,0 +1,109 @@ | @@ -0,0 +1,109 @@ | ||
| 1 | +package com.softwarebr.nunu.entity.res; | ||
| 2 | + | ||
| 3 | +import com.alibaba.fastjson.annotation.JSONField; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.Builder; | ||
| 7 | +import lombok.Data; | ||
| 8 | +import lombok.NoArgsConstructor; | ||
| 9 | + | ||
| 10 | +import javax.persistence.*; | ||
| 11 | +import java.time.LocalDateTime; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * 人才库(简历资源) | ||
| 15 | + * @date 2020-11-02 16:07:43 | ||
| 16 | + * @author zj | ||
| 17 | + */ | ||
| 18 | + | ||
| 19 | +@Entity | ||
| 20 | +@Data | ||
| 21 | +@NoArgsConstructor | ||
| 22 | +@AllArgsConstructor | ||
| 23 | +@Table(name="res_invite") | ||
| 24 | +@Builder | ||
| 25 | +public class Talent { | ||
| 26 | + | ||
| 27 | + @Id | ||
| 28 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 29 | + @ApiModelProperty(value = "id", required = true, example = "1") | ||
| 30 | + private Long id; | ||
| 31 | + | ||
| 32 | + @JSONField(format = "yyyy-MM-dd HH:mm:ss") | ||
| 33 | + @ApiModelProperty(value = "创建时间", required = true, example = "2018-03-12 21:32:33") | ||
| 34 | + private LocalDateTime createDate; | ||
| 35 | + | ||
| 36 | + @ApiModelProperty(value = "发布者", required = true, example = "") | ||
| 37 | + private Long publisher; | ||
| 38 | + | ||
| 39 | + @ApiModelProperty(value = "姓名", required = true, example = "") | ||
| 40 | + private String name; | ||
| 41 | + | ||
| 42 | + @ApiModelProperty(value = "性别", required = true, example = "") | ||
| 43 | + private String sex; | ||
| 44 | + | ||
| 45 | + @ApiModelProperty(value = "出生日期", required = true, example = "") | ||
| 46 | + private String birthDay; | ||
| 47 | + | ||
| 48 | + @ApiModelProperty(value = "招聘省份", required = true, example = "") | ||
| 49 | + private Long provinceId; | ||
| 50 | + | ||
| 51 | + @ApiModelProperty(value = "招聘城市", required = true, example = "") | ||
| 52 | + private Long cityId; | ||
| 53 | + | ||
| 54 | + @ApiModelProperty(value = "招聘区县", required = true, example = "") | ||
| 55 | + private Long areaId; | ||
| 56 | + | ||
| 57 | + @ApiModelProperty(value = "擅长领域", required = true, example = "") | ||
| 58 | + @Lob | ||
| 59 | + private String expertise; | ||
| 60 | + | ||
| 61 | + @ApiModelProperty(value = "简历封面图", required = true, example = "") | ||
| 62 | + @Column(length = Integer.MAX_VALUE) | ||
| 63 | + private String coverUri; | ||
| 64 | + | ||
| 65 | + @ApiModelProperty(value = "工作经历", required = true, example = "") | ||
| 66 | + @Lob | ||
| 67 | + private String empirical; | ||
| 68 | + | ||
| 69 | + @ApiModelProperty(value = "合作需求", required = true, example = "") | ||
| 70 | + @Lob | ||
| 71 | + private String cooperationNeeds; | ||
| 72 | + | ||
| 73 | + @ApiModelProperty(value = "附件,多张以逗号,分隔", required = true, example = "") | ||
| 74 | + private String annex; | ||
| 75 | + | ||
| 76 | + @ApiModelProperty(value = "联系人", required = true, example = "") | ||
| 77 | + private String contact; | ||
| 78 | + | ||
| 79 | + @ApiModelProperty(value = "手机号码", required = true, example = "") | ||
| 80 | + private String contactPhone; | ||
| 81 | + | ||
| 82 | + @ApiModelProperty(value = "电子邮箱", required = true, example = "") | ||
| 83 | + private String email; | ||
| 84 | + | ||
| 85 | + @ApiModelProperty(value = "公开状态(1公开 2隐私 3平台可见)", required = true, example = "") | ||
| 86 | + private Integer publicity; | ||
| 87 | + | ||
| 88 | + @ApiModelProperty(value = "是否推荐至首页(0否 1是)", required = true, example = "") | ||
| 89 | + private Integer indexType; | ||
| 90 | + | ||
| 91 | + @ApiModelProperty(value = "审核状态(1待审核 2审核通过 3审核不通过)", required = true, example = "") | ||
| 92 | + private Integer verify; | ||
| 93 | + | ||
| 94 | + @ApiModelProperty(value = "审核备注", required = true, example = "") | ||
| 95 | + private String verifyRemark; | ||
| 96 | + | ||
| 97 | + @JSONField(format = "yyyy-MM-dd HH:mm:ss") | ||
| 98 | + @ApiModelProperty(value = "审核时间", required = true, example = "2018-03-12 21:32:33") | ||
| 99 | + private LocalDateTime verifyDate; | ||
| 100 | + | ||
| 101 | + @ApiModelProperty(value = "删除标记0.已删除 1.未删除", required = true, example = "") | ||
| 102 | + private Integer marker; | ||
| 103 | + | ||
| 104 | + @ApiModelProperty(value = "是否上架(0下架 1上架) ", required = true, example = "") | ||
| 105 | + private Integer upperStatus; | ||
| 106 | + | ||
| 107 | + | ||
| 108 | + | ||
| 109 | +} | ||
| 0 | \ No newline at end of file | 110 | \ No newline at end of file |
boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentDetailsResult.java
0 → 100644
| @@ -0,0 +1,98 @@ | @@ -0,0 +1,98 @@ | ||
| 1 | +package com.softwarebr.nunu.json.admin.res; | ||
| 2 | + | ||
| 3 | +import com.alibaba.fastjson.annotation.JSONField; | ||
| 4 | +import io.swagger.annotations.ApiModel; | ||
| 5 | +import io.swagger.annotations.ApiModelProperty; | ||
| 6 | +import lombok.Data; | ||
| 7 | + | ||
| 8 | +import javax.persistence.Column; | ||
| 9 | +import javax.persistence.Lob; | ||
| 10 | +import java.time.LocalDateTime; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * @date 2020-02-21 11:49:00 | ||
| 14 | + * @author lilin | ||
| 15 | + */ | ||
| 16 | + | ||
| 17 | +@Data | ||
| 18 | +@ApiModel | ||
| 19 | +public class TalentDetailsResult { | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "id", required = true, example = "1") | ||
| 23 | + private Long id; | ||
| 24 | + | ||
| 25 | + @JSONField(format = "yyyy-MM-dd HH:mm:ss") | ||
| 26 | + @ApiModelProperty(value = "创建时间", required = true, example = "2018-03-12 21:32:33") | ||
| 27 | + private LocalDateTime createDate; | ||
| 28 | + | ||
| 29 | + @ApiModelProperty(value = "姓名", required = true, example = "") | ||
| 30 | + private String name; | ||
| 31 | + | ||
| 32 | + @ApiModelProperty(value = "性别", required = true, example = "") | ||
| 33 | + private String sex; | ||
| 34 | + | ||
| 35 | + @ApiModelProperty(value = "出生日期", required = true, example = "") | ||
| 36 | + private String birthDay; | ||
| 37 | + | ||
| 38 | + @ApiModelProperty(value = "招聘省份", required = true, example = "") | ||
| 39 | + private String province; | ||
| 40 | + | ||
| 41 | + @ApiModelProperty(value = "招聘城市", required = true, example = "") | ||
| 42 | + private String city; | ||
| 43 | + | ||
| 44 | + @ApiModelProperty(value = "招聘区县", required = true, example = "") | ||
| 45 | + private String area; | ||
| 46 | + | ||
| 47 | + @ApiModelProperty(value = "擅长领域", required = true, example = "") | ||
| 48 | + @Lob | ||
| 49 | + private String expertise; | ||
| 50 | + | ||
| 51 | + @ApiModelProperty(value = "简历封面图", required = true, example = "") | ||
| 52 | + @Column(length = Integer.MAX_VALUE) | ||
| 53 | + private String coverUri; | ||
| 54 | + | ||
| 55 | + @ApiModelProperty(value = "工作经历", required = true, example = "") | ||
| 56 | + @Lob | ||
| 57 | + private String empirical; | ||
| 58 | + | ||
| 59 | + @ApiModelProperty(value = "合作需求", required = true, example = "") | ||
| 60 | + @Lob | ||
| 61 | + private String cooperationNeeds; | ||
| 62 | + | ||
| 63 | + @ApiModelProperty(value = "附件,多张以逗号,分隔", required = true, example = "") | ||
| 64 | + private String annex; | ||
| 65 | + | ||
| 66 | + @ApiModelProperty(value = "联系人", required = true, example = "") | ||
| 67 | + private String contact; | ||
| 68 | + | ||
| 69 | + @ApiModelProperty(value = "手机号码", required = true, example = "") | ||
| 70 | + private String contactPhone; | ||
| 71 | + | ||
| 72 | + @ApiModelProperty(value = "电子邮箱", required = true, example = "") | ||
| 73 | + private String email; | ||
| 74 | + | ||
| 75 | + @ApiModelProperty(value = "公开状态(1公开 2隐私 3平台可见)", required = true, example = "") | ||
| 76 | + private Integer publicity; | ||
| 77 | + | ||
| 78 | + @ApiModelProperty(value = "是否推荐至首页(0否 1是)", required = true, example = "") | ||
| 79 | + private Integer indexType; | ||
| 80 | + | ||
| 81 | + @ApiModelProperty(value = "审核状态(1待审核 2审核通过 3审核不通过)", required = true, example = "") | ||
| 82 | + private Integer verify; | ||
| 83 | + | ||
| 84 | + @ApiModelProperty(value = "审核备注", required = true, example = "") | ||
| 85 | + private String verifyRemark; | ||
| 86 | + | ||
| 87 | + @JSONField(format = "yyyy-MM-dd HH:mm:ss") | ||
| 88 | + @ApiModelProperty(value = "审核时间", required = true, example = "2018-03-12 21:32:33") | ||
| 89 | + private LocalDateTime verifyDate; | ||
| 90 | + | ||
| 91 | + @ApiModelProperty(value = "删除标记0.已删除 1.未删除", required = true, example = "") | ||
| 92 | + private Integer marker; | ||
| 93 | + | ||
| 94 | + @ApiModelProperty(value = "是否上架(0下架 1上架) ", required = true, example = "") | ||
| 95 | + private Integer upperStatus; | ||
| 96 | + | ||
| 97 | + | ||
| 98 | +} |
boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentParam.java
0 → 100644
| @@ -0,0 +1,78 @@ | @@ -0,0 +1,78 @@ | ||
| 1 | +package com.softwarebr.nunu.json.admin.res; | ||
| 2 | + | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | +import lombok.Data; | ||
| 6 | + | ||
| 7 | +import javax.validation.constraints.NotEmpty; | ||
| 8 | +import javax.validation.constraints.NotNull; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * @date 2020-02-21 11:48:30 | ||
| 12 | + * @author lilin | ||
| 13 | + */ | ||
| 14 | + | ||
| 15 | +@Data | ||
| 16 | +@ApiModel | ||
| 17 | +public class TalentParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "姓名", required = true, example = "") | ||
| 20 | + @NotEmpty(message = "姓名不能为空") | ||
| 21 | + private String name; | ||
| 22 | + | ||
| 23 | + @ApiModelProperty(value = "性别", required = true, example = "") | ||
| 24 | + @NotEmpty(message = "性别不能为空") | ||
| 25 | + private String sex; | ||
| 26 | + | ||
| 27 | + @ApiModelProperty(value = "出生日期", required = true, example = "") | ||
| 28 | + @NotEmpty(message = "出生日期不能为空") | ||
| 29 | + private String birthDay; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "期望工作省份", required = true, example = "") | ||
| 32 | + @NotNull(message = "请选择期望工作省份") | ||
| 33 | + private Long provinceId; | ||
| 34 | + | ||
| 35 | + @ApiModelProperty(value = "期望工作城市", required = true, example = "") | ||
| 36 | + @NotNull(message = "请选择期望工作城市") | ||
| 37 | + private Long cityId; | ||
| 38 | + | ||
| 39 | + @ApiModelProperty(value = "期望工作区县", required = true, example = "") | ||
| 40 | + @NotNull(message = "请选择期望工作区县") | ||
| 41 | + private Long areaId; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "擅长领域", required = true, example = "") | ||
| 44 | + @NotEmpty(message = "擅长领域不能为空") | ||
| 45 | + private String expertise; | ||
| 46 | + | ||
| 47 | + @ApiModelProperty(value = "招聘封面图", required = true, example = "") | ||
| 48 | + @NotEmpty(message = "请上传招聘封面图") | ||
| 49 | + private String coverUri; | ||
| 50 | + | ||
| 51 | + @ApiModelProperty(value = "工作经历", required = true, example = "") | ||
| 52 | + @NotEmpty(message = "工作经历不能为空") | ||
| 53 | + private String empirical; | ||
| 54 | + | ||
| 55 | + @ApiModelProperty(value = "合作需求", required = true, example = "") | ||
| 56 | + @NotEmpty(message = "合作需求不能为空") | ||
| 57 | + private String cooperationNeeds; | ||
| 58 | + | ||
| 59 | + @ApiModelProperty(value = "附件,多张以逗号,分隔", required = true, example = "") | ||
| 60 | + private String annex; | ||
| 61 | + | ||
| 62 | + @ApiModelProperty(value = "项目联系人", required = true, example = "") | ||
| 63 | + @NotEmpty(message = "项目联系人不能为空") | ||
| 64 | + private String contact; | ||
| 65 | + | ||
| 66 | + @ApiModelProperty(value = "手机号码", required = true, example = "") | ||
| 67 | + @NotEmpty(message = "手机号码不能为空") | ||
| 68 | + private String contactPhone; | ||
| 69 | + | ||
| 70 | + @ApiModelProperty(value = "电子邮箱", required = true, example = "") | ||
| 71 | + @NotEmpty(message = "电子邮箱不能为空") | ||
| 72 | + private String email; | ||
| 73 | + | ||
| 74 | + @ApiModelProperty(value = "公开状态(1公开 2隐私 3平台可见)", required = true, example = "") | ||
| 75 | + @NotNull | ||
| 76 | + private Integer publicity; | ||
| 77 | + | ||
| 78 | +} | ||
| 0 | \ No newline at end of file | 79 | \ No newline at end of file |
boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentQueryParam.java
0 → 100644
| @@ -0,0 +1,40 @@ | @@ -0,0 +1,40 @@ | ||
| 1 | +package com.softwarebr.nunu.json.admin.res; | ||
| 2 | + | ||
| 3 | +import com.brframework.commondb.annotation.param.ParamQuery; | ||
| 4 | +import com.brframework.commondb.annotation.param.QueryExpression; | ||
| 5 | +import io.swagger.annotations.ApiModel; | ||
| 6 | +import io.swagger.annotations.ApiModelProperty; | ||
| 7 | +import lombok.Data; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * @date 2020-02-21 11:48:30 | ||
| 11 | + * @author lilin | ||
| 12 | + */ | ||
| 13 | + | ||
| 14 | +@Data | ||
| 15 | +@ApiModel | ||
| 16 | +public class TalentQueryParam { | ||
| 17 | + | ||
| 18 | + @ParamQuery | ||
| 19 | + @ApiModelProperty(value = "删除标记0.已删除 1.未删除", hidden = true, example = "") | ||
| 20 | + private Integer marker; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "账号", example = "") | ||
| 23 | + private String account; | ||
| 24 | + | ||
| 25 | + @ParamQuery | ||
| 26 | + @ApiModelProperty(value = "审核状态(1待审核 2审核通过 3审核不通过)", hidden = true, example = "") | ||
| 27 | + private Integer verify; | ||
| 28 | + | ||
| 29 | + @ParamQuery | ||
| 30 | + @ApiModelProperty(value = "上架状态(0下架 1上架) ", example = "") | ||
| 31 | + private Integer upperStatus; | ||
| 32 | + | ||
| 33 | + @ApiModelProperty(value = "申请处理状态(1.待处理)", example = "") | ||
| 34 | + private Integer applyStatus; | ||
| 35 | + | ||
| 36 | + @ParamQuery(expression = QueryExpression.in) | ||
| 37 | + @ApiModelProperty(value = "序号", hidden = true, example = "") | ||
| 38 | + private Long [] id; | ||
| 39 | + | ||
| 40 | +} | ||
| 0 | \ No newline at end of file | 41 | \ No newline at end of file |
boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentResult.java
0 → 100644
| @@ -0,0 +1,66 @@ | @@ -0,0 +1,66 @@ | ||
| 1 | +package com.softwarebr.nunu.json.admin.res; | ||
| 2 | + | ||
| 3 | +import com.alibaba.fastjson.annotation.JSONField; | ||
| 4 | +import com.brframework.commoncms.annatotion.column.HideColumn; | ||
| 5 | +import io.swagger.annotations.ApiModel; | ||
| 6 | +import io.swagger.annotations.ApiModelProperty; | ||
| 7 | +import lombok.Data; | ||
| 8 | + | ||
| 9 | +import javax.persistence.Lob; | ||
| 10 | +import java.time.LocalDateTime; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 招聘资源 | ||
| 14 | + * @date 2020-02-21 11:48:30 | ||
| 15 | + * @author lilin | ||
| 16 | + */ | ||
| 17 | + | ||
| 18 | +@Data | ||
| 19 | +@ApiModel | ||
| 20 | +public class TalentResult { | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "序号", required = true, example = "1") | ||
| 23 | + private Long id; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "账号", required = true, example = "") | ||
| 26 | + private String name; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "招聘封面图", required = true, example = "") | ||
| 29 | + private String coverUri; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "擅长领域", required = true, example = "") | ||
| 32 | + private String expertise; | ||
| 33 | + | ||
| 34 | + @JSONField(format = "yyyy-MM-dd HH:mm:ss") | ||
| 35 | + @ApiModelProperty(value = "时间", required = true, example = "2018-03-12 21:32:33") | ||
| 36 | + private LocalDateTime createDate; | ||
| 37 | + | ||
| 38 | + @ApiModelProperty(value = "公开状态", required = true, example = "") | ||
| 39 | + private String publicityTitle; | ||
| 40 | + | ||
| 41 | + @ApiModelProperty(value = "审核状态", required = true, example = "") | ||
| 42 | + private String verifyTitle; | ||
| 43 | + | ||
| 44 | + @ApiModelProperty(value = "上架状态", required = true, example = "") | ||
| 45 | + private String upperTitle; | ||
| 46 | + | ||
| 47 | + @ApiModelProperty(value = "待处理数量", required = true, example = "") | ||
| 48 | + private Integer handleTotal; | ||
| 49 | + | ||
| 50 | + @ApiModelProperty(value = "是否推荐至首页(0否 1是)", required = true, example = "") | ||
| 51 | + @HideColumn(selectShow = false) | ||
| 52 | + private Integer indexType; | ||
| 53 | + | ||
| 54 | + @ApiModelProperty(value = "是否上架(0下架 1上架) ", required = true, example = "") | ||
| 55 | + @HideColumn(selectShow = false) | ||
| 56 | + private Integer upperStatus; | ||
| 57 | + | ||
| 58 | + @ApiModelProperty(value = "审核状态(1待审核 2审核通过 3审核不通过)", required = true, example = "") | ||
| 59 | + @HideColumn(selectShow = false) | ||
| 60 | + private Integer verify; | ||
| 61 | + | ||
| 62 | + @ApiModelProperty(value = "公开状态(1公开 2隐私 3平台可见)", required = true, example = "") | ||
| 63 | + @HideColumn(selectShow = false) | ||
| 64 | + private Integer publicity; | ||
| 65 | + | ||
| 66 | +} | ||
| 0 | \ No newline at end of file | 67 | \ No newline at end of file |
boot-nunu/src/main/java/com/softwarebr/nunu/service/res/TalentService.java
0 → 100644
| @@ -0,0 +1,18 @@ | @@ -0,0 +1,18 @@ | ||
| 1 | +package com.softwarebr.nunu.service.res; | ||
| 2 | + | ||
| 3 | +import com.brframework.commondb.core.EntityService; | ||
| 4 | +import com.softwarebr.nunu.dto.res.TalentParamDTO; | ||
| 5 | +import com.softwarebr.nunu.entity.res.Talent; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * 招聘资源 | ||
| 9 | + * @date 2020-02-21 11:48:30 | ||
| 10 | + * @author lilin | ||
| 11 | + */ | ||
| 12 | + | ||
| 13 | +public interface TalentService extends EntityService<Talent, Long, Object> { | ||
| 14 | + | ||
| 15 | + void saveTalent(Long publisher, TalentParamDTO talentParamDTO); | ||
| 16 | + | ||
| 17 | + void updateTalent(Long id, TalentParamDTO talentParamDTO); | ||
| 18 | +} | ||
| 0 | \ No newline at end of file | 19 | \ No newline at end of file |
boot-nunu/src/main/java/com/softwarebr/nunu/service/res/impl/TalentServiceImpl.java
0 → 100644
| @@ -0,0 +1,82 @@ | @@ -0,0 +1,82 @@ | ||
| 1 | +package com.softwarebr.nunu.service.res.impl; | ||
| 2 | + | ||
| 3 | +import com.brframework.common.utils.ConvertObjectUtil; | ||
| 4 | +import com.brframework.commondb.core.AbstractEntityService; | ||
| 5 | +import com.brframework.commondb.core.CommonRepository; | ||
| 6 | +import com.brframework.commondb.core.ControllerPageHandle; | ||
| 7 | +import com.brframework.commonmq.annotation.MQConfig; | ||
| 8 | +import com.brframework.commonmq.core.MQClient; | ||
| 9 | +import com.brframework.commonweb.exception.HandleException; | ||
| 10 | +import com.google.common.base.Splitter; | ||
| 11 | +import com.softwarebr.nunu.dao.res.InviteDao; | ||
| 12 | +import com.softwarebr.nunu.dao.res.TalentDao; | ||
| 13 | +import com.softwarebr.nunu.dto.res.InviteParamDTO; | ||
| 14 | +import com.softwarebr.nunu.dto.res.TalentParamDTO; | ||
| 15 | +import com.softwarebr.nunu.entity.res.Invite; | ||
| 16 | +import com.softwarebr.nunu.entity.res.PropertyApply; | ||
| 17 | +import com.softwarebr.nunu.entity.res.Talent; | ||
| 18 | +import com.softwarebr.nunu.entity.user.Message; | ||
| 19 | +import com.softwarebr.nunu.globals.MQTopics; | ||
| 20 | +import com.softwarebr.nunu.globals.SystemConst; | ||
| 21 | +import com.softwarebr.nunu.json.api.center.InviteDetailsResult; | ||
| 22 | +import com.softwarebr.nunu.service.res.InviteService; | ||
| 23 | +import com.softwarebr.nunu.service.res.PropertyApplyService; | ||
| 24 | +import com.softwarebr.nunu.service.res.TalentService; | ||
| 25 | +import com.softwarebr.nunu.service.user.MessageService; | ||
| 26 | +import lombok.extern.slf4j.Slf4j; | ||
| 27 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 28 | +import org.springframework.stereotype.Service; | ||
| 29 | +import org.springframework.transaction.annotation.Transactional; | ||
| 30 | + | ||
| 31 | +import java.time.LocalDateTime; | ||
| 32 | + | ||
| 33 | +import static com.brframework.commondb.core.ControllerPageHandle.convertTo; | ||
| 34 | + | ||
| 35 | +/** | ||
| 36 | + * 招聘资源 | ||
| 37 | + * | ||
| 38 | + * @author lilin | ||
| 39 | + * @date 2020-02-21 11:48:30 | ||
| 40 | + */ | ||
| 41 | + | ||
| 42 | +@Slf4j | ||
| 43 | +@Service | ||
| 44 | +@MQConfig | ||
| 45 | +public class TalentServiceImpl extends AbstractEntityService<Talent, Long, Object> implements TalentService { | ||
| 46 | + | ||
| 47 | + @Autowired | ||
| 48 | + private TalentDao talentDao; | ||
| 49 | + | ||
| 50 | + @Override | ||
| 51 | + public CommonRepository<Long, Talent> getRepository() { | ||
| 52 | + return talentDao; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * 保存简历 | ||
| 57 | + */ | ||
| 58 | + @Override | ||
| 59 | + public void saveTalent(Long publisher, TalentParamDTO talentParamDTO) { | ||
| 60 | + | ||
| 61 | + Talent talent = convertTo(talentParamDTO, Talent.class); | ||
| 62 | + talent.setCreateDate(LocalDateTime.now()); | ||
| 63 | + talent.setIndexType(0); | ||
| 64 | + talent.setMarker(1); | ||
| 65 | + talent.setUpperStatus(0); | ||
| 66 | + if (publisher > 0) { | ||
| 67 | + talent.setVerify(SystemConst.VERIFY_AWAIT); | ||
| 68 | + } else { | ||
| 69 | + talent.setVerifyDate(LocalDateTime.now()); | ||
| 70 | + talent.setVerify(SystemConst.VERIFY_ADOPT); | ||
| 71 | + } | ||
| 72 | + talentDao.save(talent); | ||
| 73 | + | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + @Override | ||
| 77 | + public void updateTalent(Long id, TalentParamDTO talentParamDTO) { | ||
| 78 | + Talent talent = accessObject(id); | ||
| 79 | + talent = ConvertObjectUtil.convertJavaBean(talent, talentParamDTO, true); | ||
| 80 | + talentDao.save(talent); | ||
| 81 | + } | ||
| 82 | +} | ||
| 0 | \ No newline at end of file | 83 | \ No newline at end of file |
boot-nunu/src/main/java/com/softwarebr/nunu/web/admin/AdminResController.java
| @@ -17,17 +17,12 @@ import com.softwarebr.nunu.domain.VerifyPageTotal; | @@ -17,17 +17,12 @@ import com.softwarebr.nunu.domain.VerifyPageTotal; | ||
| 17 | import com.softwarebr.nunu.dto.res.InviteParamDTO; | 17 | import com.softwarebr.nunu.dto.res.InviteParamDTO; |
| 18 | import com.softwarebr.nunu.dto.res.ProjectParamDTO; | 18 | import com.softwarebr.nunu.dto.res.ProjectParamDTO; |
| 19 | import com.softwarebr.nunu.dto.res.PropertyParamDTO; | 19 | import com.softwarebr.nunu.dto.res.PropertyParamDTO; |
| 20 | -import com.softwarebr.nunu.entity.res.Invite; | ||
| 21 | -import com.softwarebr.nunu.entity.res.Project; | ||
| 22 | -import com.softwarebr.nunu.entity.res.Property; | ||
| 23 | -import com.softwarebr.nunu.entity.res.PropertyApply; | 20 | +import com.softwarebr.nunu.dto.res.TalentParamDTO; |
| 21 | +import com.softwarebr.nunu.entity.res.*; | ||
| 24 | import com.softwarebr.nunu.globals.SystemConst; | 22 | import com.softwarebr.nunu.globals.SystemConst; |
| 25 | import com.softwarebr.nunu.json.admin.res.*; | 23 | import com.softwarebr.nunu.json.admin.res.*; |
| 26 | import com.softwarebr.nunu.service.oper.AreaService; | 24 | import com.softwarebr.nunu.service.oper.AreaService; |
| 27 | -import com.softwarebr.nunu.service.res.InviteService; | ||
| 28 | -import com.softwarebr.nunu.service.res.ProjectService; | ||
| 29 | -import com.softwarebr.nunu.service.res.PropertyApplyService; | ||
| 30 | -import com.softwarebr.nunu.service.res.PropertyService; | 25 | +import com.softwarebr.nunu.service.res.*; |
| 31 | import com.softwarebr.nunu.service.user.MemberService; | 26 | import com.softwarebr.nunu.service.user.MemberService; |
| 32 | import com.softwarebr.nunu.util.AmountConversionUtil; | 27 | import com.softwarebr.nunu.util.AmountConversionUtil; |
| 33 | import io.swagger.annotations.Api; | 28 | import io.swagger.annotations.Api; |
| @@ -66,6 +61,9 @@ public class AdminResController { | @@ -66,6 +61,9 @@ public class AdminResController { | ||
| 66 | private InviteService inviteService; | 61 | private InviteService inviteService; |
| 67 | 62 | ||
| 68 | @Autowired | 63 | @Autowired |
| 64 | + private TalentService talentService; | ||
| 65 | + | ||
| 66 | + @Autowired | ||
| 69 | private MemberService memberService; | 67 | private MemberService memberService; |
| 70 | 68 | ||
| 71 | @Autowired | 69 | @Autowired |
| @@ -121,6 +119,18 @@ public class AdminResController { | @@ -121,6 +119,18 @@ public class AdminResController { | ||
| 121 | param.setMarker(SystemConst.MARKER_STATUS_NO); | 119 | param.setMarker(SystemConst.MARKER_STATUS_NO); |
| 122 | } | 120 | } |
| 123 | 121 | ||
| 122 | + | ||
| 123 | + private void talentQueryHandle(TalentQueryParam param) { | ||
| 124 | +// if (null != param.getAccount()) { | ||
| 125 | +// param.setPublisher(memberService.findMemberIdByPhone(param.getAccount())); | ||
| 126 | +// } | ||
| 127 | +// if (null != param.getApplyStatus()) { | ||
| 128 | +// param.setId(propertyApplyService.getAwaitVerifyResourceIds(PropertyApply.RESOURCE_TYPE_INVITE)); | ||
| 129 | +// } | ||
| 130 | + param.setVerify(SystemConst.VERIFY_ADOPT); | ||
| 131 | + param.setMarker(SystemConst.MARKER_STATUS_NO); | ||
| 132 | + } | ||
| 133 | + | ||
| 124 | @ApiOperation(value = "项目需求资源列表", notes = "项目需求资源列表", produces = "text/plain") | 134 | @ApiOperation(value = "项目需求资源列表", notes = "项目需求资源列表", produces = "text/plain") |
| 125 | @GetMapping("/v1/project/page") | 135 | @GetMapping("/v1/project/page") |
| 126 | @AdminMenu(menuName = "创新资源交易区管理", order = 1, url = "TransactionReview") | 136 | @AdminMenu(menuName = "创新资源交易区管理", order = 1, url = "TransactionReview") |
| @@ -652,4 +662,91 @@ public class AdminResController { | @@ -652,4 +662,91 @@ public class AdminResController { | ||
| 652 | return JSONResult.ok(verifyPageResult); | 662 | return JSONResult.ok(verifyPageResult); |
| 653 | } | 663 | } |
| 654 | 664 | ||
| 665 | + | ||
| 666 | + | ||
| 667 | + | ||
| 668 | + | ||
| 669 | + @ApiOperation(value = "人才库列表", notes = "人才库列表", produces = "text/plain") | ||
| 670 | + @GetMapping("/v1/talent/page") | ||
| 671 | + @PreAuthorize("hasRole('res-project-query')") | ||
| 672 | + @PageLayout( | ||
| 673 | + options = { | ||
| 674 | + @CmsOption(name = "发布简历", uriMappingMethod = "inviteCreateV1") | ||
| 675 | + }, | ||
| 676 | + columnOptions = { | ||
| 677 | + @CmsOption(name = "查看", uriMappingMethod = "getTalent"), | ||
| 678 | + @CmsOption(name = "上架", uriMappingMethod = "resUpperV1"), | ||
| 679 | + @CmsOption(name = "下架", uriMappingMethod = "resLowerV1"), | ||
| 680 | + @CmsOption(name = "首页推荐", uriMappingMethod = "resIndexYesV1"), | ||
| 681 | + @CmsOption(name = "取消推荐", uriMappingMethod = "resIndexNoV1"), | ||
| 682 | + @CmsOption(name = "修改", uriMappingMethod = "talentEditV1"), | ||
| 683 | + @CmsOption(name = "删除", uriMappingMethod = "talentDelV1", alert = "确定删除该记录吗?") | ||
| 684 | + } | ||
| 685 | + ) | ||
| 686 | + public JSONResult<Page<InviteResult>> talentListV1(PageParam pageParam, TalentQueryParam param) { | ||
| 687 | + talentQueryHandle(param); | ||
| 688 | + Page<InviteResult> page = jpaPageConvertToPage(talentService.page(pageParam, param), pageParam, InviteResult.class); | ||
| 689 | + for (InviteResult inviteResult : page.getList()) { | ||
| 690 | + if (inviteResult.getPublisher() > 0) { | ||
| 691 | + inviteResult.setAccount(memberService.accessObject(inviteResult.getPublisher()).getPhone()); | ||
| 692 | + } else { | ||
| 693 | + inviteResult.setAccount("平台"); | ||
| 694 | + } | ||
| 695 | + inviteResult.setAddress(areaService.addressSplicing(inviteResult.getProvinceId(), inviteResult.getCityId(), inviteResult.getAreaId())); | ||
| 696 | + inviteResult.setVerifyTitle(SystemConst.verifyHandle(inviteResult.getVerify())); | ||
| 697 | + inviteResult.setUpperTitle(SystemConst.statusUpperHandle(inviteResult.getUpperStatus())); | ||
| 698 | + inviteResult.setPublicityTitle(SystemConst.publicityHandle(inviteResult.getPublicity())); | ||
| 699 | + inviteResult.setStartEndDate(String.format("%s - %s", inviteResult.getStartDate(), inviteResult.getEndDate())); | ||
| 700 | + inviteResult.setHandleTotal(inviteResult.getPublicity().equals(SystemConst.PUBLICITY_PUBLIC) ? 0 : | ||
| 701 | + propertyApplyService.countByVerifyStatus(PropertyApply.RESOURCE_TYPE_INVITE, inviteResult.getId()).intValue()); | ||
| 702 | + } | ||
| 703 | + return JSONResult.ok(page); | ||
| 704 | + } | ||
| 705 | + | ||
| 706 | + @ApiOperation(value = "修改简历信息", notes = "修改简历信息", produces = "text/plain") | ||
| 707 | + @PostMapping("/v1/talent/{id}") | ||
| 708 | + @PreAuthorize("hasRole('res-project-edit-v1')") | ||
| 709 | + @AOLog | ||
| 710 | + @EditAlertLayout( | ||
| 711 | + paddingMappingMethod = "getTalent" | ||
| 712 | + ) | ||
| 713 | + public JSONResult talentEditV1(@PathVariable Long id, @Valid @RequestBody TalentParam param) { | ||
| 714 | + TalentParamDTO talentParamDTO = convertTo(param, TalentParamDTO.class); | ||
| 715 | + talentService.updateTalent(id, talentParamDTO); | ||
| 716 | + return JSONResult.ok(); | ||
| 717 | + } | ||
| 718 | + | ||
| 719 | + @ApiOperation(value = "添加简历信息", notes = "添加简历信息", produces = "text/plain") | ||
| 720 | + @PutMapping("/v1/talent/add") | ||
| 721 | + @PreAuthorize("hasRole('res-project-create-v1')") | ||
| 722 | + @AOLog | ||
| 723 | + @EditLayout | ||
| 724 | + public JSONResult talentCreateV1(@Valid @RequestBody TalentParam param) { | ||
| 725 | + TalentParamDTO talentParamDTO = convertTo(param, TalentParamDTO.class); | ||
| 726 | + talentService.saveTalent(-1L, talentParamDTO); | ||
| 727 | + return JSONResult.ok(); | ||
| 728 | + } | ||
| 729 | + | ||
| 730 | + @ApiOperation(value = "删除简历信息", notes = "删除简历信息", produces = "text/plain") | ||
| 731 | + @DeleteMapping("/v1/talent/{id}") | ||
| 732 | + @PreAuthorize("hasRole('res-project-del-v1')") | ||
| 733 | + @AOLog | ||
| 734 | + public JSONResult talentDelV1(@PathVariable Long id) { | ||
| 735 | + talentService.removeById(id); | ||
| 736 | + return JSONResult.ok(); | ||
| 737 | + } | ||
| 738 | + | ||
| 739 | + @ApiOperation(value = "查看简历信息", notes = "查看简历信息", produces = "text/plain") | ||
| 740 | + @PreAuthorize("hasRole('res-project-query')") | ||
| 741 | + @GetMapping("/v1/talent/{id}") | ||
| 742 | + public JSONResult<TalentDetailsResult> getTalent(@PathVariable Long id) { | ||
| 743 | + Talent talent = talentService.accessObject(id); | ||
| 744 | + TalentDetailsResult talentDetailsResult = convertTo(talent, TalentDetailsResult.class); | ||
| 745 | + talentDetailsResult.setArea(areaService.accessObject(talent.getAreaId()).getCityName()); | ||
| 746 | + talentDetailsResult.setCity(areaService.accessObject(talent.getCityId()).getCityName()); | ||
| 747 | + talentDetailsResult.setProvince(areaService.accessObject(talent.getProvinceId()).getCityName()); | ||
| 748 | + | ||
| 749 | + return JSONResult.ok(talentDetailsResult); | ||
| 750 | + } | ||
| 751 | + | ||
| 655 | } | 752 | } |
| 656 | \ No newline at end of file | 753 | \ No newline at end of file |
boot-nunu/src/main/resources/application-dev.properties
| @@ -78,7 +78,7 @@ oss.aliyun.default-bucket-name=lhkjy | @@ -78,7 +78,7 @@ oss.aliyun.default-bucket-name=lhkjy | ||
| 78 | oss.aliyun.default-cdn-domain=https://lhkjy.oss-cn-shenzhen.aliyuncs.com | 78 | oss.aliyun.default-cdn-domain=https://lhkjy.oss-cn-shenzhen.aliyuncs.com |
| 79 | 79 | ||
| 80 | #\u662F\u5426\u6253\u5F00swagger | 80 | #\u662F\u5426\u6253\u5F00swagger |
| 81 | -swagger.enable=false | 81 | +swagger.enable=true |
| 82 | 82 | ||
| 83 | #\u8BE5JWT\u7684\u7B7E\u53D1\u8005 | 83 | #\u8BE5JWT\u7684\u7B7E\u53D1\u8005 |
| 84 | security.rest.admin-iss=admin | 84 | security.rest.admin-iss=admin |