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.NumberUtil;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.system.model.TbUser;
|
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.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.ArrayList;
|
import java.util.concurrent.TimeUnit;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("/user")
|
@Api(tags = "用户模块")
|
public class UserController {
|
|
@Autowired
|
private TbUserService userService;
|
|
@Autowired
|
private TokenService tokenService;
|
|
@ApiOperation(value = "修改用户信息",tags = {"用户模块"})
|
@PostMapping("/updateUserInfo")
|
public R<?> updateUserInfo(String avatar,String username) {
|
LoginUser loginUser = tokenService.getLoginUser();
|
if (StringUtils.isBlank(avatar)) {
|
return R.fail("头像不能为空");
|
}
|
if (StringUtils.isBlank(username)) {
|
return R.fail("姓名不能为空");
|
}
|
Long userId = loginUser.getUserId();
|
|
TbUser user = userService.getById(userId);
|
user.setUserName(username);
|
user.setAvatar(avatar);
|
userService.updateById(user);
|
return R.ok();
|
}
|
|
|
@ApiOperation(value = "获取最新用户信息",tags = {"用户模块"})
|
@GetMapping("/getUserInfo")
|
public R<?> getUserInfo() {
|
LoginUser loginUser = tokenService.getLoginUser();
|
Long userId = loginUser.getUserId();
|
TbUser user = userService.getById(userId);
|
return R.ok(user);
|
}
|
|
@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<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);
|
}
|
|
|
}
|