From 99bb6ca5b27eb768e4f60ae8be2f08d88ea271bb Mon Sep 17 00:00:00 2001 From: lapuda <577732344@qq.com> Date: Thu, 30 Jul 2026 10:21:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=8C=89=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E8=AF=81=E6=9F=A5=E8=AF=A2=E6=8E=A8=E9=80=81=E5=B2=97=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/cms/mapper/AppNoticeMapper.java | 6 +++ .../service/impl/AppNoticeServiceImpl.java | 9 +++- .../resources/mapper/app/AppNoticeMapper.xml | 53 ++++++++++++++++++- ...igration_job_push_record.test-executed.sql | 40 ++++++++++++++ 4 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 sql/migration_job_push_record.test-executed.sql diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/AppNoticeMapper.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/AppNoticeMapper.java index 4c58e09..1a4ba79 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/AppNoticeMapper.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/AppNoticeMapper.java @@ -66,4 +66,10 @@ public interface AppNoticeMapper extends BaseMapper public int deleteNoticeByIds(Long[] noticeIds); List recommend(@Param("jobTitle")String jobTitle,@Param("userId") Long userId); + + /** + * 按身份证号查询人才服务系统推送的有效岗位。 + */ + List recommendByIdNumber(@Param("jobTitle") String jobTitle, + @Param("idNumber") String idNumber); } 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 50523a2..50796f7 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 @@ -8,6 +8,7 @@ import com.ruoyi.cms.mapper.*; import com.ruoyi.cms.service.IAppNoticeService; import com.ruoyi.cms.util.notice.NoticeUtils; import com.ruoyi.cms.util.StringUtil; +import com.ruoyi.cms.util.RoleUtils; import com.ruoyi.common.core.domain.entity.AppUser; import com.ruoyi.common.utils.SiteSecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -164,6 +165,13 @@ public class AppNoticeServiceImpl implements IAppNoticeService @Override public List recommend(String jobTitle) { + String idNumber = RoleUtils.getAppCurrentUseridCard(); + if (idNumber != null && !idNumber.trim().isEmpty()) { + List pushedJobs = appNoticeMapper.recommendByIdNumber(jobTitle, idNumber); + if (!pushedJobs.isEmpty()) { + return pushedJobs; + } + } return appNoticeMapper.recommend(jobTitle,SiteSecurityUtils.getUserId()); } @@ -252,4 +260,3 @@ public class AppNoticeServiceImpl implements IAppNoticeService return t; } } - diff --git a/ruoyi-bussiness/src/main/resources/mapper/app/AppNoticeMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/app/AppNoticeMapper.xml index 1bf6e99..1e02afe 100644 --- a/ruoyi-bussiness/src/main/resources/mapper/app/AppNoticeMapper.xml +++ b/ruoyi-bussiness/src/main/resources/mapper/app/AppNoticeMapper.xml @@ -52,6 +52,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + insert into app_notice ( notice_title, @@ -96,4 +147,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - \ No newline at end of file + diff --git a/sql/migration_job_push_record.test-executed.sql b/sql/migration_job_push_record.test-executed.sql new file mode 100644 index 0000000..9996320 --- /dev/null +++ b/sql/migration_job_push_record.test-executed.sql @@ -0,0 +1,40 @@ +-- 执行状态:测试环境已执行 +-- 测试环境:test +-- 测试执行时间:2026-07-30 10:06:47 +0800 +-- 正式环境:未执行 +-- 石河子智慧就业:人才服务岗位推送关联表。 +-- 关联岗位 ID 与身份证号;is_push=0 表示未推送,is_push=1 表示已推送。 +-- 可重复执行,不写入业务测试数据。 + +BEGIN; + +SET LOCAL search_path = shz, public; + +CREATE SEQUENCE IF NOT EXISTS job_push_record_id_seq + START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; + +CREATE TABLE IF NOT EXISTS job_push_record ( + id BIGINT NOT NULL DEFAULT nextval('job_push_record_id_seq') PRIMARY KEY, + job_id BIGINT NOT NULL, + id_number VARCHAR(32) NOT NULL, + is_push SMALLINT NOT NULL DEFAULT 0, + push_time TIMESTAMP(0), + create_time TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, + remark VARCHAR(500) +); + +COMMENT ON TABLE job_push_record IS '人才服务岗位推送关联表'; +COMMENT ON COLUMN job_push_record.job_id IS '石河子岗位 ID,关联 job.job_id'; +COMMENT ON COLUMN job_push_record.id_number IS '被推送人的身份证号'; +COMMENT ON COLUMN job_push_record.is_push IS '是否已推送:0未推送,1已推送'; +COMMENT ON COLUMN job_push_record.push_time IS '最近一次推送时间'; + +CREATE UNIQUE INDEX IF NOT EXISTS uk_job_push_record_job_id_number + ON job_push_record (job_id, id_number); +CREATE INDEX IF NOT EXISTS idx_job_push_record_id_number + ON job_push_record (id_number); +CREATE INDEX IF NOT EXISTS idx_job_push_record_is_push + ON job_push_record (is_push); + +COMMIT;