From 773b9953ad645b39a9efa8ab6d71dfc9d9e4e22e Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 24 十月 2024 11:51:57 +0800 Subject: [PATCH] 补全了所有日志 --- HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/controller/HDLPMUserController.java | 658 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 658 insertions(+), 0 deletions(-) diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/controller/HDLPMUserController.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/controller/HDLPMUserController.java new file mode 100644 index 0000000..b5502d4 --- /dev/null +++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/controller/HDLPMUserController.java @@ -0,0 +1,658 @@ +package com.hdl.linkpm.sdk.user.controller; + +import com.google.gson.JsonObject; +import com.hdl.hdlhttp.HxHttp; +import com.hdl.linkpm.sdk.HDLLinkPMSdk; +import com.hdl.linkpm.sdk.core.api.HDLCloudUserApi; +import com.hdl.linkpm.sdk.core.callback.IDefaultCallBack; +import com.hdl.linkpm.sdk.core.callback.IDefaultStrCallBack; +import com.hdl.linkpm.sdk.core.callback.IResponseCallBack; +import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.linkpm.sdk.core.response.HDLResponse; +import com.hdl.linkpm.sdk.user.bean.HDLLoginBean; +import com.hdl.linkpm.sdk.user.bean.HDLMemberInfoBean; +import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean; +import com.hdl.linkpm.sdk.user.bean.ImageSubmitInfo; +import com.hdl.linkpm.sdk.user.bean.MqttInfo; +import com.hdl.linkpm.sdk.user.bean.NewVersionBean; +import com.hdl.linkpm.sdk.user.bean.UploadImageRequest; +import com.hdl.linkpm.sdk.user.callback.ILoginCallBack; +import com.hdl.linkpm.sdk.user.callback.IMemberInfoBack; +import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack; +import com.hdl.linkpm.sdk.utils.HDLExceptionSubmitUtils; +import com.hdl.linkpm.sdk.utils.HDLGsonUtils; + +import java.io.File; + +import io.reactivex.rxjava3.disposables.Disposable; + +/** + * Created by jlchen on 12/3/21. + * B绔敤鎴风浉鍏崇殑缃戠粶璇锋眰 + */ +public class HDLPMUserController { + + /** + * instance + */ + private volatile static HDLPMUserController instance; + + /** + * getInstance + * + * @return HDLUserController + */ + public static synchronized HDLPMUserController getInstance() { + if (instance == null) { + synchronized (HDLPMUserController.class) { + if (instance == null) { + instance = new HDLPMUserController(); + } + } + } + return instance; + } + + /** + * 鑾峰彇璐﹀彿鎵�鍦ㄥ尯鍩� + * + * @param account + * @param callBack + * @return https://nearest.hdlchina.com/smart-footstone/region/regionByUserAccount + */ + public Disposable regionByAccount(String account, IRegionByAccountCallBack callBack) { + String requestUrl = HDLLinkPMSdk.getInitUrl() + HDLCloudUserApi.POST_RegionByAccount; + return HxHttp.builder() + .url(requestUrl) + .params("account", account) + .build() + .post() + .subscribeWith(new HDLResponse<HDLUserRegionBean>() { + @Override + public void onResponse(HDLUserRegionBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, account, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鐧诲綍 + * 閫氳繃璐﹀彿鍜屽瘑鐮� + * + * @param account 鎵嬫満鎴栬�呴偖绠� + * @param loginPwd 瀵嗙爜 + * @param callBack + * @return + */ + public Disposable loginByPassword(String account, String loginPwd, ILoginCallBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_LOGIN); + JsonObject json = new JsonObject(); + json.addProperty("account", account); + json.addProperty("loginPwd", loginPwd); +// json.addProperty("platform", "APP"); + json.addProperty("grantType", "password"); + + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<HDLLoginBean>() { + @Override + public void onResponse(HDLLoginBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鑾峰彇璐﹀彿鎵�鍦ㄥ尯鍩� + * + * @param account + * @param callBack + * @return https://nearest.hdlcontrol.com/smart-footstone/region/regionByUserAccount + */ + public Disposable regionByAccount(boolean isBooleanB, String account, IRegionByAccountCallBack callBack) { + + + String requestUrl = HDLLinkPMSdk.getInitUrl() + HDLCloudUserApi.POST_RegionByAccount; + if (!isBooleanB) { + requestUrl = HDLLinkPMSdk.getInitUrl() + HDLCloudUserApi.C_POST_RegionByAccount; + } + String finalRequestUrl = requestUrl; + return HxHttp.builder() + .url(requestUrl) + .params("account", account) + .build() + .post() + .subscribeWith(new HDLResponse<HDLUserRegionBean>() { + @Override + public void onResponse(HDLUserRegionBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(finalRequestUrl, account, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鐧诲綍 + * 閫氳繃璐﹀彿鍜屽瘑鐮� + * + * @param isBooleanB true=B,false=C + * @param account 鎵嬫満鎴栬�呴偖绠� + * @param loginPwd 瀵嗙爜 + * @param callBack 鍥炶皟 + * @return - + */ + public Disposable loginByPassword(boolean isBooleanB, String account, String loginPwd, ILoginCallBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_LOGIN); + if (!isBooleanB) { + requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.C_POST_LOGIN); + } + JsonObject json = new JsonObject(); + json.addProperty("account", account); + json.addProperty("loginPwd", loginPwd); +// json.addProperty("platform", "APP"); + json.addProperty("grantType", "password"); + + String finalRequestUrl = requestUrl; + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<HDLLoginBean>() { + @Override + public void onResponse(HDLLoginBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(finalRequestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + + /** + * 鐧诲綍 + * 閫氳繃楠岃瘉鐮� + * + * @param account 鎵嬫満鎴栬�呴偖绠� + * @param vCode 楠岃瘉鐮� + * @param callBack 鍥炶皟 + * @return + */ + public Disposable loginByCode(String account, String vCode, ILoginCallBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_LOGIN); + JsonObject json = new JsonObject(); + json.addProperty("account", account); + json.addProperty("verifyCode", vCode); +// json.addProperty("platform", "APP"); + json.addProperty("grantType", "verify"); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<HDLLoginBean>() { + @Override + public void onResponse(HDLLoginBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 閫氱敤 鍙戦�侀獙璇佺爜鏂规硶 + * LanguageTypeEnum CHINESE,ENGLISH + * + * @param verifyType 1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹� 4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁 + * @param account 閭鎴栬�呮墜鏈哄彿 + * @param isPhone 鏄惁鎵嬫満 + * @param phoneZoneCode 鎵嬫満鍥藉鍖哄彿 + * @param languageType 璇█ + * @param callBack + * @return + */ + public Disposable verificationCodeSend(int verifyType, String account, Boolean isPhone, String phoneZoneCode, String languageType, IDefaultCallBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_VERIFICATION_CODE_SEND); + JsonObject json = new JsonObject(); + json.addProperty("verifyType", verifyType); + json.addProperty("languageType", languageType); + json.addProperty("expireSecond", 300);////楠岃瘉鐮佽繃鏈熸椂闂达紙绉掞級,榛樿5鍒嗛挓 + //鏄惁鎵嬫満 + if (isPhone) { + json.addProperty("phone", account); + json.addProperty("phonePrefix", phoneZoneCode); + } else { + json.addProperty("mail", account); + } + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 蹇樿瀵嗙爜锛岄噸缃瘑鐮� + * + * @param account 閭鎴栬�呮墜鏈哄彿 + * @param password 鏂板瘑鐮� + * @param vCode 楠岃瘉鐮� + * @param isPhone 鏄惁鎵嬫満 + * @param callBack 鍥炶皟 + */ + public Disposable forgetPassword(String account, String password, String vCode, Boolean isPhone, IDefaultCallBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_FORGET_PROGRAM_PWD); + JsonObject json = new JsonObject(); + json.addProperty("loginPwd", password); + json.addProperty("verifyCode", vCode); + //鏄惁鎵嬫満 + if (isPhone) { + json.addProperty("userPhone", account); + } else { + json.addProperty("userEmail", account); + } + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /** + * 鏇存敼涓汉瀵嗙爜 + * + * @param userId 褰撳墠鐢ㄦ埛ID + * @param loginOldPwd 鑰佸瘑鐮� + * @param loginPwd 鏂板瘑鐮� + * @param callBack 鍥炶皟 + */ + public Disposable updateProgramPassword(String userId, String loginOldPwd, String loginPwd, IDefaultCallBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_UPDATE_PROGRAM_PASSWORD); + JsonObject json = new JsonObject(); + json.addProperty("userId", userId); + json.addProperty("loginOldPwd", loginOldPwd); + json.addProperty("loginPwd", loginPwd); + json.addProperty("confirmLoginPwd", loginPwd); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /** + * 鑾峰彇鐢ㄦ埛涓汉淇℃伅 + * + * @param callBack + */ + public Disposable getMemberInfo(IMemberInfoBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_GET_MEMBER_INFO); + return HxHttp.builder() + .url(requestUrl) + .build() + .post() + .subscribeWith(new HDLResponse<HDLMemberInfoBean>() { + @Override + public void onResponse(HDLMemberInfoBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, null, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /** + * 鏇存柊涓汉淇℃伅 + * memberHeadIcon銆乵emberName銆乵emberBirthday銆乴anguageType銆乵emberSex + * + * @param callBack + */ + public Disposable updateMemberInfo(JsonObject updateInfo, IDefaultCallBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_UPDATE_MEMBER_INFO); + return HxHttp.builder() + .url(requestUrl) + .raw(updateInfo.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, updateInfo, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /** + * 鑾峰彇鐢ㄦ埛澶村儚璺緞 + * + * @param memberHeadIconKey 鐢ㄦ埛澶村儚imageKey + * @param callBack + */ + public Disposable getHeadImageUrl(String memberHeadIconKey, IDefaultStrCallBack callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_GET_IMAGE_URL); + return HxHttp.builder() + .url(requestUrl) + .params("imageKey", memberHeadIconKey) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, memberHeadIconKey, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /** + * 涓婁紶鐢ㄦ埛澶村儚 + * + * @param userId 鐢ㄦ埛id + * @param imageBytes 澶村儚鍥剧墖 + * @param callBack + * @return + */ + public Disposable uploadUserHeadImage(String userId, byte[] imageBytes, IDefaultStrCallBack callBack) { + UploadImageRequest uploadImageRequest = new UploadImageRequest(); + uploadImageRequest.setPrefix("Icon" + System.currentTimeMillis()); + uploadImageRequest.setUid(userId); + uploadImageRequest.setFileName("HeadImage.png"); + uploadImageRequest.setContent(imageBytes); + + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_UPLOAD_IMAGE); + return HxHttp.builder() + .url(requestUrl) + .raw(HDLGsonUtils.toJson(uploadImageRequest)) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, uploadImageRequest, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /** + * 涓婁紶鐢ㄦ埛澶村儚(鏂�) + * + * @param file 鍥剧墖 + * @param callBack + * @return + */ + public Disposable uplfadUserHeadImage(File file, IResponseCallBack<ImageSubmitInfo> callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_UPLOAD_IMAGE_NEW); + return HxHttp.builder() + .url(requestUrl) + .file(file) + .build() + .upload() + .subscribeWith(new HDLResponse<ImageSubmitInfo>() { + @Override + public void onResponse(ImageSubmitInfo response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, null, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + +// /** +// * 鐗堟湰妫�娴嬫洿鏂� +// * +// * @param appName app鍚嶇О +// * @param version 鐗堟湰鍙� +// * @param callBack 濡傛灉onSuccess 鍥炶皟鐨刡ean涓虹┖锛屼唬琛ㄥ綋鍓嶇増鏈凡缁忔槸鏈�鏂扮増鏈紝娌℃湁鏂扮増鏈� +// * @return +// */ +// public Disposable checkAppVersion(String appName, String version, IResponseCallBack<NewVersionBean> callBack) { +// JsonObject json = new JsonObject(); +// json.addProperty("appName", appName); +// json.addProperty("version", version); +// json.addProperty("version", version); +// String requestUrl = HDLLinkPMSdk.getRegionUrl() + HDLCloudUserApi.POST_APP_APPVERSION_CHECK; +// return HxHttp.builder() +// .url(requestUrl) +// .raw(json.toString()) +// .build() +// .post() +// .subscribeWith(new HDLResponse<NewVersionBean>() { +// @Override +// public void onResponse(NewVersionBean response) { +// if (callBack != null) { +// callBack.onSuccess(response); +// } +// } +// +// @Override +// public void onFailure(HDLException e) { +// if (callBack != null) { +// callBack.onFailure(e); +// } +// } +// }); +// } + + /** + * 鐗堟湰妫�娴嬫洿鏂� + * 鏀寔Android銆乮OS銆亀gt妫�娴� + * + * @param appCode app缂栫爜 + * @param version 鐗堟湰鍙� + * @param releaseSystem 鍙戝竷绯荤粺锛孖OS銆丄ndroid, wgt + * @param callBack 濡傛灉onSuccess 鍥炶皟鐨刡ean涓虹┖锛屼唬琛ㄥ綋鍓嶇増鏈凡缁忔槸鏈�鏂扮増鏈紝娌℃湁鏂扮増鏈� + * @return + */ + public Disposable checkAppVersion(String appCode, String version, String releaseSystem, IResponseCallBack<NewVersionBean> callBack) { + JsonObject json = new JsonObject(); + json.addProperty("appCode", appCode); + json.addProperty("version", version); + json.addProperty("releaseSystem", releaseSystem); + String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_APP_APPVERSION_CHECK); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<NewVersionBean>() { + @Override + public void onResponse(NewVersionBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /** + * 鑾峰彇mqtt淇℃伅 + * + * @return + */ + public static Disposable getMqttInfo(String attachClientId, String homeType, String deviceUuid, IResponseCallBack<MqttInfo> listener) { + return HxHttp.builder() + .url(HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.MQTT_INFO_URL)) + .params("attachClientId", attachClientId) + .params("homeType", homeType) + .params("deviceUuid", deviceUuid) + .build() + .post() + .subscribeWith(new HDLResponse<MqttInfo>() { + @Override + public void onResponse(MqttInfo response) { + if (listener != null) { + listener.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + JsonObject json = new JsonObject(); + json.addProperty("attachClientId", attachClientId); + json.addProperty("homeType", homeType); + json.addProperty("deviceUuid", deviceUuid); + HDLExceptionSubmitUtils.submit(HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.MQTT_INFO_URL), json, e); + if (listener != null) { + listener.onFailure(e); + } + } + }); + } + +} -- Gitblit v1.8.0