完成留言板:平台查看哪些用户给它发送了消息接口

This commit is contained in:
wen 2022-01-15 16:31:04 +08:00
parent d465d9ca31
commit 634fe23e7d
6 changed files with 80 additions and 5 deletions

View File

@ -48,7 +48,7 @@ public class XhpcMessageBoardController {
* @since version-1.0 * @since version-1.0
*/ */
@GetMapping("/user/list") @GetMapping("/user/list")
public AjaxResult queryUserList(QueryUserListRequest param) { public AjaxResult queryUserList(QueryUserListRequest param) throws Exception {
QueryUserListResponse queryUserListResponse = xhpcMessageBoardService.queryUserList(param); QueryUserListResponse queryUserListResponse = xhpcMessageBoardService.queryUserList(param);

View File

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@ -34,6 +35,7 @@ public class QueryUserListRequest {
@JsonProperty("currentPage") @JsonProperty("currentPage")
@NotNull(message = "currentPage的参数名不正确或者currentPage的值为空检查传入参数") @NotNull(message = "currentPage的参数名不正确或者currentPage的值为空检查传入参数")
@NotBlank(message = "currentPage的参数为''字符串,请检查传入参数") @NotBlank(message = "currentPage的参数为''字符串,请检查传入参数")
@Min(value = 1, message = "分页参数最小为1")
private Integer currentPage; private Integer currentPage;
/** /**
* items * items
@ -41,6 +43,7 @@ public class QueryUserListRequest {
@JsonProperty("items") @JsonProperty("items")
@NotNull(message = "items的参数名不正确或者items的值为空检查传入参数") @NotNull(message = "items的参数名不正确或者items的值为空检查传入参数")
@NotBlank(message = "items的参数为''字符串,请检查传入参数") @NotBlank(message = "items的参数为''字符串,请检查传入参数")
@Min(value = 1, message = "每页显示至少1条数据")
private Integer items; private Integer items;
/** /**
* tenantId * tenantId

View File

@ -1,8 +1,11 @@
package com.xhpc.board.mapper; package com.xhpc.board.mapper;
import com.xhpc.board.domain.QueryUserListRequest;
import com.xhpc.board.domain.SendMessageToPlatformRequest; import com.xhpc.board.domain.SendMessageToPlatformRequest;
import com.xhpc.board.pojo.XhpcMessageBoardReceiveUser; import com.xhpc.board.pojo.XhpcMessageBoardReceiveUser;
import java.util.List;
/** /**
* the mapper of the xhpc_message_board_receive_user * the mapper of the xhpc_message_board_receive_user
* *
@ -37,4 +40,26 @@ public interface XhpcMessageBoardReceiveUserMapper {
*/ */
void updateHaveNewInfoFiledByUserCondition(SendMessageToPlatformRequest userMessage); void updateHaveNewInfoFiledByUserCondition(SendMessageToPlatformRequest userMessage);
/**
* 查询给平台发消息的用户列表
*
* @param param 租户查询条件
* @return 返回一个装着所有发送过信息的用户列表
* @author WH
* @date 2022/1/14 16:45
* @since version-1.0
*/
List<XhpcMessageBoardReceiveUser> findAllBy(QueryUserListRequest param);
/**
* 查询给平台发消息的用户总数
*
* @param param 租户查询条件
* @return 给平台发消息的用户总数
* @author WH
* @date 2022/1/15 15:44
* @since version-1.0
*/
Long totalUserNumber(QueryUserListRequest param);
} }

View File

@ -59,11 +59,12 @@ public interface XhpcMessageBoardService {
* *
* @param param query list condition * @param param query list condition
* @return 发了信息的用户列表 * @return 发了信息的用户列表
* @throws Exception 当出现空指针异常时抛出此异常
* @author WH * @author WH
* @date 2022/1/14 11:25 * @date 2022/1/14 11:25
* @since version-1.0 * @since version-1.0
*/ */
QueryUserListResponse queryUserList(QueryUserListRequest param); QueryUserListResponse queryUserList(QueryUserListRequest param) throws Exception;
} }

View File

@ -13,6 +13,7 @@ import com.xhpc.common.core.utils.bean.BeanUtils;
import com.xhpc.common.redis.service.RedisService; import com.xhpc.common.redis.service.RedisService;
import com.xhpc.common.security.service.TokenService; import com.xhpc.common.security.service.TokenService;
import com.xhpc.common.util.DateUtil; import com.xhpc.common.util.DateUtil;
import com.xhpc.common.util.MyPagingUtil;
import com.xhpc.system.api.domain.SysUser; import com.xhpc.system.api.domain.SysUser;
import com.xhpc.system.api.model.LoginUser; import com.xhpc.system.api.model.LoginUser;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -251,9 +252,34 @@ public class XhpcMessageBoardServiceImpl implements XhpcMessageBoardService {
* @since version-1.0 * @since version-1.0
*/ */
@Override @Override
public QueryUserListResponse queryUserList(QueryUserListRequest param) { public QueryUserListResponse queryUserList(QueryUserListRequest param) throws Exception {
//计算分页索引
return null; 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<XhpcMessageBoardReceiveUser> userList = xhpcMessageBoardReceiveUserMapper.findAllBy(param);
if (userList.size() == 0) {
return queryUserListResponse;
}
List<QueryUserListResponse.DataDTO> 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;
} }
} }

View File

@ -99,4 +99,24 @@
AND sender_type = #{senderType} AND sender_type = #{senderType}
AND del_flag IS NULL AND del_flag IS NULL
</select> </select>
<select id="findAllBy" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM
`xhpc_message_board_receive_user`
WHERE
tenant_id = #{tenantId}
AND tenant_type = #{tenantType}
AND del_flag IS NULL
AND have_new_info = 0
LIMIT #{currentPage},#{items}
</select>
<select id="totalUserNumber" resultType="java.lang.Long">
SELECT count(tenant_id)
FROM `xhpc_message_board_receive_user`
WHERE tenant_id = #{tenantId}
AND tenant_type = #{tenantType}
AND del_flag IS NULL
AND have_new_info = 0
</select>
</mapper> </mapper>