mac
2024-07-01 46f45f42abf00acf70e8160e73faa71aec3df13d
app/src/main/java/com/hdl/photovoltaic/other/HdlMemberLogic.java
@@ -6,6 +6,8 @@
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.bean.PageNumberObject;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.api.HttpApi;
@@ -13,10 +15,17 @@
import com.hdl.photovoltaic.ui.bean.MemberBean;
import com.hdl.photovoltaic.ui.bean.StaffBean;
import com.hdl.photovoltaic.ui.bean.UserRightTypeBean;
import com.hdl.photovoltaic.utils.AesUtils;
import com.hdl.photovoltaic.utils.Md5Utils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import okhttp3.ResponseBody;
/**
 * 成员逻辑
@@ -82,11 +91,11 @@
     * @param pageSize      页数(一页多少数据)
     * @param cloudCallBeak -
     */
    public void getStaffList(long pageNo, long pageSize, CloudCallBeak<PageNumberObject<List<StaffBean>>> cloudCallBeak) {
    public void getStaffList(long pageNo, long pageSize, CloudCallBeak<PageNumberObject<StaffBean>> cloudCallBeak) {
        String requestUrl = HttpApi.B_POST_GET_LISTBYPAGE;
        JsonObject json = new JsonObject();
        json.addProperty("pageNo", pageNo);
        json.addProperty("pageSize", pageNo);
        json.addProperty("pageSize", pageSize);
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
@@ -96,9 +105,9 @@
                    }
                }
                Gson gson = new Gson();
                Type type = new TypeToken<PageNumberObject<List<StaffBean>>>() {
                Type type = new TypeToken<PageNumberObject<StaffBean>>() {
                }.getType();
                PageNumberObject<List<StaffBean>> pageNumberObject = gson.fromJson(jsonStr, type);
                PageNumberObject<StaffBean> pageNumberObject = gson.fromJson(jsonStr, type);
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(pageNumberObject);
                }
@@ -120,7 +129,7 @@
     * @param userId        -
     * @param cloudCallBeak -
     */
    public void getStaffInfo(String userId, CloudCallBeak<PageNumberObject<StaffBean>> cloudCallBeak) {
    public void getStaffInfo(String userId, CloudCallBeak<StaffBean> cloudCallBeak) {
        String requestUrl = HttpApi.B_POST_GET_MANAGE_INFO;
        JsonObject json = new JsonObject();
        json.addProperty("userId", userId);
@@ -129,15 +138,14 @@
            public void onSuccess(String jsonStr) {
                if (TextUtils.isEmpty(jsonStr)) {
                    if (cloudCallBeak != null) {
                        cloudCallBeak.onSuccess(new PageNumberObject<>());
                        cloudCallBeak.onSuccess(new StaffBean());
                    }
                }
                Gson gson = new Gson();
                Type type = new TypeToken<PageNumberObject<StaffBean>>() {
                }.getType();
                PageNumberObject<StaffBean> pageNumberObject = gson.fromJson(jsonStr, type);
                StaffBean staffBean = gson.fromJson(jsonStr, StaffBean.class);
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(pageNumberObject);
                    cloudCallBeak.onSuccess(staffBean);
                }
            }
@@ -261,69 +269,6 @@
    }
    /**
     * 获取电站交付二维码(B端)
     * 描述:安装商电站的交付二维码
     *
     * @param homeId        电站id
     * @param cloudCallBeak -
     */
    public void getDeliveryUrlQrcode(String homeId, CloudCallBeak<String> cloudCallBeak) {
        String requestUrl = HttpApi.POST_getDeliveryUrlQrcode;
        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端)
     * 描述:安装商手动交付电站给指定的C端账号
     *
     * @param homeId        电站id
     * @param account       C端账号
     * @param cloudCallBeak -
     */
    public void getDeliverToAccount(String homeId, String account, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_deliverToAccount;
        JsonObject json = new JsonObject();
        json.addProperty("homeId", homeId);
        json.addProperty("account", account);//C端账号
//        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(true);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 获取成员列表(C端)
@@ -362,6 +307,7 @@
        });
    }
    /**
     * 添加成员(C端)
@@ -462,37 +408,71 @@
    }
    /**
     * 电站授权安装商(C端)
     * 描述:交付后的住宅,C端用户可以开启授权后安装商可以继续调试电站
     *
     * @param homeId        电站id
     * @param debugPerm     授权状态(true可以继续调试)
     * @param cloudCallBeak -
     * 下载成员(子账号)头像  已丢弃
     */
    public void homeUpdateDebugPerm(String homeId, boolean debugPerm, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.C_POST_HOME_UPDATEDEBUGPERM;
    public void getHeadPIortrait(MemberBean memberBean, CloudCallBeak<byte[]> cloudCallBeak) {
        String requestUrl = HttpApi.C_POST_HOME_GETHEADPÏORTRAIT;
        JsonObject json = new JsonObject();
        json.addProperty("homeId", homeId);
        json.addProperty("debugPerm", debugPerm);
//        json.addProperty("zoneType", memberBean.getId());//区域
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
        json.addProperty("homeId", memberBean.getHomeId());
        json.addProperty("childAccountId", memberBean.getChildAccountId());
//        json.addProperty("childId", memberBean.getChildAccountId());//查找子账号接口获取到的数据(主键id==childId)
        HttpClient.getInstance().downLoadFile(requestUrl, new CloudCallBeak<ResponseBody>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(true);
                }
            public void onSuccess(ResponseBody zipData) {
                HdlThreadLogic.runSubThread(new Runnable() {
                    @Override
                    public void run() {
                        byte[] buf = new byte[1204 * 4];
                        int len = 0;
                        try {
                            long total = zipData.contentLength();
                            if (total == 0) {
                                if (cloudCallBeak != null) {
                                    cloudCallBeak.onSuccess(new byte[]{});
                                }
                                return;
                            }
                            List<Byte> byteList = new ArrayList<>();
                            InputStream is = zipData.byteStream();
                            while ((len = is.read(buf)) != -1) {
                                for (int i = 0; i < len; i++) {
                                    byteList.add(buf[i]);
                                }
                            }
                            is.close();
                            if (byteList.size() == 0) {
                                if (cloudCallBeak != null) {
                                    cloudCallBeak.onSuccess(new byte[]{});
                                }
                                return;
                            }
                            byte[] newByte = new byte[byteList.size()];
                            for (int i = 0; i < byteList.size(); i++) {
                                newByte[i] = byteList.get(i);
                            }
                            if (cloudCallBeak != null) {
                                cloudCallBeak.onSuccess(newByte);
                            }
                        } catch (Exception e) {
                            if (cloudCallBeak != null) {
                                cloudCallBeak.onSuccess(new byte[]{});
                            }
                        }
                    }
                });
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                    cloudCallBeak.onSuccess(new byte[]{});
                }
            }
        });
    }
}