package com.xzx.gc.common.utils; import cn.hutool.core.lang.Singleton; import cn.hutool.json.JSONUtil; import cn.jiguang.common.ClientConfig; import cn.jiguang.common.resp.APIConnectionException; import cn.jiguang.common.resp.APIRequestException; import cn.jpush.api.JPushClient; import cn.jpush.api.push.model.Options; import cn.jpush.api.push.model.Platform; import cn.jpush.api.push.model.PushPayload; import cn.jpush.api.push.model.audience.Audience; import cn.jpush.api.push.model.notification.AndroidNotification; import cn.jpush.api.push.model.notification.IosNotification; import cn.jpush.api.push.model.notification.Notification; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.model.order.ScanDto; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.util.HashMap; import java.util.Map; /** * 极光推送 */ @Component @Slf4j public class JGPushUtil { @Autowired private JGUtil jgUtil; /** * 新的订单 */ public void pushNewOrder(String tag,String townId){ //推送 Map objectObjectHashMap = new HashMap<>(); objectObjectHashMap.put("newOrder", "{}"); jgUtil.sendByAnroid("您有新的订单", "抢单", objectObjectHashMap, Audience.tag(tag + "_" +townId)); } /** * 催单 * @param partnerId 合伙人ID */ public void pushRemindOrder(String partnerId){ Map objectObjectHashMap = new HashMap<>(); objectObjectHashMap.put(Constants.REMINDER_ORDER_TAG, "{}"); jgUtil.sendByAnroid("订单已被催单", "催单",objectObjectHashMap, Audience.tag(Constants.REMINDER_ORDER_TAG + "_" + partnerId)); } /** * 轨迹 * @param traceIds 轨迹ID * @param userId 用户ID */ public void pushTrace(String traceIds,String userId){ Map map = new HashMap<>(); map.put("traceIds", traceIds); jgUtil.sendByAnroid("", "轨迹", map, Audience.alias(userId)); } /** * 订单 */ public void pushOrder(String orderId,String userId){ Map map = new HashMap<>(); map.put("orderId", orderId); jgUtil.sendByAnroid("", "订单信息", map, Audience.alias(userId)); } /** * 打卡 * @param scanDto */ public void pushClock(ScanDto scanDto){ Map map = new HashMap<>(); map.put("scan", JSONUtil.toJsonStr(scanDto)); jgUtil.sendByAnroid("", "打卡", map, Audience.alias(scanDto.getUserId())); } }