package com.example.hotel.controller.user; import com.example.hotel.blImpl.user.AccountServiceImpl; import com.example.hotel.po.User; import com.example.hotel.util.TokenUtil; import com.example.hotel.vo.UserForm; import com.example.hotel.vo.ResponseVO; import com.example.hotel.vo.UserInfoVO; import com.example.hotel.vo.UserVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.validation.constraints.Email; @RestController() @RequestMapping("/api/user") public class AccountController { private final static String ACCOUNT_INFO_ERROR = "用户名或密码错误"; @Autowired private AccountServiceImpl accountService; @PostMapping("/login") public ResponseVO login(@RequestBody UserForm userForm) { User user = accountService.login(userForm); if (user == null) { return ResponseVO.buildFailure(ACCOUNT_INFO_ERROR); } // String token = TokenUtil.sign(user); return ResponseVO.buildSuccess(user); } @PostMapping("/register") public ResponseVO registerAccount(@RequestBody UserVO userVO) { return accountService.registerAccount(userVO); } @GetMapping("/{id}/getUserInfo") public ResponseVO getUserInfo(@PathVariable int id) { // String token = httpServletRequest.getHeader("Authorization"); // String email = TokenUtil.getEmail(token); User user = accountService.getUserInfo(id); if(user==null){ return ResponseVO.buildFailure(ACCOUNT_INFO_ERROR); } return ResponseVO.buildSuccess(user); } @PostMapping("/{id}/userinfo/update") public ResponseVO updateInfo(@RequestBody UserInfoVO userInfoVO,@PathVariable int id){ //String token = httpServletRequest.getHeader("token"); // String email = TokenUtil.getEmail(token); return accountService.updateUserInfo(id,userInfoVO.getPassword(),userInfoVO.getUserName(),userInfoVO.getPhoneNumber()); } }