| | |
| | | import com.vci.starter.web.util.MessageUtils; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.starter.web.util.WebThreadLocalUtil; |
| | | import com.vci.web.bo.LoginResultBO; |
| | | import com.vci.web.dto.LoginUserDTO; |
| | | import com.vci.bo.LoginResultBO; |
| | | import com.vci.dto.LoginUserDTO; |
| | | import com.vci.web.service.LoginServiceI; |
| | | import eu.bitwalker.useragentutils.*; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | |
| | | private LoginServiceI loginService; |
| | | |
| | | /** |
| | | * 日志 |
| | | */ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | /** |
| | | * 登录,这个地方主要是为了登录后单独的业务 |
| | | * @param userDTO 用户的对象 |
| | | * @param request 请求对象 |
| | |
| | | @VciUnCheckRight() |
| | | public BaseResult login(LoginUserDTO userDTO, HttpServletRequest request, RequestClientInfo clientInfo){ |
| | | VciBaseUtil.alertNotNull(userDTO,"用户对象",clientInfo,"请求客户端信息"); |
| | | wrapperBrowserInfo(clientInfo,request); |
| | | LoginResultBO loginResultBO = loginService.login(userDTO,clientInfo); |
| | | if(loginResultBO.isSuccess()){ |
| | | return BaseResult.success(loginResultBO); |
| | | }else{ |
| | | BaseResult result = BaseResult.fail(loginResultBO.getFailMsg()); |
| | | if(StringUtils.isBlank(loginResultBO.getFailMsg())){ |
| | | result.setMsg(MessageUtils.get(loginResultBO.getFailCode(),loginResultBO.getFailMsgArray())); |
| | | try { |
| | | wrapperBrowserInfo(clientInfo,request); |
| | | LoginResultBO loginResultBO = loginService.login(userDTO,clientInfo); |
| | | if(loginResultBO.isSuccess()){ |
| | | return BaseResult.success(loginResultBO); |
| | | }else{ |
| | | BaseResult result = BaseResult.fail(loginResultBO.getFailMsg()); |
| | | if(StringUtils.isBlank(loginResultBO.getFailMsg())){ |
| | | result.setMsg(MessageUtils.get(loginResultBO.getFailCode(),loginResultBO.getFailMsgArray())); |
| | | } |
| | | result.setObj(loginResultBO); |
| | | return result; |
| | | } |
| | | result.setObj(loginResultBO); |
| | | return result; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | String msg = "调用登录方法时出现错误,原因:"+VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(msg); |
| | | return BaseResult.fail(msg); |
| | | } |
| | | } |
| | | |
| | |
| | | @ResponseBody |
| | | public BaseResult getSessionInfo(){ |
| | | BaseResult<SessionInfo> json = new BaseResult<>(); |
| | | json.setObj(WebThreadLocalUtil.getCurrentUserSessionInfoInThread()); |
| | | if(json.getObj()!=null){ |
| | | json.setSuccess(true); |
| | | SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); |
| | | if(sessionInfo != null){ |
| | | json = json.success(sessionInfo); |
| | | } |
| | | return json; |
| | | } |