liujie
2025-07-21 87f979fb201a82ebad5926735ed6dfa75ca004d3
ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/messageController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginUser;
@@ -11,6 +12,7 @@
import com.ruoyi.system.model.TbUser;
import com.ruoyi.system.query.UserMessageQuery;
import com.ruoyi.system.service.TbMessageService;
import com.ruoyi.system.service.TbOrderService;
import com.ruoyi.system.service.TbUserService;
import com.ruoyi.system.vo.InviteUserListVo;
import io.swagger.annotations.Api;
@@ -21,6 +23,7 @@
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@RestController
@@ -37,20 +40,47 @@
    @Autowired
    private TokenService tokenService;
    @Autowired
    private TbOrderService orderService;
    @ApiOperation(value = "获取用户消息",tags = {"消息模块"})
    @GetMapping("/getUserMessage")
    public R<Page<TbMessage>> getUserMessage(UserMessageQuery query) {
        LoginUser loginUser = tokenService.getLoginUser();
        if(loginUser==null){
            return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录");
        }
        Long userId = loginUser.getUserId();
        Page<TbMessage> page = messageService.page(new Page<>(query.getPageNum(), query.getPageSize()), new LambdaQueryWrapper<TbMessage>().eq(TbMessage::getUserId, userId));
        Page<TbMessage> page = messageService.page(new Page<>(query.getPageNum(), query.getPageSize()), new LambdaQueryWrapper<TbMessage>().eq(query.getIsRead()!=null, TbMessage::getIsRead, query.getIsRead()).eq(TbMessage::getUserId, userId).orderByDesc(TbMessage::getCreateTime));
        page.getRecords().forEach(item -> {
            String companyId = orderService.getById(item.getOrderId()).getCompanyId();
            item.setCompanyId(companyId);
        });
        long count = messageService.count(new LambdaQueryWrapper<TbMessage>().eq(TbMessage::getIsRead, 0).eq(TbMessage::getUserId, userId));
        page.setCurrent(count);
        return R.ok(page);
    }
    @ApiOperation(value = "获取用户消息未读",tags = {"消息模块"})
    @GetMapping("/getUserMessageNum")
    public R<?> getUserMessageNum() {
        LoginUser loginUser = tokenService.getLoginUser();
        if(loginUser==null){
            return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录");
        }
        Long userId = loginUser.getUserId();
        long count = messageService.count(new LambdaQueryWrapper<TbMessage>().eq(TbMessage::getIsRead, 0).eq(TbMessage::getUserId, userId));
        return R.ok(count);
    }
    @ApiOperation(value = "消息已读",tags = {"消息模块"})
    @PostMapping("/readMessage")
    public R<?> readMessage(String id) {
        LoginUser loginUser = tokenService.getLoginUser();
        if(loginUser==null){
            return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录");
        }
        Long userId = loginUser.getUserId();
        TbMessage message = messageService.getById(id);
        if(!message.getUserId().equals(userId.toString())){
@@ -65,6 +95,9 @@
    @GetMapping("/accountCancellation")
    public R<?> accountCancellation() {
        LoginUser loginUser = tokenService.getLoginUser();
        if(loginUser==null){
            return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录");
        }
        Long userId = loginUser.getUserId();
        TbUser user = userService.getById(userId);
        user.setStatus(3);
@@ -74,28 +107,28 @@
    @ApiOperation(value = "分享有礼列表",tags = {"分享有礼列表"})
    @GetMapping("/getInviteUserList")
    public R<Page<InviteUserListVo>> getInviteUserList(BasePage page) {
        LoginUser loginUser = tokenService.getLoginUser();
        Long userId = loginUser.getUserId();
        Page<TbUser> page1 = userService.page(new Page<>(page.getPageNum(), page.getPageSize()), new LambdaQueryWrapper<TbUser>().eq(TbUser::getInviteId, userId).orderByDesc(TbUser::getCreateTime));
        Page<InviteUserListVo> inviteUserListVoPage = new Page<>();
        if(page1.getRecords().isEmpty()){
            return R.ok(inviteUserListVoPage);
        }
        ArrayList<InviteUserListVo> 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);
    }
//    @ApiOperation(value = "分享有礼列表",tags = {"分享有礼列表"})
//    @GetMapping("/getInviteUserList")
//    public R<Page<InviteUserListVo>> getInviteUserList(BasePage page) {
//        LoginUser loginUser = tokenService.getLoginUser();
//        Long userId = loginUser.getUserId();
//        Page<TbUser> page1 = userService.page(new Page<>(page.getPageNum(), page.getPageSize()), new LambdaQueryWrapper<TbUser>().eq(TbUser::getInviteId, userId).orderByDesc(TbUser::getCreateTime));
//        Page<InviteUserListVo> inviteUserListVoPage = new Page<>();
//        if(page1.getRecords().isEmpty()){
//            return R.ok(inviteUserListVoPage);
//        }
//        ArrayList<InviteUserListVo> 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);
//    }
}