package me.notify.notifyServer.util;

import cn.jiguang.common.ClientConfig;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Message;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.audience.Audience;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class JPushService {

    //日志
    public Logger logger = LoggerFactory.getLogger(this.getClass());

    private  String appKey = "213bff234fa5ae918dd5475a";
    private  String masterSecret = "c0e482bc6b6e20d736e546af";

    /**
     * 发送api
     */
    public  boolean sendJPush(String id, List<String> list){
        try {
            JPushClient jPushClient = new JPushClient(masterSecret, appKey, null, ClientConfig.getInstance());

            PushPayload payload = PushPayload.newBuilder()
                    .setPlatform(Platform.android())
                    .setAudience(Audience.registrationId(list))
                    .setMessage(Message.content(id))
                    .build();

            PushResult result = jPushClient.sendPush(payload);

            String ids = "";
            for (String s:list) {
                ids += s+", ";
            }
            logger.error("send ==> num = " + id + ", ids = "+ ids +" result: " + result);

            Thread.sleep(1000);
            jPushClient.close();

            if (result.statusCode == 0){
                return true;
            } else {
                return false;
            }

        } catch (Exception e){
            e.printStackTrace();
        }
        return false;
    }

}
