协会待办

This commit is contained in:
=
2025-03-11 08:55:04 +08:00
parent c338d21e61
commit 28cdf9f79d
10 changed files with 418 additions and 44 deletions
+44 -44
View File
@@ -57,50 +57,50 @@ public class MsgApi {
* @description * @description
*/ */
public void sendMsg(List<String> channels, String loginNameStr, Integer mtype, String title, String content, String imageUrl,String link) { public void sendMsg(List<String> channels, String loginNameStr, Integer mtype, String title, String content, String imageUrl,String link) {
try { // try {
if (!Globals.MyConfig.getBoolean("SendMsg")) { // if (!Globals.MyConfig.getBoolean("SendMsg")) {
log.info("发送失败,消息暂未开启!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); // log.info("发送失败,消息暂未开启!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
return; // return;
} // }
//
if (Globals.isEnv(Env.dev)) { // if (Globals.isEnv(Env.dev)) {
log.info("开发模式不允许发送短信!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); // log.info("开发模式不允许发送短信!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
return; // return;
} // }
//
if (StrUtil.isBlank(title)||StrUtil.isBlank(content) ||Lang.isEmpty(channels) || Lang.isEmpty(loginNameStr)) { // if (StrUtil.isBlank(title)||StrUtil.isBlank(content) ||Lang.isEmpty(channels) || Lang.isEmpty(loginNameStr)) {
log.info("发送失败,缺少需要参数请检查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); // log.info("发送失败,缺少需要参数请检查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
return; // return;
} // }
//
String msgToken = getMsgToken(); // String msgToken = getMsgToken();
NutMap map = new NutMap(); // NutMap map = new NutMap();
map.put("channel", String.join(",", channels)); // map.put("channel", String.join(",", channels));
//推送范围(1:普通模式;2:全体教师;3:全体学生;4:全体人员) // //推送范围(1:普通模式;2:全体教师;3:全体学生;4:全体人员)
map.put("objScope", 1); // map.put("objScope", 1);
map.put("objIds", loginNameStr); // map.put("objIds", loginNameStr);
map.put("mtype", mtype); // map.put("mtype", mtype);
map.put("sendStatus", 1); // map.put("sendStatus", 1);
map.put("title", title); // map.put("title", title);
map.put("content", content); // map.put("content", content);
map.put("imageUrl", imageUrl); // map.put("imageUrl", imageUrl);
map.put("link", link); // map.put("link", link);
//
HttpRequest request = HttpUtil.createPost(MSG_API) // HttpRequest request = HttpUtil.createPost(MSG_API)
.header("token", msgToken) // .header("token", msgToken)
.body(Json.toJson(map)); // .body(Json.toJson(map));
JSONObject jsonObject = JSON.parseObject(request.execute().body()); // JSONObject jsonObject = JSON.parseObject(request.execute().body());
int status = jsonObject.getInteger("code"); // int status = jsonObject.getInteger("code");
//
if (status == 200) { // if (status == 200) {
log.info("发送成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); // log.info("发送成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
} else { // } else {
log.info("发送失败>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); // log.info("发送失败>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
throw new RuntimeException("Message sending failed with status code: " + status + ", Message: " + jsonObject.getString("message")); // throw new RuntimeException("Message sending failed with status code: " + status + ", Message: " + jsonObject.getString("message"));
} // }
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
} // }
} }
@@ -5,16 +5,22 @@ import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.result.Result; import io.v.nutz.base.result.Result;
import io.v.nutz.base.utils.DateUtil; import io.v.nutz.base.utils.DateUtil;
import io.v.nutz.base.utils.Roles; 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.constant.club.ClubRegistAuditState;
import io.v.nutz.sys.controllers.platform.sys.handler.ClubRegisterApplyToDoHandler;
import io.v.nutz.sys.models.*; import io.v.nutz.sys.models.*;
import io.v.nutz.sys.services.SysClubService; import io.v.nutz.sys.services.SysClubService;
import io.v.nutz.sys.services.SysDictService; import io.v.nutz.sys.services.SysDictService;
import io.v.nutz.web.commons.controller.ViCommonCon; import io.v.nutz.web.commons.controller.ViCommonCon;
import io.v.nutz.web.commons.utils.ShiroUtil; 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.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.nutz.dao.Cnd; import org.nutz.dao.Cnd;
import org.nutz.dao.Dao; 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.Inject;
import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Lang; import org.nutz.lang.Lang;
@@ -47,6 +53,9 @@ public class ClubRegistApplyController {
@Inject @Inject
private SysDictService sysDictService; private SysDictService sysDictService;
@Inject
private MemberCommonService memberCommonService;
@Inject @Inject
private Dao dao; private Dao dao;
@@ -94,6 +103,31 @@ public class ClubRegistApplyController {
club.setCreate_time(DateUtil.getDateTime()); club.setCreate_time(DateUtil.getDateTime());
Sys_club sysClub = sysClubService.insertWith(club, "sponsors"); 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<NutMap> list = memberCommonService.listMap(sql);
List<String> 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<Sys_club_user> clubUsers = new ArrayList<>(); List<Sys_club_user> clubUsers = new ArrayList<>();
@@ -6,15 +6,18 @@ import io.v.nutz.base.model.Audit;
import io.v.nutz.base.query.PageForm; import io.v.nutz.base.query.PageForm;
import io.v.nutz.base.utils.Vi; import io.v.nutz.base.utils.Vi;
import io.v.nutz.sys.constant.club.ClubRegistAuditState; 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.models.Sys_club;
import io.v.nutz.sys.services.SysClubService; import io.v.nutz.sys.services.SysClubService;
import io.v.nutz.web.commons.utils.ShiroUtil; 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.apache.shiro.authz.annotation.RequiresPermissions;
import org.nutz.dao.Chain; import org.nutz.dao.Chain;
import org.nutz.dao.Cnd; import org.nutz.dao.Cnd;
import org.nutz.dao.Dao; import org.nutz.dao.Dao;
import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param; import org.nutz.mvc.annotation.Param;
@@ -78,10 +81,16 @@ public class ClubUnitPartAuditController {
if (pass == 1) { if (pass == 1) {
club.setState(ClubRegistAuditState.UNIT_PART_REJECTED); club.setState(ClubRegistAuditState.UNIT_PART_REJECTED);
//分工会审核拒绝
ClubRegisterApplyToDoHandler.REFUSE_UNION_TASK.exec(club, NutMap.NEW().addv("nodeName","分工会拒绝"));
} else if (pass == 2) { } else if (pass == 2) {
club.setState(ClubRegistAuditState.UNIT_PART_BACK_MODIFY); club.setState(ClubRegistAuditState.UNIT_PART_BACK_MODIFY);
//退回修改
ClubRegisterApplyToDoHandler.CREATE_APPLY_RE_MODIFY_TASK.exec(club, NutMap.NEW().addv("nodeName","分工会退回修改"));
} else { } else {
club.setState(ClubRegistAuditState.XT_READY); club.setState(ClubRegistAuditState.XT_READY);
//校办公室主管审核
ClubRegisterApplyToDoHandler.CREATE_XT_SCHOOL_TASK.exec(club, null);
} }
club.setUnitPartAuditId(audit.getId()); club.setUnitPartAuditId(audit.getId());
dao.updateIgnoreNull(club); dao.updateIgnoreNull(club);
@@ -6,6 +6,7 @@ import io.v.nutz.base.utils.Roles;
import io.v.nutz.base.model.Audit; import io.v.nutz.base.model.Audit;
import io.v.nutz.base.query.PageForm; import io.v.nutz.base.query.PageForm;
import io.v.nutz.sys.constant.club.ClubRegistAuditState; 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.models.Sys_club;
import io.v.nutz.sys.services.SysClubService; import io.v.nutz.sys.services.SysClubService;
import io.v.nutz.web.commons.utils.ShiroUtil; 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.dao.Dao;
import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param; import org.nutz.mvc.annotation.Param;
@@ -76,10 +78,16 @@ public class ClubXTAuditController {
if (pass == 1) { if (pass == 1) {
club.setState(ClubRegistAuditState.XT_REJECTED); club.setState(ClubRegistAuditState.XT_REJECTED);
//校工会办公室主管审核拒绝
ClubRegisterApplyToDoHandler.REFUSE_UNION_TASK.exec(club, NutMap.NEW().addv("nodeName","校工会办公室主管拒绝"));
} else if (pass == 2) { } else if (pass == 2) {
club.setState(ClubRegistAuditState.XT_BACK_MODIFY); club.setState(ClubRegistAuditState.XT_BACK_MODIFY);
//退回修改
ClubRegisterApplyToDoHandler.CREATE_APPLY_RE_MODIFY_TASK.exec(club, NutMap.NEW().addv("nodeName","校办公室主管退回修改"));
} else { } else {
club.setState(ClubRegistAuditState.XGH_READY); club.setState(ClubRegistAuditState.XGH_READY);
//校工会审核
ClubRegisterApplyToDoHandler.CREATE_SCHOOL_TASK.exec(club, null);
} }
club.setXtAuditId(audit.getId()); club.setXtAuditId(audit.getId());
club.setSchoolReplyFile(sys_club.getSchoolReplyFile()); club.setSchoolReplyFile(sys_club.getSchoolReplyFile());
@@ -9,6 +9,7 @@ import io.v.nutz.base.utils.Roles;
import io.v.nutz.base.model.Audit; import io.v.nutz.base.model.Audit;
import io.v.nutz.base.query.PageForm; import io.v.nutz.base.query.PageForm;
import io.v.nutz.sys.constant.club.ClubRegistAuditState; 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.models.*;
import io.v.nutz.sys.services.SysClubService; import io.v.nutz.sys.services.SysClubService;
import io.v.nutz.sys.services.SysRoleService; 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.Inject;
import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Lang; import org.nutz.lang.Lang;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param; import org.nutz.mvc.annotation.Param;
@@ -91,12 +93,17 @@ public class ClubXghReplyController {
club.setState(ClubRegistAuditState.XGH_REJECTED); club.setState(ClubRegistAuditState.XGH_REJECTED);
dao.clear(Sys_user_role.class, Cnd.where("stid", "=", clubId) dao.clear(Sys_user_role.class, Cnd.where("stid", "=", clubId)
.and("roleid", "in", Lang.array(Roles.club01, Roles.club02, Roles.club03, Roles.club04))); .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) { } else if (pass == 2) {
club.setState(ClubRegistAuditState.XGH_BACK_MODIFY); club.setState(ClubRegistAuditState.XGH_BACK_MODIFY);
dao.clear(Sys_user_role.class, Cnd.where("stid", "=", clubId) dao.clear(Sys_user_role.class, Cnd.where("stid", "=", clubId)
.and("roleid", "in", Lang.array(Roles.club01, Roles.club02, Roles.club03, Roles.club04))); .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 { } else {
club.setState(ClubRegistAuditState.SCHOOL_PASS); club.setState(ClubRegistAuditState.SCHOOL_PASS);
//审核通过
ClubRegisterApplyToDoHandler.COMPLETE_PROCESS.exec(club, null);
//审核通过加角色 //审核通过加角色
List<Sys_user_role> userRoles = new ArrayList<>(); List<Sys_user_role> userRoles = new ArrayList<>();
List<Sys_club_user> sysClubUsers = dao.query(Sys_club_user.class, List<Sys_club_user> sysClubUsers = dao.query(Sys_club_user.class,
@@ -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<String> 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<String> 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<String> 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<String> 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);
}
@@ -91,6 +91,8 @@ public interface SysRoleService extends BaseService<Sys_role> {
*/ */
Pagination userSearch(String roleId, String keyword, boolean isAdmin, Sys_unit sysUnit); Pagination userSearch(String roleId, String keyword, boolean isAdmin, Sys_unit sysUnit);
Sys_role getByCode(String code);
/** /**
* 清空缓存 * 清空缓存
*/ */
@@ -3,10 +3,13 @@ package io.v.nutz.sys.services;
import io.v.nutz.base.service.BaseService; import io.v.nutz.base.service.BaseService;
import io.v.nutz.sys.models.Sys_user_role; import io.v.nutz.sys.models.Sys_user_role;
import java.util.List;
/** /**
* 何鹏飞 * 何鹏飞
* *
* @Date:Created in 17:14 2019/5/7 * @Date:Created in 17:14 2019/5/7
*/ */
public interface SysUserRoleService extends BaseService<Sys_user_role> { public interface SysUserRoleService extends BaseService<Sys_user_role> {
List<String> queryRoleUserLogin(String id);
} }
@@ -1,5 +1,7 @@
package io.v.nutz.sys.services.impl; 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.constant.RedisConstant;
import io.v.nutz.base.page.Pagination; import io.v.nutz.base.page.Pagination;
import io.v.nutz.base.service.impl.BaseServiceImpl; import io.v.nutz.base.service.impl.BaseServiceImpl;
@@ -187,6 +189,13 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Sys_role> implements Sys
return this.listPage(1, 10, sql); 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 @CacheRemoveAll
public void clearCache() { public void clearCache() {
@@ -1,11 +1,15 @@
package io.v.nutz.sys.services.impl; package io.v.nutz.sys.services.impl;
import io.v.nutz.base.service.impl.BaseServiceImpl; 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.models.Sys_user_role;
import io.v.nutz.sys.services.SysUserRoleService; import io.v.nutz.sys.services.SysUserRoleService;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao; import org.nutz.dao.Dao;
import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.ioc.loader.annotation.IocBean;
import java.util.List;
/** /**
* 何鹏飞 * 何鹏飞
* *
@@ -16,4 +20,10 @@ public class SysUserRoleServiceImpl extends BaseServiceImpl<Sys_user_role> imple
public SysUserRoleServiceImpl(Dao dao) { public SysUserRoleServiceImpl(Dao dao) {
super(dao); super(dao);
} }
@Override
public List<String> queryRoleUserLogin(String id) {
List<String> 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();
}
} }