package com.ruoyi.web.controller.system; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.BasePage; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.model.TbMessage; import com.ruoyi.system.model.TbUser; import com.ruoyi.system.query.UserMessageQuery; import com.ruoyi.system.service.TbMessageService; import com.ruoyi.system.service.TbUserService; import com.ruoyi.system.vo.InviteUserListVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; @Slf4j @RestController @RequestMapping("/message") @Api(tags = "消息模块") public class messageController { @Autowired private TbUserService userService; @Autowired private TbMessageService messageService; @Autowired private TokenService tokenService; @ApiOperation(value = "获取用户消息",tags = {"消息模块"}) @GetMapping("/getUserMessage") public R> getUserMessage(UserMessageQuery query) { LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); Page page = messageService.page(new Page<>(query.getPageNum(), query.getPageSize()), new LambdaQueryWrapper().eq(TbMessage::getUserId, userId)); return R.ok(page); } @ApiOperation(value = "消息已读",tags = {"消息模块"}) @PostMapping("/readMessage") public R readMessage(String id) { LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); TbMessage message = messageService.getById(id); if(!message.getUserId().equals(userId.toString())){ return R.fail("无权限"); } message.setIsRead(1); messageService.updateById(message); return R.ok(); } @ApiOperation(value = "账号注销",tags = {"账号注销"}) @GetMapping("/accountCancellation") public R accountCancellation() { LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); TbUser user = userService.getById(userId); user.setStatus(3); userService.updateById(user); return R.ok(user); } // @ApiOperation(value = "分享有礼列表",tags = {"分享有礼列表"}) // @GetMapping("/getInviteUserList") // public R> getInviteUserList(BasePage page) { // LoginUser loginUser = tokenService.getLoginUser(); // Long userId = loginUser.getUserId(); // Page page1 = userService.page(new Page<>(page.getPageNum(), page.getPageSize()), new LambdaQueryWrapper().eq(TbUser::getInviteId, userId).orderByDesc(TbUser::getCreateTime)); // Page inviteUserListVoPage = new Page<>(); // if(page1.getRecords().isEmpty()){ // return R.ok(inviteUserListVoPage); // } // ArrayList inviteUserListVos = new ArrayList<>(); // for (TbUser record : page1.getRecords()) { // InviteUserListVo inviteUserListVo = new InviteUserListVo(); // inviteUserListVo.setUsername(record.getUserName()); // inviteUserListVo.setCreateTime(record.getCreateTime()); // inviteUserListVo.setInviteNum(record.getInviteNum()); // inviteUserListVos.add(inviteUserListVo); // } // BeanUtils.copyProperties(page1,inviteUserListVoPage); // inviteUserListVoPage.setRecords(inviteUserListVos); // return R.ok(inviteUserListVoPage); // } }