From 0df2345b11da30af41dd5b30cb903bdf5798eb80 Mon Sep 17 00:00:00 2001 From: zhouhefeng Date: Thu, 28 Aug 2025 11:25:50 +0800 Subject: [PATCH] commit --- .../common/ClubCommonController.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/common/ClubCommonController.java b/src/main/java/com/budwk/app/zhgh/club/controller/common/ClubCommonController.java index f1ba868d..4586087b 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/common/ClubCommonController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/common/ClubCommonController.java @@ -1,12 +1,21 @@ package com.budwk.app.zhgh.club.controller.common; +import cn.dev33.satoken.annotation.SaCheckLogin; import cn.dev33.satoken.annotation.SaCheckPermission; +import com.budwk.app.base.constant.RoleConstant; import com.budwk.app.base.result.Result; import com.budwk.app.base.service.BaseService; import com.budwk.app.bpm.enums.BpmProcessInstanceStatusEnum; import com.budwk.app.bpm.enums.BpmProcessTaskStatusEnum; import com.budwk.app.flow.enums.ProcessInstanceStateEnum; +import com.budwk.app.sys.models.Sys_role; +import com.budwk.app.sys.models.Sys_user_role; +import com.budwk.app.sys.services.SysRoleService; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.zhgh.club.model.SysClub; +import com.budwk.app.zhgh.club.service.SysClubService; +import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; @@ -27,6 +36,11 @@ public class ClubCommonController { @Inject private BaseService baseService; + @Inject + private SysClubService sysClubService; + @Inject + private SysRoleService sysRoleService; + @At @SaCheckPermission("club") public Result listClub() { @@ -43,4 +57,28 @@ public class ClubCommonController { return Result.success(list); } + @At + @SaCheckLogin + public Result listClubByRole() { + Cnd cnd = Cnd.NEW(); + if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) { + Sys_role sysRole = sysRoleService.getByCode(RoleConstant.CLUB_PRESIDENT); + List userRoles = sysClubService.dao().query(Sys_user_role.class, Cnd.where("userId", "=", SecurityUtil.getUserId()).and("roleId", "=", sysRole.getId())); + List myClubId = userRoles.stream().map(Sys_user_role::getClubId).toList(); + cnd.and("c.id", "in", myClubId); + } + cnd.and("inst.state","=",ProcessInstanceStateEnum.FINISHED.getCode()); + Sql sql = Sqls.create(""" + SELECT + c.* + FROM + `sys_club` c + LEFT JOIN wf_process_instance inst ON inst.businessNo = c.id + $condition + """); + sql.setCondition(cnd); + List list = baseService.listVO(sql, SysClub.class); + return Result.success(list); + } + }