All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.riversoft.weixin.mp.user.BlackLists Maven / Gradle / Ivy

The newest version!
package com.riversoft.weixin.mp.user;

import com.riversoft.weixin.common.WxClient;
import com.riversoft.weixin.common.util.JsonMapper;
import com.riversoft.weixin.mp.MpWxClientFactory;
import com.riversoft.weixin.mp.base.AppSetting;
import com.riversoft.weixin.mp.base.WxEndpoint;
import com.riversoft.weixin.mp.user.bean.UserPagination;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

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

/**
 * 黑名单管理
 * @borball on 4/7/2017.
 */
public class BlackLists {

    private static Logger logger = LoggerFactory.getLogger(BlackLists.class);

    private WxClient wxClient;

    public static BlackLists defaultBlackLists() {
        return with(AppSetting.defaultSettings());
    }

    public static BlackLists with(AppSetting appSetting) {
        BlackLists blackLists = new BlackLists();
        blackLists.setWxClient(MpWxClientFactory.getInstance().with(appSetting));
        return blackLists;
    }

    public void setWxClient(WxClient wxClient) {
        this.wxClient = wxClient;
    }

    /**
     * 拉黑
     * @param openids
     */
    public void black(List openids) {
        String url = WxEndpoint.get("url.blacklist.black");
        Map body = new HashMap<>();
        body.put("opened_list", openids);
        logger.debug("black users: {}", openids);
        wxClient.post(url, JsonMapper.defaultMapper().toJson(body));
    }

    /**
     * 取消拉黑
     * @param openids
     */
    public void unblack(List openids) {
        String url = WxEndpoint.get("url.blacklist.unblack");
        Map body = new HashMap<>();
        body.put("opened_list", openids);
        logger.debug("unblack users: {}", openids);
        wxClient.post(url, JsonMapper.defaultMapper().toJson(body));
    }

    /**
     * 获取黑名单列表
     * @return
     */
    public UserPagination list(){
        return list("");
    }

    /**
     * 获取黑名单列表
     * @param nextOpenId
     * @return
     */
    public UserPagination list(String nextOpenId){
        String url = WxEndpoint.get("url.blacklist.list");
        Map body = new HashMap<>();
        body.put("begin_openid", nextOpenId);
        logger.debug("list all black list: {}", nextOpenId);
        String response = wxClient.post(url, JsonMapper.defaultMapper().toJson(body));
        return JsonMapper.defaultMapper().fromJson(response, UserPagination.class);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy