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<UserRightTypeBean> cloudCallBeak) {
|
String requestUrl = HttpApi.B_POST_GET_USERRIGHTTYPE;
|
JsonObject json = new JsonObject();
|
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 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<PageNumberObject<List<StaffBean>>> cloudCallBeak) {
|
String requestUrl = HttpApi.B_POST_GET_LISTBYPAGE;
|
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<>());
|
}
|
}
|
Gson gson = new Gson();
|
Type type = new TypeToken<PageNumberObject<List<StaffBean>>>() {
|
}.getType();
|
PageNumberObject<List<StaffBean>> 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<PageNumberObject<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 PageNumberObject<>());
|
}
|
}
|
Gson gson = new Gson();
|
Type type = new TypeToken<PageNumberObject<StaffBean>>() {
|
}.getType();
|
PageNumberObject<StaffBean> 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 staffBean 员工对象
|
* @param cloudCallBeak -
|
*/
|
public void getStaffAdd(StaffBean staffBean, CloudCallBeak<Boolean> 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<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);
|
}
|
}
|
});
|
|
}
|
|
/**
|
* 员工编辑(B端)
|
*
|
* @param staffBean 员工对象
|
* @param cloudCallBeak -
|
*/
|
public void getStaffEdit(StaffBean staffBean, CloudCallBeak<Boolean> 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<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);
|
}
|
}
|
});
|
|
}
|
|
/**
|
* 员工删除(B端)
|
*
|
* @param staffBean 员工对象
|
* @param cloudCallBeak -
|
*/
|
public void getStaffDelete(StaffBean staffBean, CloudCallBeak<Boolean> 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<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 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);
|
}
|
}
|
});
|
|
}
|
|
|
|
|
}
|