package com.hdl.photovoltaic.other; import android.content.Context; import android.content.Intent; import android.text.TextUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.hdl.photovoltaic.config.ConstantManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.enums.MessageStateType; import com.hdl.photovoltaic.push.PushMessageInfoBean; import com.hdl.photovoltaic.ui.BPowerStationActivity; import com.hdl.photovoltaic.ui.bean.MessageBean; import com.hdl.photovoltaic.utils.SharedPreUtils; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import org.greenrobot.eventbus.EventBus; import java.util.Objects; import cn.jpush.android.api.NotificationMessage; /** * 极光推送信息处理逻辑 */ public class HdlPushLogic { private static volatile HdlPushLogic sHdlPushLogic; /** * 获取当前对象 * * @return HdlAccountLogic */ public static synchronized HdlPushLogic getInstance() { if (sHdlPushLogic == null) { synchronized (HdlPushLogic.class) { if (sHdlPushLogic == null) { sHdlPushLogic = new HdlPushLogic(); } } } return sHdlPushLogic; } /** * 推送数据统一处理的方法 * * @param context 上下文 * @param pushMessageInfoBean 推送数据对象实体 * @param isOpened true=点击通知栏回调,false=收到推送通知回调; */ public void PushPushCommonData(Context context, PushMessageInfoBean pushMessageInfoBean, boolean isOpened) { if (UserConfigManage.getInstance().isBAccount()) { //添加推送数据到缓存列表中; // this.addPushDataToMemoryList(pushMessageInfoBean); if (isOpened) { // //安装商跳转界面 // Intent intent = new Intent(context, BPowerStationActivity.class); // intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); // intent.putExtra("skip", "skip");//里面判断有这个标识就跳转到消息中心界面 // context.startActivity(intent); } else { //应用在前台通知更新住宅消息列表即可 BaseEventBus bus = new BaseEventBus(); bus.setTopic(ConstantManage.refresh_message_house); bus.setType(ConstantManage.refresh_message_house); EventBus.getDefault().post(bus); } } else { // if (isOpened) { //产品经理说暂时不做 2024年03月29日10:34:44 // boolean existsActivity = AppManagerUtils.getAppManager().existsActivity(MessageCenterListActivity.class); // if (existsActivity) { // //存在唯一一种可能就是当前活动窗口就是它 // return; // } // //跳转C端消息中心界面 // Intent intent = new Intent(context, MessageCenterListActivity.class); // intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); // context.startActivity(intent); // //不管存不存在这些Activity(找到才移除),都要做这些动作,有可能当前的活动窗口是其中一个 // AppManagerUtils.getAppManager().finishActivity(AccountAndSecurityActivity.class); // AppManagerUtils.getAppManager().finishActivity(AsRegardsActivity.class); // AppManagerUtils.getAppManager().finishActivity(BindMailActivity.class); // AppManagerUtils.getAppManager().finishActivity(BindPhoneActivity.class); // AppManagerUtils.getAppManager().finishActivity(languageSelectionActivity.class); // AppManagerUtils.getAppManager().finishActivity(MeChangePasswordActivity.class); // AppManagerUtils.getAppManager().finishActivity(PersonalDataActivity.class); // AppManagerUtils.getAppManager().finishActivity(SetActivity.class); // AppManagerUtils.getAppManager().finishActivity(TemperatureUnitActivity.class); // AppManagerUtils.getAppManager().finishActivity(WebActivity.class); // //通知uni移除界面 // HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); // uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_REMOVE_VIEW); // HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); // } } } /** * 添加在推送数据到缓存列表中 */ private void addPushDataToMemoryList(PushMessageInfoBean pushMessageInfoBean) { try { boolean isPushAddCache = SharedPreUtils.getBoolean("pushAddCache"); if (!isPushAddCache) { //有可能删除推送Token接口失败,换账号后,依然也会收到上次账号的推送; return; } if (TextUtils.isEmpty(pushMessageInfoBean.getExpantContent())) { return; } Gson gson = new Gson(); MessageBean messageBean = gson.fromJson(pushMessageInfoBean.getExpantContent(), MessageBean.class); if (messageBean == null) { return; } messageBean.setTitle(pushMessageInfoBean.getContent()); messageBean.setDeviceDesc(pushMessageInfoBean.getContent()); HdlMessageLogic.getInstance().setListMessage(messageBean, 0); HdlLogLogic.print("极光推送---添加在推送数据到缓存列表中---" + new Gson().toJson(pushMessageInfoBean)); } catch (Exception ignored) { } } /** * 推送数据作转指定推送模型 * * @param title 推送标题 可选参数(不存在传空字符) * @param content 推送内容 可选参数(不存在传空字符) * @param data 消息拓展负载数据 可选参数(不存在传空字符) */ public PushMessageInfoBean pushDataProcessing(String title, String content, String data) { try { PushMessageInfoBean pushMessageInfoBean = new PushMessageInfoBean(); pushMessageInfoBean.setTitle(title); pushMessageInfoBean.setContent(content); if (TextUtils.isEmpty(data)) { return pushMessageInfoBean; } JSONObject pushDataObject = JSON.parseObject(data); if (pushDataObject.containsKey("expandData")) { String expandDataJson = Objects.requireNonNull(pushDataObject.get("expandData")).toString(); if (TextUtils.isEmpty(expandDataJson)) { return pushMessageInfoBean; } pushMessageInfoBean.setExpandData(expandDataJson); JSONObject expandDataObject = JSON.parseObject(expandDataJson); if (expandDataObject.containsKey("messageType")) { String messageType = Objects.requireNonNull(expandDataObject.get("messageType")).toString(); if (!TextUtils.isEmpty(messageType)) { pushMessageInfoBean.setMessageType(messageType); } } if (TextUtils.isEmpty(title)) { if (expandDataObject.containsKey("title")) { String messageTitle = Objects.requireNonNull(expandDataObject.get("title")).toString(); if (!TextUtils.isEmpty(messageTitle)) { pushMessageInfoBean.setTitle(messageTitle); } } } if (TextUtils.isEmpty(content)) { if (expandDataObject.containsKey("content")) { String messageContent = Objects.requireNonNull(expandDataObject.get("content")).toString(); if (!TextUtils.isEmpty(messageContent)) { pushMessageInfoBean.setTitle(messageContent); } } } if (expandDataObject.containsKey("homeId")) { String homeId = Objects.requireNonNull(expandDataObject.get("homeId")).toString(); if (!TextUtils.isEmpty(homeId)) { pushMessageInfoBean.setHomeId(homeId); } } if (expandDataObject.containsKey("expantContent")) { String expantContentJson = Objects.requireNonNull(expandDataObject.get("expantContent")).toString(); if (!TextUtils.isEmpty(expantContentJson)) { pushMessageInfoBean.setExpantContent(expantContentJson); } JSONObject expantContentObject = JSON.parseObject(expantContentJson); if (expantContentObject.containsKey("aiPrompt")) { String aiPrompt = Objects.requireNonNull(expantContentObject.get("aiPrompt")).toString(); if (!TextUtils.isEmpty(aiPrompt)) { pushMessageInfoBean.setAiPrompt(Boolean.parseBoolean(aiPrompt)); } } if (expantContentObject.containsKey("msgId")) { String msgId = Objects.requireNonNull(expantContentObject.get("msgId")).toString(); if (!TextUtils.isEmpty(msgId)) { pushMessageInfoBean.setMsgId(msgId); } } } } return pushMessageInfoBean; } catch (Exception e) { return new PushMessageInfoBean(); } } }