From 4bee92abb078dc593674c23df05786f7eef18e16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=89=91=E9=9B=A8?= <2375294554@qq.com> Date: Tue, 25 Mar 2025 15:04:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=9A=E5=8A=A1=E5=B1=82?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=96=B0=E5=8A=9F=E8=83=BD=EF=BC=9A?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=9F=A5=E6=89=BE=20--AdminPageUserDTO.java?= =?UTF-8?q?=20=E7=AE=A1=E7=90=86=E5=91=98=E5=88=86=E9=A1=B5=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=8F=82=E6=95=B0DTO=20--AdminPageUserVO.java=20?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E5=88=86=E9=A1=B5=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=B1=95=E7=A4=BAVO=20--SysUserService.java=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=88=86=E9=A1=B5=E6=96=B9=E6=B3=95=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=20--SysUserServiceImpl.java=20=E5=AE=9E=E7=8E=B0=E4=BA=86?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/sys/dto/AdminPageUserDTO.java | 28 ++++++++++++++++++ .../modules/sys/service/SysUserService.java | 10 +++++++ .../sys/service/impl/SysUserServiceImpl.java | 29 +++++++++++++++++++ .../modules/sys/vo/AdminPageUserVO.java | 22 ++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 main/manager-api/src/main/java/xiaozhi/modules/sys/dto/AdminPageUserDTO.java create mode 100644 main/manager-api/src/main/java/xiaozhi/modules/sys/vo/AdminPageUserVO.java diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/dto/AdminPageUserDTO.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/dto/AdminPageUserDTO.java new file mode 100644 index 00000000..537a5bb9 --- /dev/null +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/dto/AdminPageUserDTO.java @@ -0,0 +1,28 @@ +package xiaozhi.modules.sys.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +/** + * 管理员分页用户的参数DTO + * @author zjy + * @since 2025-3-21 + */ +@Data +@Schema(description = "音色分页参数") +public class AdminPageUserDTO { + + + @Schema(description = "手机号码") + @NotBlank(message = "") + private String mobile; + + @Schema(description = "页数") + @NotBlank(message = "") + private String page; + + @Schema(description = "显示列数") + @NotBlank(message = "") + private String limit; +} diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysUserService.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysUserService.java index 08179409..0f172fb7 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysUserService.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysUserService.java @@ -1,9 +1,12 @@ package xiaozhi.modules.sys.service; +import xiaozhi.common.page.PageData; import xiaozhi.common.service.BaseService; +import xiaozhi.modules.sys.dto.AdminPageUserDTO; import xiaozhi.modules.sys.dto.PasswordDTO; import xiaozhi.modules.sys.dto.SysUserDTO; import xiaozhi.modules.sys.entity.SysUserEntity; +import xiaozhi.modules.sys.vo.AdminPageUserVO; /** @@ -20,4 +23,11 @@ public interface SysUserService extends BaseService { void delete(Long[] ids); void changePassword(Long userId, PasswordDTO passwordDTO); + + /** + * 管理员分页用户信息 + * @param dto 分页查找参数 + * @return 用户列表分页数据 + */ + PageData page(AdminPageUserDTO dto); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java index 17d1939c..3075d7ea 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java @@ -1,23 +1,31 @@ package xiaozhi.modules.sys.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import xiaozhi.common.constant.Constant; import xiaozhi.common.exception.ErrorCode; import xiaozhi.common.exception.RenException; +import xiaozhi.common.page.PageData; import xiaozhi.common.service.impl.BaseServiceImpl; import xiaozhi.common.utils.ConvertUtils; import xiaozhi.modules.security.password.PasswordUtils; import xiaozhi.modules.sys.dao.SysUserDao; +import xiaozhi.modules.sys.dto.AdminPageUserDTO; import xiaozhi.modules.sys.dto.PasswordDTO; import xiaozhi.modules.sys.dto.SysUserDTO; import xiaozhi.modules.sys.entity.SysUserEntity; import xiaozhi.modules.sys.enums.SuperAdminEnum; import xiaozhi.modules.sys.service.SysUserService; +import xiaozhi.modules.sys.vo.AdminPageUserVO; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -112,6 +120,27 @@ public class SysUserServiceImpl extends BaseServiceImpl page(AdminPageUserDTO dto) { + Map params = new HashMap(); + params.put(Constant.PAGE, dto.getPage()); + params.put(Constant.LIMIT,dto.getLimit()); + IPage page = baseDao.selectPage( + getPage(params, "sort", true), + //定义查询条件 + new QueryWrapper() + //必须按照ttsID查找 + .eq("username",dto.getMobile())); + List list = page.getRecords().stream().map(user -> { + AdminPageUserVO adminPageUserVO = new AdminPageUserVO(); + adminPageUserVO.setUserid(user.getId().toString()); + adminPageUserVO.setMobile(user.getUsername()); + //TODO 2. 等设备功能写好,获取对应数据 + adminPageUserVO.setDeviceCount("0"); + return adminPageUserVO; + }).toList(); + return new PageData<>(list, page.getTotal()); + } private boolean isStrongPassword(String password) { // 弱密码的正则表达式 diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/vo/AdminPageUserVO.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/vo/AdminPageUserVO.java new file mode 100644 index 00000000..c1109ff8 --- /dev/null +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/vo/AdminPageUserVO.java @@ -0,0 +1,22 @@ +package xiaozhi.modules.sys.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 管理员分页展示用户的VO + * @ zjy + * @since 2025-3-25 + */ +@Data +public class AdminPageUserVO { + + @Schema(description = "设备数量") + private String deviceCount; + + @Schema(description = "手机号码") + private String mobile; + + @Schema(description = "用户id") + private String userid; +}