diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppUserController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppUserController.java index 9035e13..deb5fa3 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppUserController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppUserController.java @@ -62,7 +62,6 @@ public class AppUserController extends BaseController @ApiOperation("保存简历") @PostMapping("/resume") - @BussinessLog(title = "保存简历") public AjaxResult saveResume(@RequestBody AppUser appUser) { appUser.setUserId(SiteSecurityUtils.getUserId()); diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsNoticeController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsNoticeController.java index 2dbf243..ca68ca6 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsNoticeController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsNoticeController.java @@ -1,12 +1,19 @@ package com.ruoyi.cms.controller.cms; import com.ruoyi.cms.domain.AppNotice; +import com.ruoyi.cms.domain.Notice; import com.ruoyi.cms.service.IAppNoticeService; +import com.ruoyi.cms.service.IAppUserService; +import com.ruoyi.cms.util.RoleUtils; import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.AppUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -25,6 +32,8 @@ public class CmsNoticeController extends BaseController { @Autowired private IAppNoticeService noticeService; + @Autowired + private IAppUserService appUserService; /** * 获取通知公告列表 @@ -82,4 +91,47 @@ public class CmsNoticeController extends BaseController { return toAjax(noticeService.deleteNoticeByIds(noticeIds)); } + + + @ApiOperation("pc端获取未读消息") + @GetMapping("/appNoticList") + public TableDataInfo list(Notice notice) + { + if(!SecurityUtils.isLogin()){ + error(HttpStatus.ERROR,"未登录!"); + } + if(notice.getUserId()==null){ + String idCard= RoleUtils.getCurrentUseridCard(); + AppUser appUser=appUserService.selectAppuserByIdcard(idCard); + if(appUser==null){ + error(HttpStatus.ERROR,"用户信息未完善,请完善身份证信息!"); + }else{ + notice.setUserId(appUser.getUserId()); + } + } + startPage(); + List notices = noticeService.selectListAppNotRead(notice); + return getDataTable(notices); + } + + @ApiOperation("系统通知标记已读") + @PostMapping("/read/sysNotice") + public AjaxResult sysNotice(@RequestParam String id) + { + Long userId=null; + if(!SecurityUtils.isLogin()){ + return AjaxResult.error("未登录!"); + } + if(userId==null){ + String idCard= RoleUtils.getCurrentUseridCard(); + AppUser appUser=appUserService.selectAppuserByIdcard(idCard); + if(appUser==null){ + return AjaxResult.error("用户信息未完善,请完善身份证信息!"); + }else{ + userId=appUser.getUserId(); + } + } + noticeService.readSysNotices(id,userId); + return AjaxResult.success(); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IAppNoticeService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IAppNoticeService.java index ed6d999..9e368c7 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IAppNoticeService.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IAppNoticeService.java @@ -76,4 +76,8 @@ public interface IAppNoticeService void recommendJobCron(); void fairCompanyCron(); + + List selectListAppNotRead(Notice notice); + + void readSysNotices(String ids,Long userId); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppNoticeServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppNoticeServiceImpl.java index 09ac34d..4687d13 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppNoticeServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppNoticeServiceImpl.java @@ -198,5 +198,28 @@ public class AppNoticeServiceImpl implements IAppNoticeService List sysNoticeList = noticeInfoMapper.selectList(Wrappers.lambdaQuery().eq(Notice::getUserId, userId).isNotNull(Notice::getNoticeType).notIn(Notice::getNoticeType,"").orderByDesc(Notice::getCreateTime)); return sysNoticeList; } + + @Override + public List selectListAppNotRead(Notice notice) { + List sysNoticeList = noticeInfoMapper.selectList(Wrappers.lambdaQuery().eq(Notice::getUserId, notice.getUserId()).eq(Notice::getRemark,"notice_bar").orderByDesc(Notice::getCreateTime)); + return sysNoticeList; + } + + @Override + public void readSysNotices(String ids,Long userId) { + List longs = StringUtil.convertStringToLongList(ids); + List notices = noticeInfoMapper.selectBatchIds(longs); + notices.forEach(notice -> { + notice.setIsRead(1); + noticeInfoMapper.updateById(notice); + }); + List notices1 = noticeInfoMapper.selectList(Wrappers.lambdaQuery().eq(Notice::getUserId, userId).eq(Notice::getRemark, "notice_bar").eq(Notice::getTitle, "系统通知").orderByDesc(Notice::getCreateTime).last("limit 1")); + Notice notice = notices1.get(0); + notice.setNotReadCount(notice.getNotReadCount() - longs.size()); + if(notice.getNotReadCount()==0){ + notice.setIsRead(1); + } + noticeInfoMapper.updateById(notice); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java index ee73149..83bf534 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java @@ -55,7 +55,7 @@ public class ESJobSearchImpl implements IESJobSearchService /** * 项目启动时,初始化索引及数据 */ - @PostConstruct +// @PostConstruct public void init() { resetTextCache(); diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobCollectionServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobCollectionServiceImpl.java index d6cd440..45f501c 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobCollectionServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobCollectionServiceImpl.java @@ -15,6 +15,7 @@ import com.ruoyi.cms.mapper.JobApplyMapper; import com.ruoyi.cms.mapper.JobMapper; import com.ruoyi.cms.service.IBussinessDictTypeService; import com.ruoyi.common.core.domain.entity.AppUser; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SiteSecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -266,7 +267,7 @@ public class JobCollectionServiceImpl extends ServiceImpl= 22 && userAge <= 35) { matchScore += 1; @@ -292,7 +293,7 @@ public class JobCollectionServiceImpl extends ServiceImpl getAgeScore(u.getUser().getBirthDate())).average().orElse(0); + double avgAgeScore = userScores.stream().mapToInt(u -> getAgeScore(DateUtils.toDate(u.getUser().getBirthDate()))).average().orElse(0); double avgExperienceScore = userScores.stream().mapToInt(u -> getExperienceScore(u.getUser().getExperience(), job.getExperience(), experienceRank)).average().orElse(0); double avgEducationScore = userScores.stream().mapToInt(u -> getEducationScore(u.getUser().getEducation(), job.getEducation(), educationRank)).average().orElse(0); double avgSkillScore = userScores.stream().mapToInt(u -> getSkillScore(u.getUser(), job)).average().orElse(0); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/AppUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/AppUser.java index bc1902b..f304668 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/AppUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/AppUser.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.domain.entity; +import java.time.LocalDate; import java.util.Date; import java.util.List; @@ -45,7 +46,7 @@ public class AppUser extends BaseEntity @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd") @ApiModelProperty("生日") - private Date birthDate; + private LocalDate birthDate; @Excel(name = "学历 对应字典education") @ApiModelProperty("学历 对应字典education")