diff --git a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/controller/XhpcMessageBoardController.java b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/controller/XhpcMessageBoardController.java index d22962d2..8597fc5d 100644 --- a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/controller/XhpcMessageBoardController.java +++ b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/controller/XhpcMessageBoardController.java @@ -48,7 +48,7 @@ public class XhpcMessageBoardController { * @since version-1.0 */ @GetMapping("/user/list") - public AjaxResult queryUserList(QueryUserListRequest param) { + public AjaxResult queryUserList(QueryUserListRequest param) throws Exception { QueryUserListResponse queryUserListResponse = xhpcMessageBoardService.queryUserList(param); diff --git a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/domain/QueryUserListRequest.java b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/domain/QueryUserListRequest.java index 2e250e6f..cc087a3f 100644 --- a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/domain/QueryUserListRequest.java +++ b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/domain/QueryUserListRequest.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.NoArgsConstructor; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -34,6 +35,7 @@ public class QueryUserListRequest { @JsonProperty("currentPage") @NotNull(message = "currentPage的参数名不正确或者currentPage的值为空,检查传入参数") @NotBlank(message = "currentPage的参数为''字符串,请检查传入参数") + @Min(value = 1, message = "分页参数最小为1") private Integer currentPage; /** * items @@ -41,6 +43,7 @@ public class QueryUserListRequest { @JsonProperty("items") @NotNull(message = "items的参数名不正确或者items的值为空,检查传入参数") @NotBlank(message = "items的参数为''字符串,请检查传入参数") + @Min(value = 1, message = "每页显示至少1条数据") private Integer items; /** * tenantId diff --git a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/mapper/XhpcMessageBoardReceiveUserMapper.java b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/mapper/XhpcMessageBoardReceiveUserMapper.java index 54ae11b7..1ef5ad74 100644 --- a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/mapper/XhpcMessageBoardReceiveUserMapper.java +++ b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/mapper/XhpcMessageBoardReceiveUserMapper.java @@ -1,8 +1,11 @@ package com.xhpc.board.mapper; +import com.xhpc.board.domain.QueryUserListRequest; import com.xhpc.board.domain.SendMessageToPlatformRequest; import com.xhpc.board.pojo.XhpcMessageBoardReceiveUser; +import java.util.List; + /** * the mapper of the xhpc_message_board_receive_user * @@ -37,4 +40,26 @@ public interface XhpcMessageBoardReceiveUserMapper { */ void updateHaveNewInfoFiledByUserCondition(SendMessageToPlatformRequest userMessage); + /** + * 查询给平台发消息的用户列表 + * + * @param param 租户查询条件 + * @return 返回一个装着所有发送过信息的用户列表 + * @author WH + * @date 2022/1/14 16:45 + * @since version-1.0 + */ + List findAllBy(QueryUserListRequest param); + + /** + * 查询给平台发消息的用户总数 + * + * @param param 租户查询条件 + * @return 给平台发消息的用户总数 + * @author WH + * @date 2022/1/15 15:44 + * @since version-1.0 + */ + Long totalUserNumber(QueryUserListRequest param); + } \ No newline at end of file diff --git a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/service/XhpcMessageBoardService.java b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/service/XhpcMessageBoardService.java index ab3f12cb..152b1b87 100644 --- a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/service/XhpcMessageBoardService.java +++ b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/service/XhpcMessageBoardService.java @@ -59,11 +59,12 @@ public interface XhpcMessageBoardService { * * @param param query list condition * @return 发了信息的用户列表 + * @throws Exception 当出现空指针异常时,抛出此异常 * @author WH * @date 2022/1/14 11:25 * @since version-1.0 */ - QueryUserListResponse queryUserList(QueryUserListRequest param); + QueryUserListResponse queryUserList(QueryUserListRequest param) throws Exception; } diff --git a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/service/impl/XhpcMessageBoardServiceImpl.java b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/service/impl/XhpcMessageBoardServiceImpl.java index bdbdfdaa..cd852bb2 100644 --- a/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/service/impl/XhpcMessageBoardServiceImpl.java +++ b/xhpc-modules/xhpc-message-board/src/main/java/com/xhpc/board/service/impl/XhpcMessageBoardServiceImpl.java @@ -13,6 +13,7 @@ import com.xhpc.common.core.utils.bean.BeanUtils; import com.xhpc.common.redis.service.RedisService; import com.xhpc.common.security.service.TokenService; import com.xhpc.common.util.DateUtil; +import com.xhpc.common.util.MyPagingUtil; import com.xhpc.system.api.domain.SysUser; import com.xhpc.system.api.model.LoginUser; import org.springframework.stereotype.Service; @@ -251,9 +252,34 @@ public class XhpcMessageBoardServiceImpl implements XhpcMessageBoardService { * @since version-1.0 */ @Override - public QueryUserListResponse queryUserList(QueryUserListRequest param) { - - return null; + public QueryUserListResponse queryUserList(QueryUserListRequest param) throws Exception { + //计算分页索引 + int startIndex = MyPagingUtil.calculateStartIndex(param.getCurrentPage(), param.getItems()); + param.setCurrentPage(startIndex); + //查询用户列表 + SysUser receiverInfo = tokenService.getLoginUser().getSysUser(); + if (receiverInfo == null) { + throw new Exception("查询不到指定的租户,receiver为null,请检查传递的参数"); + } + QueryUserListResponse queryUserListResponse = new QueryUserListResponse(); + //查询出该租户拥有的所有用户列表 + List userList = xhpcMessageBoardReceiveUserMapper.findAllBy(param); + if (userList.size() == 0) { + return queryUserListResponse; + } + List dataDtoList = new ArrayList<>(); + for (XhpcMessageBoardReceiveUser receiveUser : userList) { + QueryUserListResponse.DataDTO dataDTO = new QueryUserListResponse.DataDTO(); + BeanUtils.copyProperties(receiveUser, dataDTO); + dataDTO.setUserAccount(receiveUser.getSenderAccount()); + dataDTO.setUserType(receiveUser.getSenderType()); + dataDtoList.add(dataDTO); + } + queryUserListResponse.setData(dataDtoList); + //获取该租户总共有多少个用户给他发送了留言 + Long totalUserNumber = xhpcMessageBoardReceiveUserMapper.totalUserNumber(param); + queryUserListResponse.setTotalItems(totalUserNumber); + return queryUserListResponse; } } diff --git a/xhpc-modules/xhpc-message-board/src/main/resources/mapper/XhpcMessageBoardReceiveUserMapper.xml b/xhpc-modules/xhpc-message-board/src/main/resources/mapper/XhpcMessageBoardReceiveUserMapper.xml index 4a24934c..0cc56c48 100644 --- a/xhpc-modules/xhpc-message-board/src/main/resources/mapper/XhpcMessageBoardReceiveUserMapper.xml +++ b/xhpc-modules/xhpc-message-board/src/main/resources/mapper/XhpcMessageBoardReceiveUserMapper.xml @@ -99,4 +99,24 @@ AND sender_type = #{senderType} AND del_flag IS NULL + + \ No newline at end of file