Package iqq.im.action

Source Code of iqq.im.action.GetStrangerInfoAction

package iqq.im.action;

import java.text.ParseException;

import iqq.im.QQActionListener;
import iqq.im.QQException;
import iqq.im.bean.QQAllow;
import iqq.im.bean.QQClientType;
import iqq.im.bean.QQUser;
import iqq.im.core.QQConstants;
import iqq.im.core.QQContext;
import iqq.im.core.QQSession;
import iqq.im.event.QQActionEvent;
import iqq.im.http.QQHttpRequest;
import iqq.im.http.QQHttpResponse;
import iqq.im.util.DateUtils;

import org.json.JSONException;
import org.json.JSONObject;

/**
* <p>GetStrangerInfoAction class.</p>
*
* @author ZhiHui_Chen
* @since date 2013-4-21
*/
public class GetStrangerInfoAction extends AbstractHttpAction {

  private QQUser user;
 

  /**
   * <p>Constructor for GetStrangerInfoAction.</p>
   *
   * @param context a {@link iqq.im.core.QQContext} object.
   * @param listener a {@link iqq.im.QQActionListener} object.
   * @param user a {@link iqq.im.bean.QQUser} object.
   */
  public GetStrangerInfoAction(QQContext context, QQActionListener listener,
      QQUser user) {
    super(context, listener);
   
    this.user = user;
  }
 
  /** {@inheritDoc} */
  @Override
  protected QQHttpRequest onBuildRequest() throws QQException, JSONException {
    QQSession session = getContext().getSession();
    QQHttpRequest req = createHttpRequest("GET", QQConstants.URL_GET_STRANGER_INFO);
    req.addGetValue("tuin", user.getUin() + "");
    req.addGetValue("verifysession", "")// ?
    req.addGetValue("gid", "0");
    req.addGetValue("code", "");
    req.addGetValue("vfwebqq", session.getVfwebqq());
    req.addGetValue("t", System.currentTimeMillis()/1000 + "");
    return req;
  }
 
  /** {@inheritDoc} */
  @Override
  protected void onHttpStatusOK(QQHttpResponse response) throws QQException,
      JSONException {
    /*
     * {"retcode":0,"result":
     * {"face":0,"birthday":{"month":0,"year":0,"day":0},
     * "phone":"","occupation":"","allow":1,"college":"","uin":2842465527,"blood":0,
     * "constel":0,"homepage":"","stat":10,"country":"","city":"","personal":"","nick":"平凡",
     * "shengxiao":0,"email":"","token":"d04e802bda6ff115e31c3792199f15aa74f92eb435e75d93",
     * "client_type":1,"province":"","gender":"male","mobile":"-"}}
     */
    try{
    JSONObject json = new JSONObject(response.getResponseString());
        if (json.getInt("retcode") == 0) {
            JSONObject obj = json.getJSONObject("result");
            try {
        user.setBirthday(DateUtils.parse(obj.getJSONObject("birthday")));
      } catch (ParseException e) {
        user.setBirthday(null);
      }
            user.setOccupation(obj.getString("occupation"));
            user.setPhone(obj.getString("phone"));
            user.setAllow(QQAllow.values()[obj.getInt("allow")]);
            user.setCollege(obj.getString("college"));
            if (obj.has("reg_time")) {
                user.setRegTime(obj.getInt("reg_time"));
            }
            user.setUin(obj.getLong("uin"));
            user.setConstel(obj.getInt("constel"));
            user.setBlood(obj.getInt("blood"));
            user.setHomepage(obj.getString("homepage"));
            user.setStat(obj.getInt("stat"));
            if(obj.has("vip_info")) {
              user.setVipLevel(obj.getInt("vip_info")); // VIP等级 0为非VIP
            }
            user.setCountry(obj.getString("country"));
            user.setCity(obj.getString("city"));
            user.setPersonal(obj.getString("personal"));
            user.setNickname(obj.getString("nick"));
            user.setChineseZodiac(obj.getInt("shengxiao"));
            user.setEmail("email");
            user.setProvince(obj.getString("province"));
            user.setGender(obj.getString("gender"));
            user.setMobile(obj.getString("mobile"));
            if (obj.has("client_type")) {
                user.setClientType(QQClientType.valueOfRaw(obj.getInt("client_type")));
            }
        }
    } catch(Exception e) {
      e.printStackTrace();
    }
       
        notifyActionEvent(QQActionEvent.Type.EVT_OK, user);
  }

}
TOP

Related Classes of iqq.im.action.GetStrangerInfoAction

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.