Package edu.zzuli.model.core

Source Code of edu.zzuli.model.core.AuthenticatedAction

package edu.zzuli.model.core;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.acegisecurity.Authentication;
import org.acegisecurity.context.SecurityContextHolder;
import org.apache.struts2.ServletActionContext;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionContext;

import edu.zzuli.common.Constants_core;
import edu.zzuli.common.MyVisit;
import edu.zzuli.model.core.iface.LoginService;

/**
* @author tianshaojie
* @date 2011-1-6
* @discription : 登录验证通过后调用的Action,主要用来设置登录用户信息。
*/
@Controller
public class AuthenticatedAction {
 
  @Resource
  private LoginService loginService;
 
  public String setMyVisitInfo() {
    ActionContext.getContext().getSession().put("ctx", ServletActionContext. getRequest().getContextPath());
    Authentication au = null;
    if (SecurityContextHolder.getContext() != null)
      au = SecurityContextHolder.getContext().getAuthentication();
    if (au == null || au.getName() == null || au.getName().length() == 0) {
      SecurityContextHolder.clearContext();
      return "error";
    } else {
      MyVisit myVisit = new MyVisit();
      myVisit.setLoginInfoMap(this.loginService.saveLoginInfo(au.getName(), ServletActionContext. getRequest().getRemoteAddr()));
      ActionContext.getContext().getSession().put("myVisit",myVisit);
      ActionContext.getContext().getSession().put(Constants_core.LOGIN_IP, ServletActionContext. getRequest().getRemoteAddr());
//      ServletActionContext. getRequest().getSession().setAttribute("myVisit",myVisit);
//      ServletActionContext. getRequest().getSession().setAttribute(Constants_core.LOGIN_IP, ServletActionContext. getRequest().getRemoteAddr());
      List<Map> listXTGN = getListXTGN(myVisit);
      if (listXTGN != null && listXTGN.size() > 0) {
        List<Map> xtgnList = new ArrayList<Map>();
        for(Map map : listXTGN) {
          if(Integer.valueOf(map.get("jdlb").toString()) == 1) {
            String xtgnId = map.get("id").toString();
            Map titleMap = new HashMap();
            titleMap.put("title", map.get("jdmc"));
            List<Map> contentList = new ArrayList<Map>();
            for(Map gnMap : listXTGN) {
              if(Integer.valueOf(gnMap.get("jdlb").toString()) == 2 && gnMap.get("fid").toString().equals(xtgnId)) {
                Map mapContent = new HashMap<String, String>();
                mapContent.put("gndz", gnMap.get("gndz"));
                mapContent.put("jdmc", gnMap.get("jdmc"));
                contentList.add(mapContent);
              }
            }
            titleMap.put("content", contentList);
            xtgnList.add(titleMap);
          }
        }
        if (xtgnList.size() > 0) {
          ActionContext.getContext().getSession().put("xtgnList",xtgnList);
        }
      }
      return "success";
    }
  }
 
  public List<Map> getListXTGN(MyVisit myVisit) {
    String sql = "";
//    if (this.myVisit.getGG_JGBH().getJglb() == Constants_core.JGSF_ZBJG) {
//      sql = "select gn.*, SYS_CONNECT_BY_PATH(to_char(gn.sxh, '000'), '.') sort\n"
//          + "  from (select distinct t.*\n"
//          + "          from gg_xtgn t\n "
//          + "         start with t.id in (select gg_lbgn.gnid\n"
//          + "                               from gg_lbgn, gg_lbfp, gg_czyb_gwlb\n"
//          + "                              where gg_lbgn.lbid = gg_lbfp.lbid\n"
//          + "                                and gg_lbfp.fpid = gg_czyb_gwlb.gwid\n"
//          + "                                and gg_czyb_gwlb.czyid = :GG_CZYB_ID "
//          + " union select gg_lbgn.gnid\n"
//          + "                               from gg_lbgn, gg_lbfp\n"
//          + "                              where gg_lbgn.lbid = gg_lbfp.lbid\n"
//          + "                                and gg_lbfp.fpid =:GG_CZYB_ID"
//          + " union select gg_czyb_lbgn.xtgn from gg_czyb_lbgn where gg_czyb_lbgn.czyxx=:GG_CZYB_ID)\n"
//          + "        connect by prior t.fid = t.id) gn\n"
//          + " start with gn.fid is null\n"
//          + "connect by gn.fid = prior gn.id and  gn.id is not null\n"
//          + " order by sort";
//
//    } else {
      sql = "select gn.*, SYS_CONNECT_BY_PATH(to_char(gn.sxh, '000'), '.') sort\n"
          + "  from (select distinct t.*\n"
          + "          from gg_xtgn t\n "
          + "         start with t.id in (select gg_lbgn.gnid\n"
          + "                               from gg_lbgn, gg_lbfp\n"
          + "                              where gg_lbgn.lbid = gg_lbfp.lbid\n"
          + "                                and gg_lbfp.fpid =:GG_CZYB_ID "
          +    " union select GG_CZYB_LBGN.xtgn from GG_CZYB_LBGN where GG_CZYB_LBGN.czyxx=:GG_CZYB_ID\n"
          +    " union select GG_LBGN.gnid from GG_CZYB_GWLB,GG_LBFP,GG_LBGN where GG_CZYB_GWLB.Gwid = GG_LBFP.Fpid and GG_LBFP.Lbid = GG_LBGN.Lbid and GG_CZYB_GWLB.CZYID =:GG_CZYB_ID)\n"
          + "        connect by prior t.fid = t.id) gn\n"
          + " start with gn.fid is null\n"
          + "connect by gn.fid = prior gn.id and  gn.id is not null\n"
          + " order by sort";
//    }
    List<Map> listXTGN = this.loginService.queryForList(sql, new MapSqlParameterSource("GG_CZYB_ID", myVisit.getCzy().getId()));
//    List<Map> listXTGNTemp = new ArrayList<Map>();
//    if (isGys() && (!isZSGLGys())) {
//      for (Map map : this.listXTGN) {
//        if (map.get("ID").equals("XT_ZSGL_ZSSFQR")) {
//        } else {
//          listXTGNTemp.add(map);
//        }
//      }
//      this.listXTGN = listXTGNTemp;
//    }
    return listXTGN;
  }
}
TOP

Related Classes of edu.zzuli.model.core.AuthenticatedAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.