diff --git a/src/main/java/io/v/nutz/base/utils/MsgApi.java b/src/main/java/io/v/nutz/base/utils/MsgApi.java index 4d41752..55a0cc6 100644 --- a/src/main/java/io/v/nutz/base/utils/MsgApi.java +++ b/src/main/java/io/v/nutz/base/utils/MsgApi.java @@ -57,50 +57,50 @@ public class MsgApi { * @description */ public void sendMsg(List channels, String loginNameStr, Integer mtype, String title, String content, String imageUrl,String link) { - try { - if (!Globals.MyConfig.getBoolean("SendMsg")) { - log.info("发送失败,消息暂未开启!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); - return; - } - - if (Globals.isEnv(Env.dev)) { - log.info("开发模式不允许发送短信!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); - return; - } - - if (StrUtil.isBlank(title)||StrUtil.isBlank(content) ||Lang.isEmpty(channels) || Lang.isEmpty(loginNameStr)) { - log.info("发送失败,缺少需要参数请检查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); - return; - } - - String msgToken = getMsgToken(); - NutMap map = new NutMap(); - map.put("channel", String.join(",", channels)); - //推送范围(1:普通模式;2:全体教师;3:全体学生;4:全体人员) - map.put("objScope", 1); - map.put("objIds", loginNameStr); - map.put("mtype", mtype); - map.put("sendStatus", 1); - map.put("title", title); - map.put("content", content); - map.put("imageUrl", imageUrl); - map.put("link", link); - - HttpRequest request = HttpUtil.createPost(MSG_API) - .header("token", msgToken) - .body(Json.toJson(map)); - JSONObject jsonObject = JSON.parseObject(request.execute().body()); - int status = jsonObject.getInteger("code"); - - if (status == 200) { - log.info("发送成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); - } else { - log.info("发送失败>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); - throw new RuntimeException("Message sending failed with status code: " + status + ", Message: " + jsonObject.getString("message")); - } - } catch (Exception e) { - e.printStackTrace(); - } +// try { +// if (!Globals.MyConfig.getBoolean("SendMsg")) { +// log.info("发送失败,消息暂未开启!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); +// return; +// } +// +// if (Globals.isEnv(Env.dev)) { +// log.info("开发模式不允许发送短信!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); +// return; +// } +// +// if (StrUtil.isBlank(title)||StrUtil.isBlank(content) ||Lang.isEmpty(channels) || Lang.isEmpty(loginNameStr)) { +// log.info("发送失败,缺少需要参数请检查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); +// return; +// } +// +// String msgToken = getMsgToken(); +// NutMap map = new NutMap(); +// map.put("channel", String.join(",", channels)); +// //推送范围(1:普通模式;2:全体教师;3:全体学生;4:全体人员) +// map.put("objScope", 1); +// map.put("objIds", loginNameStr); +// map.put("mtype", mtype); +// map.put("sendStatus", 1); +// map.put("title", title); +// map.put("content", content); +// map.put("imageUrl", imageUrl); +// map.put("link", link); +// +// HttpRequest request = HttpUtil.createPost(MSG_API) +// .header("token", msgToken) +// .body(Json.toJson(map)); +// JSONObject jsonObject = JSON.parseObject(request.execute().body()); +// int status = jsonObject.getInteger("code"); +// +// if (status == 200) { +// log.info("发送成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); +// } else { +// log.info("发送失败>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); +// throw new RuntimeException("Message sending failed with status code: " + status + ", Message: " + jsonObject.getString("message")); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } } diff --git a/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubRegistApplyController.java b/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubRegistApplyController.java index a649fb6..2394cfa 100644 --- a/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubRegistApplyController.java +++ b/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubRegistApplyController.java @@ -5,16 +5,22 @@ import io.v.nutz.base.annontation.ViReturn; import io.v.nutz.base.result.Result; import io.v.nutz.base.utils.DateUtil; import io.v.nutz.base.utils.Roles; +import io.v.nutz.base.utils.Vi; import io.v.nutz.sys.constant.club.ClubRegistAuditState; +import io.v.nutz.sys.controllers.platform.sys.handler.ClubRegisterApplyToDoHandler; import io.v.nutz.sys.models.*; import io.v.nutz.sys.services.SysClubService; import io.v.nutz.sys.services.SysDictService; import io.v.nutz.web.commons.controller.ViCommonCon; import io.v.nutz.web.commons.utils.ShiroUtil; +import io.v.nutz.zhgh.staffmanage.member.handle.MemberApplyToDoHandler; +import io.v.nutz.zhgh.staffmanage.member.service.MemberCommonService; import org.apache.shiro.authz.annotation.RequiresAuthentication; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.Lang; @@ -47,6 +53,9 @@ public class ClubRegistApplyController { @Inject private SysDictService sysDictService; + @Inject + private MemberCommonService memberCommonService; + @Inject private Dao dao; @@ -94,6 +103,31 @@ public class ClubRegistApplyController { club.setCreate_time(DateUtil.getDateTime()); Sys_club sysClub = sysClubService.insertWith(club, "sponsors"); + // 审核流程开始 + ClubRegisterApplyToDoHandler.START_PROCESS.exec(club, null); + if (club.getSponsorType() == 1){ + Sql sql = Sqls.create(""" + SELECT + u.loginname, + u.username + FROM + `sys_user_role` userRole + LEFT JOIN sys_role role ON role.id = userRole.roleId + LEFT JOIN `user` u ON u.id = userRole.userId + WHERE + role.`code` = 'BranchUnionMemberAdmin' and u.unionid = @unionId + group by u.loginname + """).setParam("unionId", Vi.getUnionId()); + List list = memberCommonService.listMap(sql); + + List unionLeaderLoginNames = list.stream().map(v -> v.getString("loginname")).toList(); + //分工会审核 + ClubRegisterApplyToDoHandler.CREATE_UNION_TASK.exec(club, NutMap.NEW().addv("unionLeaderLoginNames", unionLeaderLoginNames)); + }else{ + //校工会办公室主管审核 + ClubRegisterApplyToDoHandler.CREATE_XT_SCHOOL_TASK.exec(club, null); + } + //插入新建协会时填入的理事机构 List clubUsers = new ArrayList<>(); diff --git a/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubUnitPartAuditController.java b/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubUnitPartAuditController.java index fa88c83..b2c2346 100644 --- a/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubUnitPartAuditController.java +++ b/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubUnitPartAuditController.java @@ -6,15 +6,18 @@ import io.v.nutz.base.model.Audit; import io.v.nutz.base.query.PageForm; import io.v.nutz.base.utils.Vi; import io.v.nutz.sys.constant.club.ClubRegistAuditState; +import io.v.nutz.sys.controllers.platform.sys.handler.ClubRegisterApplyToDoHandler; import io.v.nutz.sys.models.Sys_club; import io.v.nutz.sys.services.SysClubService; import io.v.nutz.web.commons.utils.ShiroUtil; +import io.v.nutz.zhgh.staffmanage.member.handle.MemberApplyToDoHandler; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.nutz.dao.Chain; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; @@ -78,10 +81,16 @@ public class ClubUnitPartAuditController { if (pass == 1) { club.setState(ClubRegistAuditState.UNIT_PART_REJECTED); + //分工会审核拒绝 + ClubRegisterApplyToDoHandler.REFUSE_UNION_TASK.exec(club, NutMap.NEW().addv("nodeName","分工会拒绝")); } else if (pass == 2) { club.setState(ClubRegistAuditState.UNIT_PART_BACK_MODIFY); + //退回修改 + ClubRegisterApplyToDoHandler.CREATE_APPLY_RE_MODIFY_TASK.exec(club, NutMap.NEW().addv("nodeName","分工会退回修改")); } else { club.setState(ClubRegistAuditState.XT_READY); + //校办公室主管审核 + ClubRegisterApplyToDoHandler.CREATE_XT_SCHOOL_TASK.exec(club, null); } club.setUnitPartAuditId(audit.getId()); dao.updateIgnoreNull(club); diff --git a/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubXTAuditController.java b/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubXTAuditController.java index 3458655..8a11a83 100644 --- a/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubXTAuditController.java +++ b/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubXTAuditController.java @@ -6,6 +6,7 @@ import io.v.nutz.base.utils.Roles; import io.v.nutz.base.model.Audit; import io.v.nutz.base.query.PageForm; import io.v.nutz.sys.constant.club.ClubRegistAuditState; +import io.v.nutz.sys.controllers.platform.sys.handler.ClubRegisterApplyToDoHandler; import io.v.nutz.sys.models.Sys_club; import io.v.nutz.sys.services.SysClubService; import io.v.nutz.web.commons.utils.ShiroUtil; @@ -16,6 +17,7 @@ import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; @@ -76,10 +78,16 @@ public class ClubXTAuditController { if (pass == 1) { club.setState(ClubRegistAuditState.XT_REJECTED); + //校工会办公室主管审核拒绝 + ClubRegisterApplyToDoHandler.REFUSE_UNION_TASK.exec(club, NutMap.NEW().addv("nodeName","校工会办公室主管拒绝")); } else if (pass == 2) { club.setState(ClubRegistAuditState.XT_BACK_MODIFY); + //退回修改 + ClubRegisterApplyToDoHandler.CREATE_APPLY_RE_MODIFY_TASK.exec(club, NutMap.NEW().addv("nodeName","校办公室主管退回修改")); } else { club.setState(ClubRegistAuditState.XGH_READY); + //校工会审核 + ClubRegisterApplyToDoHandler.CREATE_SCHOOL_TASK.exec(club, null); } club.setXtAuditId(audit.getId()); club.setSchoolReplyFile(sys_club.getSchoolReplyFile()); diff --git a/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubXghReplyController.java b/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubXghReplyController.java index 4356829..cdfb941 100644 --- a/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubXghReplyController.java +++ b/src/main/java/io/v/nutz/sys/controllers/platform/sys/club/regist/ClubXghReplyController.java @@ -9,6 +9,7 @@ import io.v.nutz.base.utils.Roles; import io.v.nutz.base.model.Audit; import io.v.nutz.base.query.PageForm; import io.v.nutz.sys.constant.club.ClubRegistAuditState; +import io.v.nutz.sys.controllers.platform.sys.handler.ClubRegisterApplyToDoHandler; import io.v.nutz.sys.models.*; import io.v.nutz.sys.services.SysClubService; import io.v.nutz.sys.services.SysRoleService; @@ -22,6 +23,7 @@ import org.nutz.dao.Dao; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; @@ -91,12 +93,17 @@ public class ClubXghReplyController { club.setState(ClubRegistAuditState.XGH_REJECTED); dao.clear(Sys_user_role.class, Cnd.where("stid", "=", clubId) .and("roleid", "in", Lang.array(Roles.club01, Roles.club02, Roles.club03, Roles.club04))); + ClubRegisterApplyToDoHandler.REFUSE_UNION_TASK.exec(club, NutMap.NEW().addv("nodeName","校工会批复拒绝")); } else if (pass == 2) { club.setState(ClubRegistAuditState.XGH_BACK_MODIFY); dao.clear(Sys_user_role.class, Cnd.where("stid", "=", clubId) .and("roleid", "in", Lang.array(Roles.club01, Roles.club02, Roles.club03, Roles.club04))); + //退回修改 + ClubRegisterApplyToDoHandler.CREATE_APPLY_RE_MODIFY_TASK.exec(club, NutMap.NEW().addv("nodeName","校工会批复退回修改")); } else { club.setState(ClubRegistAuditState.SCHOOL_PASS); + //审核通过 + ClubRegisterApplyToDoHandler.COMPLETE_PROCESS.exec(club, null); //审核通过加角色 List userRoles = new ArrayList<>(); List sysClubUsers = dao.query(Sys_club_user.class, diff --git a/src/main/java/io/v/nutz/sys/controllers/platform/sys/handler/ClubRegisterApplyToDoHandler.java b/src/main/java/io/v/nutz/sys/controllers/platform/sys/handler/ClubRegisterApplyToDoHandler.java new file mode 100644 index 0000000..0fe30b0 --- /dev/null +++ b/src/main/java/io/v/nutz/sys/controllers/platform/sys/handler/ClubRegisterApplyToDoHandler.java @@ -0,0 +1,292 @@ +package io.v.nutz.sys.controllers.platform.sys.handler; + + +import io.v.nutz.base.utils.ViResource; +import io.v.nutz.sys.models.Sys_club; +import io.v.nutz.sys.models.Sys_role; +import io.v.nutz.sys.models.User; +import io.v.nutz.sys.services.SysLocalProcessService; +import io.v.nutz.sys.services.SysRoleService; +import io.v.nutz.sys.services.SysUserRoleService; +import io.v.nutz.sys.services.SysUserService; +import io.v.nutz.sys.services.impl.SysLocalProcessServiceImpl; +import io.v.nutz.sys.services.impl.SysRoleServiceImpl; +import io.v.nutz.sys.services.impl.SysUserRoleServiceImpl; +import io.v.nutz.web.commons.utils.ShiroUtil; +import io.v.nutz.zhgh.staffmanage.member.model.MemberApplyRecord; +import io.v.nutz.zhgh.staffmanage.member.service.MemberCommonService; +import io.v.nutz.zhgh.staffmanage.member.service.impl.MemberCommonServiceImpl; +import lombok.Getter; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.lang.util.NutMap; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author: JyuHsin + * @Date: 2025/3/10 14:50 + * @Version: v1.0.0 + * @Description: 协会注册申请流程 + **/ +@Getter +public enum ClubRegisterApplyToDoHandler { + /** + * 流程开始 + */ + START_PROCESS() { + @Override + public void exec(Sys_club club, NutMap extra) { + + localProcessService.startProcess( + "【协会注册申请】" + club.getName(), + "CLUB_APPLY@" + club.getId(), + "", + club.getUserid(), + "/platform/sys/club/clubMyApply", + "/platform/sys/club/clubMyApply" + ); + } + }, + + /** + * 审核拒绝,重新修改申请 + */ + CREATE_APPLY_RE_MODIFY_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + Sql sql = Sqls.fetchString(Sqls.create("select loginname from sys_user where id = @id").setParam("id", club.getConcatPerson()).toString()); + dao.execute(sql); + String loginname = sql.getString(); + + localProcessService.createTask( + "CLUB_APPLY@" + club.getId(), + "CLUB_APPLY_BACK", + "退回重新修改", + ShiroUtil.getUserId(), + List.of(loginname), + "/platform/sys/club/clubMyApply", + "/platform/sys/club/clubMyApply", + "/platform/sys/club/clubMyApply", + "/platform/sys/club/clubMyApply" + ); + + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), extra.getString("nodeName")); + } + }, + + /** + * 退回修改完成后提交 + */ + COMPLETE_APPLY_RE_MODIFY_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + String nodeName = extra.getString("nodeName"); + localProcessService.completeTask( + "CLUB_APPLY_BACK", + "CLUB_APPLY@" + club.getId(), + ShiroUtil.getUserId(), + nodeName + ); + + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), nodeName); + } + }, + + /** + * 创建分工会任务 + */ + CREATE_UNION_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + List unionLeaderLoginNames = extra.getAsList("unionLeaderLoginNames", String.class); + localProcessService.createTask( + "CLUB_APPLY@" + club.getId(), + "CLUB_APPLY_UNIT_AUDIT", + "分工会审核", + ShiroUtil.getUserId(), + unionLeaderLoginNames, + "/platform/sys/club/unitPartAudit", + "/platform/sys/club/unitPartAudit", + "/platform/sys/club/unitPartAudit", + "/platform/sys/club/unitPartAudit" + ); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), "分工会审核"); + } + }, + + /** + * 分工会完成 + */ + COMPLETE_UNION_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + String nodeName = extra.getString("nodeName"); + localProcessService.completeTask( + "CLUB_APPLY_UNIT_AUDIT", + "CLUB_APPLY@" + club.getId(), + ShiroUtil.getUserId(), + nodeName + ); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), nodeName); + } + }, + + /** + * 创建校工会办公室主任任务 + */ + CREATE_XT_SCHOOL_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + // 获取校工会办公室主任xcywt + Sys_role sysRole = sysRoleService.getByCode("xcywt"); + List assignments = sysUserRoleService.queryRoleUserLogin(sysRole.getId()); + localProcessService.createTask( + "CLUB_APPLY@" + club.getId(), + "MEMBER_APPLY_TX_SCHOOL_AUDIT", + "校工会办公室主任审核", + ShiroUtil.getUserId(), + assignments, + "/platform/sys/club/xtAudit", + "/platform/sys/club/xtAudit", + "/platform/sys/club/xtAudit", + "/platform/sys/club/xtAudit" + ); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), "校工会办公室主任审核"); + } + }, + + + /** + * 校工会办公室主任完成 + */ + COMPLETE_XT_SCHOOL_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + String nodeName = extra.getString("nodeName"); + localProcessService.completeTask( + "MEMBER_APPLY_TX_SCHOOL_AUDIT", + "MEMBER_APPLY@" + club.getId(), + ShiroUtil.getUserId(), + nodeName + ); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), nodeName); + } + }, + + /** + * 创建校工会任务 + */ + CREATE_SCHOOL_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + // 获取校工会会员管理员 + Sys_role sysRole = sysRoleService.getByCode("SchoolUnionAdmin"); + List assignments = sysUserRoleService.queryRoleUserLogin(sysRole.getId()); + localProcessService.createTask( + "CLUB_APPLY@" + club.getId(), + "MEMBER_APPLY_TX_SCHOOL_AUDIT", + "校工会审核", + ShiroUtil.getUserId(), + assignments, + "/platform/sys/club/xtAudit", + "/platform/sys/club/xtAudit", + "/platform/sys/club/xtAudit", + "/platform/sys/club/xtAudit" + ); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), "校工会审核"); + } + }, + + + /** + * 校工会完成 + */ + COMPLETE_SCHOOL_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + String nodeName = extra.getString("nodeName"); + localProcessService.completeTask( + "MEMBER_APPLY_TX_SCHOOL_AUDIT", + "MEMBER_APPLY@" + club.getId(), + ShiroUtil.getUserId(), + nodeName + ); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), nodeName); + } + }, + + /** + * 创建协会确认任务 + */ + CREATE_CLUB_CONFIRM_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + // 获取校工会会员管理员 + List schoolLeaderLoginNames = memberService.getSchoolOrBranchUnionMemberAdminLoginNames("school", ShiroUtil.getUserId()); + localProcessService.createTask( + "CLUB_APPLY@" + club.getId(), + "MEMBER_APPLY_CONFIRM_AUDIT", + "协会确认", + ShiroUtil.getUserId(), + schoolLeaderLoginNames, + "/platform/sys/club/clubConfirm", + "/platform/sys/club/clubConfirm", + "/platform/sys/club/clubConfirm", + "/platform/sys/club/clubConfirm" + ); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), "协会确认"); + } + }, + + + /** + * 协会确认完成 + */ + COMPLETE_CLUB_CONFIRM_TASK() { + @Override + public void exec(Sys_club club, NutMap extra) { + String nodeName = extra.getString("nodeName"); + localProcessService.completeTask( + "CLUB_APPLY_CONFIRM_AUDIT", + "CLUB_APPLY@" + club.getId(), + ShiroUtil.getUserId(), + nodeName + ); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), nodeName); + } + }, + + /** + * 审核拒绝 + */ + REFUSE_UNION_TASK(){ + @Override + public void exec(Sys_club club, NutMap extra) { + localProcessService.refuseProcess("CLUB_APPLY@" + club.getId(),extra.getString("nodeName")); + } + }, + + /** + * 流程结束 + */ + COMPLETE_PROCESS() { + @Override + public void exec(Sys_club club, NutMap extra) { + localProcessService.completeProcess("CLUB_APPLY@" + club.getId()); + localProcessService.updateProcessNodeName("CLUB_APPLY@" + club.getId(), "审核通过"); + } + }; + + + public abstract void exec(Sys_club club, NutMap extra); + + public Dao dao = ViResource.dao; + public MemberCommonService memberService = ViResource.ioc.get(MemberCommonServiceImpl.class); + public SysRoleService sysRoleService = ViResource.ioc.get(SysRoleServiceImpl.class); + public SysUserRoleService sysUserRoleService = ViResource.ioc.get(SysUserRoleServiceImpl.class); + public SysLocalProcessService localProcessService = ViResource.ioc.get(SysLocalProcessServiceImpl.class); +} diff --git a/src/main/java/io/v/nutz/sys/services/SysRoleService.java b/src/main/java/io/v/nutz/sys/services/SysRoleService.java index e6029e6..75ef7b4 100644 --- a/src/main/java/io/v/nutz/sys/services/SysRoleService.java +++ b/src/main/java/io/v/nutz/sys/services/SysRoleService.java @@ -91,6 +91,8 @@ public interface SysRoleService extends BaseService { */ Pagination userSearch(String roleId, String keyword, boolean isAdmin, Sys_unit sysUnit); + Sys_role getByCode(String code); + /** * 清空缓存 */ diff --git a/src/main/java/io/v/nutz/sys/services/SysUserRoleService.java b/src/main/java/io/v/nutz/sys/services/SysUserRoleService.java index 7e5147b..3d53832 100644 --- a/src/main/java/io/v/nutz/sys/services/SysUserRoleService.java +++ b/src/main/java/io/v/nutz/sys/services/SysUserRoleService.java @@ -3,10 +3,13 @@ package io.v.nutz.sys.services; import io.v.nutz.base.service.BaseService; import io.v.nutz.sys.models.Sys_user_role; +import java.util.List; + /** * 何鹏飞 * * @Date:Created in 17:14 2019/5/7 */ public interface SysUserRoleService extends BaseService { + List queryRoleUserLogin(String id); } diff --git a/src/main/java/io/v/nutz/sys/services/impl/SysRoleServiceImpl.java b/src/main/java/io/v/nutz/sys/services/impl/SysRoleServiceImpl.java index fb0d580..1603ff2 100644 --- a/src/main/java/io/v/nutz/sys/services/impl/SysRoleServiceImpl.java +++ b/src/main/java/io/v/nutz/sys/services/impl/SysRoleServiceImpl.java @@ -1,5 +1,7 @@ package io.v.nutz.sys.services.impl; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; import io.v.nutz.base.constant.RedisConstant; import io.v.nutz.base.page.Pagination; import io.v.nutz.base.service.impl.BaseServiceImpl; @@ -187,6 +189,13 @@ public class SysRoleServiceImpl extends BaseServiceImpl implements Sys return this.listPage(1, 10, sql); } + @Override + public Sys_role getByCode(String code) { + Assert.notBlank(code); + Sys_role role = fetch(Cnd.where("code", "=", code)); + return role; + } + @CacheRemoveAll public void clearCache() { diff --git a/src/main/java/io/v/nutz/sys/services/impl/SysUserRoleServiceImpl.java b/src/main/java/io/v/nutz/sys/services/impl/SysUserRoleServiceImpl.java index 077c660..2779c51 100644 --- a/src/main/java/io/v/nutz/sys/services/impl/SysUserRoleServiceImpl.java +++ b/src/main/java/io/v/nutz/sys/services/impl/SysUserRoleServiceImpl.java @@ -1,11 +1,15 @@ package io.v.nutz.sys.services.impl; import io.v.nutz.base.service.impl.BaseServiceImpl; +import io.v.nutz.sys.models.Sys_user; import io.v.nutz.sys.models.Sys_user_role; import io.v.nutz.sys.services.SysUserRoleService; +import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.ioc.loader.annotation.IocBean; +import java.util.List; + /** * 何鹏飞 * @@ -16,4 +20,10 @@ public class SysUserRoleServiceImpl extends BaseServiceImpl imple public SysUserRoleServiceImpl(Dao dao) { super(dao); } + + @Override + public List queryRoleUserLogin(String id) { + List userIdList = this.dao().query(Sys_user_role.class, Cnd.NEW().and("roleId", "=", id)).stream().map(sysUserRole -> sysUserRole.getUserId()).toList(); + return this.dao().query(Sys_user.class, Cnd.NEW().and("id", "in", userIdList)).stream().map(v -> v.getLoginname()).toList(); + } }