feat(admin-server): 添加系统用户逻辑删除功能
- 在 Admin 和 Customer 实体类中添加 deleted 字段,用于逻辑删除 - 在 application.yml 及其不同环境配置中添加 MyBatis-Plus 逻辑删除配置 - 修改数据库初始化脚本,添加 deleted 字段 - 重构 SystemController,更名为 SystemUserController - 添加批量删除系统用户的接口 - 将 LoginDto 重命名为 LoginDTO,统一命名规范- 新增 IdListDTO,用于批量操作的参数校验
This commit is contained in:
parent
ebf09639fe
commit
2e9bed02cb
|
|
@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.example.admin_server.common.Result;
|
||||
import com.example.admin_server.enums.ResultCode;
|
||||
import com.example.admin_server.mapper.AdminMapper;
|
||||
import com.example.admin_server.model.dto.LoginDto;
|
||||
import com.example.admin_server.model.dto.LoginDTO;
|
||||
import com.example.admin_server.model.entity.Admin;
|
||||
import com.example.admin_server.utils.JwtUtil;
|
||||
import io.jsonwebtoken.Claims;
|
||||
|
|
@ -31,7 +31,7 @@ public class AdminAuthController {
|
|||
|
||||
@PostMapping("/login")
|
||||
@ApiOperation("管理员登录")
|
||||
public Result<?> login(@Validated @RequestBody LoginDto request) {
|
||||
public Result<?> login(@Validated @RequestBody LoginDTO request) {
|
||||
Admin admin = adminMapper.selectOne(
|
||||
new QueryWrapper<Admin>().eq("username", request.getUsername())
|
||||
);
|
||||
|
|
|
|||
|
|
@ -2,21 +2,22 @@ package com.example.admin_server.controller.admin;
|
|||
|
||||
import com.example.admin_server.common.Result;
|
||||
import com.example.admin_server.common.query.IPageRequest;
|
||||
import com.example.admin_server.model.dto.IdListDTO;
|
||||
import com.example.admin_server.model.query.AdminQuery;
|
||||
import com.example.admin_server.service.IAdminService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/admin/system")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = {"系统管理"})
|
||||
public class SystemController {
|
||||
@Api(tags = {"系统用户管理"})
|
||||
public class SystemUserController {
|
||||
|
||||
private final IAdminService iAdminService;
|
||||
|
||||
|
|
@ -25,4 +26,10 @@ public class SystemController {
|
|||
public Result<?> getAdminUserList(AdminQuery query, IPageRequest pageRequest) {
|
||||
return Result.ok(iAdminService.pageList(pageRequest, query));
|
||||
}
|
||||
|
||||
@DeleteMapping("/user/delete")
|
||||
@ApiOperation("批量删除系统用户")
|
||||
public Result<?> deleteAdminUsers(@RequestBody IdListDTO idList) {
|
||||
return Result.ok(iAdminService.removeByIds(idList.getIdList()));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.example.admin_server.model.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class IdListDTO {
|
||||
|
||||
@NotBlank(message = "ID列表不能为空")
|
||||
private List<Integer> idList;
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@ import lombok.Data;
|
|||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
@Data
|
||||
public class LoginDto {
|
||||
public class LoginDTO {
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
private String username;
|
||||
|
||||
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
|||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
|
@ -82,5 +83,9 @@ public class Admin implements Serializable {
|
|||
@TableField("update_time")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@ApiModelProperty(value = "是否删除:0未删除,1已删除")
|
||||
@TableField("deleted")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
|||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
|
@ -78,5 +79,9 @@ public class Customer implements Serializable {
|
|||
@TableField("update_time")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@ApiModelProperty(value = "是否删除:0未删除,1已删除")
|
||||
@TableField("deleted")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,3 +29,9 @@ wx:
|
|||
knife4j:
|
||||
enable: true
|
||||
|
||||
mybatis-plus:
|
||||
global-config:
|
||||
db-config:
|
||||
logic-delete-field: deleted
|
||||
logic-delete-value: 1
|
||||
logic-not-delete-value: 0
|
||||
|
|
|
|||
|
|
@ -29,3 +29,9 @@ app:
|
|||
knife4j:
|
||||
enable: true
|
||||
|
||||
mybatis-plus:
|
||||
global-config:
|
||||
db-config:
|
||||
logic-delete-field: deleted
|
||||
logic-delete-value: 1
|
||||
logic-not-delete-value: 0
|
||||
|
|
|
|||
|
|
@ -29,3 +29,9 @@ app:
|
|||
knife4j:
|
||||
enable: true
|
||||
|
||||
mybatis-plus:
|
||||
global-config:
|
||||
db-config:
|
||||
logic-delete-field: deleted
|
||||
logic-delete-value: 1
|
||||
logic-not-delete-value: 0
|
||||
|
|
|
|||
|
|
@ -33,3 +33,9 @@ app:
|
|||
knife4j:
|
||||
enable: true
|
||||
|
||||
mybatis-plus:
|
||||
global-config:
|
||||
db-config:
|
||||
logic-delete-field: deleted
|
||||
logic-delete-value: 1
|
||||
logic-not-delete-value: 0
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ CREATE TABLE `admin` (
|
|||
`last_login_time` datetime DEFAULT NULL COMMENT '上次登录时间',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_username` (`username`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='后台管理员表';
|
||||
|
|
@ -44,6 +45,7 @@ CREATE TABLE `customer` (
|
|||
`phone` varchar(20) DEFAULT NULL COMMENT '手机号(后续绑定时)',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_openid` (`openid`),
|
||||
UNIQUE KEY `uk_username` (`username`)
|
||||
|
|
|
|||
Loading…
Reference in New Issue