From 48fcdf853455903f416f42047f8c47964426f8a3 Mon Sep 17 00:00:00 2001 From: chenshaohua <635616957@qq.com> Date: Mon, 20 Jul 2026 12:18:51 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=88=91=E7=9A=84=E9=9D=A2=E8=AF=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=82=80=E7=BA=A6=E6=9C=AA=E8=AF=BB=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=82=80=E7=BA=A6=E5=B7=B2=E8=AF=BB=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E6=89=B9=E9=87=8F=E5=B7=B2=E8=AF=BB=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=202.=E7=AE=A1=E7=90=86=E7=AB=AF=E9=9D=A2=E8=AF=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=8F=9C=E5=8D=95=E6=B7=BB=E5=8A=A0=E5=B7=B2?= =?UTF-8?q?=E6=8E=A5=E5=8F=97=EF=BC=8C=E5=B7=B2=E6=8B=92=E7=BB=9D=E7=9A=84?= =?UTF-8?q?=E7=BA=A2=E6=A0=87=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/AppInterviewController.java | 15 +++++++ .../cms/CmsInterviewController.java | 16 ++++++++ .../ruoyi/cms/domain/vo/InviteCountDTO.java | 13 +++++++ .../cms/mapper/InterviewInvitationMapper.java | 5 +++ .../service/InterviewInvitationService.java | 7 ++++ .../impl/InterviewInvitationServiceImpl.java | 39 +++++++++++++++++-- .../cms/service/impl/JobApplyServiceImpl.java | 8 ++++ .../resources/mapper/app/AppUserMapper.xml | 3 +- .../mapper/app/InterviewInvitationMapper.xml | 9 +++++ .../common/core/domain/entity/MyChart.java | 1 + 10 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/vo/InviteCountDTO.java diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppInterviewController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppInterviewController.java index 5ec8fac..14af942 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppInterviewController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppInterviewController.java @@ -104,4 +104,19 @@ public class AppInterviewController extends BaseController { } return toAjax(rows); } + + @ApiOperation("更新已读状态") + @PutMapping("/isRead/{id}") + public AjaxResult updateRead(@PathVariable Long id) { + return success(interviewInvitationService.updateRead(id)); + } + + @ApiOperation("更新已读状态") + @PutMapping("/isReadAll") + public AjaxResult updateRead() { + if(!SiteSecurityUtils.isLogin()){ + return error("未登录"); + } + return success(interviewInvitationService.updateReadAll(SiteSecurityUtils.getUserId())); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsInterviewController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsInterviewController.java index 5ad5191..77860d5 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsInterviewController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsInterviewController.java @@ -8,6 +8,8 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -78,4 +80,18 @@ public class CmsInterviewController extends BaseController { { return AjaxResult.success(interviewInvitationService.getInterviewInvitationById(id)); } + + @ApiOperation("面试邀约红标消息数") + @PreAuthorize("@ss.hasPermi('cms:interview:msyyhbs')") + @GetMapping("/msyyhbs") + public AjaxResult msyyhbs() + { + if(!SecurityUtils.isLogin()){ + return error("未登录!"); + } + if(StringUtils.isBlank(SecurityUtils.getIdcard())){ + return error("未查询到社会信用代码!"); + } + return AjaxResult.success(interviewInvitationService.selectMsyyhbs(SecurityUtils.getIdcard())); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/vo/InviteCountDTO.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/vo/InviteCountDTO.java new file mode 100644 index 0000000..3838b30 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/vo/InviteCountDTO.java @@ -0,0 +1,13 @@ +package com.ruoyi.cms.domain.vo; + +import lombok.Data; + +/** + * 面试邀约拒绝数和接受数统计 + */ +@Data +public class InviteCountDTO { + private Long total; + private Long jss; + private Long jjs; +} \ No newline at end of file diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/InterviewInvitationMapper.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/InterviewInvitationMapper.java index 1f71192..a56c346 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/InterviewInvitationMapper.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/InterviewInvitationMapper.java @@ -3,10 +3,15 @@ package com.ruoyi.cms.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.cms.domain.InterviewInvitation; import com.ruoyi.cms.domain.vo.InterviewInvitationVO; +import com.ruoyi.cms.domain.vo.InviteCountDTO; +import org.apache.ibatis.annotations.Param; + import java.util.List; public interface InterviewInvitationMapper extends BaseMapper { List getInterviewInvitationList(InterviewInvitation interviewInvitation); List getInterviewInvitationVOList(InterviewInvitation interviewInvitation); + + InviteCountDTO selectMsyyhbs(@Param("idCard") String idCard); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/InterviewInvitationService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/InterviewInvitationService.java index 4ac77a8..43cc076 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/InterviewInvitationService.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/InterviewInvitationService.java @@ -2,6 +2,7 @@ package com.ruoyi.cms.service; import com.ruoyi.cms.domain.InterviewInvitation; import com.ruoyi.cms.domain.vo.InterviewInvitationVO; +import com.ruoyi.cms.domain.vo.InviteCountDTO; import java.util.List; @@ -29,4 +30,10 @@ public interface InterviewInvitationService { InterviewInvitationVO getInterviewInvitationVOById(Long id); int updateInterviewStatus(Long id, String status); + + int updateRead(Long id); + + int updateReadAll(Long userId); + + InviteCountDTO selectMsyyhbs(String idCard); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/InterviewInvitationServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/InterviewInvitationServiceImpl.java index 7bdbdeb..752d093 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/InterviewInvitationServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/InterviewInvitationServiceImpl.java @@ -1,11 +1,11 @@ package com.ruoyi.cms.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ruoyi.cms.domain.InterviewInvitation; -import com.ruoyi.cms.domain.Job; -import com.ruoyi.cms.domain.JobApply; -import com.ruoyi.cms.domain.Notice; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.cms.domain.*; import com.ruoyi.cms.domain.vo.InterviewInvitationVO; +import com.ruoyi.cms.domain.vo.InviteCountDTO; import com.ruoyi.cms.mapper.CompanyMapper; import com.ruoyi.cms.mapper.InterviewInvitationMapper; import com.ruoyi.cms.mapper.JobApplyMapper; @@ -312,4 +312,35 @@ public class InterviewInvitationServiceImpl implements InterviewInvitationServic notice.setNoticeContent(content.toString()); return notice; } + + @Override + public int updateRead(Long id) { + if (id == null) { + return 0; + } + LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(); + updateWrapper.eq(InterviewInvitation::getDelFlag,"0") + .eq(InterviewInvitation::getId, id) + .eq(InterviewInvitation::getIsRead, "0") + .set(InterviewInvitation::getIsRead, "1"); + return interviewInvitationMapper.update(null, updateWrapper); + } + + @Override + public int updateReadAll(Long userId) { + if (userId == null) { + return 0; + } + LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(); + updateWrapper.eq(InterviewInvitation::getDelFlag,"0") + .eq(InterviewInvitation::getUserId, userId) + .eq(InterviewInvitation::getIsRead, "0") + .set(InterviewInvitation::getIsRead, "1"); + return interviewInvitationMapper.update(null, updateWrapper); + } + + @Override + public InviteCountDTO selectMsyyhbs(String idCard){ + return interviewInvitationMapper.selectMsyyhbs(idCard); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobApplyServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobApplyServiceImpl.java index 4f4b4dd..58611a4 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobApplyServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobApplyServiceImpl.java @@ -41,6 +41,8 @@ public class JobApplyServiceImpl extends ServiceImpl im private AppUserJobComplaintMapper appUserJobComplaintMapper; @Autowired private AppUserBlockCompanyMapper appUserBlockCompanyMapper; + @Autowired + private InterviewInvitationMapper interviewInvitationMapper; /** * 查询岗位申请 @@ -123,6 +125,11 @@ public class JobApplyServiceImpl extends ServiceImpl im Integer blockCompanyCount=Math.toIntExact(appUserBlockCompanyMapper.selectCount( new LambdaQueryWrapper().eq(AppUserBlockCompany::getUserId, SiteSecurityUtils.getUserId()).eq(AppUserBlockCompany::getDelFlag, "0") )); + //面试邀约次数 + Integer interviewCount=Math.toIntExact(interviewInvitationMapper.selectCount( + new LambdaQueryWrapper().eq(InterviewInvitation::getUserId, SiteSecurityUtils.getUserId()).eq(InterviewInvitation::getDelFlag, "0") + .eq(InterviewInvitation::getIsRead,"0") + )); HashMap map = new HashMap<>(); map.put("applyCount", applyCount); map.put("collectionCount", collectionJobCount+collectionCompanyCount); @@ -130,6 +137,7 @@ public class JobApplyServiceImpl extends ServiceImpl im map.put("fairCollecitonCount", fairCollecitonCount); map.put("plaintCount", plaintCount); map.put("blockCompanyCount", blockCompanyCount); + map.put("interviewCount", interviewCount); return map; } diff --git a/ruoyi-bussiness/src/main/resources/mapper/app/AppUserMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/app/AppUserMapper.xml index 3fe3c95..ae700ba 100644 --- a/ruoyi-bussiness/src/main/resources/mapper/app/AppUserMapper.xml +++ b/ruoyi-bussiness/src/main/resources/mapper/app/AppUserMapper.xml @@ -122,12 +122,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -81,8 +82,16 @@ and t.user_id = #{userId} and t.apply_id = #{applyId} and t.status = #{status} + and t.is_read = #{isRead} order by t.create_time desc + + diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MyChart.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MyChart.java index d040a7a..615ded4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MyChart.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MyChart.java @@ -10,4 +10,5 @@ public class MyChart { private String yyy; private String yts;//已投诉 private String ypbqys;//已屏蔽 + private String msyywd;//面试邀约未读 }