From 3c3e64f2beb1ab99e5ba57af53561597af1e90f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=8C=E5=85=88=E8=88=9C?= <2499071264@qq.com> Date: Mon, 28 Sep 2026 14:27:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=A7=BB=E5=8A=A8=E7=AB=AF-=E5=8D=8F?= =?UTF-8?q?=E4=BC=9A=E5=AE=A1=E6=A0=B8-=E9=80=80=E5=9B=9E-=E6=8B=92?= =?UTF-8?q?=E7=BB=9D-=E9=80=9A=E8=BF=87=E5=AE=8C=E6=95=B4=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apply/ClubUserJoinApplyController.java | 17 ++++++++++++- .../platform/zhghh5/club/apply/index.html | 24 +++++++++++++++++-- .../platform/zhghh5/club/audit/index.html | 23 ++++++++++++------ .../zhghh5/club/common/clubUserJoin.js | 18 ++++++++++++++ .../platform/zhghh5/club/mine/index.html | 3 +++ 5 files changed, 75 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java index aa60855..8ef0582 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java @@ -12,6 +12,7 @@ import com.budwk.app.bpm.service.BpmService; import com.budwk.app.sys.models.Sys_user; import com.budwk.app.sys.models.Sys_user_role; import com.budwk.app.sys.services.SysMsgService; +import com.budwk.app.web.commons.auth.utils.AuthUtil; import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.web.controllers.open.commons.service.CommonService; import com.budwk.app.zhgh.club.model.ClubUser; @@ -63,6 +64,7 @@ public class ClubUserJoinApplyController { Sql sql = Sqls.create(""" SELECT cua.*, + club.clubName, u.loginname AS loginName, u.username AS userName, u.sex, @@ -74,6 +76,7 @@ public class ClubUserJoinApplyController { FROM club_user_apply cua LEFT JOIN vw_user u ON u.id = cua.userId + LEFT JOIN sys_club club ON club.id = cua.clubId WHERE cua.id = @id """).setParam("id", id); sql.setCallback(Sqls.callback.map()); @@ -87,10 +90,22 @@ public class ClubUserJoinApplyController { @SaCheckPermission("club.join.apply") @Aop(TransAop.READ_COMMITTED) public Result submit(ClubUserApply clubUserApply) { + if (StrUtil.isNotBlank(clubUserApply.getId())) { + ClubUserApply existingApply = dao.fetch(ClubUserApply.class, clubUserApply.getId()); + if (existingApply == null || !StrUtil.equals(existingApply.getUserId(), clubUserApply.getUserId()) + || (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name()) && !StrUtil.equals(existingApply.getUserId(), SecurityUtil.getUserId()))) { + return Result.error("申请不存在或无权编辑!"); + } + BpmProcessInstance existingInstance = dao.fetch(BpmProcessInstance.class, Cnd.where(BpmProcessInstance::getProcessInstanceBusinessId, "=", existingApply.getId())); + if (existingInstance == null || existingInstance.getProcessInstanceNodeCode() == null + || !List.of(10, 40, 70).contains(existingInstance.getProcessInstanceNodeCode())) { + return Result.error("当前申请状态不允许编辑提交!"); + } + } Sys_user user = dao.fetch(Sys_user.class, Cnd.where("id", "=", clubUserApply.getUserId())); if (!user.getMember() && !("劳务派遣一类".equals(user.getPreparedBy()) || "劳务派遣二类".equals(user.getPreparedBy()))) return Result.error("暂无申请加入协会资格!"); - ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", clubUserApply.getUserId()).and("clubId", "=", clubUserApply.getClubId()).and("mode", "=", 1).desc(ClubUserApply::getApplyDate)); + ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", clubUserApply.getUserId()).and("clubId", "=", clubUserApply.getClubId()).and("mode", "=", 1).andEX("id", "!=", clubUserApply.getId()).desc(ClubUserApply::getApplyDate)); if (ObjectUtil.isNotEmpty(userApply) && StrUtil.isNotBlank(userApply.getId())) { BpmProcessInstance processInstance = dao.fetch(BpmProcessInstance.class, Cnd.where(BpmProcessInstance::getProcessInstanceBusinessId, "=", userApply.getId())); if (!processInstance.getProcessInstanceStatus().equals(BpmProcessInstanceStatusEnum.COMPLETED.name())) { diff --git a/src/main/resources/views/platform/zhghh5/club/apply/index.html b/src/main/resources/views/platform/zhghh5/club/apply/index.html index cc88864..0820467 100644 --- a/src/main/resources/views/platform/zhghh5/club/apply/index.html +++ b/src/main/resources/views/platform/zhghh5/club/apply/index.html @@ -203,7 +203,7 @@ layout("/layouts/platform_h5.html"){