- 更改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; 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 @Transactional
public interface UserService { public interface UserService {
ApiResponse<PageResult<UserVO>> getUserList(); /**
* 获取用户列表分页
*
* @param pageParam 分页参数
* @return 用户列表
*/
ApiResponse<PageResult<UserVO>> getUserListByPage(PageParam pageParam); 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.model.vo.user.UserVO;
import asia.yulinling.workflow.service.UserService; import asia.yulinling.workflow.service.UserService;
import asia.yulinling.workflow.utils.PageUtil; import asia.yulinling.workflow.utils.PageUtil;
import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -27,55 +27,42 @@ import java.util.List;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j
public class UserServiceImpl implements UserService { public class UserServiceImpl implements UserService {
/** 注入用户Mapper */ /** 注入用户Mapper */
private final UserMapper userMapper; private final UserMapper userMapper;
@Override /**
public ApiResponse<PageResult<UserVO>> getUserList() { * 获取用户列表分页
*
List<UserVO> userVOList = new ArrayList<>(); * @param pageParam 分页参数
* @return 用户列表
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);
}
@Override @Override
public ApiResponse<PageResult<UserVO>> getUserListByPage(PageParam pageParam) { 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); Page<User> users = userMapper.selectPage(page, null);
// 转换为 VO 列表
List<UserVO> userVOList = new ArrayList<>(); List<UserVO> userVOList = new ArrayList<>();
if (users.getRecords() != null && !users.getRecords().isEmpty()) {
for (User user : users.getRecords()) { for (User user : users.getRecords()) {
UserVO userVO = new UserVO(); UserVO userVO = new UserVO();
BeanUtils.copyProperties(user, userVO); BeanUtils.copyProperties(user, userVO);
userVOList.add(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

@ -30,31 +30,55 @@ CREATE TABLE `wk_role`
DROP TABLE IF EXISTS `wk_permission`; DROP TABLE IF EXISTS `wk_permission`;
CREATE TABLE `wk_permission` CREATE TABLE `wk_permission`
( (
`id` BIGINT(64) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键', `id` BIGINT AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR(32) NOT NULL UNIQUE COMMENT '权限名', `name` VARCHAR(32) NOT NULL COMMENT '权限名',
`url` VARCHAR(1000) DEFAULT NULL COMMENT '类型为页面时,代表前端路由地址,类型为按钮时,代表后端接口地址', `url` VARCHAR(1000) NULL COMMENT '类型为页面时,代表前端路由地址,类型为按钮时,代表后端接口地址',
`type` INT(2) NOT NULL COMMENT '权限类型,页面-1,按钮-2', `type` INT NOT NULL COMMENT '权限类型,页面-1,按钮-2',
`permission` VARCHAR(50) DEFAULT NULL COMMENT '权限表达式', `permission` VARCHAR(50) NULL COMMENT '权限表达式',
`method` VARCHAR(50) DEFAULT NULL COMMENT '后端接口访问方式', `method` VARCHAR(50) NULL COMMENT '后端接口访问方式',
`sort` INT(11) NOT NULL COMMENT '排序', `sort` INT NOT NULL COMMENT '排序',
`parent_id` BIGINT(64) NOT NULL COMMENT '父级ID' `parent_id` BIGINT NOT NULL COMMENT '父级ID',
) ENGINE = INNODB `create_time` DATETIME DEFAULT NOW() COMMENT '创建时间',
DEFAULT CHARSET = UTF8 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`; DROP TABLE IF EXISTS `wk_role_permission`;
CREATE TABLE `wk_role_permission` CREATE TABLE `wk_role_permission`
( (
`role_id` BIGINT(64) NOT NULL COMMENT '', `role_id` BIGINT NOT NULL COMMENT '角色ID',
`permission_id` BIGINT(64) NOT NULL COMMENT '', `permission_id` BIGINT NOT NULL COMMENT '权限ID',
PRIMARY KEY (`role_id`, `permission_id`) PRIMARY KEY (`role_id`, `permission_id`),
) ENGINE = INNODB CONSTRAINT `fk_role_permission_permission`
DEFAULT CHARSET = UTF8 COMMENT '角色权限表'; 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`; DROP TABLE IF EXISTS `wk_role_user`;
CREATE TABLE `wk_role_user` CREATE TABLE `wk_role_user`
( (
`role_id` BIGINT(64) NOT NULL COMMENT '', `role_id` BIGINT NOT NULL COMMENT '角色ID',
`user_id` BIGINT(64) NOT NULL COMMENT '', `user_id` BIGINT NOT NULL COMMENT '用户ID',
PRIMARY KEY (`role_id`, `user_id`) PRIMARY KEY (`role_id`, `user_id`),
) ENGINE = INNODB CONSTRAINT `fk_role_user_role`
DEFAULT CHARSET = UTF8 COMMENT '角色用户表'; 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 = '角色用户表';