/** * */ package iqq.im.action; import iqq.im.QQActionListener; import iqq.im.QQException; import iqq.im.QQException.QQErrorCode; import iqq.im.bean.QQGroup; import iqq.im.core.QQConstants; import iqq.im.core.QQContext; import iqq.im.core.QQSession; import iqq.im.core.QQStore; import iqq.im.event.QQActionEvent; import iqq.im.http.QQHttpRequest; import iqq.im.http.QQHttpResponse; import org.json.JSONException; import org.json.JSONObject; /** * @author ZhiHui_Chen<6208317@qq.com> * @create date 2013-4-15 */ public class UpdateGroupMessageFilterAction extends AbstractHttpAction { /** * @param context * @param listener */ public UpdateGroupMessageFilterAction(QQContext context, QQActionListener listener) { super(context, listener); } @Override protected QQHttpRequest onBuildRequest() throws QQException, JSONException { // retype:1 app:EQQ // itemlist:{"groupmask":{"321105219":"1","1638195794":"0","cAll":0,"idx":1075,"port":37883}} // vfwebqq:8b26c442e239630f250e1e74d135fd85ab78c38e7b8da1c95a2d1d560bdebd2691443df19d87e70d QQStore store = getContext().getStore(); QQSession session = getContext().getSession(); QQHttpRequest req = createHttpRequest("POST", QQConstants.URL_GROUP_MESSAGE_FILTER); req.addPostValue("retype", "1"); // 群??? req.addPostValue("app", "EQQ"); JSONObject groupmask = new JSONObject(); groupmask.put("cAll", 0); groupmask.put("idx", session.getIndex()); groupmask.put("port", session.getPort()); for(QQGroup g : store.getGroupList()) { if(g.getGin() > 0) { groupmask.put(g.getGin() + "", g.getMask() + ""); } } JSONObject itemlist = new JSONObject(); itemlist.put("groupmask", groupmask); req.addPostValue("itemlist", itemlist.toString()); req.addPostValue("vfwebqq", getContext().getSession().getVfwebqq()); System.out.println("UpdateGroupMessageFilterAction: " + itemlist.toString() + " - " + store.getGroupList().size()); return req; } @Override protected void onHttpStatusOK(QQHttpResponse response) throws QQException, JSONException { // {"result":null,"retcode":0} JSONObject json = new JSONObject(response.getResponseString()); if(json.getInt("retcode") == 0){ notifyActionEvent(QQActionEvent.Type.EVT_OK, getContext().getStore().getGroupList()); } else { notifyActionEvent(QQActionEvent.Type.EVT_ERROR, QQErrorCode.UNEXPECTED_RESPONSE); } } }