⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 groupmenubean.java

📁 WAP PUSH后台源码,WAP PUSH后台源码
💻 JAVA
字号:
package com.sxit.wap.groupmenu;

import java.sql.*;
import java.util.*;
import com.sxit.wap.common.*;
import com.sxit.wap.exception.*;
//*
import com.sxit.wap.menuimg.*;

public class GroupMenuBean
    extends GroupMenuDao {

  //获得整棵树
  public static Collection getTree(int MENU_TRADE) throws SysException {
    Collection value = new ArrayList();
    String sql = "SELECT M.*, I.IMG_URL FROM WAP_MENU_IMG I, ( " +
        " SELECT LEVEL, MENU_ID, MENU_PARENT, MENU_CHANNEL, MENU_NAME, IMG_ID " +
        " FROM WAP_GROUP_MENU WHERE MENU_TRADE=" + MENU_TRADE +
        " START WITH MENU_PARENT ='0' " +
        " CONNECT BY MENU_PARENT = PRIOR MENU_ID " +
        " ) M WHERE I.ID = M.IMG_ID";
    Collection coll = GroupMenuBean.queryBySql(sql);
    Iterator it = coll.iterator();
    int index = 0;
    while (it.hasNext()) {
      Hashtable element = (Hashtable) it.next();
      String level = (String) element.get("level");
      String menuId = (String) element.get("menuId");
      String menuParent = (String) element.get("menuParent");
      String menuChannel = (String) element.get("menuChannel");
      String menuName = (String) element.get("menuName");
      int channelId = Integer.parseInt(menuChannel);
      String imgUrl = (String) element.get("imgUrl");
      GroupTreeModel treeModel = new GroupTreeModel();
      treeModel.setIndex(index++);
      treeModel.setId(Integer.parseInt(menuId));
      treeModel.setPid(Integer.parseInt(menuParent));
      treeModel.setName(menuName);
      treeModel.setLevel(Integer.parseInt(level));
      treeModel.setHasLeaf(channelId == 0 ? 1 : 0);
      treeModel.setIsOpen(1);
      treeModel.setIsAdmin(1);
      treeModel.setChannelId(Integer.parseInt(menuChannel));
      treeModel.setImgUrl(imgUrl);
      value.add(treeModel);
    }
    return value;
  }

  //判断该节点是否存在子节点
  public static boolean hasSubMenu(int menuId) throws SysException {
    String sql = "SELECT COUNT(*) FROM WAP_GROUP_MENU WHERE MENU_PARENT = " +
        menuId;
    return getRowCountBySql(sql) != 0;
  }

  //查询该用户可以看到本集团的和其他的*
  public static Collection queryGroupInfoByMdn(String userMdn) throws
      Exception {
    Connection dbConnection = null;
    Statement stmt = null;
    ResultSet rs = null;
    ArrayList list = new ArrayList();
    String sql = "SELECT  distinct(g.id) group_id,g.group_name group_name FROM WAP_GROUP_USER u, WAP_GROUP g,WAP_GROUP_CHANNEL c WHERE u.USER_MDN ='" +
        userMdn + "' and u.group_id=g.id and c.channel_trade=g.id";
    try {
      dbConnection = Database.getConnection();
      stmt = dbConnection.createStatement();
      rs = stmt.executeQuery(sql);
      ResultSetMetaData rsmd = rs.getMetaData();
      while (rs.next()) {
        Hashtable element = new Hashtable();
        for (int i = 1; i <= rsmd.getColumnCount(); i++) {
          String columnName = rsmd.getColumnName(i);
          String fieldName = Function.format(columnName);
          String fieldType = ColumnType.getFieldType(Database.dbType, rsmd, i);
          if (fieldType == null)
            continue;
          if ("Timestamp".equals(fieldType)) {
            element.put(fieldName, rs.getTimestamp(columnName));
          }
          else if ("String".equals(fieldType)) {
            String value = Function.readDBEncode(rs.getString(columnName));
            if (value == null)
              value = "";
            element.put(fieldName, value);
          }
          else if ("int".equals(fieldType)) {
            element.put(fieldName, String.valueOf(rs.getInt(columnName)));
          }
          else if ("long".equals(fieldType)) {
            element.put(fieldName, String.valueOf(rs.getLong(columnName)));
          }
          else if ("float".equals(fieldType)) {
            element.put(fieldName, String.valueOf(rs.getFloat(columnName)));
          }
        }
        list.add(element);
      }

    }
    catch (SQLException e) {
      Debug.println(sql + "\n" +
                    "SQLException while execute queryBySql mothod :\n" + e);
      throw new SysException("SQLException while execute queryBySql mothod :\n" +
                             e);
    }
    finally {
      try {
        if (rs != null) {
          rs.close();
          rs = null;
        }
        if (stmt != null) {
          stmt.close();
          stmt = null;
        }
        if (dbConnection != null && !dbConnection.isClosed()) {
          dbConnection.close();
          dbConnection = null;
        }
      }
      catch (Exception e) {}
    }

    sql = "SELECT distinct(g.id) group_id,g.group_name group_name FROM  WAP_GROUP g,WAP_GROUP_CHANNEL c WHERE c.channel_trade=g.id and c.channel_public=1 and g.id not in (SELECT  distinct(g.id) FROM WAP_GROUP_USER u, WAP_GROUP g,WAP_GROUP_CHANNEL c WHERE u.USER_MDN ='" +
        userMdn + "' and u.group_id=g.id and c.channel_trade=g.id )";
    try {
      dbConnection = Database.getConnection();
      stmt = dbConnection.createStatement();
      rs = stmt.executeQuery(sql);
      ResultSetMetaData rsmd2 = rs.getMetaData();
      while (rs.next()) {
        Hashtable element = new Hashtable();
        for (int i = 1; i <= rsmd2.getColumnCount(); i++) {
          String columnName = rsmd2.getColumnName(i);
          String fieldName = Function.format(columnName);
          String fieldType = ColumnType.getFieldType(Database.dbType, rsmd2, i);
          if (fieldType == null)
            continue;
          if ("Timestamp".equals(fieldType)) {
            element.put(fieldName, rs.getTimestamp(columnName));
          }
          else if ("String".equals(fieldType)) {
            String value = Function.readDBEncode(rs.getString(columnName));
            if (value == null)
              value = "";
            element.put(fieldName, value);
          }
          else if ("int".equals(fieldType)) {
            element.put(fieldName, String.valueOf(rs.getInt(columnName)));
          }
          else if ("long".equals(fieldType)) {
            element.put(fieldName, String.valueOf(rs.getLong(columnName)));
          }
          else if ("float".equals(fieldType)) {
            element.put(fieldName, String.valueOf(rs.getFloat(columnName)));
          }
        }
        list.add(element);
      }
      return list;
    }
    catch (SQLException e) {
      Debug.println(sql + "\n" +
                    "SQLException while execute queryBySql mothod :\n" + e);
      throw new SysException("SQLException while execute queryBySql mothod :\n" +
                             e);
    }
    finally {
      try {
        if (rs != null) {
          rs.close();
        }
        if (stmt != null) {
          stmt.close();
        }
        if (dbConnection != null && !dbConnection.isClosed()) {
          dbConnection.close();
          dbConnection = null;
        }
      }
      catch (Exception e) {}
    }

  }

  //判断该用户是否属于该集团*
  public static boolean isThisGroup(int groupId, String userMdn) throws
      SysException {
    String sql = "SELECT COUNT(*) FROM wap_group_user WHERE user_mdn = '" +
        userMdn + "' and group_id=" + groupId;
    return getRowCountBySql(sql) != 0;
  }

  //找出非集团用户的菜单(一级目录)*
  public static Collection getPublicChannelInfo(int groupId,
                                                String userMdn) throws
      Exception {
    Collection firstColl = new ArrayList();
    Collection LastColl = new ArrayList();
    String sql = "";
    //先找出公共频道的菜单ID
    sql = "select  m.menu_id from wap_group_channel c ,wap_group_menu m where channel_trade=" +
        groupId + " and channel_public=1 and c.id=m.menu_channel";
    firstColl = queryBySql(sql);
    //频道数一定>=目录数,如果是同一个根目录的排除
    int channelPublicNum = firstColl.size();
    int[] menuIdNum = new int[channelPublicNum];
    boolean flag = true;

    //计数器
    int adder = 0;
    for (int i = 0; i < channelPublicNum; i++) {
      menuIdNum[i] = 0;
    }

    Iterator it = firstColl.iterator();
    while (it.hasNext()) {
      Hashtable hs = (Hashtable) it.next();
      String StrmenuId = (String) hs.get("menuId");
      int menuId = Integer.parseInt(StrmenuId);
      GroupMenuModel groupMenuModel = findByPK(menuId);
      //根据菜单ID找出一级目录
      while (groupMenuModel.getMenuParent() != 0) {
        groupMenuModel = findByPK(groupMenuModel.getMenuParent());
      }

      //检查此跟目录是否已经出现过
      for (int i = 0; i < channelPublicNum; i++) {
        if (menuIdNum[i] == groupMenuModel.getMenuId()) {
          flag = false;
        }
      }
      if (flag) { //1
        MenuImgModel menuImgModel = MenuImgBean.findByPK(groupMenuModel.
            getImgId());
        String imgUrl = menuImgModel.getImgUrl();
        //找到菜单一级目录的相关信息
        Hashtable newhs = new Hashtable();
        newhs.put("menuId", String.valueOf(groupMenuModel.getMenuId()));
        newhs.put("imgUrl", imgUrl);
        newhs.put("menuName", groupMenuModel.getMenuName());
        LastColl.add(newhs);
      } //end of 1
      menuIdNum[adder] = groupMenuModel.getMenuId();
      adder++;
      flag = true;
    }

    return LastColl;
  }

  //找出此集团用户的菜单(一级目录)*
  public static Collection getMenuByGroupId(int groupId, String userMdn) throws
      Exception {
    String sql = "";

    sql = "SELECT g.menu_id,i.img_url,g.menu_name FROM WAP_GROUP_MENU g,wap_menu_img i WHERE MENU_TRADE =" +
        groupId + " and g.img_id=i.id and MENU_PARENT=0";
    return queryBySql(sql);
  }

  //找出此菜单的子菜单和频道*
  public static Collection getChAndMeByGroupId(int menuId) throws
      SysException {
    String sql = "";
    sql = "select m.*,g.img_url from wap_group_menu m,wap_menu_img g where m.menu_parent="+menuId+" and m.img_id=g.id";
    return queryBySql(sql);
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -