Commit 6f651de3f70a832a6c778f05b62720b48cb3b7a0

Authored by zhengjun@51feijin.com
1 parent 79dbfcff

简历人才库

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