Package com.eatle.web.action.front

Source Code of com.eatle.web.action.front.IndexAction

package com.eatle.web.action.front;

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

import javax.annotation.Resource;

import com.eatle.persistent.pojo.foundation.place.Community;
import com.eatle.persistent.pojo.foundation.place.District;
import com.eatle.persistent.pojo.foundation.place.School;
import com.eatle.service.foundation.place.ICommunityService;
import com.eatle.service.foundation.place.IDistrictService;
import com.eatle.service.foundation.place.ISchoolService;

/**
*@Title: 前台首页Action
*@Description:
*@Author:xt
*@Since:2012-10-6
*@Version:1.1.0
*/
public class IndexAction
{

  @Resource
  private IDistrictService districtService;

  @Resource
  private ICommunityService communityService;

  @Resource
  private ISchoolService shoolService;

  private List<District> provinceList;

  public String showIndex()
  {
    List<District> list = districtService.findAll();

    Map<Long, List<District>> disMap = pushDistrictListIntoMap(list);
    provinceList = disMap.get(0L);
    if (provinceList == null)
      provinceList = Collections.emptyList();
    for (District provinceDist : provinceList)
    {
      // 得到市
      List<District> cityList = disMap.get(provinceDist.getId());
      provinceDist.setChildDistricts(cityList);
      if (cityList == null)
        cityList = Collections.emptyList();
      for (District cityDist : cityList)
      {
        // 得到区
        List<District> areaList = disMap.get(cityDist.getId());
        cityDist.setChildDistricts(areaList);

        // 得到学校,社区
        List<School> shoolList = shoolService.findAll();
        List<Community> communityList = communityService.findAll();
        Map<Long, List<School>> shoolMap = pushShoolListIntoMap(shoolList);
        Map<Long, List<Community>> communityMap = pushCommunityListIntoMap(communityList);
        if (areaList == null)
          areaList = Collections.emptyList();
        for (District areaDist : areaList)
        {
          List<School> shools = shoolMap.get(areaDist.getId());
          areaDist.setShools(shools);
          List<Community> communities = communityMap.get(areaDist
              .getId());
          areaDist.setCommunities(communities);
        }
      }
    }

    return "showIndex";
  }

  private Map<Long, List<District>> pushDistrictListIntoMap(
      List<District> districtList)
  {
    Map<Long, List<District>> disMap = new HashMap<Long, List<District>>();
    for (int i = 0; i < districtList.size(); i++)
    {
      District district = districtList.get(i);
      Long parentId = district.getParentId();
      Long key = parentId;
      if (parentId == null || parentId == 0)
      {
        key = 0L;
      }
      List<District> disList = disMap.get(key);
      if (disList == null)
      {
        disList = new ArrayList<District>();
      }
      disList.add(district);
      disMap.put(key, disList);
    }
    return disMap;
  }

  private Map<Long, List<School>> pushShoolListIntoMap(List<School> shoolList)
  {
    Map<Long, List<School>> shoolMap = new HashMap<Long, List<School>>();
    for (int i = 0; i < shoolList.size(); i++)
    {
      School shool = shoolList.get(i);
      Long distinctId = shool.getDistrictId();
      Long key = distinctId;
      if (distinctId == null || distinctId == 0)
      {
        key = 0L;
      }
      List<School> disList = shoolMap.get(key);
      if (disList == null)
      {
        disList = new ArrayList<School>();
      }
      disList.add(shool);
      shoolMap.put(key, disList);
    }
    return shoolMap;
  }

  private Map<Long, List<Community>> pushCommunityListIntoMap(
      List<Community> communityList)
  {
    Map<Long, List<Community>> communityMap = new HashMap<Long, List<Community>>();
    for (int i = 0; i < communityList.size(); i++)
    {
      Community community = communityList.get(i);
      Long distinctId = community.getDistrictId();
      Long key = distinctId;
      if (distinctId == null || distinctId == 0)
      {
        key = 0L;
      }
      List<Community> disList = communityMap.get(key);
      if (disList == null)
      {
        disList = new ArrayList<Community>();
      }
      disList.add(community);
      communityMap.put(key, disList);
    }
    return communityMap;
  }

  public List<District> getProvinceList()
  {
    return provinceList;
  }

  public void setProvinceList(List<District> provinceList)
  {
    this.provinceList = provinceList;
  }
}
TOP

Related Classes of com.eatle.web.action.front.IndexAction

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.