查询用户返回列表
This commit is contained in:
parent
af21a4d024
commit
d0b2357390
|
|
@ -49,6 +49,11 @@ public class UserController {
|
|||
return userFacade.getSingleUser(getSingleUserRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询用户信息", notes = "")
|
||||
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
||||
public ElectromagneticResult<?> searchUser(SearchUserRequest searchUserRequest) {
|
||||
return userFacade.searchUser(searchUserRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "校验工号唯一性", notes = "")
|
||||
@RequestMapping(value = "/validate", method = RequestMethod.POST)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model;
|
||||
|
||||
public class SearchKeywords {
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
/**
|
||||
* 用户状态
|
||||
*/
|
||||
private String userStatus;
|
||||
|
||||
/**
|
||||
* 用户发布状态
|
||||
*/
|
||||
private int isPublished;
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.SearchKeywords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -39,4 +40,13 @@ public interface UserRepository {
|
|||
* @return
|
||||
*/
|
||||
User getSingleUser(String userId);
|
||||
|
||||
/**
|
||||
* 查询用户
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
List<User> search(SearchKeywords searchKeywords);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.SearchKeywords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
|
||||
|
|
@ -50,4 +51,11 @@ public interface UserService {
|
|||
* @return
|
||||
*/
|
||||
User getSingleUser(String userId);
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
List<User> searchUser(SearchKeywords searchKeywords);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.SearchKeywords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.UserRepository;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.UserService;
|
||||
|
|
@ -80,4 +81,12 @@ public class UserServiceImpl implements UserService {
|
|||
*/
|
||||
@Override
|
||||
public User getSingleUser(String userId) { return userRepository.getSingleUser(userId); }
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<User> searchUser(SearchKeywords searchKeywords) { return userRepository.search(searchKeywords); }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,4 +52,11 @@ public interface UserFacade {
|
|||
* @return
|
||||
*/
|
||||
ElectromagneticResult<?> getSingleUser(GetSingleUserRequest getSingleUserRequest);
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
* @param searchUserRequest
|
||||
* @return
|
||||
*/
|
||||
ElectromagneticResult<?> searchUser(SearchUserRequest searchUserRequest);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
package com.electromagnetic.industry.software.data.manage.request.user;
|
||||
|
||||
import electromagnetic.data.framework.share.model.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
@Data
|
||||
public class SearchUserRequest extends BaseRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
/**
|
||||
* 用户状态
|
||||
*/
|
||||
private String userStatus;
|
||||
|
||||
/**
|
||||
* 用户发布状态
|
||||
*/
|
||||
private int isPublished;
|
||||
|
||||
/**
|
||||
* 排序字段: "gmtCreate", "joinTime", "internEndDate"
|
||||
*/
|
||||
private String sortBy;
|
||||
|
||||
/**
|
||||
* 排序方式: "asc" 或 "desc"
|
||||
*/
|
||||
private String sortOrder;
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
/**
|
||||
* Copyright (c) 2004-2024 All Rights Reserved.
|
||||
*/
|
||||
package com.electromagnetic.industry.software.data.manage.response.user;
|
||||
|
||||
import lombok.Data;
|
||||
import org.apache.catalina.User;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 指标卡详情Reponse
|
||||
* @author
|
||||
* @version $Id: IndicatorCardDetail.java, v 0.1 2024-08-14 10:37
|
||||
*/
|
||||
@Data
|
||||
public class UserSearchResponse implements Serializable {
|
||||
private static final long serialVersionUID = -7475233976453471059L;
|
||||
|
||||
/**
|
||||
* 用户列表
|
||||
*/
|
||||
private List<SingleUserResponse> userList;
|
||||
//private List<User> userList;
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.electromagnetic.industry.software.data.manage.repository.dao;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.SearchKeywords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
|
|
@ -41,4 +42,11 @@ public interface UserMapper {
|
|||
* @return
|
||||
*/
|
||||
User getSingleUser(String userId);
|
||||
|
||||
/**
|
||||
* 通过用户编码查询用户
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
List<User> search(SearchKeywords searchKeywords);
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
package com.electromagnetic.industry.software.data.manage.repository.impl;
|
||||
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.SearchKeywords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.UserRepository;
|
||||
import com.electromagnetic.industry.software.data.manage.repository.dao.UserMapper;
|
||||
|
|
@ -69,4 +70,14 @@ public class UserRepositoryImpl implements UserRepository {
|
|||
public User getSingleUser(String userId) {
|
||||
return userMapper.getSingleUser(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<User> search(SearchKeywords searchKeywords) {
|
||||
return userMapper.search(searchKeywords);
|
||||
}
|
||||
}
|
||||
|
|
@ -98,6 +98,55 @@
|
|||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="search" parameterType="com.electromagnetic.industry.software.data.manage.request.user.UserSearchRequest" resultType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User">
|
||||
SELECT *
|
||||
FROM ed_users
|
||||
<where>
|
||||
<!-- 条件 1:按用户名或工号搜索 -->
|
||||
<if test="keyword != null and keyword != ''">
|
||||
(user_name LIKE CONCAT('%', #{keyword}, '%') OR work_number LIKE CONCAT('%', #{keyword}, '%'))
|
||||
</if>
|
||||
|
||||
<!-- 条件 2:按用户状态搜索 -->
|
||||
<if test="userStatus != null and userStatus != ''">
|
||||
<choose>
|
||||
<when test="userStatus != 'all'">
|
||||
AND user_status = #{userStatus}
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
<!-- 条件 3:按发布状态搜索 -->
|
||||
<if test="isPublished != null and isPublished != ''">
|
||||
<choose>
|
||||
<when test="isPublished != 'all'">
|
||||
AND is_published = #{isPublished}
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
</where>
|
||||
|
||||
<!-- 动态排序条件 -->
|
||||
<choose>
|
||||
<when test="sortBy != null and sortOrder != null">
|
||||
<if test="sortBy == 'gmtCreate'">
|
||||
ORDER BY gmt_create ${sortOrder}
|
||||
</if>
|
||||
<if test="sortBy == 'joinTime'">
|
||||
ORDER BY join_time ${sortOrder}
|
||||
</if>
|
||||
<if test="sortBy == 'internEndDate'">
|
||||
ORDER BY internship_end_date ${sortOrder}
|
||||
</if>
|
||||
</when>
|
||||
<!-- 默认按工号的字典序排列 -->
|
||||
<otherwise>
|
||||
ORDER BY work_number ASC
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectUserByWorkNumber" parameterType="String" resultMap="UserResultMap">
|
||||
<include refid="selectUserVo" />
|
||||
where work_number = #{workNumber}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,25 @@
|
|||
package com.electromagnetic.industry.software.data.manage.service.facade.user;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.Indicator;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardDetial;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.UserService;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util.UserConstant;
|
||||
import com.electromagnetic.industry.software.data.manage.facade.user.UserFacade;
|
||||
import com.electromagnetic.industry.software.data.manage.request.indicator.IndicatorCardRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.*;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.response.indicator.IndicatorCardDetailReponse;
|
||||
import com.electromagnetic.industry.software.data.manage.response.indicator.IndicatorResponse;
|
||||
import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse;
|
||||
import com.electromagnetic.industry.software.data.manage.response.user.UserSearchResponse;
|
||||
import com.electromagnetic.industry.software.data.manage.service.mappers.IndicatorCardMappers;
|
||||
import com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers;
|
||||
import electromagnetic.data.framework.share.id.IdWorker;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResult;
|
||||
|
|
@ -22,6 +30,8 @@ import org.apache.commons.lang3.RandomStringUtils;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class UserFacadeImpl implements UserFacade {
|
||||
|
|
@ -116,4 +126,18 @@ public class UserFacadeImpl implements UserFacade {
|
|||
return ElectromagneticResultUtil.success(singleUserResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
* @param searchUserRequest
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ElectromagneticResult<UserSearchResponse> searchUser(SearchUserRequest searchUserRequest){
|
||||
List<User> userList = userService.searchUser(UserMappers.INSTANCE.getSearchKeywordsRequestToModel(searchUserRequest));
|
||||
UserSearchResponse userSearchResponse = UserMappers.INSTANCE.userListToResponse(userList);
|
||||
return ElectromagneticResultUtil.success(userSearchResponse);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
*/
|
||||
package com.electromagnetic.industry.software.data.manage.service.mappers;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.SearchKeywords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.GetSingleUserRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest;
|
||||
|
|
@ -12,6 +13,7 @@ import com.electromagnetic.industry.software.data.manage.domain.boardservice.use
|
|||
import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse;
|
||||
import com.electromagnetic.industry.software.data.manage.response.user.UserSearchResponse;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
|
|
@ -45,6 +47,21 @@ public interface UserMappers {
|
|||
* @return
|
||||
*/
|
||||
SingleUserResponse getSingleUserToResponse(User user);
|
||||
|
||||
/**
|
||||
* 获取单条用户信息Request转用户模型
|
||||
* @param searchUserRequest
|
||||
* @return
|
||||
*/
|
||||
SearchKeywords getSearchKeywordsRequestToModel(SearchUserRequest searchUserRequest);
|
||||
|
||||
/**
|
||||
* 获取单条用户信息Request转用户模型
|
||||
* @param users
|
||||
* @return
|
||||
*/
|
||||
UserSearchResponse userListToResponse(List<User> users);
|
||||
|
||||
/**
|
||||
* 编辑用户Request转用户模型
|
||||
* @param userModiRequest
|
||||
|
|
|
|||
Loading…
Reference in New Issue