Kaynağa Gözat

添加根据email和name模糊查询

lipy 7 yıl önce
ebeveyn
işleme
2caf99e06d

+ 1 - 1
mooctest-user-server/pom.xml

@@ -24,7 +24,7 @@
         <dependency>
             <groupId>cn.iselab.mooctest</groupId>
             <artifactId>user-dubbo-api</artifactId>
-            <version>1.0.16</version>
+            <version>1.0.17</version>
         </dependency>
         <dependency>
             <groupId>org.mybatis.spring.boot</groupId>

+ 3 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/mapper/UserMapper.java

@@ -51,4 +51,7 @@ public interface UserMapper {
 
     @Select("SELECT * FROM user WHERE email LIKE concat('%',#{username},'%')")
     List<User> findByFuzzyEmail(String email);
+
+    @Select("SELECT * FROM user WHERE name LIKE concat('%',#{keyword},'%') OR email LIKE CONCAT('%',#{keyword},'%')")
+    List<User> findByFuzzyNameOrEmail(String keyword);
 }

+ 5 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/rpc/UserRPC.java

@@ -59,4 +59,9 @@ public class UserRPC implements UserService {
     public List<UserDTO> getUserByFuzzyEmail(UserDTO userDTO) {
         return userLogic.getUserByFuzzyEmail(userDTO);
     }
+
+    @Override
+    public List<UserDTO> getUserByFuzzyNameOrEmail(UserDTO userDTO) {
+        return userLogic.getUserByFuzzyNameOrEmail(userDTO);
+    }
 }

+ 2 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/service/UserService.java

@@ -24,5 +24,7 @@ public interface UserService {
     List<User> findByFuzzyName(String name);
 
     List<User> findByFuzzyEmail(String email);
+
+    List<User> findByFuzzyNameOrEmail(String keyword);
 }
 

+ 5 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/service/impl/UserServiceImpl.java

@@ -62,4 +62,9 @@ public class UserServiceImpl implements UserService {
     public List<User> findByFuzzyEmail(String email) {
         return userMapper.findByFuzzyEmail(email);
     }
+
+    @Override
+    public List<User> findByFuzzyNameOrEmail(String keyword) {
+        return userMapper.findByFuzzyNameOrEmail(keyword);
+    }
 }

+ 2 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/logic/UserLogic.java

@@ -25,4 +25,6 @@ public interface UserLogic {
     List<UserDTO> getUserByFuzzyName(UserDTO userDTO);
 
     List<UserDTO> getUserByFuzzyEmail(UserDTO userDTO);
+
+    List<UserDTO> getUserByFuzzyNameOrEmail(UserDTO userDTO);
 }

+ 12 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/logic/impl/UserLogicImpl.java

@@ -125,4 +125,16 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
         List<User> users = userService.findByFuzzyEmail(userDTO.getEmail());
         return userWrapper.wrap(users);
     }
+
+    @Override
+    public List<UserDTO> getUserByFuzzyNameOrEmail(UserDTO userDTO) {
+        String keyword = null;
+        if(userDTO.getName() != null) {
+            keyword = userDTO.getName();
+        } else if (userDTO.getEmail() != null) {
+            keyword = userDTO.getEmail();
+        }
+        List<User> userList = userService.findByFuzzyNameOrEmail(keyword);
+        return userWrapper.wrap(userList);
+    }
 }