packagecom.mmall.controller.portal;
importcom.mmall.common.Const;
importcom.mmall.common.ResponseCode;
importcom.mmall.common.ServerResponse;
importcom.mmall.pojo.User;
importcom.mmall.service.IUserService;
importcom.mmall.util.CookieUtil;
importcom.mmall.util.JsonUtil;
importcom.mmall.util.RedisShardedPoolUtil;
importorg.apache.commons.lang.StringUtils;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.ResponseBody;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
@Controller@RequestMapping("/user/")
publicclassUserController {
@AutowiredprivateIUserServiceiUserService;
@RequestMapping(value="login.do",method=RequestMethod.POST)
@ResponseBodypublicServerResponse<User>login(Stringusername, Stringpassword, HttpSessionsession, HttpServletResponsehttpServletResponse){
ServerResponse<User>response=iUserService.login(username,password);
if(response.isSuccess()){
CookieUtil.writeLoginToken(httpServletResponse,session.getId());
RedisShardedPoolUtil.setEx(session.getId(), JsonUtil.obj2String(response.getData()),Const.RedisCacheExtime.REDIS_SESSION_EXTIME);
}
returnresponse;
}
@RequestMapping(value="logout.do",method=RequestMethod.POST)
@ResponseBodypublicServerResponse<String>logout(HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse){
StringloginToken=CookieUtil.readLoginToken(httpServletRequest);
CookieUtil.delLoginToken(httpServletRequest,httpServletResponse);
RedisShardedPoolUtil.del(loginToken);
returnServerResponse.createBySuccess();
}
}