学员管理

This commit is contained in:
none
2023-02-23 14:51:34 +08:00
parent 0dc02ffad7
commit 4dfd5518cb
11 changed files with 636 additions and 17 deletions

View File

@@ -0,0 +1,17 @@
package xyz.playedu.api.service;
import xyz.playedu.api.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.UserPaginateFilter;
/**
* @author tengteng
* @description 针对表【users】的数据库操作Service
* @createDate 2023-02-23 13:50:58
*/
public interface UserService extends IService<User> {
boolean emailIsExists(String email);
PaginationResult<User> paginate(int page, int size, UserPaginateFilter filter);
}

View File

@@ -0,0 +1,79 @@
package xyz.playedu.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.enums.SqlKeyword;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.ibatis.jdbc.SQL;
import xyz.playedu.api.domain.User;
import xyz.playedu.api.service.UserService;
import xyz.playedu.api.mapper.UserMapper;
import org.springframework.stereotype.Service;
import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.UserPaginateFilter;
/**
* @author tengteng
* @description 针对表【users】的数据库操作Service实现
* @createDate 2023-02-23 13:50:58
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public boolean emailIsExists(String email) {
User user = getOne(query().getWrapper().eq("email", email));
return user != null;
}
@Override
public PaginationResult<User> paginate(int page, int size, UserPaginateFilter filter) {
QueryWrapper<User> wrapper = query().getWrapper().eq("1", "1");
if (filter != null) {
if (filter.getEmail() != null) {
wrapper.eq("email", filter.getEmail());
}
if (filter.getName() != null) {
wrapper.eq("name", filter.getName());
}
if (filter.getNickname() != null) {
wrapper.eq("nickname", filter.getNickname());
}
if (filter.getIdCard() != null) {
wrapper.eq("id_card", filter.getIdCard());
}
if (filter.getIsActive() != null) {
wrapper.eq("is_active", filter.getIsActive());
}
if (filter.getIsLock() != null) {
wrapper.eq("is_lock", filter.getIsLock());
}
if (filter.getIsVerify() != null) {
wrapper.eq("is_verify", filter.getIsVerify());
}
if (filter.getIsSetPassword() != null) {
wrapper.eq("is_set_password", filter.getIsSetPassword());
}
if (filter.getCreatedAt() != null && filter.getCreatedAt().length == 2) {
wrapper.between("created_at", filter.getCreatedAt()[0], filter.getCreatedAt()[1]);
}
if (filter.getSortField() != null && filter.getSortAlgo() != null) {
wrapper.orderBy(true, filter.getSortAlgo().toUpperCase() == "ASC", filter.getSortField());
}
}
IPage<User> userPage = new Page<>(page, size);
userPage = page(userPage, wrapper);
PaginationResult<User> pageResult = new PaginationResult<>();
pageResult.setData(userPage.getRecords());
pageResult.setTotal(userPage.getTotal());
return pageResult;
}
}