package com.moral.api.controller; import com.moral.api.pojo.dto.LoginDTO; import com.moral.api.service.ManageAccountService; import com.moral.constant.Constants; import com.moral.constant.ResultMessage; import com.moral.util.ObjectUtils; 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; import java.util.Map; @Slf4j @Api(tags = {"后台账户管理"}) @RestController @RequestMapping("/account") public class AccountController { @Resource ManageAccountService accountService; @Autowired @Qualifier("tokenRedisTemplate") RedisTemplate redisTemplate; @PostMapping("login") public ResultMessage login(@RequestBody Map parameters) { if (!ObjectUtils.isNotAllEmpty(parameters, "account", "password")) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); String AESAccount = (String) parameters.get("account"); String AESPassword = (String) parameters.get("password"); LoginDTO loginDTO = accountService.login(AESAccount,AESPassword); if(loginDTO.getCode().equals(LoginDTO.SUCCESS)) return ResultMessage.ok(loginDTO); return ResultMessage.fail(loginDTO); } @PostMapping("logout") public ResultMessage logout(@RequestBody Map parameters, HttpServletRequest request) { if(!ObjectUtils.isNotAllEmpty(parameters,"accountId")) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); String token = request.getHeader("token"); if(accountService.logout(String.valueOf(parameters.get("accountId")),token)) return ResultMessage.ok("注销成功"); return ResultMessage.fail("注销异常"); } }