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.TbQuestion;
|
import com.ruoyi.system.model.TbSystemConfig;
|
import com.ruoyi.system.model.TbUser;
|
import com.ruoyi.system.service.TbQuestionService;
|
import com.ruoyi.system.service.TbSystemConfigService;
|
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 javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.concurrent.TimeUnit;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("/user")
|
@Api(tags = "用户模块")
|
public class UserController {
|
|
@Autowired
|
private TbUserService userService;
|
|
@Autowired
|
private TokenService tokenService;
|
|
@Autowired
|
private TbQuestionService questionService;
|
|
@Autowired
|
private TbSystemConfigService systemConfigService;
|
|
@ApiOperation(value = "修改用户信息",tags = {"用户模块"})
|
@PostMapping("/updateUserInfo")
|
public R<?> updateUserInfo(String avatar,String username) {
|
LoginUser loginUser = tokenService.getLoginUser();
|
Long userId = loginUser.getUserId();
|
|
TbUser user = userService.getById(userId);
|
if(StringUtils.isNotEmpty(username)) {
|
user.setUserName(username);
|
}
|
if(StringUtils.isNotEmpty(avatar)){
|
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 = {"用户模块"})
|
@PostMapping("/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);
|
}
|
|
|
@ApiOperation(value = "常见问题",tags = {"用户模块"})
|
@GetMapping("/getQuestion")
|
public R<List<TbQuestion>> getQuestion() {
|
List<TbQuestion> list = questionService.list(new LambdaQueryWrapper<TbQuestion>().eq(TbQuestion::getDelFlag,0).orderByDesc(TbQuestion::getOrderNum));
|
return R.ok(list);
|
}
|
|
@ApiOperation(value = "客服",tags = {"用户模块"})
|
@GetMapping("/customerService")
|
public R<String> customerService() {
|
TbSystemConfig config = systemConfigService.getOne(new LambdaQueryWrapper<TbSystemConfig>().eq(TbSystemConfig::getType, 2));
|
String content = config.getContent();
|
return R.ok(content);
|
}
|
|
|
@ApiOperation(value = "退出登录",tags = {"用户模块"})
|
@PostMapping("/quit")
|
public R<String> quit(HttpServletRequest request) {
|
tokenService.quitLogin(request);
|
return R.ok();
|
}
|
|
}
|