Merge branch 'prod' into test
This commit is contained in:
@@ -16,8 +16,8 @@ public class MybatisFlexConfig {
|
||||
|
||||
//设置 SQL 审计收集器
|
||||
AuditManager.setMessageCollector(auditMessage ->
|
||||
log.info("{},{}ms", auditMessage.getFullSql()
|
||||
, auditMessage.getElapsedTime())
|
||||
log.info("[sql] time: {}, size: {},\n sql:{}",
|
||||
auditMessage.getQueryTime(), auditMessage.getQueryCount(), auditMessage.getFullSql())
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ import java.lang.annotation.Target;
|
||||
* @author click33
|
||||
*
|
||||
*/
|
||||
@SaCheckPermission(type = "admin")
|
||||
//@SaCheckPermission(type = "user")
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.METHOD, ElementType.TYPE})
|
||||
@@ -25,7 +24,6 @@ public @interface SaAdminCheckPermission {
|
||||
* 需要校验的权限码
|
||||
* @return 需要校验的权限码
|
||||
*/
|
||||
@AliasFor(annotation = SaCheckPermission.class)
|
||||
String [] value() default {};
|
||||
|
||||
String name() default "";
|
||||
@@ -34,7 +32,6 @@ public @interface SaAdminCheckPermission {
|
||||
* 验证模式:AND | OR,默认AND
|
||||
* @return 验证模式
|
||||
*/
|
||||
@AliasFor(annotation = SaCheckPermission.class)
|
||||
SaMode mode() default SaMode.AND;
|
||||
|
||||
/**
|
||||
@@ -52,7 +49,6 @@ public @interface SaAdminCheckPermission {
|
||||
*
|
||||
* @return /
|
||||
*/
|
||||
@AliasFor(annotation = SaCheckPermission.class)
|
||||
String[] orRole() default {};
|
||||
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.lang.annotation.Target;
|
||||
*
|
||||
*/
|
||||
//@SaCheckRole(type = "user")
|
||||
@SaCheckRole(type = "admin")
|
||||
//@SaCheckRole(type = "admin")
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.METHOD, ElementType.TYPE})
|
||||
public @interface SaAdminCheckRole {
|
||||
@@ -25,14 +25,12 @@ public @interface SaAdminCheckRole {
|
||||
* 需要校验的角色标识
|
||||
* @return 需要校验的角色标识
|
||||
*/
|
||||
@AliasFor(annotation = SaCheckRole.class)
|
||||
String [] value() default {};
|
||||
|
||||
/**
|
||||
* 验证模式:AND | OR,默认AND
|
||||
* @return 验证模式
|
||||
*/
|
||||
@AliasFor(annotation = SaCheckRole.class)
|
||||
SaMode mode() default SaMode.AND;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.czg.handler;
|
||||
|
||||
import cn.dev33.satoken.annotation.handler.SaAnnotationHandlerInterface;
|
||||
import com.czg.annotation.SaAdminCheckPermission;
|
||||
import com.czg.sa.StpKit;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import java.lang.reflect.Method;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
|
||||
/**
|
||||
* 员工权限校验
|
||||
* @author Administrator
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class SaAdminCheckPermissionHandler implements SaAnnotationHandlerInterface<SaAdminCheckPermission> {
|
||||
|
||||
@Override
|
||||
public Class<SaAdminCheckPermission> getHandlerAnnotationClass() {
|
||||
return SaAdminCheckPermission.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkMethod(SaAdminCheckPermission annotation, Method method) {
|
||||
|
||||
// 2️⃣ 如果是管理员,直接放行
|
||||
if (StpKit.USER.isAdmin()) {
|
||||
log.debug("[SaAdminCheckPermissionHandler] 管理员免校验权限: userId={}", StpKit.USER.getLoginId());
|
||||
return;
|
||||
}
|
||||
|
||||
// 3️⃣ 非管理员执行权限校验
|
||||
String[] permissions = annotation.value();
|
||||
SaMode mode = annotation.mode();
|
||||
|
||||
if (permissions != null && permissions.length > 0) {
|
||||
if (mode == SaMode.AND) {
|
||||
StpKit.USER.checkPermissionAnd(permissions);
|
||||
} else {
|
||||
StpKit.USER.checkPermissionOr(permissions);
|
||||
}
|
||||
}
|
||||
|
||||
log.debug("[SaAdminCheckPermissionHandler] 非管理员执行权限校验: userId={}", StpKit.USER.getLoginId());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.czg.handler;
|
||||
|
||||
import cn.dev33.satoken.annotation.handler.SaAnnotationHandlerInterface;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.czg.annotation.SaAdminCheckRole;
|
||||
import com.czg.annotation.SaStaffCheckPermission;
|
||||
import com.czg.sa.StpKit;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/**
|
||||
* 员工权限校验
|
||||
* @author Administrator
|
||||
*/
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import org.springframework.stereotype.Component;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class SaAdminCheckRoleHandler implements SaAnnotationHandlerInterface<SaAdminCheckRole> {
|
||||
|
||||
@Override
|
||||
public Class<SaAdminCheckRole> getHandlerAnnotationClass() {
|
||||
return SaAdminCheckRole.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkMethod(SaAdminCheckRole annotation, Method method) {
|
||||
|
||||
if (StpKit.USER.isAdmin()) {
|
||||
log.debug("[SaAdminCheckRoleHandler] 管理员免校验: userId={}", StpKit.USER.getLoginId());
|
||||
return;
|
||||
}
|
||||
|
||||
// 3️⃣ 非管理员,执行原本注解校验逻辑
|
||||
String[] roles = annotation.value();
|
||||
SaMode mode = annotation.mode();
|
||||
|
||||
if (roles != null && roles.length > 0) {
|
||||
if (mode == SaMode.AND) {
|
||||
StpKit.USER.checkRoleAnd(roles);
|
||||
} else {
|
||||
// 有一个角色即可
|
||||
StpKit.USER.checkRoleOr(roles);
|
||||
}
|
||||
} else {
|
||||
// 如果注解没有指定角色,默认使用注解上 type 的值
|
||||
// 你 @SaCheckRole(type = "admin") 默认角色
|
||||
String typeRole = "admin";
|
||||
StpKit.USER.checkRole(typeRole);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
package com.czg.account.dto.table;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 台桌配置 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-02-13
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ShopTableEditBatchDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 自动清台 0手动 1自动
|
||||
*/
|
||||
private Integer autoClear;
|
||||
|
||||
/**
|
||||
* 自动清台时间 单位分钟 默认10
|
||||
*/
|
||||
private Integer clearTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -126,6 +126,8 @@ public class ShopTable implements Serializable {
|
||||
*/
|
||||
private Integer useNum;
|
||||
|
||||
private Integer autoClear;
|
||||
|
||||
public boolean canUseByStatus() {
|
||||
return !ShopTableStatusEnum.UNBOUND.equalsVal(status)
|
||||
&& !ShopTableStatusEnum.SETTLED.equalsVal(status)
|
||||
|
||||
Reference in New Issue
Block a user