会员
This commit is contained in:
+10
@@ -2,6 +2,7 @@ package com.budwk.app.zhgh.staffmanage.member.controller.apply;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
@@ -72,6 +73,9 @@ public class MemberApplyController {
|
||||
@SaCheckPermission("member.apply.submit")
|
||||
@SLog(tag = "会员入会申请", msg = "保存申请,申请人: ${args[0].username}")
|
||||
public Result save(@Param("data") MemberApplyRecord memberApplyRecord) {
|
||||
if (StrUtil.isBlank(memberApplyRecord.getId())) {
|
||||
memberCommonService.validateApplyOrChangeIsDoing(null, "apply");
|
||||
}
|
||||
dao.insertOrUpdate(memberApplyRecord);
|
||||
return Result.success();
|
||||
}
|
||||
@@ -83,6 +87,9 @@ public class MemberApplyController {
|
||||
@SaCheckPermission("member.apply.submit")
|
||||
@SLog(tag = "会员入会申请", msg = "提交申请,申请人: ${args[0].username}")
|
||||
public Result submit(@Param("data") MemberApplyRecord memberApplyRecord){
|
||||
if (StrUtil.isBlank(memberApplyRecord.getId())) {
|
||||
memberCommonService.validateApplyOrChangeIsDoing(null, "apply");
|
||||
}
|
||||
// 开启流程实例
|
||||
Dict args = Dict.create();
|
||||
// 设置流程变量
|
||||
@@ -119,6 +126,9 @@ public class MemberApplyController {
|
||||
@SaCheckPermission("member.apply.submit")
|
||||
@SLog(tag = "会员入会申请", msg = "重新提交申请,申请人: ${args[0].username}")
|
||||
public Result submitAgain(@Param("data") MemberApplyRecord memberApplyRecord, @Param("taskId") Long taskId) {
|
||||
if (StrUtil.isBlank(memberApplyRecord.getId())) {
|
||||
memberCommonService.validateApplyOrChangeIsDoing(null, "apply");
|
||||
}
|
||||
Dict dict = Dict.create();
|
||||
// 设置流程变量
|
||||
if ("HMC".equals(Globals.SchoolCode)) {
|
||||
|
||||
+9
@@ -75,6 +75,9 @@ public class MemberChangeApplyController {
|
||||
@SaCheckPermission("member.apply.submit")
|
||||
@SLog(tag = "会员变更申请", msg = "保存申请,申请人: ${args[0].username}")
|
||||
public Result save(@Param("data") MemberChangeRecord memberChangeRecord) {
|
||||
if (StrUtil.isBlank(memberChangeRecord.getId())) {
|
||||
memberCommonService.validateApplyOrChangeIsDoing(null, "change");
|
||||
}
|
||||
// 校验是否有变更
|
||||
memberCommonService.validateChangeAndSetBasicData(memberChangeRecord);
|
||||
dao.insertOrUpdate(memberChangeRecord);
|
||||
@@ -88,6 +91,9 @@ public class MemberChangeApplyController {
|
||||
@SaCheckPermission("member.apply.submit")
|
||||
@SLog(tag = "会员变更申请", msg = "提交申请,申请人: ${args[0].username}")
|
||||
public Result submit(@Param("data") MemberChangeRecord memberChangeRecord){
|
||||
if (StrUtil.isBlank(memberChangeRecord.getId())) {
|
||||
memberCommonService.validateApplyOrChangeIsDoing(null, "change");
|
||||
}
|
||||
// 校验是否有变更
|
||||
memberCommonService.validateChangeAndSetBasicData(memberChangeRecord);
|
||||
dao.insertOrUpdate(memberChangeRecord);
|
||||
@@ -118,6 +124,9 @@ public class MemberChangeApplyController {
|
||||
@SaCheckPermission("member.apply.submit")
|
||||
@SLog(tag = "会员变更申请", msg = "重新提交申请,申请人: ${args[0].username}")
|
||||
public Result submitAgain(@Param("data") MemberChangeRecord memberChangeRecord, @Param("taskId") Long taskId) {
|
||||
if (StrUtil.isBlank(memberChangeRecord.getId())) {
|
||||
memberCommonService.validateApplyOrChangeIsDoing(null, "change");
|
||||
}
|
||||
// 校验是否有变更
|
||||
memberCommonService.validateChangeAndSetBasicData(memberChangeRecord);
|
||||
dao.insertOrUpdate(memberChangeRecord);
|
||||
|
||||
+6
@@ -5,6 +5,7 @@ import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.RepeatSubmit;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.BpmProcessConstant;
|
||||
@@ -100,6 +101,11 @@ public class MemberChangeManageController {
|
||||
if (Lang.isEmpty(record)) {
|
||||
return Result.error("未获取到异动数据");
|
||||
}
|
||||
|
||||
if (StrUtil.isBlank(record.getId())) {
|
||||
memberCommonService.validateApplyOrChangeIsDoing(record.getUserId(), "change");
|
||||
}
|
||||
|
||||
boolean schoolRoleBool = AuthUtil.hasRoleOr(RoleConstant.SCHOOL_UNION_CHAIRMAN.name(), RoleConstant.SCHOOL_UNION_MEMBER_ADMIN.name(), RoleConstant.SYSADMIN.name());
|
||||
boolean branchRoleBool = AuthUtil.hasRoleOr(RoleConstant.BRANCH_UNION_CHAIRMAN.name(), RoleConstant.BRANCH_UNION_OPERATOR.name());
|
||||
boolean groupRoleBool = AuthUtil.hasRole(RoleConstant.BRANCH_UNION_GROUP_LEADER.name());
|
||||
|
||||
@@ -107,4 +107,12 @@ public interface MemberCommonService extends BaseService<Sys_user> {
|
||||
* @param record
|
||||
*/
|
||||
void validateChangeAndSetBasicData(MemberChangeRecord record, MemberChangeOrigin origin);
|
||||
|
||||
|
||||
/**
|
||||
* 校验申请和变更是否正在进行中
|
||||
* @param userId 用户id
|
||||
* @param type 类型: apply or change
|
||||
*/
|
||||
void validateApplyOrChangeIsDoing(String userId, String type);
|
||||
}
|
||||
|
||||
+35
@@ -10,6 +10,9 @@ import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.exception.BaseException;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.sys.models.*;
|
||||
import com.budwk.app.sys.services.SysDictService;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
@@ -508,6 +511,38 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
record.setApplyDateTime(DateUtil.date());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 验证申请或变更是否正在进行
|
||||
* @param userId 用户id
|
||||
* @param type 类型: apply or change
|
||||
*/
|
||||
@Override
|
||||
public void validateApplyOrChangeIsDoing(String userId, String type) {
|
||||
String businessNo = "";
|
||||
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("userId", "=", StrUtil.isNotBlank(userId) ? userId : SecurityUtil.getUserId());
|
||||
cnd.desc("applyDateTime");
|
||||
if ("apply".equals(type)) {
|
||||
// 申请
|
||||
MemberApplyRecord apply = dao().fetch(MemberApplyRecord.class, cnd);
|
||||
businessNo = apply.getId();
|
||||
} else {
|
||||
// 变更
|
||||
MemberChangeRecord change = dao().fetch(MemberChangeRecord.class, cnd);
|
||||
businessNo = change.getId();
|
||||
}
|
||||
|
||||
int count = dao().count(ProcessInstance.class, Cnd.where("businessNo", "=", businessNo)
|
||||
.and(ProcessInstance::getState, "=", ProcessTaskStateEnum.DOING.getCode()));
|
||||
if (count > 0) {
|
||||
throw new BaseException("您有%s流程还在进行中,请等待流程结束后再次操作".formatted("apply".equals(type) ? "申请" : "变更"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private String booleanVerification(Object value) {
|
||||
// 检查是否为null或空字符串
|
||||
if (ObjectUtil.isAllEmpty(value, "")) {
|
||||
|
||||
Reference in New Issue
Block a user