|
@@ -14,36 +14,58 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import java.util.Collection;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
@RestController
|
|
|
@AllArgsConstructor
|
|
|
@RequestMapping("message")
|
|
|
public class TimeMessageController {
|
|
|
private final TimeMessageService timeMessageService;
|
|
|
|
|
|
+ /**
|
|
|
+ * 消息列表
|
|
|
+ *
|
|
|
+ * @param messageVo 分页数据的请求对象
|
|
|
+ * @return 带已读,未读条数的分页列表
|
|
|
+ */
|
|
|
@PostMapping("list")
|
|
|
- public RestResponse list(@RequestBody MessageVo messageVo) {
|
|
|
+ public RestResponse<MessageBO> list(@RequestBody MessageVo messageVo) {
|
|
|
IPage<TimeMessage> page = new Page<>(messageVo.getPageNum(), messageVo.getPageSize());
|
|
|
IPage<TimeMessage> result = timeMessageService.page(page, Wrappers.<TimeMessage>query()
|
|
|
.eq(messageVo.getUserId() != null, "user_id", messageVo.getUserId())
|
|
|
.eq(messageVo.getType() != null, "type", messageVo.getType())
|
|
|
.orderByAsc("view_flag", "create_time"));
|
|
|
MessageBO messageBO = MessageBO.pageCastMessageBo(result);
|
|
|
- messageBO.setReadCount(timeMessageService.count(Wrappers.<TimeMessage>query()
|
|
|
+ messageBO.setReadCount((long) timeMessageService.count(Wrappers.<TimeMessage>query()
|
|
|
.eq(messageVo.getUserId() != null, "user_id", messageVo.getUserId())
|
|
|
.eq("view_flag", 1)
|
|
|
.eq("type", messageVo.getType())));
|
|
|
- messageBO.setUnreadCount(timeMessageService.count(Wrappers.<TimeMessage>query()
|
|
|
- .eq(messageVo.getUserId() != null, "user_id", messageVo.getUserId())
|
|
|
- .eq("view_flag", 0)
|
|
|
- .eq("type", messageVo.getType())));
|
|
|
+ messageBO.setUnreadCount(messageBO.getTotal() - messageBO.getReadCount());
|
|
|
return RestResponse.success(messageBO);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param messageVo 分页功能的请求对象
|
|
|
+ * @return 一条消息详情
|
|
|
+ */
|
|
|
@PostMapping
|
|
|
- public RestResponse message(@RequestBody MessageVo messageVo) {
|
|
|
+ public RestResponse<TimeMessage> message(@RequestBody MessageVo messageVo) {
|
|
|
TimeMessage byId = timeMessageService.getById(messageVo.getId());
|
|
|
byId.setViewFlag(1);
|
|
|
timeMessageService.updateById(byId);
|
|
|
return RestResponse.success(byId);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param messageVo id列表
|
|
|
+ * @return 多条消息详情
|
|
|
+ */
|
|
|
+ @PostMapping("details")
|
|
|
+ public RestResponse<Collection<TimeMessage>> messages(@RequestBody MessageVo messageVo) {
|
|
|
+ Collection<TimeMessage> timeMessages = timeMessageService.listByIds(messageVo.getIds());
|
|
|
+ timeMessages.forEach(timeMessage -> timeMessage.setViewFlag(1));
|
|
|
+ timeMessageService.updateBatchById(timeMessages);
|
|
|
+ return RestResponse.success(timeMessages);
|
|
|
+ }
|
|
|
}
|