diff --git a/boot-nunu/src/main/java/com/softwarebr/nunu/entity/res/Talent.java b/boot-nunu/src/main/java/com/softwarebr/nunu/entity/res/Talent.java index 84eb0a9..713bf5b 100644 --- a/boot-nunu/src/main/java/com/softwarebr/nunu/entity/res/Talent.java +++ b/boot-nunu/src/main/java/com/softwarebr/nunu/entity/res/Talent.java @@ -20,7 +20,7 @@ import java.time.LocalDateTime; @Data @NoArgsConstructor @AllArgsConstructor -@Table(name="res_invite") +@Table(name="res_talent") @Builder public class Talent { diff --git a/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentParam.java b/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentParam.java index eff6abb..addf69d 100644 --- a/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentParam.java +++ b/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentParam.java @@ -29,15 +29,12 @@ public class TalentParam { private String birthDay; @ApiModelProperty(value = "期望工作省份", required = true, example = "") - @NotNull(message = "请选择期望工作省份") private Long provinceId; @ApiModelProperty(value = "期望工作城市", required = true, example = "") - @NotNull(message = "请选择期望工作城市") private Long cityId; @ApiModelProperty(value = "期望工作区县", required = true, example = "") - @NotNull(message = "请选择期望工作区县") private Long areaId; @ApiModelProperty(value = "擅长领域", required = true, example = "") diff --git a/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentQueryParam.java b/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentQueryParam.java index e9c96d8..84d2a70 100644 --- a/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentQueryParam.java +++ b/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentQueryParam.java @@ -22,8 +22,14 @@ public class TalentQueryParam { @ApiModelProperty(value = "账号", example = "") private String account; + + @ParamQuery(expression = QueryExpression.goe) + @ApiModelProperty(value = "发布者", hidden = true, example = "") + private Long publisher; + + @ParamQuery - @ApiModelProperty(value = "审核状态(1待审核 2审核通过 3审核不通过)", hidden = true, example = "") + @ApiModelProperty(value = "审核状态(1待审核 2审核通过 3审核不通过)", example = "") private Integer verify; @ParamQuery diff --git a/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentResult.java b/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentResult.java index 4e6a574..a827de9 100644 --- a/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentResult.java +++ b/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/TalentResult.java @@ -22,10 +22,17 @@ public class TalentResult { @ApiModelProperty(value = "序号", required = true, example = "1") private Long id; + @ApiModelProperty(value = "发布者", required = true, example = "") + @HideColumn() + private Long publisher; + @ApiModelProperty(value = "账号", required = true, example = "") + private String account; + + @ApiModelProperty(value = "姓名", required = true, example = "") private String name; - @ApiModelProperty(value = "招聘封面图", required = true, example = "") + @ApiModelProperty(value = "简历封面图", required = true, example = "") private String coverUri; @ApiModelProperty(value = "擅长领域", required = true, example = "") @@ -35,6 +42,10 @@ public class TalentResult { @ApiModelProperty(value = "时间", required = true, example = "2018-03-12 21:32:33") private LocalDateTime createDate; + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "审核时间", required = true, example = "2018-03-12 21:32:33") + private LocalDateTime verifyDate; + @ApiModelProperty(value = "公开状态", required = true, example = "") private String publicityTitle; @@ -44,9 +55,6 @@ public class TalentResult { @ApiModelProperty(value = "上架状态", required = true, example = "") private String upperTitle; - @ApiModelProperty(value = "待处理数量", required = true, example = "") - private Integer handleTotal; - @ApiModelProperty(value = "是否推荐至首页(0否 1是)", required = true, example = "") @HideColumn(selectShow = false) private Integer indexType; diff --git a/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/VerifyParam.java b/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/VerifyParam.java index f5c49be..ca7a512 100644 --- a/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/VerifyParam.java +++ b/boot-nunu/src/main/java/com/softwarebr/nunu/json/admin/res/VerifyParam.java @@ -19,7 +19,7 @@ public class VerifyParam { @NotNull private Long id; - @ApiModelProperty(value = "类型 1.项目资源2.招聘资源3.载体资源", required = true, example = "") + @ApiModelProperty(value = "类型 1.项目资源2.招聘资源3.载体资源4.人才库", required = true, example = "") @NotNull private Integer type; diff --git a/boot-nunu/src/main/java/com/softwarebr/nunu/service/res/TalentService.java b/boot-nunu/src/main/java/com/softwarebr/nunu/service/res/TalentService.java index c14b50d..4d1499c 100644 --- a/boot-nunu/src/main/java/com/softwarebr/nunu/service/res/TalentService.java +++ b/boot-nunu/src/main/java/com/softwarebr/nunu/service/res/TalentService.java @@ -12,7 +12,38 @@ import com.softwarebr.nunu.entity.res.Talent; public interface TalentService extends EntityService { + /** + * 保存 + */ void saveTalent(Long publisher, TalentParamDTO talentParamDTO); + /** + * 更新 + */ void updateTalent(Long id, TalentParamDTO talentParamDTO); + + /** + * 上架 + */ + void talentUpperShelf(Long id); + + /** + * 下架 + */ + void talentLowerShelf(Long id); + + /** + * 推荐到首页 + */ + void talentIndexYes(Long id); + + /** + * 取消推荐到首页 + */ + void talentIndexNo(Long id); + + /** + * 审核 + */ + void talentVerify(Long id, Integer verify, String verifyRemark); } \ No newline at end of file diff --git a/boot-nunu/src/main/java/com/softwarebr/nunu/service/res/impl/TalentServiceImpl.java b/boot-nunu/src/main/java/com/softwarebr/nunu/service/res/impl/TalentServiceImpl.java index 84974ec..4ecc73f 100644 --- a/boot-nunu/src/main/java/com/softwarebr/nunu/service/res/impl/TalentServiceImpl.java +++ b/boot-nunu/src/main/java/com/softwarebr/nunu/service/res/impl/TalentServiceImpl.java @@ -3,26 +3,13 @@ package com.softwarebr.nunu.service.res.impl; import com.brframework.common.utils.ConvertObjectUtil; import com.brframework.commondb.core.AbstractEntityService; import com.brframework.commondb.core.CommonRepository; -import com.brframework.commondb.core.ControllerPageHandle; import com.brframework.commonmq.annotation.MQConfig; -import com.brframework.commonmq.core.MQClient; import com.brframework.commonweb.exception.HandleException; -import com.google.common.base.Splitter; -import com.softwarebr.nunu.dao.res.InviteDao; import com.softwarebr.nunu.dao.res.TalentDao; -import com.softwarebr.nunu.dto.res.InviteParamDTO; import com.softwarebr.nunu.dto.res.TalentParamDTO; -import com.softwarebr.nunu.entity.res.Invite; -import com.softwarebr.nunu.entity.res.PropertyApply; import com.softwarebr.nunu.entity.res.Talent; -import com.softwarebr.nunu.entity.user.Message; -import com.softwarebr.nunu.globals.MQTopics; import com.softwarebr.nunu.globals.SystemConst; -import com.softwarebr.nunu.json.api.center.InviteDetailsResult; -import com.softwarebr.nunu.service.res.InviteService; -import com.softwarebr.nunu.service.res.PropertyApplyService; import com.softwarebr.nunu.service.res.TalentService; -import com.softwarebr.nunu.service.user.MessageService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -56,12 +43,14 @@ public class TalentServiceImpl extends AbstractEntityService 0) { talent.setVerify(SystemConst.VERIFY_AWAIT); @@ -73,10 +62,81 @@ public class TalentServiceImpl extends AbstractEntityService 0) { +// mqClient.publish(MQTopics.MEMBER_SEND_MESSAGE, messageService.sendMessageJSON(talent.getPublisher(), Message.MESSAGE_TYPE_VERIFY, +// "交易需求审核提醒", description, Message.MESSAGE_TARGET_TYPE_ONE_INVITE, talent.getId().toString())); +// } + } } \ No newline at end of file diff --git a/boot-nunu/src/main/java/com/softwarebr/nunu/web/admin/AdminResController.java b/boot-nunu/src/main/java/com/softwarebr/nunu/web/admin/AdminResController.java index d225b1a..4f291f3 100644 --- a/boot-nunu/src/main/java/com/softwarebr/nunu/web/admin/AdminResController.java +++ b/boot-nunu/src/main/java/com/softwarebr/nunu/web/admin/AdminResController.java @@ -397,7 +397,7 @@ public class AdminResController { @PostMapping("/v1/res/upper/{id}/{type}") @AOLog public JSONResult resUpperV1(@PathVariable Long id, - @ApiParam("类型 1.项目资源2.招聘资源3.载体资源") @PathVariable int type) { + @ApiParam("类型 1.项目资源2.招聘资源3.载体资源4.人才库简历") @PathVariable int type) { switch (type) { case 1: projectService.projectUpperShelf(id); @@ -408,6 +408,10 @@ public class AdminResController { case 3: propertyService.propertyUpperShelf(id); break; + case 4: + talentService.talentUpperShelf(id); + break; + } return JSONResult.ok(); } @@ -417,7 +421,7 @@ public class AdminResController { @PostMapping("/v1/res/lower/{id}/{type}") @AOLog public JSONResult resLowerV1(@PathVariable Long id, - @ApiParam("类型 1.项目资源2.招聘资源3.载体资源") @PathVariable int type) { + @ApiParam("类型 1.项目资源2.招聘资源3.载体资源4.人才库简历") @PathVariable int type) { switch (type) { case 1: projectService.projectLowerShelf(id); @@ -428,6 +432,9 @@ public class AdminResController { case 3: propertyService.propertyLowerShelf(id); break; + case 4: + talentService.talentLowerShelf(id); + break; } return JSONResult.ok(); } @@ -437,7 +444,7 @@ public class AdminResController { @PostMapping("/v1/res/index/yes/{id}/{type}") @AOLog public JSONResult resIndexYesV1(@PathVariable Long id, - @ApiParam("类型 1.项目资源2.招聘资源3.载体资源") @PathVariable int type) { + @ApiParam("类型 1.项目资源2.招聘资源3.载体资源4.人才库简历") @PathVariable int type) { switch (type) { case 1: projectService.projectIndexYes(id); @@ -448,6 +455,9 @@ public class AdminResController { case 3: propertyService.propertyIndexYes(id); break; + case 4: + talentService.talentIndexYes(id); + break; } return JSONResult.ok(); } @@ -457,7 +467,7 @@ public class AdminResController { @PostMapping("/v1/res/index/no/{id}/{type}") @AOLog public JSONResult resIndexNoV1(@PathVariable Long id, - @ApiParam("类型 1.项目资源2.招聘资源3.载体资源") @PathVariable int type) { + @ApiParam("类型 1.项目资源2.招聘资源3.载体资源4.人才库简历") @PathVariable int type) { switch (type) { case 1: projectService.projectIndexNo(id); @@ -468,6 +478,9 @@ public class AdminResController { case 3: propertyService.propertyIndexNo(id); break; + case 4: + talentService.talentIndexNo(id); + break; } return JSONResult.ok(); } @@ -512,6 +525,9 @@ public class AdminResController { case 3: propertyService.propertyVerify(param.getId(), param.getVerify(), param.getVerifyRemark()); break; + case 4: + talentService.talentVerify(param.getId(), param.getVerify(), param.getVerifyRemark()); + break; } return JSONResult.ok(); } @@ -663,6 +679,46 @@ public class AdminResController { } + @ApiOperation(value = "人才库简历审核列表", notes = "人才库简历审核列表", produces = "text/plain") + @GetMapping("/v1/talent/verify/page") + @PreAuthorize("hasRole('res-project-verify-query')") + @PageLayout( + columnOptions = { + @CmsOption(name = "查看", uriMappingMethod = "getTalent"), + @CmsOption(name = "审核", uriMappingMethod = "resVerifyV1") + } + ) + public JSONResult> talentVerifyListV1(PageParam pageParam, TalentQueryParam param) { + Page page = jpaPageConvertToPage(talentService.page(pageParam, param), pageParam, TalentResult.class); + for (TalentResult inviteResult : page.getList()) { + if (inviteResult.getPublisher() > 0) { + inviteResult.setAccount(memberService.accessObject(inviteResult.getPublisher()).getPhone()); + } + if (inviteResult.getPublisher() > 0) { + inviteResult.setAccount(memberService.accessObject(inviteResult.getPublisher()).getPhone()); + } else { + inviteResult.setAccount("平台"); + } + inviteResult.setVerifyTitle(SystemConst.verifyHandle(inviteResult.getVerify())); + } + return JSONResult.ok(page); + } + + @ApiOperation(value = "人才库简历审核状态数据统计", notes = "人才库简历审核状态数据统计", produces = "text/plain") + @PreAuthorize("hasRole('res-project-verify-query')") + @GetMapping("/v1/talent/verify/count") + public JSONResult geTalentVerifyCount(TalentQueryParam param) { + VerifyPageTotal verifyPageResult = new VerifyPageTotal(); + verifyPageResult.setTotalCount(talentService.count(param)); + param.setVerify(SystemConst.VERIFY_AWAIT); + verifyPageResult.setVerifyAwaitCount(talentService.count(param)); + param.setVerify(SystemConst.VERIFY_ADOPT); + verifyPageResult.setVerifyAdoptCount(talentService.count(param)); + param.setVerify(SystemConst.VERIFY_REJECT); + verifyPageResult.setVerifyRejectCount(talentService.count(param)); + return JSONResult.ok(verifyPageResult); + } + @@ -671,7 +727,7 @@ public class AdminResController { @PreAuthorize("hasRole('res-project-query')") @PageLayout( options = { - @CmsOption(name = "发布简历", uriMappingMethod = "inviteCreateV1") + @CmsOption(name = "发布简历", uriMappingMethod = "talentCreateV1") }, columnOptions = { @CmsOption(name = "查看", uriMappingMethod = "getTalent"), @@ -683,22 +739,18 @@ public class AdminResController { @CmsOption(name = "删除", uriMappingMethod = "talentDelV1", alert = "确定删除该记录吗?") } ) - public JSONResult> talentListV1(PageParam pageParam, TalentQueryParam param) { + public JSONResult> talentListV1(PageParam pageParam, TalentQueryParam param) { talentQueryHandle(param); - Page page = jpaPageConvertToPage(talentService.page(pageParam, param), pageParam, InviteResult.class); - for (InviteResult inviteResult : page.getList()) { - if (inviteResult.getPublisher() > 0) { - inviteResult.setAccount(memberService.accessObject(inviteResult.getPublisher()).getPhone()); + Page page = jpaPageConvertToPage(talentService.page(pageParam, param), pageParam, TalentResult.class); + for (TalentResult talentResult : page.getList()) { + if (talentResult.getPublisher() > 0) { + talentResult.setAccount(memberService.accessObject(talentResult.getPublisher()).getPhone()); } else { - inviteResult.setAccount("平台"); + talentResult.setAccount("平台"); } - inviteResult.setAddress(areaService.addressSplicing(inviteResult.getProvinceId(), inviteResult.getCityId(), inviteResult.getAreaId())); - inviteResult.setVerifyTitle(SystemConst.verifyHandle(inviteResult.getVerify())); - inviteResult.setUpperTitle(SystemConst.statusUpperHandle(inviteResult.getUpperStatus())); - inviteResult.setPublicityTitle(SystemConst.publicityHandle(inviteResult.getPublicity())); - inviteResult.setStartEndDate(String.format("%s - %s", inviteResult.getStartDate(), inviteResult.getEndDate())); - inviteResult.setHandleTotal(inviteResult.getPublicity().equals(SystemConst.PUBLICITY_PUBLIC) ? 0 : - propertyApplyService.countByVerifyStatus(PropertyApply.RESOURCE_TYPE_INVITE, inviteResult.getId()).intValue()); + talentResult.setVerifyTitle(SystemConst.verifyHandle(talentResult.getVerify())); + talentResult.setUpperTitle(SystemConst.statusUpperHandle(talentResult.getUpperStatus())); + talentResult.setPublicityTitle(SystemConst.publicityHandle(talentResult.getPublicity())); } return JSONResult.ok(page); } @@ -720,8 +772,7 @@ public class AdminResController { @PutMapping("/v1/talent/add") @PreAuthorize("hasRole('res-project-create-v1')") @AOLog - @EditLayout - public JSONResult talentCreateV1(@Valid @RequestBody TalentParam param) { + public JSONResult talentCreateV1(@RequestBody TalentParam param) { TalentParamDTO talentParamDTO = convertTo(param, TalentParamDTO.class); talentService.saveTalent(-1L, talentParamDTO); return JSONResult.ok(); -- libgit2 0.21.2