From d595a0ba4769a78a80018b1e4516564271a11add Mon Sep 17 00:00:00 2001
From: fengxiaohang <15076273430@163.com>
Date: Thu, 17 Apr 2025 10:06:26 +0800
Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/jarRepositories.xml | 5 ++++
.../imooc/controller/UserInfoController.java | 14 +++++++++++
.../java/com/imooc/mapper/UsersMapper.java | 7 ++++++
.../java/com/imooc/service/UserService.java | 11 ++++++++
.../imooc/service/impl/UserServiceImpl.java | 25 ++++++++++++-------
5 files changed, 53 insertions(+), 9 deletions(-)
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 7628153..0cd582c 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -11,6 +11,11 @@
+
+
+
+
+
diff --git a/book-api/src/main/java/com/imooc/controller/UserInfoController.java b/book-api/src/main/java/com/imooc/controller/UserInfoController.java
index 8b68295..6fc90aa 100644
--- a/book-api/src/main/java/com/imooc/controller/UserInfoController.java
+++ b/book-api/src/main/java/com/imooc/controller/UserInfoController.java
@@ -12,6 +12,7 @@ import com.imooc.service.UserService;
import com.imooc.utils.MinIOUtils;
import com.imooc.utils.SMSUtils;
import com.imooc.vo.UsersVO;
+import io.prometheus.client.Info;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -131,6 +132,19 @@ public class UserInfoController extends BaseInfoProperties {
return GraceJSONResult.ok(users);
}
+ @ApiOperation(value = "根据昵称搜索用户")
+ @GetMapping("searchByNickname")
+ public GraceJSONResult searchByNickname(@RequestParam String nickname,
+ @RequestParam Integer page,
+ @RequestParam Integer pageSize){
+ try {
+ return GraceJSONResult.ok(userService.searchByNickname(nickname, page, pageSize));
+ } catch (Exception e) {
+ // 记录异常日志
+ log.error("搜索用户时发生异常,nickname: {}, page: {}, pageSize: {}", nickname, page, pageSize, e);
+ return GraceJSONResult.errorMsg("搜索用户时发生异常,请稍后重试");
+ }
+ }
}
diff --git a/book-mapper/src/main/java/com/imooc/mapper/UsersMapper.java b/book-mapper/src/main/java/com/imooc/mapper/UsersMapper.java
index 99e4e77..6f6fe32 100644
--- a/book-mapper/src/main/java/com/imooc/mapper/UsersMapper.java
+++ b/book-mapper/src/main/java/com/imooc/mapper/UsersMapper.java
@@ -2,8 +2,15 @@ package com.imooc.mapper;
import com.imooc.my.mapper.MyMapper;
import com.imooc.pojo.Users;
+import com.imooc.utils.PagedGridResult;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
@Mapper
public interface UsersMapper extends MyMapper {
+
+ @Select("SELECT * FROM t_users WHERE nickname LIKE CONCAT('%', #{nickname}, '%')")
+ List searchByNickname(String nickname);
}
\ No newline at end of file
diff --git a/book-service/src/main/java/com/imooc/service/UserService.java b/book-service/src/main/java/com/imooc/service/UserService.java
index 2b71101..7e44081 100644
--- a/book-service/src/main/java/com/imooc/service/UserService.java
+++ b/book-service/src/main/java/com/imooc/service/UserService.java
@@ -1,9 +1,11 @@
package com.imooc.service;
+import java.util.List;
import java.util.Map;
import com.imooc.bo.UpdatedUserBO;
import com.imooc.mo.Token;
import com.imooc.pojo.Users;
+import com.imooc.utils.PagedGridResult;
/**
* @author vercen
@@ -66,4 +68,13 @@ public interface UserService {
* @return
*/
String getUserInfoFromShop(String memberId);
+
+ /**
+ * 根据昵称搜索用户
+ * @param nickname
+ * @param page
+ * @param pageSize
+ * @return
+ */
+ List searchByNickname(String nickname, Integer page, Integer pageSize);
}
diff --git a/book-service/src/main/java/com/imooc/service/impl/UserServiceImpl.java b/book-service/src/main/java/com/imooc/service/impl/UserServiceImpl.java
index 37e538d..62ac5a5 100644
--- a/book-service/src/main/java/com/imooc/service/impl/UserServiceImpl.java
+++ b/book-service/src/main/java/com/imooc/service/impl/UserServiceImpl.java
@@ -1,5 +1,6 @@
package com.imooc.service.impl;
+import com.github.pagehelper.PageHelper;
import com.google.common.collect.Maps;
import com.imooc.bo.UpdatedUserBO;
import com.imooc.enums.Sex;
@@ -13,11 +14,7 @@ import com.imooc.mo.Token;
import com.imooc.pojo.UserMember;
import com.imooc.pojo.Users;
import com.imooc.service.UserService;
-import com.imooc.utils.DateUtil;
-import com.imooc.utils.DesensitizationUtil;
-import com.imooc.utils.GsonUtil;
-import com.imooc.utils.RedisOperator;
-import com.imooc.utils.RestTemplateUtil;
+import com.imooc.utils.*;
import com.imooc.vo.UsersVO;
import org.apache.commons.lang3.StringUtils;
@@ -34,10 +31,8 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
-import java.util.Date;
-import java.util.Map;
-import java.util.Optional;
-import java.util.UUID;
+import java.util.*;
+
import static com.imooc.base.BaseInfoProperties.REDIS_USER_TOKEN;
import static com.imooc.base.BaseInfoProperties.MOBILE_SMSCODE;
@@ -285,4 +280,16 @@ public class UserServiceImpl implements UserService {
})//
.orElseGet(() -> StringUtils.EMPTY);
}
+
+ @Override
+ public List searchByNickname(String nickname, Integer page, Integer pageSize) {
+ try {
+ // 开启分页
+ PageHelper.startPage(page, pageSize);
+ return usersMapper.searchByNickname(nickname);
+ } catch (Exception e) {
+ throw new RuntimeException("搜索用户时发生异常", e);
+ }
+ }
+
}