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 @@ |
| 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 @@ |
| 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 @@ |
| 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 | 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 @@ |
| 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 @@ |
| 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 | 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 @@ |
| 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 | 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 @@ |
| 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 | 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 @@ |
| 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 | 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 @@ |
| 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 | 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 | import com.softwarebr.nunu.dto.res.InviteParamDTO; |
| 18 | 18 | import com.softwarebr.nunu.dto.res.ProjectParamDTO; |
| 19 | 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 | 22 | import com.softwarebr.nunu.globals.SystemConst; |
| 25 | 23 | import com.softwarebr.nunu.json.admin.res.*; |
| 26 | 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 | 26 | import com.softwarebr.nunu.service.user.MemberService; |
| 32 | 27 | import com.softwarebr.nunu.util.AmountConversionUtil; |
| 33 | 28 | import io.swagger.annotations.Api; |
| ... | ... | @@ -66,6 +61,9 @@ public class AdminResController { |
| 66 | 61 | private InviteService inviteService; |
| 67 | 62 | |
| 68 | 63 | @Autowired |
| 64 | + private TalentService talentService; | |
| 65 | + | |
| 66 | + @Autowired | |
| 69 | 67 | private MemberService memberService; |
| 70 | 68 | |
| 71 | 69 | @Autowired |
| ... | ... | @@ -121,6 +119,18 @@ public class AdminResController { |
| 121 | 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 | 134 | @ApiOperation(value = "项目需求资源列表", notes = "项目需求资源列表", produces = "text/plain") |
| 125 | 135 | @GetMapping("/v1/project/page") |
| 126 | 136 | @AdminMenu(menuName = "创新资源交易区管理", order = 1, url = "TransactionReview") |
| ... | ... | @@ -652,4 +662,91 @@ public class AdminResController { |
| 652 | 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 | 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 | 78 | oss.aliyun.default-cdn-domain=https://lhkjy.oss-cn-shenzhen.aliyuncs.com |
| 79 | 79 | |
| 80 | 80 | #\u662F\u5426\u6253\u5F00swagger |
| 81 | -swagger.enable=false | |
| 81 | +swagger.enable=true | |
| 82 | 82 | |
| 83 | 83 | #\u8BE5JWT\u7684\u7B7E\u53D1\u8005 |
| 84 | 84 | security.rest.admin-iss=admin | ... | ... |