package com.hdl.photovoltaic.other; import android.text.TextUtils; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.bean.PageNumberObject; 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.MemberBean; import com.hdl.photovoltaic.ui.bean.StaffBean; import com.hdl.photovoltaic.ui.bean.UserRightTypeBean; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; /** * 成员逻辑 */ public class HdlMemberLogic { private static volatile HdlMemberLogic sHdlMemberLogic; /** * 获取当前对象 * * @return HdlAccountLogic */ public static synchronized HdlMemberLogic getInstance() { if (sHdlMemberLogic == null) { synchronized (HdlMemberLogic.class) { if (sHdlMemberLogic == null) { sHdlMemberLogic = new HdlMemberLogic(); } } } return sHdlMemberLogic; } /** * 获取当前账号在公司的身份 * * @param cloudCallBeak - */ public void getUserRightType(CloudCallBeak cloudCallBeak) { String requestUrl = HttpApi.B_POST_GET_USERRIGHTTYPE; JsonObject json = new JsonObject(); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak() { @Override public void onSuccess(String jsonStr) { if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(new UserRightTypeBean()); } } Gson gson = new Gson(); UserRightTypeBean userRightTypeBean = gson.fromJson(jsonStr, UserRightTypeBean.class); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(userRightTypeBean); } } @Override public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } } }); } /** * 获取员工列表(B端) * * @param pageNo 页码 * @param pageSize 页数(一页多少数据) * @param cloudCallBeak - */ public void getStaffList(long pageNo, long pageSize, CloudCallBeak> cloudCallBeak) { String requestUrl = HttpApi.B_POST_GET_LISTBYPAGE; JsonObject json = new JsonObject(); json.addProperty("pageNo", pageNo); json.addProperty("pageSize", pageSize); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak() { @Override public void onSuccess(String jsonStr) { if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(new PageNumberObject<>()); } } Gson gson = new Gson(); Type type = new TypeToken>() { }.getType(); PageNumberObject pageNumberObject = gson.fromJson(jsonStr, type); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(pageNumberObject); } } @Override public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } } }); } /** * 获取员工详情(B端) * * @param userId - * @param cloudCallBeak - */ public void getStaffInfo(String userId, CloudCallBeak 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() { @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 cloudCallBeak) { String requestUrl = HttpApi.B_POST_GET_MANAGE_CREATE; JsonObject json = new JsonObject(); if (!TextUtils.isEmpty(staffBean.getUserName())) { json.addProperty("userName", staffBean.getUserName()); } if (staffBean.getUserSex() != 0) { json.addProperty("userSex", staffBean.getUserSex()); } if (!TextUtils.isEmpty(staffBean.getUserPhone())) { json.addProperty("userPhone", staffBean.getUserPhone()); } if (!TextUtils.isEmpty(staffBean.getUserEmail())) { json.addProperty("userEmail", staffBean.getUserEmail()); } HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak() { @Override public void onSuccess(String jsonStr) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } } @Override public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } } }); } /** * 员工编辑(B端) * * @param staffBean 员工对象 * @param cloudCallBeak - */ public void getStaffEdit(StaffBean staffBean, CloudCallBeak cloudCallBeak) { String requestUrl = HttpApi.B_POST_GET_MANAGE_EDIT; JsonObject json = new JsonObject(); if (!TextUtils.isEmpty(staffBean.getUserId())) { json.addProperty("userId", staffBean.getUserId()); } if (!TextUtils.isEmpty(staffBean.getUserName())) { json.addProperty("userName", staffBean.getUserName()); } if (staffBean.getUserSex() != 0) { json.addProperty("userSex", staffBean.getUserSex()); } if (!TextUtils.isEmpty(staffBean.getUserPhone())) { json.addProperty("userPhone", staffBean.getUserPhone()); } if (!TextUtils.isEmpty(staffBean.getUserEmail())) { json.addProperty("userEmail", staffBean.getUserEmail()); } HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak() { @Override public void onSuccess(String jsonStr) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } } @Override public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } } }); } /** * 员工删除(B端) * * @param staffBean 员工对象 * @param cloudCallBeak - */ public void getStaffDelete(StaffBean staffBean, CloudCallBeak cloudCallBeak) { String requestUrl = HttpApi.B_POST_GET_MANAGE_DELETE; JsonObject json = new JsonObject(); json.addProperty("userId", staffBean.getUserId()); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak() { @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 getMemberList(MemberBean memberBean, CloudCallBeak> 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() { @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>() { }.getType(); List 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 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() { @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 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() { @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 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() { @Override public void onSuccess(String jsonStr) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } } @Override public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } } }); } }