package com.sharemao.manager.ctrl; import java.util.Map; import javax.servlet.http.HttpSession; import com.alibaba.fastjson.JSONArray; import com.nianzai.base.mvc.Context; import com.nianzai.base.mvc.annotation.Controller; import com.nianzai.base.mvc.annotation.Path; import com.nianzai.base.mvc.view.TextView; import com.nianzai.util.Tools; import com.sharemao.manager.entity.Account; import com.sharemao.manager.entity.Organize; import com.sharemao.manager.service.AccountService; import com.sharemao.manager.service.OrganizeService; import com.sharemao.manager.service.impl.AccountServiceImpl; import com.sharemao.manager.service.impl.OrganizeServiceImpl; import com.sharemao.manager.util.MenuUtil; import com.sharemao.manager.util.ProjectConstants; import com.sharemao.manager.util.LanguageUtil; @Controller public class LoginCtrl { private AccountService accServ=new AccountServiceImpl(); private OrganizeService orgService = new OrganizeServiceImpl(); @Path(value="/login.do") public TextView index(Context context) { TextView view=new TextView(); HttpSession session = context.getRequest().getSession(); Map para=context.getParas(); String username=para.get("username"); //String verifyCode=para.get("verifyCode"); String pwd=para.get("password"); String lang=para.get("language"); if (!Tools.isEmpty(lang)){ LanguageUtil.init(lang); } if(session.isNew()) return new TextView("/index.jsp"); if(Tools.isEmpty(username) || Tools.isEmpty(pwd)) { //判断用户名和密码是否为空 context.getRequest().setAttribute("error", "请输入用户名或密码"); return new TextView("/index.jsp"); } // String rand=(String)session.getAttribute("rand"); // if(!rand.equals(verifyCode)) // { // context.getRequest().setAttribute("error", "验证码不对"); // return new TextView("/index.jsp"); // } Account account=accServ.getAccount(username, pwd); //如果账号停用则不能登录 if(account==null) { context.getRequest().setAttribute("error", "用户名或密码错误"); view.setToPath("/index.jsp"); } else if(account.getOrgstate()==1){ context.getRequest().setAttribute("error", "该代理商已被禁用,当前无法登录"); view.setToPath("/index.jsp"); }else { session.setAttribute(ProjectConstants.sessionKey, account); //生成菜单保存在会话中 JSONArray parentArrary=MenuUtil.getParentMenu(account); Organize org = orgService.getOrgById(account.getOrgid()); context.getRequest().setAttribute("company", org.getCompany()); context.getRequest().getSession().setAttribute("orgid", org.getId()); context.getRequest().setAttribute("logo", org.getLogo()); session.setAttribute("menus",parentArrary); context.getRequest().setAttribute("langstr", LanguageUtil.lang); view.setToPath("/view/main.jsp"); } return view; } @Path(value="/logout.do") public TextView logout(Context context) { HttpSession session = context.getRequest().getSession(); session.removeAttribute(ProjectConstants.sessionKey); session.removeAttribute("menus"); return new TextView("/index.jsp"); } }