private String addWhere(User user, String hql, List<Object> values) {
   if (user.getCname() != null && !user.getCname().trim().equals("")) {
     hql += " and t.cname like ? ";
     values.add("%%" + user.getCname().trim() + "%%");
   }
   /*		if (user.getCcreatedatetimeStart() != null) {
   			hql += " and t.ccreatedatetime>=? ";
   			values.add(user.getCcreatedatetimeStart());
   		}
   		if (user.getCcreatedatetimeEnd() != null) {
   			hql += " and t.ccreatedatetime<=? ";
   			values.add(user.getCcreatedatetimeEnd());
   		}
   		if (user.getCmodifydatetimeStart() != null) {
   			hql += " and t.cmodifydatetime>=? ";
   			values.add(user.getCmodifydatetimeStart());
   		}
   		if (user.getCmodifydatetimeEnd() != null) {
   			hql += " and t.cmodifydatetime<=? ";
   			values.add(user.getCmodifydatetimeEnd());
   		}
   */
   return hql;
 }
  public User login(User user) {
    Tuser t =
        userDao.get(
            "from Tuser t where t.cname = ? and t.cpwd = ?",
            new Object[] {user.getCname(), Encrypt.e(user.getCpwd())});
    if (t != null) {
      BeanUtils.copyProperties(t, user, new String[] {"cpwd"});

      Map<String, String> authIdsMap = new HashMap<String, String>();
      String authIds = "";
      String authNames = "";
      Map<String, String> authUrlsMap = new HashMap<String, String>();
      String authUrls = "";
      String roleIds = "";
      String roleNames = "";
      boolean b1 = false;
      Set<Tusertrole> tusertroles = t.getTusertroles();
      if (tusertroles != null && tusertroles.size() > 0) {
        for (Tusertrole tusertrole : tusertroles) {
          Trole trole = tusertrole.getTrole();
          if (b1) {
            roleIds += ",";
            roleNames += ",";
          }
          roleIds += trole.getCid();
          roleNames += trole.getCname();
          b1 = true;

          Set<Troletauth> troletauths = trole.getTroletauths();
          if (troletauths != null && troletauths.size() > 0) {
            for (Troletauth troletauth : troletauths) {
              Tauth tauth = troletauth.getTauth();
              authIdsMap.put(tauth.getCid(), tauth.getCname());
              authUrlsMap.put(tauth.getCid(), tauth.getCurl());
            }
          }
        }
      }
      boolean b2 = false;
      for (String id : authIdsMap.keySet()) {
        if (b2) {
          authIds += ",";
          authNames += ",";
        }
        authIds += id;
        authNames += authIdsMap.get(id);
        b2 = true;
      }
      user.setAuthIds(authIds);
      user.setAuthNames(authNames);
      user.setRoleIds(roleIds);
      user.setRoleNames(roleNames);
      boolean b3 = false;
      for (String id : authUrlsMap.keySet()) {
        if (b3) {
          authUrls += ",";
        }
        authUrls += authUrlsMap.get(id);
        b3 = true;
      }
      user.setAuthUrls(authUrls);

      return user;
    }
    return null;
  }