| | |
| | | package com.fgkj.actions;
|
| | |
|
| | |
|
| | | import java.net.URLEncoder;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | |
|
| | | import javax.servlet.http.Cookie;
|
| | |
|
| | | import com.fgkj.dao.BaseDAO;
|
| | | import com.fgkj.dao.BaseDAOFactory;
|
| | | import com.fgkj.db.DBUtil;
|
| | | import com.fgkj.db.IDatabaseName;
|
| | | import com.fgkj.dto.ServiceModel;
|
| | | import com.fgkj.dto.User;
|
| | | import com.fgkj.dto.UserClient;
|
| | | import com.fgkj.dto.User_Chart;
|
| | | import com.fgkj.dto.User_inf;
|
| | | import com.fgkj.dto.User_log;
|
| | | import com.fgkj.services.UserService;
|
| | | import com.fgkj.services.User_ChartService;
|
| | | import com.fgkj.services.User_battgroup_baojigroup_battgroupService;
|
| | | import com.fgkj.services.User_infService;
|
| | | import com.fgkj.services.User_logService;
|
| | | import com.fgkj.services.Vip_userService;
|
| | | import com.opensymphony.xwork2.ActionSupport;
|
| | |
|
| | |
|
| | | public class LoginAction extends ActionSupport{
|
| | | private User_inf uinf;
|
| | | private ServiceModel model; |
| | | //private String user;
|
| | | //private String password;
|
| | | private String json;
|
| | | private String result;
|
| | | |
| | | private User_infService service=new User_infService();
|
| | | private Vip_userService vservice=new Vip_userService();
|
| | |
|
| | | //web版登录
|
| | | public String login() {
|
| | | //System.err.println(uinf);
|
| | | model=vservice.login(uinf);
|
| | | //System.out.println(model);
|
| | | if(model.getCode()!=1){ |
| | | model=service.login(uinf);
|
| | | if(model.code == 1){
|
| | | User_inf u = (User_inf) ActionUtil.getUser();
|
| | | //System.out.println(u);
|
| | | if(u!=null){ |
| | | //setUserBaoji(u); //存储当前用户的包机组
|
| | | |
| | | recordUserlogin(u); //记录当前用户的登录记录
|
| | | |
| | | setUserLogo(u); //记录当前用户的所属部门的logo |
| | | }
|
| | | }
|
| | | }
|
| | | result=ActionUtil.tojson(model); |
| | | return "success";
|
| | | }
|
| | | |
| | | |
| | | |
| | | //手机端登录action
|
| | | public String MobileLogin(){
|
| | | //System.out.println(uinf);
|
| | | String usnId64=(String) ActionUtil.EncryptionBase64(uinf.getUpassword());
|
| | | uinf.setUpassword(usnId64);
|
| | | //System.out.println(usnId64+" : action");
|
| | | model=service.login(uinf);
|
| | | //System.out.println(model);
|
| | | if(model.code==1){
|
| | | User_logService logservice= new User_logService();
|
| | | User_log log = new User_log();
|
| | | User_inf uinf = (User_inf) ActionUtil.getUser();
|
| | | if(uinf!=null){ |
| | | log.setuId(uinf.getUId());
|
| | | log.setUOprateDay(new Date());
|
| | | log.setuOprateMsg("登录移动系统");
|
| | | log.setUOprateType(UserUtil.LOGIN);
|
| | | log.setuTerminalIp(ActionUtil.getRequest().getRemoteAddr());
|
| | | logservice.add(log);
|
| | | }
|
| | | }
|
| | | //System.out.println(model);
|
| | | result=ActionUtil.tojson(model); |
| | | //System.out.println(result);
|
| | | return "success";
|
| | | }
|
| | | |
| | | //检查超级管理员是否
|
| | | public String checkVip(){
|
| | | Map<String, UserClient> map = (Map) ActionUtil.getApplication().getAttribute("vips");
|
| | | model=vservice.checkVip();
|
| | | result=ActionUtil.tojson(model);
|
| | | return SUCCESS;
|
| | | }
|
| | | |
| | | /**
|
| | | * 判断是否有另一同一账号登陆的用户
|
| | | * @return
|
| | | */
|
| | | public String check(){
|
| | | //System.out.println("开始检查");
|
| | | model=service.checkUser();
|
| | | uinf=(User_inf)ActionUtil.getSession().getAttribute("user"); |
| | | if(model.code == 1){
|
| | | ActionUtil.getSession().invalidate(); //清除当前的session; //清除session
|
| | | }
|
| | | result=ActionUtil.tojson(model);
|
| | | return "success";
|
| | | }
|
| | | |
| | | /**
|
| | | * 退出登录
|
| | | * @return
|
| | | */
|
| | | |
| | | public String exitUser(){ |
| | | //将当前用户从所有的登陆用户中移除
|
| | | Map<String, UserClient> map = (Map) ActionUtil.getApplication().getAttribute("users");
|
| | | if(map!=null && map.size()>0){
|
| | | User_inf user = (User_inf) ActionUtil.getSession().getAttribute("user");
|
| | | if(user!=null){
|
| | | //System.out.println(user);
|
| | | UserClient client = map.get(user.getUName());
|
| | | //System.out.println(client);
|
| | | if(client!=null){
|
| | | map.remove(user.getUName());
|
| | | }
|
| | | User_logService logservice= new User_logService();
|
| | | User_log log = new User_log();
|
| | | log.setuId(user.getUId());
|
| | | log.setUOprateDay(new Date());
|
| | | log.setuOprateMsg("登出系统");
|
| | | log.setUOprateType(UserUtil.LOGOUT);
|
| | | log.setuTerminalIp(ActionUtil.getRequest().getLocalAddr());
|
| | | logservice.add(log);
|
| | | }
|
| | | ActionUtil.getSession().invalidate(); //清除session
|
| | | }
|
| | | |
| | | return "success";
|
| | | }
|
| | | |
| | | /**
|
| | | * 存储当前用户的包机组信息
|
| | | * @param u
|
| | | */
|
| | | public void setUserBaoji(User_inf u){
|
| | | User_battgroup_baojigroup_battgroupService se = new User_battgroup_baojigroup_battgroupService();
|
| | | try {
|
| | | Object batts = se.serchByCondition(u).getData();
|
| | | //System.out.println(batts.toString());
|
| | | Cookie b = new Cookie("batts",URLEncoder.encode(ActionUtil.tojson(batts),"UTF-8"));
|
| | | b.setMaxAge(30*24*60*60);
|
| | | ActionUtil.getResponse().addCookie(b);
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | |
| | | /**
|
| | | * 记录用户的登录记录
|
| | | * @param u
|
| | | */
|
| | | public void recordUserlogin(User_inf u){
|
| | | try {
|
| | | User_logService logservice= new User_logService();
|
| | | User_log log = new User_log();
|
| | | log.setuId(u.getUId());
|
| | | log.setUOprateDay(new Date());
|
| | | log.setuOprateMsg("登录PC系统");
|
| | | log.setUOprateType(UserUtil.LOGIN);
|
| | | log.setuTerminalIp(ActionUtil.getRequest().getRemoteAddr());
|
| | | logservice.add(log);
|
| | | } catch (Exception e) {
|
| | | System.out.println("记录用户的登录信息出错");
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | |
| | | /**
|
| | | * 查询用户所述的部门 对应的logo
|
| | | */
|
| | | public void setUserLogo(User_inf u){
|
| | | try {
|
| | | BaseDAO dao = BaseDAOFactory.getBaseDAO(BaseDAO.USER_CHART);
|
| | | List ls = dao.serchByCondition(u);
|
| | | String uc = "whyc";
|
| | | if(ls != null && ls.size()>0){
|
| | | uc = ((User_Chart)ls.get(0)).getChart_file();
|
| | | } |
| | | Cookie c = new Cookie("user_logo",uc);
|
| | | c.setMaxAge(30*24*60*60);
|
| | | ActionUtil.getResponse().addCookie(c);
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | } |
| | | }
|
| | | |
| | | /**
|
| | | * 退出登录
|
| | | * @return
|
| | | */
|
| | | public String exitVUser(){
|
| | | ActionUtil.getSession().invalidate();
|
| | | return SUCCESS;
|
| | | }
|
| | | |
| | | //通过制定的字符串获取session
|
| | | public String getSessionByString(){
|
| | | Object obj = ActionUtil.getSession().getAttribute(json);
|
| | | if(obj != null){
|
| | | result = ActionUtil.tojson(obj);
|
| | | }else{
|
| | | result = "";
|
| | | }
|
| | | return SUCCESS;
|
| | | }
|
| | | |
| | | /**
|
| | | * 初始化数据库连接池
|
| | | * @return
|
| | | */
|
| | | public String initDBPool(){
|
| | | DBUtil.initPool();
|
| | | return SUCCESS;
|
| | | }
|
| | |
|
| | | public String getResult() {
|
| | | return result;
|
| | | }
|
| | |
|
| | | public void setResult(String result) {
|
| | | this.result = result;
|
| | | }
|
| | |
|
| | |
|
| | | public User_inf getUinf() {
|
| | | return uinf;
|
| | | }
|
| | | |
| | | public void setJson(String json) {
|
| | | this.json = json;
|
| | | }
|
| | |
|
| | | public void setUinf(User_inf uinf) {
|
| | | this.uinf = uinf;
|
| | | }
|
| | | |
| | | }
|
| | | package com.fgkj.actions; |
| | | |
| | | |
| | | import java.net.URLEncoder; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.Cookie; |
| | | |
| | | import com.fgkj.dao.BaseDAO; |
| | | import com.fgkj.dao.BaseDAOFactory; |
| | | import com.fgkj.db.DBUtil; |
| | | import com.fgkj.db.IDatabaseName; |
| | | import com.fgkj.dto.ServiceModel; |
| | | import com.fgkj.dto.User; |
| | | import com.fgkj.dto.UserClient; |
| | | import com.fgkj.dto.User_Chart; |
| | | import com.fgkj.dto.User_inf; |
| | | import com.fgkj.dto.User_log; |
| | | import com.fgkj.services.UserService; |
| | | import com.fgkj.services.User_ChartService; |
| | | import com.fgkj.services.User_battgroup_baojigroup_battgroupService; |
| | | import com.fgkj.services.User_infService; |
| | | import com.fgkj.services.User_logService; |
| | | import com.fgkj.services.Vip_userService; |
| | | import com.opensymphony.xwork2.ActionSupport; |
| | | |
| | | |
| | | public class LoginAction extends ActionSupport{ |
| | | private User_inf uinf; |
| | | private ServiceModel model; |
| | | //private String user; |
| | | //private String password; |
| | | private String json; |
| | | private String result; |
| | | |
| | | private User_infService service=new User_infService(); |
| | | private Vip_userService vservice=new Vip_userService(); |
| | | |
| | | //web版登录 |
| | | public String login() { |
| | | //System.err.println(uinf); |
| | | model=vservice.login(uinf); |
| | | //System.out.println(model); |
| | | if(model.getCode()!=1){ |
| | | model=service.login(uinf); |
| | | if(model.code == 1){ |
| | | User_inf u = (User_inf) ActionUtil.getUser(); |
| | | //System.out.println(u); |
| | | if(u!=null){ |
| | | //setUserBaoji(u); //存储当前用户的包机组 |
| | | |
| | | recordUserlogin(u); //记录当前用户的登录记录 |
| | | |
| | | setUserLogo(u); //记录当前用户的所属部门的logo |
| | | } |
| | | } |
| | | } |
| | | result=ActionUtil.tojson(model); |
| | | return "success"; |
| | | } |
| | | |
| | | //web版登录直接访问(只验证账号不验证密码) |
| | | public String login_direct() { |
| | | model=service.login_direct(uinf); |
| | | if(model.code == 1){ |
| | | User_inf u = (User_inf) ActionUtil.getUser(); |
| | | if(u!=null){ |
| | | //setUserBaoji(u); //存储当前用户的包机组 |
| | | |
| | | recordUserlogin(u); //记录当前用户的登录记录 |
| | | |
| | | setUserLogo(u); //记录当前用户的所属部门的logo |
| | | } |
| | | } |
| | | if(model.getCode()==1){ |
| | | Cookie c = null; |
| | | //System.out.println(ActionUtil.DecryptionBase64()); |
| | | if(uinf.getUId() == 1){ |
| | | c = new Cookie("user", ActionUtil.EncryptionBase64(ActionUtil.getGson().toJson(uinf)).toString()); |
| | | }else{ |
| | | c = new Cookie("user", ""); |
| | | } |
| | | //让Cookie保留30天 |
| | | c.setMaxAge(30*24*60*60); |
| | | ActionUtil.getResponse().addCookie(c); |
| | | } |
| | | result=ActionUtil.tojson(model); |
| | | return "success"; |
| | | } |
| | | |
| | | //手机端登录action |
| | | public String MobileLogin(){ |
| | | //System.out.println(uinf); |
| | | String usnId64=(String) ActionUtil.EncryptionBase64(uinf.getUpassword()); |
| | | uinf.setUpassword(usnId64); |
| | | //System.out.println(usnId64+" : action"); |
| | | model=service.login(uinf); |
| | | //System.out.println(model); |
| | | if(model.code==1){ |
| | | User_logService logservice= new User_logService(); |
| | | User_log log = new User_log(); |
| | | User_inf uinf = (User_inf) ActionUtil.getUser(); |
| | | if(uinf!=null){ |
| | | log.setuId(uinf.getUId()); |
| | | log.setUOprateDay(new Date()); |
| | | log.setuOprateMsg("登录移动系统"); |
| | | log.setUOprateType(UserUtil.LOGIN); |
| | | log.setuTerminalIp(ActionUtil.getRequest().getRemoteAddr()); |
| | | logservice.add(log); |
| | | } |
| | | } |
| | | //System.out.println(model); |
| | | result=ActionUtil.tojson(model); |
| | | //System.out.println(result); |
| | | return "success"; |
| | | } |
| | | |
| | | //检查超级管理员是否 |
| | | public String checkVip(){ |
| | | Map<String, UserClient> map = (Map) ActionUtil.getApplication().getAttribute("vips"); |
| | | model=vservice.checkVip(); |
| | | result=ActionUtil.tojson(model); |
| | | return SUCCESS; |
| | | } |
| | | |
| | | /** |
| | | * 判断是否有另一同一账号登陆的用户 |
| | | * @return |
| | | */ |
| | | public String check(){ |
| | | //System.out.println("开始检查"); |
| | | model=service.checkUser(); |
| | | uinf=(User_inf)ActionUtil.getSession().getAttribute("user"); |
| | | if(model.code == 1){ |
| | | ActionUtil.getSession().invalidate(); //清除当前的session; //清除session |
| | | } |
| | | result=ActionUtil.tojson(model); |
| | | return "success"; |
| | | } |
| | | |
| | | /** |
| | | * 退出登录 |
| | | * @return |
| | | */ |
| | | |
| | | public String exitUser(){ |
| | | //将当前用户从所有的登陆用户中移除 |
| | | Map<String, UserClient> map = (Map) ActionUtil.getApplication().getAttribute("users"); |
| | | if(map!=null && map.size()>0){ |
| | | User_inf user = (User_inf) ActionUtil.getSession().getAttribute("user"); |
| | | if(user!=null){ |
| | | //System.out.println(user); |
| | | UserClient client = map.get(user.getUName()); |
| | | //System.out.println(client); |
| | | if(client!=null){ |
| | | map.remove(user.getUName()); |
| | | } |
| | | User_logService logservice= new User_logService(); |
| | | User_log log = new User_log(); |
| | | log.setuId(user.getUId()); |
| | | log.setUOprateDay(new Date()); |
| | | log.setuOprateMsg("登出系统"); |
| | | log.setUOprateType(UserUtil.LOGOUT); |
| | | log.setuTerminalIp(ActionUtil.getRequest().getLocalAddr()); |
| | | logservice.add(log); |
| | | } |
| | | ActionUtil.getSession().invalidate(); //清除session |
| | | } |
| | | |
| | | return "success"; |
| | | } |
| | | |
| | | /** |
| | | * 存储当前用户的包机组信息 |
| | | * @param u |
| | | */ |
| | | public void setUserBaoji(User_inf u){ |
| | | User_battgroup_baojigroup_battgroupService se = new User_battgroup_baojigroup_battgroupService(); |
| | | try { |
| | | Object batts = se.serchByCondition(u).getData(); |
| | | //System.out.println(batts.toString()); |
| | | Cookie b = new Cookie("batts",URLEncoder.encode(ActionUtil.tojson(batts),"UTF-8")); |
| | | b.setMaxAge(30*24*60*60); |
| | | ActionUtil.getResponse().addCookie(b); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 记录用户的登录记录 |
| | | * @param u |
| | | */ |
| | | public void recordUserlogin(User_inf u){ |
| | | try { |
| | | User_logService logservice= new User_logService(); |
| | | User_log log = new User_log(); |
| | | log.setuId(u.getUId()); |
| | | log.setUOprateDay(new Date()); |
| | | log.setuOprateMsg("登录PC系统"); |
| | | log.setUOprateType(UserUtil.LOGIN); |
| | | log.setuTerminalIp(ActionUtil.getRequest().getRemoteAddr()); |
| | | logservice.add(log); |
| | | } catch (Exception e) { |
| | | System.out.println("记录用户的登录信息出错"); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询用户所述的部门 对应的logo |
| | | */ |
| | | public void setUserLogo(User_inf u){ |
| | | try { |
| | | BaseDAO dao = BaseDAOFactory.getBaseDAO(BaseDAO.USER_CHART); |
| | | List ls = dao.serchByCondition(u); |
| | | String uc = "whyc"; |
| | | if(ls != null && ls.size()>0){ |
| | | uc = ((User_Chart)ls.get(0)).getChart_file(); |
| | | } |
| | | Cookie c = new Cookie("user_logo",uc); |
| | | c.setMaxAge(30*24*60*60); |
| | | ActionUtil.getResponse().addCookie(c); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 退出登录 |
| | | * @return |
| | | */ |
| | | public String exitVUser(){ |
| | | ActionUtil.getSession().invalidate(); |
| | | return SUCCESS; |
| | | } |
| | | |
| | | //通过制定的字符串获取session |
| | | public String getSessionByString(){ |
| | | Object obj = ActionUtil.getSession().getAttribute(json); |
| | | if(obj != null){ |
| | | result = ActionUtil.tojson(obj); |
| | | }else{ |
| | | result = ""; |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | |
| | | /** |
| | | * 初始化数据库连接池 |
| | | * @return |
| | | */ |
| | | public String initDBPool(){ |
| | | DBUtil.initPool(); |
| | | return SUCCESS; |
| | | } |
| | | |
| | | public String getResult() { |
| | | return result; |
| | | } |
| | | |
| | | public void setResult(String result) { |
| | | this.result = result; |
| | | } |
| | | |
| | | |
| | | public User_inf getUinf() { |
| | | return uinf; |
| | | } |
| | | |
| | | public void setJson(String json) { |
| | | this.json = json; |
| | | } |
| | | |
| | | public void setUinf(User_inf uinf) { |
| | | this.uinf = uinf; |
| | | } |
| | | |
| | | } |