mac
2023-12-28 6724b5d9fbc67d50fab1e70fc99f38576550f704
app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -5,6 +5,7 @@
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.enums.MessageStateType;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.api.HttpApi;
import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -37,6 +38,79 @@
        return sHdlMessageLogic;
    }
    /**
     * 获取发生中缓存列表
     */
    public List<MessageBean> getRecoverMessageMemoryList() {
        if (this.mListMessage == null || this.mListMessage.size() == 0) {
            return new ArrayList<>();
        }
        List<MessageBean> newList = new ArrayList<>();
        for (int i = 0; i < mListMessage.size(); i++) {
            MessageBean messageBean = mListMessage.get(i);
            if (messageBean.getStatus().equals(MessageStateType.untreated)) {
                newList.add(messageBean);
            }
        }
        return newList;
    }
    /**
     * 获取处理中缓存列表
     */
    public List<MessageBean> getNascentMessageMemoryList() {
        if (this.mListMessage == null || this.mListMessage.size() == 0) {
            return new ArrayList<>();
        }
        List<MessageBean> newList = new ArrayList<>();
        for (int i = 0; i < mListMessage.size(); i++) {
            MessageBean messageBean = mListMessage.get(i);
            if (messageBean.getStatus().equals(MessageStateType.processed)) {
                newList.add(messageBean);
            }
        }
        return newList;
    }
    public List<MessageBean> getListMessage() {
        return mListMessage;
    }
    public void setListMessage(List<MessageBean> list) {
        try {
            if (list == null || list.size() == 0) {
                return;
            }
            if (this.mListMessage.size() == 0) {
                this.mListMessage.addAll(list);
                return;
            }
            List<MessageBean> newList = new ArrayList<>();
            for (int i = 0; i < list.size(); i++) {
                MessageBean messageBean = list.get(i);
                boolean if_boolean = false;
                for (int j = 0; j < mListMessage.size(); j++) {
                    if (mListMessage.get(j).toString().equals(messageBean.getMsgId().toString())) {
                        mListMessage.remove(j);
                        mListMessage.add(j, messageBean);
                        if_boolean = true;
                        break;
                    }
                }
                if (!if_boolean) {
                    newList.add(messageBean);
                }
            }
            this.mListMessage.addAll(newList);
        } catch (Exception ignored) {
        }
    }
    private List<MessageBean> mListMessage = new ArrayList<>();
    /**
     * 获取未处理消息数量
@@ -63,6 +137,34 @@
        });
    }
    /**
     * 获取全部列表
     *
     * @param cloudCallBeak -
     */
    public void getAllMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
        getMessageList(MessageStatus.all, cloudCallBeak);
    }
    /**
     * 获取发生中列表
     *
     * @param cloudCallBeak -
     */
    public void getRecoverMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
        getMessageList(MessageStatus.untreated, cloudCallBeak);
    }
    /**
     * 获取处理中列表
     *
     * @param cloudCallBeak -
     */
    public void getNascentMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
        getMessageList(MessageStatus.processed, cloudCallBeak);
    }
    /**
@@ -93,6 +195,7 @@
                Gson gson = new Gson();
                MessageListClass messageListClass = gson.fromJson(jsonStr, MessageListClass.class);
                list.addAll(messageListClass.getList());
                setListMessage(messageListClass.getList());
                //总共有多少页
                long totalPage = messageListClass.totalPage;
                if (totalPage < 2) {
@@ -112,6 +215,7 @@
                            atomicInteger.set(atomicInteger.get() + 1);
                            MessageListClass messageListClass1 = gson.fromJson(jsonStr, MessageListClass.class);
                            list.addAll(messageListClass1.getList());
                            setListMessage(messageListClass.getList());
                            if (atomicInteger.get() == totalPage - 1) {
                                //最后一条退出
                                if (cloudCallBeak != null) {
@@ -149,11 +253,13 @@
    /**
     * 获取消息详情
     *
     * @param msgId         消息id
     * @param cloudCallBeak -
     */
    public void getMessageInfo(CloudCallBeak<MessageBean> cloudCallBeak) {
    public void getMessageInfo(String msgId, CloudCallBeak<MessageBean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_Message_Info;
        JsonObject json = new JsonObject();
        json.addProperty("msgId", msgId);
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
@@ -186,7 +292,7 @@
     * @param msgId         消息id
     * @param cloudCallBeak -
     */
    public void getMessageUntreatedCount(String msgId, CloudCallBeak<Boolean> cloudCallBeak) {
    public void getMessageMessageSolve(String msgId, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_Message_Solve;
        JsonObject json = new JsonObject();
        json.addProperty("msgId", msgId);