package com.moral.api.controller; import com.moral.api.pojo.dto.account.AccountDeleteDTO; import com.moral.api.pojo.dto.account.AccountInsertDTO; import com.moral.api.pojo.dto.account.AccountQueryDTO; import com.moral.api.pojo.dto.account.AccountUpdateDTO; import com.moral.api.pojo.dto.login.LoginDTO; import com.moral.api.pojo.form.*; import com.moral.api.pojo.vo.account.AccountDeleteVO; import com.moral.api.pojo.vo.account.AccountInsertVO; import com.moral.api.pojo.vo.account.AccountQueryVO; import com.moral.api.pojo.vo.account.AccountUpdateVO; import com.moral.api.pojo.vo.login.LoginVO; import com.moral.api.service.ManageAccountService; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.KaptchaUtils; import com.moral.util.TokenUtils; 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 javax.servlet.http.HttpServletResponse; import java.io.IOException; @Slf4j @Api(tags = {"后台账户管理"}) @RestController @RequestMapping("/account") public class AccountController { @Autowired ManageAccountService accountService; @PostMapping("login") public ResultMessage login(@RequestBody LoginForm loginForm) { if (!loginForm.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); LoginDTO loginDTO = accountService.login(loginForm); LoginVO loginVO = LoginVO.convert(loginDTO); return new ResultMessage(loginDTO.getCode(),loginDTO.getMsg(),loginVO); } @PostMapping("logout") public ResultMessage logout (@RequestBody LogoutForm logoutForm, HttpServletRequest request) { if(!logoutForm.valid()) return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); String token = request.getHeader("token"); logoutForm.setToken(token); if(accountService.logout(logoutForm)) return ResultMessage.ok(); return ResultMessage.fail(); } @PostMapping("insert") public ResultMessage insert(@RequestBody AccountInsertForm accountInsertForm){ if(!accountInsertForm.valid()) return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); AccountInsertDTO accountInsertDTO = accountService.insertAccount(accountInsertForm); AccountInsertVO accountInsertVO = AccountInsertVO.convert(accountInsertDTO); return new ResultMessage(accountInsertDTO.getCode(),accountInsertDTO.getMsg(),accountInsertVO); } @GetMapping("query") public ResultMessage query(AccountQueryForm accountQueryForm){ if(!accountQueryForm.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); AccountQueryDTO accountQueryDTO = accountService.queryAccount(accountQueryForm); AccountQueryVO accountQueryVO = AccountQueryVO.convert(accountQueryDTO); return new ResultMessage(accountQueryDTO.getCode(),accountQueryDTO.getMsg(),accountQueryVO); } @PostMapping("update") public ResultMessage update(@RequestBody AccountUpdateForm accountQeuryRequest){ if(!accountQeuryRequest.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); AccountUpdateDTO accountUpdateDTO = accountService.updateAccount(accountQeuryRequest); AccountUpdateVO accountUpdateVO = AccountUpdateVO.convert(accountUpdateDTO); return new ResultMessage(accountUpdateDTO.getCode(),accountUpdateDTO.getMsg(),accountUpdateVO); } @PostMapping("delete") public ResultMessage delete(@RequestBody AccountDeleteForm accountDeleteForm){ if(!accountDeleteForm.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); AccountDeleteDTO accountDeleteDTO = accountService.deleteAccount(accountDeleteForm); AccountDeleteVO accountDeleteVO = AccountDeleteVO.convert(accountDeleteDTO); return new ResultMessage(accountDeleteDTO.getCode(),accountDeleteDTO.getMsg(),accountDeleteVO); } @PostMapping("yanzhengma") public String yanzhengma(HttpServletResponse response) throws IOException { KaptchaUtils.createVerificationCode(); TokenUtils.getToken("1",1); return null; } }