From 047d324482d5ff167c2e735aacf876df1b202f3d Mon Sep 17 00:00:00 2001 From: lijianlin Date: Thu, 10 Jul 2025 17:17:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=88=E8=BF=98=E6=B2=A1=E5=86=99=E5=AE=8C?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/demo/domain/vo/AdminVo.java | 95 ++++++++++++++++++++++ .../com/example/demo/mapper/PermissionMapper.java | 2 +- .../demo/serviceImpl/PermissionServiceImpl.java | 2 +- src/main/resources/mapper/PermissionMapper.xml | 7 +- 4 files changed, 99 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/example/demo/domain/vo/AdminVo.java diff --git a/src/main/java/com/example/demo/domain/vo/AdminVo.java b/src/main/java/com/example/demo/domain/vo/AdminVo.java new file mode 100644 index 0000000..a1b1088 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/AdminVo.java @@ -0,0 +1,95 @@ +package com.example.demo.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; + +import java.io.Serializable; +import java.util.*; + +@Data +@NoArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +public class AdminVo implements UserDetails, Serializable { + private static final long serialVersionUID = 1L; + + private Integer id; // 主键ID + private String adminName; // 用户姓名 + private String account; // 账号 + private String password; // 密码 + private String machineId; // 第一个机器码 + private String machineIds; //第二个机器码 + private Byte adminStatus; // 状态(启用/不启用) + private String market; // 地区 + private String postiton; // 职位 + private String remark; // 备注 + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date createTime; // 创建时间 + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date updateTime; // 更新时间 + private Integer roleId; + + + @Override + @JsonIgnore + public Collection getAuthorities() { + Set authorities = new HashSet<>(); + Optional.ofNullable(postiton) + .map(Integer::valueOf) + .ifPresent(permValue -> { + switch (permValue) { + case 1: + authorities.add(new SimpleGrantedAuthority("ROLE_SUPER_ADMIN")); + break; + case 2: + authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN")); + break; + case 3: + authorities.add(new SimpleGrantedAuthority("ROLE_AUDITORS")); + break; + case 5: + authorities.add(new SimpleGrantedAuthority("Branch_Manager")); + break; + default: + // 可以添加默认角色或处理未知权限 + break; + } + }); + return authorities; + } + @Override + public String getUsername() { + return account; + } + + @Override + @JsonIgnore + public boolean isAccountNonExpired() { + return true; // 默认账户未过期 + } + + @Override + @JsonIgnore + public boolean isAccountNonLocked() { + return true; // 默认账户未锁定 + } + + @Override + @JsonIgnore + public boolean isCredentialsNonExpired() { + return true; // 默认凭证未过期 + } + + @Override + @JsonIgnore + public boolean isEnabled() { + return adminStatus != null && adminStatus == 1; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/mapper/PermissionMapper.java b/src/main/java/com/example/demo/mapper/PermissionMapper.java index ac7edf7..7660751 100644 --- a/src/main/java/com/example/demo/mapper/PermissionMapper.java +++ b/src/main/java/com/example/demo/mapper/PermissionMapper.java @@ -28,5 +28,5 @@ public interface PermissionMapper { Integer deleteAdmin(Integer id); Integer deleteAdminRole(Integer id); Integer updateAdminRole(AdminRole adminRole); - Integer upadateAdmin(Admin admin); + Integer updateAdmin(Admin admin); } diff --git a/src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java index 6b0a454..f026057 100644 --- a/src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java @@ -140,7 +140,7 @@ public class PermissionServiceImpl implements PermissionService { else { - return permissionMapper.upadateAdmin(admin); + return permissionMapper.updateAdmin(admin); } } diff --git a/src/main/resources/mapper/PermissionMapper.xml b/src/main/resources/mapper/PermissionMapper.xml index fe08c89..e2663b7 100644 --- a/src/main/resources/mapper/PermissionMapper.xml +++ b/src/main/resources/mapper/PermissionMapper.xml @@ -27,7 +27,7 @@ where admin_id= #{id} - + update admin @@ -36,9 +36,6 @@ machine_id= #{machineId}, - - account= #{account}, - postiton= #{postiton}, @@ -49,7 +46,7 @@ market= #{market} - where id= #{id} + where account= #{account} delete from admin where id=#{id}