| | |
| | | import com.google.gson.JsonObject; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.hdl.linkpm.sdk.core.exception.HDLException; |
| | | import com.hdl.linkpm.sdk.user.HDLLinkPMUser; |
| | | import com.hdl.linkpm.sdk.user.bean.HDLLoginBean; |
| | | import com.hdl.linkpm.sdk.user.callback.ILoginCallBack; |
| | | import com.hdl.photovoltaic.HDLApp; |
| | | import com.hdl.photovoltaic.R; |
| | | import com.hdl.photovoltaic.bean.PageNumberObject; |
| | | import com.hdl.photovoltaic.config.UserConfigManage; |
| | | import com.hdl.photovoltaic.internet.HttpClient; |
| | | import com.hdl.photovoltaic.internet.api.HttpApi; |
| | | import com.hdl.photovoltaic.listener.CloudCallBeak; |
| | | import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; |
| | | import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo; |
| | | 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 java.util.concurrent.atomic.AtomicInteger; |
| | | |
| | | import okhttp3.ResponseBody; |
| | | |
| | | /** |
| | | * 成员逻辑 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取员工列表 |
| | | * 获取当前账号在公司的身份 |
| | | * |
| | | * @param pageNo 页码 |
| | | * @param pageSize 页数(一页多少数据) |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getStaffList(long pageNo, long pageSize, CloudCallBeak<PageNumberObject<List<StaffBean>>> cloudCallBeak) { |
| | | String requestUrl = "/home-wisdom/app/powerStation/user/manage/listByPage";// HttpApi.POST_PowerStation_List; |
| | | public void getUserRightType(CloudCallBeak<UserRightTypeBean> cloudCallBeak) { |
| | | String requestUrl = HttpApi.B_POST_GET_USERRIGHTTYPE; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("pageNo", pageNo); |
| | | json.addProperty("pageSize", pageNo); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String jsonStr) { |
| | | if (TextUtils.isEmpty(jsonStr)) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(new PageNumberObject<>()); |
| | | cloudCallBeak.onSuccess(new UserRightTypeBean()); |
| | | } |
| | | } |
| | | Gson gson = new Gson(); |
| | | Type type = new TypeToken<PageNumberObject<List<StaffBean>>>() { |
| | | }.getType(); |
| | | PageNumberObject<List<StaffBean>> pageNumberObject = gson.fromJson(jsonStr, type); |
| | | |
| | | UserRightTypeBean userRightTypeBean = gson.fromJson(jsonStr, UserRightTypeBean.class); |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(pageNumberObject); |
| | | cloudCallBeak.onSuccess(userRightTypeBean); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取员工详情 |
| | | * 获取员工列表(B端) |
| | | * |
| | | * @param userId - |
| | | * @param pageNo 页码 |
| | | * @param pageSize 页数(一页多少数据) |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getStaffInfo(String userId, CloudCallBeak<PageNumberObject<StaffBean>> cloudCallBeak) { |
| | | String requestUrl = "/home-wisdom/app/powerStation/user/manage/info";// HttpApi.POST_PowerStation_List; |
| | | public void getStaffList(long pageNo, long pageSize, CloudCallBeak<PageNumberObject<StaffBean>> cloudCallBeak) { |
| | | String requestUrl = HttpApi.B_POST_GET_LISTBYPAGE; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("userId", userId); |
| | | json.addProperty("pageNo", pageNo); |
| | | json.addProperty("pageSize", pageSize); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String jsonStr) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 员工添加 |
| | | * 获取员工详情(B端) |
| | | * |
| | | * @param userId - |
| | | * @param 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); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String jsonStr) { |
| | | if (TextUtils.isEmpty(jsonStr)) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(new StaffBean()); |
| | | } |
| | | } |
| | | Gson gson = new Gson(); |
| | | |
| | | StaffBean staffBean = gson.fromJson(jsonStr, StaffBean.class); |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(staffBean); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 员工添加(B端) |
| | | * |
| | | * @param staffBean 员工对象 |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getStaffAdd(StaffBean staffBean, CloudCallBeak<Boolean> cloudCallBeak) { |
| | | String requestUrl = "/home-wisdom/app/powerStation/user/manage/create";// HttpApi.POST_PowerStation_List; |
| | | String requestUrl = HttpApi.B_POST_GET_MANAGE_CREATE; |
| | | JsonObject json = new JsonObject(); |
| | | if (!TextUtils.isEmpty(staffBean.getUserName())) { |
| | | json.addProperty("userName", staffBean.getUserName()); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 员工编辑 |
| | | * 员工编辑(B端) |
| | | * |
| | | * @param staffBean 员工对象 |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getStaffEdit(StaffBean staffBean, CloudCallBeak<Boolean> cloudCallBeak) { |
| | | String requestUrl = "/home-wisdom/app/powerStation/user/manage/edit";// HttpApi.POST_PowerStation_List; |
| | | String requestUrl = HttpApi.B_POST_GET_MANAGE_EDIT; |
| | | JsonObject json = new JsonObject(); |
| | | if (!TextUtils.isEmpty(staffBean.getUserId())) { |
| | | json.addProperty("userId", staffBean.getUserId()); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 员工删除 |
| | | * 员工删除(B端) |
| | | * |
| | | * @param staffBean 员工对象 |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getStaffDelete(StaffBean staffBean, CloudCallBeak<Boolean> cloudCallBeak) { |
| | | String requestUrl = "/home-wisdom/app/powerStation/user/manage/delete";// HttpApi.POST_PowerStation_List; |
| | | String requestUrl = HttpApi.B_POST_GET_MANAGE_DELETE; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("userId", staffBean.getUserId()); |
| | | |
| | |
| | | }); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取成员列表(C端) |
| | | * |
| | | * @param memberBean 成员对象 |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getMemberList(MemberBean memberBean, CloudCallBeak<List<MemberBean>> cloudCallBeak) { |
| | | String requestUrl = HttpApi.C_POST_MEMBER_LIST; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", memberBean.getHomeId()); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String jsonStr) { |
| | | if (TextUtils.isEmpty(jsonStr)) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(new ArrayList<>()); |
| | | } |
| | | } |
| | | Gson gson = new Gson(); |
| | | Type type = new TypeToken<List<MemberBean>>() { |
| | | }.getType(); |
| | | List<MemberBean> memberBeanList = gson.fromJson(jsonStr, type); |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(memberBeanList); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 添加成员(C端) |
| | | * |
| | | * @param memberBean 成员对象 |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getMemberAdd(MemberBean memberBean, CloudCallBeak<Boolean> cloudCallBeak) { |
| | | String requestUrl = HttpApi.C_POST_MEMBER_ADD; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", memberBean.getHomeId()); |
| | | json.addProperty("account", memberBean.getAccount()); |
| | | json.addProperty("childAccountType", memberBean.getChildAccountType());////子账户类型(ORDINARY :普通成员,DEBUG : 调试人员,ADMIN : 管理员,VIEW : 仅查看) |
| | | json.addProperty("nickName", memberBean.getNickName()); |
| | | |
| | | 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端) |
| | | * |
| | | * @param memberBean 成员对象 |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getMemberEdit(MemberBean memberBean, CloudCallBeak<Boolean> cloudCallBeak) { |
| | | String requestUrl = HttpApi.C_POST_MEMBER_EDIT; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", memberBean.getHomeId()); |
| | | json.addProperty("childAccountId", memberBean.getChildAccountId()); |
| | | json.addProperty("childId", memberBean.getId());//查找子账号接口获取到的数据(主键id==childId) |
| | | json.addProperty("childAccountType", memberBean.getChildAccountType());////子账户类型(ORDINARY :普通成员,DEBUG : 调试人员,ADMIN : 管理员,VIEW : 仅查看) |
| | | json.addProperty("nickName", memberBean.getNickName()); |
| | | // json.addProperty("isRemoteControl", memberBean.getNickName());//远程控制 |
| | | // json.addProperty("isAllowCreateScene", memberBean.getNickName());//创建场景 |
| | | |
| | | 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端) |
| | | * |
| | | * @param memberBean 成员对象 |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getMemberDelete(MemberBean memberBean, CloudCallBeak<Boolean> cloudCallBeak) { |
| | | String requestUrl = HttpApi.C_POST_MEMBER_DELETE; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", memberBean.getHomeId()); |
| | | json.addProperty("childAccountId", memberBean.getChildAccountId()); |
| | | json.addProperty("childId", memberBean.getId());//查找子账号接口获取到的数据(主键id==childId) |
| | | |
| | | 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); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 下载成员(子账号)头像 已丢弃 |
| | | */ |
| | | public void getHeadPIortrait(MemberBean memberBean, CloudCallBeak<byte[]> cloudCallBeak) { |
| | | String requestUrl = HttpApi.C_POST_HOME_GETHEADPÏORTRAIT; |
| | | JsonObject json = new JsonObject(); |
| | | 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(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.onSuccess(new byte[]{}); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |