- 更改DDL
- 更改UserService
This commit is contained in:
yulinling 2025-06-22 22:22:44 +08:00
parent 447f1d7162
commit 018c644d68
4 changed files with 73 additions and 59 deletions

View File

@ -32,7 +32,6 @@ public interface MailService {
*/
void sendHtmlMail(String to, String subject, String content, String... cc) throws MessagingException;
/**
* 发送带附件邮件
*

View File

@ -17,7 +17,11 @@ import org.springframework.transaction.annotation.Transactional;
@Transactional
public interface UserService {
ApiResponse<PageResult<UserVO>> getUserList();
/**
* 获取用户列表分页
*
* @param pageParam 分页参数
* @return 用户列表
*/
ApiResponse<PageResult<UserVO>> getUserListByPage(PageParam pageParam);
}

View File

@ -8,9 +8,9 @@ import asia.yulinling.workflow.model.entity.User;
import asia.yulinling.workflow.model.vo.user.UserVO;
import asia.yulinling.workflow.service.UserService;
import asia.yulinling.workflow.utils.PageUtil;
import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -27,55 +27,42 @@ import java.util.List;
*/
@Service
@RequiredArgsConstructor
@Slf4j
public class UserServiceImpl implements UserService {
/** 注入用户Mapper */
private final UserMapper userMapper;
@Override
public ApiResponse<PageResult<UserVO>> getUserList() {
List<UserVO> userVOList = new ArrayList<>();
List<User> users = userMapper.selectList(null);
if (ArrayUtil.isNotEmpty(users)) {
for (User user : users) {
UserVO userVO = new UserVO();
userVO.setUsername(user.getUsername());
userVO.setEmail(user.getEmail());
userVO.setPhone(user.getPhone());
userVO.setStatus(user.getStatus());
userVOList.add(userVO);
}
PageResult<UserVO> pageResult = new PageResult<>(
users.toArray().length, 1, users.toArray().length / 10, userVOList
);
return ApiResponse.ofSuccess(pageResult);
}
return ApiResponse.ofSuccess(null);
}
/**
* 获取用户列表分页
*
* @param pageParam 分页参数
* @return 用户列表
*/
@Override
public ApiResponse<PageResult<UserVO>> getUserListByPage(PageParam pageParam) {
try {
// 创建分页对象
Page<User> page = new Page<>(pageParam.getPageNum(), pageParam.getPageSize());
Page<User> page = new Page<>(pageParam.getPageNum(), pageParam.getPageSize());
Page<User> users = userMapper.selectPage(page, null);
List<UserVO> userVOList = new ArrayList<>();
if (users.getRecords() != null && !users.getRecords().isEmpty()) {
// 执行分页查询
Page<User> users = userMapper.selectPage(page, null);
// 转换为 VO 列表
List<UserVO> userVOList = new ArrayList<>();
for (User user : users.getRecords()) {
UserVO userVO = new UserVO();
BeanUtils.copyProperties(user, userVO);
userVOList.add(userVO);
}
}
PageResult<UserVO> pageResult = PageUtil.buildPageResult(users, userVOList);
// 构建分页结果
PageResult<UserVO> pageResult = PageUtil.buildPageResult(users, userVOList);
return ApiResponse.ofSuccess(pageResult);
return ApiResponse.ofSuccess(pageResult);
} catch (Exception e) {
log.error("database select error:{}", e.getMessage());
throw new RuntimeException(e);
}
}
}

View File

@ -5,7 +5,7 @@ CREATE TABLE `wk_user`
`username` VARCHAR(32) NOT NULL UNIQUE COMMENT '用户名',
`nickname` VARCHAR(32) DEFAULT '默认用户' COMMENT '昵称',
`password` VARCHAR(256) NOT NULL COMMENT '加密后的密码',
`email` VARCHAR(32) UNIQUE COMMENT '邮箱',
`email` VARCHAR(32) UNIQUE COMMENT '邮箱',
`birthday` DATETIME DEFAULT NULL COMMENT '生日',
`sex` INT(2) DEFAULT NULL COMMENT '性别,男-1,女-2',
`phone` VARCHAR(15) DEFAULT NULL UNIQUE COMMENT '手机号',
@ -30,31 +30,55 @@ CREATE TABLE `wk_role`
DROP TABLE IF EXISTS `wk_permission`;
CREATE TABLE `wk_permission`
(
`id` BIGINT(64) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
`name` VARCHAR(32) NOT NULL UNIQUE COMMENT '权限名',
`url` VARCHAR(1000) DEFAULT NULL COMMENT '类型为页面时,代表前端路由地址,类型为按钮时,代表后端接口地址',
`type` INT(2) NOT NULL COMMENT '权限类型,页面-1,按钮-2',
`permission` VARCHAR(50) DEFAULT NULL COMMENT '权限表达式',
`method` VARCHAR(50) DEFAULT NULL COMMENT '后端接口访问方式',
`sort` INT(11) NOT NULL COMMENT '排序',
`parent_id` BIGINT(64) NOT NULL COMMENT '父级ID'
) ENGINE = INNODB
DEFAULT CHARSET = UTF8 COMMENT '权限表';
`id` BIGINT AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR(32) NOT NULL COMMENT '权限名',
`url` VARCHAR(1000) NULL COMMENT '类型为页面时,代表前端路由地址,类型为按钮时,代表后端接口地址',
`type` INT NOT NULL COMMENT '权限类型,页面-1,按钮-2',
`permission` VARCHAR(50) NULL COMMENT '权限表达式',
`method` VARCHAR(50) NULL COMMENT '后端接口访问方式',
`sort` INT NOT NULL COMMENT '排序',
`parent_id` BIGINT NOT NULL COMMENT '父级ID',
`create_time` DATETIME DEFAULT NOW() COMMENT '创建时间',
`update_time` DATETIME DEFAULT NOW() COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE INDEX `name` (`name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1072806379384868866
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
COMMENT = '权限表';
DROP TABLE IF EXISTS `wk_role_permission`;
CREATE TABLE `wk_role_permission`
(
`role_id` BIGINT(64) NOT NULL COMMENT '',
`permission_id` BIGINT(64) NOT NULL COMMENT '',
PRIMARY KEY (`role_id`, `permission_id`)
) ENGINE = INNODB
DEFAULT CHARSET = UTF8 COMMENT '角色权限表';
`role_id` BIGINT NOT NULL COMMENT '角色ID',
`permission_id` BIGINT NOT NULL COMMENT '权限ID',
PRIMARY KEY (`role_id`, `permission_id`),
CONSTRAINT `fk_role_permission_permission`
FOREIGN KEY (`permission_id`)
REFERENCES `wk_permission` (`id`),
CONSTRAINT `fk_role_permission_role`
FOREIGN KEY (`role_id`)
REFERENCES `wk_role` (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
COMMENT = '角色权限表';
DROP TABLE IF EXISTS `wk_role_user`;
CREATE TABLE `wk_role_user`
(
`role_id` BIGINT(64) NOT NULL COMMENT '',
`user_id` BIGINT(64) NOT NULL COMMENT '',
PRIMARY KEY (`role_id`, `user_id`)
) ENGINE = INNODB
DEFAULT CHARSET = UTF8 COMMENT '角色用户表';
`role_id` BIGINT NOT NULL COMMENT '角色ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
PRIMARY KEY (`role_id`, `user_id`),
CONSTRAINT `fk_role_user_role`
FOREIGN KEY (`role_id`)
REFERENCES `wk_role` (`id`),
CONSTRAINT `fk_role_user_user`
FOREIGN KEY (`user_id`)
REFERENCES `wk_user` (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
COMMENT = '角色用户表';