Browse Source

更新管理员优化(还没写完)

huangqizheng/feature-20250717200321-优化导出
lijianlin 1 month ago
parent
commit
047d324482
  1. 95
      src/main/java/com/example/demo/domain/vo/AdminVo.java
  2. 2
      src/main/java/com/example/demo/mapper/PermissionMapper.java
  3. 2
      src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java
  4. 7
      src/main/resources/mapper/PermissionMapper.xml

95
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<? extends GrantedAuthority> getAuthorities() {
Set<GrantedAuthority> 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;
}
}

2
src/main/java/com/example/demo/mapper/PermissionMapper.java

@ -28,5 +28,5 @@ public interface PermissionMapper {
Integer deleteAdmin(Integer id); Integer deleteAdmin(Integer id);
Integer deleteAdminRole(Integer id); Integer deleteAdminRole(Integer id);
Integer updateAdminRole(AdminRole adminRole); Integer updateAdminRole(AdminRole adminRole);
Integer upadateAdmin(Admin admin);
Integer updateAdmin(Admin admin);
} }

2
src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java

@ -140,7 +140,7 @@ public class PermissionServiceImpl implements PermissionService {
else { else {
return permissionMapper.upadateAdmin(admin);
return permissionMapper.updateAdmin(admin);
} }
} }

7
src/main/resources/mapper/PermissionMapper.xml

@ -27,7 +27,7 @@
</set> </set>
where admin_id= #{id} where admin_id= #{id}
</update> </update>
<update id="upadateAdmin">
<update id="updateAdmin">
update admin update admin
<set> <set>
<if test="adminName!=null"> <if test="adminName!=null">
@ -36,9 +36,6 @@
<if test="machineId!=null"> <if test="machineId!=null">
machine_id= #{machineId}, machine_id= #{machineId},
</if> </if>
<if test="account!=null">
account= #{account},
</if>
<if test="postiton!=null"> <if test="postiton!=null">
postiton= #{postiton}, postiton= #{postiton},
</if> </if>
@ -49,7 +46,7 @@
market= #{market} market= #{market}
</if> </if>
</set> </set>
where id= #{id}
where account= #{account}
</update> </update>
<delete id="deleteAdmin"> <delete id="deleteAdmin">
delete from admin where id=#{id} delete from admin where id=#{id}

Loading…
Cancel
Save