package com.moral.api.controller;
|
|
import com.moral.api.pojo.dto.AccountDTO;
|
import com.moral.api.pojo.dto.LoginDTO;
|
import com.moral.api.pojo.request.AccountAddRequest;
|
import com.moral.api.pojo.request.LoginRequest;
|
import com.moral.api.pojo.request.LogoutRequest;
|
import com.moral.api.pojo.vo.AccountVO;
|
import com.moral.api.pojo.vo.LoginVO;
|
import com.moral.api.service.ManageAccountService;
|
import com.moral.constant.Constants;
|
import com.moral.constant.ResultMessage;
|
import io.swagger.annotations.*;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
|
@Slf4j
|
@Api(tags = {"后台账户管理"})
|
@RestController
|
@RequestMapping("/account")
|
public class AccountController {
|
@Resource
|
ManageAccountService accountService;
|
@Autowired
|
@Qualifier("tokenRedisTemplate")
|
RedisTemplate redisTemplate;
|
|
|
@PostMapping("login")
|
public ResultMessage login(@RequestBody LoginRequest loginRequest) {
|
if (!loginRequest.valid())
|
return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING);
|
|
LoginDTO loginDTO = accountService.login(loginRequest);
|
|
LoginVO loginVO = LoginVO.convert(loginDTO);
|
|
if(loginVO.getCode().equals(loginVO.SUCCESS))
|
return ResultMessage.ok(loginVO);
|
return ResultMessage.fail(loginVO);
|
}
|
|
|
@PostMapping("logout")
|
public ResultMessage logout(@RequestBody LogoutRequest logoutRequest, HttpServletRequest request) {
|
if(!logoutRequest.valid())
|
return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING);
|
String token = request.getHeader("token");
|
logoutRequest.setToken(token);
|
|
if(accountService.logout(logoutRequest))
|
return ResultMessage.ok("注销成功");
|
return ResultMessage.fail("注销异常");
|
|
}
|
|
@PostMapping("add")
|
public ResultMessage add(@RequestBody AccountAddRequest accountAddRequest){
|
if(!accountAddRequest.valid())
|
return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING);
|
|
AccountDTO accountDTO = accountService.addAccount(accountAddRequest);
|
|
AccountVO accountVO = AccountVO.convertToInsert(accountDTO);
|
|
if(accountVO.getCode().equals(accountVO.SUCCESS))
|
return ResultMessage.ok(accountVO);
|
return ResultMessage.fail(accountVO);
|
}
|
|
|
}
|