wjc
2 天以前 db937c029a3f9dbaec86cbbc944ebbee3ece13be
app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -4,12 +4,14 @@
import android.graphics.BitmapFactory;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.enums.ProjectOperation;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.api.HttpApi;
import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -86,6 +88,33 @@
        return mHouseIdList;
    }
    /**
     * 设置列表数据
     *
     * @param list    新列表
     * @param isClear 是否清除旧数据,true表示清除,否则不清除;
     */
    public void setHouseIdList(List<HouseIdBean> list, boolean isClear) {
        if (list == null || list.size() == 0) {
            return;
        }
        if (isClear) {
            this.clearHouseList();
        }
        if (this.mHouseIdList.size() == 0) {
            this.mHouseIdList.addAll(list);
            return;
        }
        for (int i = 0; i < list.size(); i++) {
            this.setSingleHouseId(list.get(i));
        }
    }
    /**
     * 设置列表数据
     *
     * @param list 新列表数据
     */
    public void setHouseIdList(List<HouseIdBean> list) {
        if (list == null || list.size() == 0) {
            return;
@@ -142,6 +171,25 @@
        for (int i = 0; i < mHouseIdList.size(); i++) {
            if (mHouseIdList.get(i).getHomeId().equals(houseId)) {
                mHouseIdList.remove(i);
                break;
            }
        }
    }
    /**
     * 电站Id对象更新
     *
     * @param houseIdBean 电站id对象
     */
    public void updateHouseIdBean(HouseIdBean houseIdBean) {
        if (houseIdBean == null) {
            return;
        }
        for (int i = 0; i < mHouseIdList.size(); i++) {
            HouseIdBean h = mHouseIdList.get(i);
            if (h.getHomeId().equals(houseIdBean.getHomeId())) {
                h.setDebugStatus(houseIdBean.getDebugStatus());
                //mHouseIdList.set(i,houseIdBean);整个对象替换
                break;
            }
        }
@@ -205,7 +253,7 @@
                                    houseInfoBean.setInstalledCapacity(houseIdBean.getInstalledCapacity());//装机容量
                                    houseInfoBean.setPower(houseIdBean.getPower());//发电功率
                                    houseInfoBean.setTodayElectricity(houseIdBean.getTodayElectricity());//今天发电量
                                    houseInfoBean.setPowerStationStatus(houseIdBean.getPowerStationStatus());//电站状态(电站状态   1:正常(运行),2:离线,3:连接中,4:故障)
                                    houseInfoBean.setPowerStationStatus(houseIdBean.getPowerStationStatus());//电站状态(电站状态    1:正常(运行),2:离线,3:连接中,4:故障)
                                    //添加到本地缓存
                                    addHouseToLocalMemory(houseInfoBean);
                                }
@@ -258,7 +306,6 @@
     *                 ascending:升序),
     */
    public void getResidenceIdList(String key, String keyValue, CloudCallBeak<List<HouseIdBean>> cloudCallBeak) {
        String requestUrl = HttpApi.POST_PowerStation_List;
        JsonObject json = new JsonObject();
        if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) {
@@ -319,7 +366,6 @@
                        }
                    });
                }
            }
            @Override
@@ -343,19 +389,12 @@
     *                             ascending:升序),
     * @param installedCapacityMin 最小组串容量(装机容量)
     * @param installedCapacityMax 最大组串容量(装机容量)
     * @param gridType             并网状态 (全部 :"";FULL_GRID : 并网;OFFLINE :离网)
     * @param debugStatus          调试状态(全部;调试中;调试完成;已交付;授权调试)
     * @param powerStationStatus   电站状态 (全部  :"";1 : 正常;2 : 离线; 3 : 待接入;4 : 故障)
     * @param pageNo               页码
     * @param pageSize             页数(一页多少数据)
     */
    public void getResidenceIdList(
            String key,
            String keyValue,
            String installedCapacityMin,
            String installedCapacityMax,
            String gridType,
            String powerStationStatus,
            long pageNo, long pageSize, CloudCallBeak<HouseBeanClass> cloudCallBeak) {
    public void getResidenceIdList(String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String debugStatus, String powerStationStatus, long pageNo, long pageSize, CloudCallBeak<HouseBeanClass> cloudCallBeak) {
        String requestUrl = HttpApi.POST_PowerStation_List;
        JsonObject json = new JsonObject();
@@ -376,9 +415,9 @@
            } catch (Exception ignored) {
            }
        }
        if (!TextUtils.isEmpty(gridType)) {
        if (!TextUtils.isEmpty(debugStatus)) {
            try {
                json.addProperty("gridType", gridType);
                json.addProperty("debugStatus", debugStatus);
            } catch (Exception ignored) {
            }
        }
@@ -573,10 +612,25 @@
    /**
     * 电站状态概览(安装商)
     *
     * @param debugStatus          (调试状态:Debugging = 调试中,WAIT_DELIVERED = 调试完成,Delivered = 已交付,SECONDARY_DEBUGGIN = 授权调试)
     * @param installedCapacityMin 最小组串容量(装机容量)
     * @param installedCapacityMax 最大组串容量(装机容量)
     */
    public void getStatusOverview(CloudCallBeak<StatusOverviewBean> cloudCallBeak) {
    public void getStatusOverview(String debugStatus, String installedCapacityMin, String installedCapacityMax, CloudCallBeak<StatusOverviewBean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_statusOverview;
        JsonObject json = new JsonObject();
        if (!TextUtils.isEmpty(installedCapacityMin)) {
            json.addProperty("installedCapacityMin", installedCapacityMin);
        }
        if (!TextUtils.isEmpty(installedCapacityMax)) {
            json.addProperty("installedCapacityMax", installedCapacityMax);
        }
        if (!TextUtils.isEmpty(debugStatus)) {
            json.addProperty("debugStatus", debugStatus);
        }
//        json.addProperty("zoneType", zoneType);//区域
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
@@ -859,13 +913,16 @@
    /**
     * 切换住宅
     *
     * @param houseIdBean 住宅Id对象
     * @param houseIdBean    住宅Id对象
     * @param checkStationId 表示是否启动检验电站Id的逻辑(true表示检测,否则不检验)
     */
    public void switchHouse(HouseIdBean houseIdBean) {
    public void switchHouse(HouseIdBean houseIdBean, boolean checkStationId) {
        String homeId = UserConfigManage.getInstance().getHomeId();
        if (houseIdBean.getHomeId().equals(homeId)) {
            HdlLogLogic.print("点击同一个住宅--->" + homeId);
            return;
        if (checkStationId) {
            if (houseIdBean.getHomeId().equals(homeId)) {
                HdlLogLogic.print("点击同一个住宅--->" + homeId);
                return;
            }
        }
        //订阅要全部取消
        if (MqttRecvClient.getInstance() != null) {
@@ -887,7 +944,7 @@
        //重新创建住宅文件夹
        HdlFileLogic.getInstance().createDirectory();
        //进去住宅详情搜索一下逆变器列表,目的是建立通讯通道;
        HdlDeviceLogic.getInstance().searchCurrentHomeGateway(houseIdBean.getHomeId(),null);
        HdlDeviceLogic.getInstance().searchCurrentHomeGateway(houseIdBean.getHomeId(), null);
    }
@@ -950,6 +1007,7 @@
        });
    }
    /**
     * 获取电站交付二维码(B端)
     * 描述:安装商电站的交付二维码
@@ -980,6 +1038,39 @@
        });
    }
    /**
     * 获取电站交付URl(B端)
     * 描述:安装商电站的交付URl
     *
     * @param homeId        电站id
     * @param cloudCallBeak -
     */
    public void getDeliveryUrl(String homeId, CloudCallBeak<String> cloudCallBeak) {
        String requestUrl = HttpApi.POST_getDeliveryUrl;
        JsonObject json = new JsonObject();
        json.addProperty("homeId", homeId);
//        json.addProperty("zoneType", memberBean.getId());//区域
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(jsonStr);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 电站手动交付(B端)
@@ -1013,6 +1104,42 @@
        });
    }
    /**
     * 更新项目状态 (交付、验收、撤销交付、验收未通过、重新调试、交付回滚等操作)(https://hdl-gz.yuque.com/wnkbmh/diiq35/kegldc#gWveC)
     *
     * @param homeId            电站id
     * @param communityId       社区id
     * @param flowRecordContent 流转记录内容
     * @param projectOperation  项目状态
     * @param cloudCallBeak     -
     */
    public void setUpdateProjectDebugStatus(String homeId, String communityId, String flowRecordContent, String projectOperation, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_UpdateProjectDebugStatus;
        JsonObject json = new JsonObject();
        json.addProperty("houseId", homeId);
        json.addProperty("communityId", communityId);
        json.addProperty("flowRecordContent", flowRecordContent);//流转记录内容
        json.addProperty("projectFlowRecordActionEnum", projectOperation);
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(true);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 添加推送Token
     *
@@ -1026,6 +1153,37 @@
        json.addProperty("produce", AppConfigManage.isIsOnlineServer());//表示是否是正式服务器
        json.addProperty("pushToken", UserConfigManage.getInstance().getRegistrationID());//App的推送Token,在极光为RegId
        json.addProperty("software", "PHOTOVOLTAIC");//软件来源
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(jsonStr);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 删除推送Token
     *
     * @param cloudCallBeak -
     */
    public void pushDel(CloudCallBeak<String> cloudCallBeak) {
        String requestUrl = HttpApi.POST_push_del;
        JsonObject json = new JsonObject();
        json.addProperty("pushId", UserConfigManage.getInstance().getPushId());
        json.addProperty("pushToken", UserConfigManage.getInstance().getRegistrationID());
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
@@ -1101,4 +1259,4 @@
        }
    }
}
}