From 3a62826ed272ee0142c55352a1710f4226d8501a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E8=BE=89?= Date: Tue, 7 Jul 2026 15:41:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BDbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cms/controller/cms/ProjectController.java | 20 +++++++++++++++++++ .../java/com/ruoyi/cms/domain/Project.java | 3 +++ .../cms/service/impl/ProjectServiceImpl.java | 1 + sql/migration_project_add_company_id.sql | 13 ++++++++++++ 4 files changed, 37 insertions(+) create mode 100644 sql/migration_project_add_company_id.sql diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/ProjectController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/ProjectController.java index 042eea4..0a43211 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/ProjectController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/ProjectController.java @@ -1,14 +1,18 @@ package com.ruoyi.cms.controller.cms; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import com.ruoyi.cms.domain.Project; import com.ruoyi.cms.domain.ProjectComment; +import com.ruoyi.cms.service.ICompanyService; import com.ruoyi.cms.service.IProjectCommentService; import com.ruoyi.cms.service.IProjectService; +import com.ruoyi.cms.util.RoleUtils; +import com.ruoyi.common.core.domain.entity.Company; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -44,6 +48,9 @@ public class ProjectController extends BaseController @Autowired private IProjectCommentService projectCommentService; + @Autowired + private ICompanyService companyService; + /** * 获取项目的评论列表 */ @@ -83,6 +90,13 @@ public class ProjectController extends BaseController @GetMapping("/list") public TableDataInfo list(Project query) { + if (RoleUtils.isCompanyAdmin()) { + Company company = companyService.queryCodeCompany(RoleUtils.getCurrentUseridCard()); + if (company == null) { + return getDataTable(new ArrayList<>()); + } + query.setCompanyId(company.getCompanyId()); + } startPage(); List list = projectService.selectProjectList(query); return getDataTable(list); @@ -108,6 +122,12 @@ public class ProjectController extends BaseController @PostMapping public AjaxResult add(@RequestBody Project project) { + if (RoleUtils.isCompanyAdmin()) { + Company company = companyService.queryCodeCompany(RoleUtils.getCurrentUseridCard()); + if (company != null) { + project.setCompanyId(company.getCompanyId()); + } + } return toAjax(projectService.save(project)); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Project.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Project.java index 5d92f40..113ffda 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Project.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Project.java @@ -66,4 +66,7 @@ public class Project extends BaseEntity @ApiModelProperty("状态 0草稿 1发布") private String status; + + @ApiModelProperty("归属企业ID") + private Long companyId; } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ProjectServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ProjectServiceImpl.java index 5911dec..dd03254 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ProjectServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ProjectServiceImpl.java @@ -30,6 +30,7 @@ public class ProjectServiceImpl wrapper.eq(StringUtils.isNotBlank(query.getRegion()), Project::getRegion, query.getRegion()); wrapper.eq(StringUtils.isNotBlank(query.getCooperationMode()), Project::getCooperationMode, query.getCooperationMode()); wrapper.eq(StringUtils.isNotBlank(query.getStatus()), Project::getStatus, query.getStatus()); + wrapper.eq(query.getCompanyId() != null, Project::getCompanyId, query.getCompanyId()); wrapper.orderByDesc(Project::getCreateTime); return list(wrapper); } diff --git a/sql/migration_project_add_company_id.sql b/sql/migration_project_add_company_id.sql new file mode 100644 index 0000000..ff62574 --- /dev/null +++ b/sql/migration_project_add_company_id.sql @@ -0,0 +1,13 @@ +-- ===================================================== +-- 项目管理 - 新增企业归属字段 +-- 为企业管理员实现按企业账号隔离项目数据 +-- ===================================================== + +-- 添加 company_id 列 +ALTER TABLE shz.cms_project ADD COLUMN IF NOT EXISTS company_id BIGINT; + +-- 添加注释 +COMMENT ON COLUMN shz.cms_project.company_id IS '归属企业ID'; + +-- 创建索引 +CREATE INDEX IF NOT EXISTS idx_cms_project_company_id ON shz.cms_project(company_id);