diff --git a/src/main/java/com/budwk/app/flow/handler/FlowClubPresidentByArgsAssignmentHandler.java b/src/main/java/com/budwk/app/flow/handler/FlowClubPresidentByArgsAssignmentHandler.java index 60ee7a12..67b3983a 100644 --- a/src/main/java/com/budwk/app/flow/handler/FlowClubPresidentByArgsAssignmentHandler.java +++ b/src/main/java/com/budwk/app/flow/handler/FlowClubPresidentByArgsAssignmentHandler.java @@ -1,8 +1,12 @@ package com.budwk.app.flow.handler; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSON; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.budwk.app.base.constant.RoleConstant; import com.budwk.app.base.exception.BaseException; +import com.budwk.app.flow.constant.FlowConst; import com.budwk.app.flow.engine.AssignmentHandler; import com.budwk.app.flow.engine.core.Execution; import com.budwk.app.flow.engine.core.ServiceContext; @@ -10,6 +14,10 @@ import com.budwk.app.flow.engine.model.TaskModel; import com.budwk.app.sys.models.Sys_user; import com.budwk.app.sys.models.Sys_user_role; import com.budwk.app.web.controllers.open.commons.service.CommonService; +import com.budwk.app.zhgh.club.model.SysClubManager; +import org.nutz.json.Json; +import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; import java.util.List; @@ -19,14 +27,20 @@ import java.util.List; public class FlowClubPresidentByArgsAssignmentHandler implements AssignmentHandler { @Override public List assign(TaskModel model, Execution execution) { - String clubId = execution.getArgs().getStr("clubId"); - if (StrUtil.isBlank(clubId)) { + String clubId = execution.getArgs().getStr("clubId"); + + if (StrUtil.isBlank(clubId)) { throw new BaseException("参数 clubId 不能为空"); } CommonService commonService = ServiceContext.find(CommonService.class); List users = commonService.findUserInfoByRoleCode(Sys_user_role::getClubId, clubId, RoleConstant.CLUB_PRESIDENT); - return users.stream().map(Sys_user::getId).toList(); + + if(Lang.isEmpty(users)) { + throw new BaseException("未查询到相关审批人"); + } + + return users.stream().map(Sys_user::getId).toList(); } @Override diff --git a/src/main/java/com/budwk/app/web/controllers/open/commons/service/CommonService.java b/src/main/java/com/budwk/app/web/controllers/open/commons/service/CommonService.java index 69e93660..e647ee79 100644 --- a/src/main/java/com/budwk/app/web/controllers/open/commons/service/CommonService.java +++ b/src/main/java/com/budwk/app/web/controllers/open/commons/service/CommonService.java @@ -5,6 +5,7 @@ import com.budwk.app.base.service.BaseService; import com.budwk.app.sys.models.Sys_user; import com.budwk.app.sys.models.Sys_user_role; import org.nutz.dao.Cnd; +import org.nutz.dao.util.lambda.PFun; import javax.validation.Valid; import java.util.List; @@ -62,7 +63,7 @@ public interface CommonService extends BaseService { */ List findUserRoleByRoleCode(@Valid List roleCode); - List findUserInfoByRoleCode(Function column, String columnValue, RoleConstant... roleConstants); + List findUserInfoByRoleCode(PFun name, String columnValue, RoleConstant... roleConstants); /** diff --git a/src/main/java/com/budwk/app/web/controllers/open/commons/service/impl/CommonServiceImpl.java b/src/main/java/com/budwk/app/web/controllers/open/commons/service/impl/CommonServiceImpl.java index 072bd5b6..182aeba8 100644 --- a/src/main/java/com/budwk/app/web/controllers/open/commons/service/impl/CommonServiceImpl.java +++ b/src/main/java/com/budwk/app/web/controllers/open/commons/service/impl/CommonServiceImpl.java @@ -14,10 +14,13 @@ import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.lambda.LambdaQuery; +import org.nutz.dao.util.lambda.PFun; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.function.Function; @@ -85,9 +88,15 @@ public class CommonServiceImpl extends BaseServiceImpl implements CommonService } @Override - public List findUserInfoByRoleCode(Function column, String columnValue, RoleConstant... roleConstant) { + public List findUserInfoByRoleCode(PFun name, String columnValue, RoleConstant... roleConstant) { + String column = LambdaQuery.resolve(name); - return null; + List list = Arrays.stream(roleConstant).map(o -> { + Sys_role role = sysRoleService.getByCode(o.name()); + return role.getId(); + }).toList(); + + return findUserInfoByRoleCode(column, columnValue, list); } @Override 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 9013964a..4c7f20d7 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 @@ -128,6 +128,7 @@ public class ClubUserJoinApplyController { Dict args = Dict.create(); args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode()); args.set(FlowConst.FORM_DATA, clubUserApply); + args.set("clubId", clubUserApply.getClubId()); ProcessInstance instance = flowEngine.startProcessInstanceByKey("XHRH", clubUserApply.getId(), SecurityUtil.getUserId(), args); // 自动完成第一个申请任务