diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java new file mode 100644 index 0000000..11e6893 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java @@ -0,0 +1,411 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.CaseLargeTypeBean; +import com.casic.dcms.bean.CaseSmallTypeBean; +import com.casic.dcms.databinding.ActivityUploadQuickCaseBinding; +import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ICaseLargeTypeView; +import com.casic.dcms.mvp.view.ICaseSmallTypeView; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class QuickCaseUploadActivity extends AndroidxBaseActivity + implements View.OnClickListener, ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { + + private final Context context = QuickCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真是图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private CaseLargeTypePresenterImpl largeTypePresenter; + private CaseSmallTypePresenterImpl smallTypePresenter; + private SubmitCasePresenterImpl submitCasePresenter; + private UploadImagePresenterImpl uploadImagePresenter; + private List largeTypeBeans; + private List smallTypeBeans; + private QMUITipDialog submitDialog; + private NineGridImageAdapter imageAdapter; + private String eorc = ""; + private String typeCode = ""; + private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 + private String gridId; + + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("快速上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + largeTypeBeans = new ArrayList<>(); + smallTypeBeans = new ArrayList<>(); + largeTypePresenter = new CaseLargeTypePresenterImpl(this); + smallTypePresenter = new CaseSmallTypePresenterImpl(this); + submitCasePresenter = new SubmitCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + uploadImagePresenter = new UploadImagePresenterImpl(this); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.caseClassLayout.setOnClickListener(this); + viewBinding.caseLargeClassLayout.setOnClickListener(this); + viewBinding.caseSmallClassLayout.setOnClickListener(this); + viewBinding.locationMapView.setOnClickListener(this); + viewBinding.submitButton.setOnClickListener(this); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(QuickCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(QuickCaseUploadActivity.this); + } + }) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.caseClassLayout) { + new QMUIBottomSheet.BottomListSheetBuilder(this) + .setTitle("案卷类型") + .addItem("事件") + .addItem("部件") + .setGravityCenter(true) + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseClassView.setText(tag); + viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷大类 + largeTypePresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); + } + }).build().show(); + } else if (id == R.id.caseLargeClassLayout) { + if (largeTypeBeans != null) { + if (largeTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷大类"); + for (CaseLargeTypeBean.DataBean dataBean : largeTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseLargeClassView.setText(tag); + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷小类 + CaseLargeTypeBean.DataBean dataBean = largeTypeBeans.get(position); + eorc = dataBean.getEorc(); + typeCode = dataBean.getTypeCode(); + String typeId = dataBean.getId(); + + smallTypePresenter.onReadyRetrofitRequest(eorc, typeId); + } + }).build().show(); + } + } + } else if (id == R.id.caseSmallClassLayout) { + if (smallTypeBeans != null) { + if (smallTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷小类"); + for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeDetailName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseSmallClassView.setText(tag); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); + } + }).build().show(); + } + } + } else if (id == R.id.locationMapView) { + //根据情况加载不同图层 + String type = viewBinding.caseClassView.getText().toString(); + if (type.equals("")) { + ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); + return; + } + Intent intent = new Intent(this, ArcGISMapActivity.class); + intent.putExtra("type", type); + quickCaseLauncher.launch(intent); + } else if (id == R.id.submitButton) { + submitCase();//案卷提交 + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + @Override + public void obtainLargeType(CaseLargeTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.largeTypeBeans = typeBean.getData(); + if (largeTypeBeans.size() == 0) { + viewBinding.caseLargeClassView.setText("无小类"); + } else { + viewBinding.caseLargeClassView.setText(largeTypeBeans.get(0).getTypeName());//默认选择第一个 + } + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + + viewBinding.caseSmallClassView.setText("请选择"); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void obtainSmallType(CaseSmallTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.smallTypeBeans = typeBean.getData(); + if (smallTypeBeans.size() == 0) { + viewBinding.caseSmallClassView.setText("无小类"); + } else { + viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 + } + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + if (eorc.equals("") || typeCode.equals("")) { + ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); + return; + } + if (typeDetailCode.equals("")) { + ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); + return; + } + if (TextUtils.isEmpty(gridId)) { + ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); + return; + } + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "1", "1", eorc, typeCode, typeDetailCode, + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), "", "", 0, 0); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + protected void onDestroy() { + if (largeTypePresenter != null) { + largeTypePresenter.disposeRetrofitRequest(); + } + if (smallTypePresenter != null) { + smallTypePresenter.disposeRetrofitRequest(); + } + if (submitCasePresenter != null) { + submitCasePresenter.disposeRetrofitRequest(); + } + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java new file mode 100644 index 0000000..11e6893 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java @@ -0,0 +1,411 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.CaseLargeTypeBean; +import com.casic.dcms.bean.CaseSmallTypeBean; +import com.casic.dcms.databinding.ActivityUploadQuickCaseBinding; +import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ICaseLargeTypeView; +import com.casic.dcms.mvp.view.ICaseSmallTypeView; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class QuickCaseUploadActivity extends AndroidxBaseActivity + implements View.OnClickListener, ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { + + private final Context context = QuickCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真是图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private CaseLargeTypePresenterImpl largeTypePresenter; + private CaseSmallTypePresenterImpl smallTypePresenter; + private SubmitCasePresenterImpl submitCasePresenter; + private UploadImagePresenterImpl uploadImagePresenter; + private List largeTypeBeans; + private List smallTypeBeans; + private QMUITipDialog submitDialog; + private NineGridImageAdapter imageAdapter; + private String eorc = ""; + private String typeCode = ""; + private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 + private String gridId; + + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("快速上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + largeTypeBeans = new ArrayList<>(); + smallTypeBeans = new ArrayList<>(); + largeTypePresenter = new CaseLargeTypePresenterImpl(this); + smallTypePresenter = new CaseSmallTypePresenterImpl(this); + submitCasePresenter = new SubmitCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + uploadImagePresenter = new UploadImagePresenterImpl(this); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.caseClassLayout.setOnClickListener(this); + viewBinding.caseLargeClassLayout.setOnClickListener(this); + viewBinding.caseSmallClassLayout.setOnClickListener(this); + viewBinding.locationMapView.setOnClickListener(this); + viewBinding.submitButton.setOnClickListener(this); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(QuickCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(QuickCaseUploadActivity.this); + } + }) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.caseClassLayout) { + new QMUIBottomSheet.BottomListSheetBuilder(this) + .setTitle("案卷类型") + .addItem("事件") + .addItem("部件") + .setGravityCenter(true) + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseClassView.setText(tag); + viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷大类 + largeTypePresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); + } + }).build().show(); + } else if (id == R.id.caseLargeClassLayout) { + if (largeTypeBeans != null) { + if (largeTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷大类"); + for (CaseLargeTypeBean.DataBean dataBean : largeTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseLargeClassView.setText(tag); + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷小类 + CaseLargeTypeBean.DataBean dataBean = largeTypeBeans.get(position); + eorc = dataBean.getEorc(); + typeCode = dataBean.getTypeCode(); + String typeId = dataBean.getId(); + + smallTypePresenter.onReadyRetrofitRequest(eorc, typeId); + } + }).build().show(); + } + } + } else if (id == R.id.caseSmallClassLayout) { + if (smallTypeBeans != null) { + if (smallTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷小类"); + for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeDetailName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseSmallClassView.setText(tag); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); + } + }).build().show(); + } + } + } else if (id == R.id.locationMapView) { + //根据情况加载不同图层 + String type = viewBinding.caseClassView.getText().toString(); + if (type.equals("")) { + ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); + return; + } + Intent intent = new Intent(this, ArcGISMapActivity.class); + intent.putExtra("type", type); + quickCaseLauncher.launch(intent); + } else if (id == R.id.submitButton) { + submitCase();//案卷提交 + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + @Override + public void obtainLargeType(CaseLargeTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.largeTypeBeans = typeBean.getData(); + if (largeTypeBeans.size() == 0) { + viewBinding.caseLargeClassView.setText("无小类"); + } else { + viewBinding.caseLargeClassView.setText(largeTypeBeans.get(0).getTypeName());//默认选择第一个 + } + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + + viewBinding.caseSmallClassView.setText("请选择"); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void obtainSmallType(CaseSmallTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.smallTypeBeans = typeBean.getData(); + if (smallTypeBeans.size() == 0) { + viewBinding.caseSmallClassView.setText("无小类"); + } else { + viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 + } + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + if (eorc.equals("") || typeCode.equals("")) { + ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); + return; + } + if (typeDetailCode.equals("")) { + ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); + return; + } + if (TextUtils.isEmpty(gridId)) { + ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); + return; + } + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "1", "1", eorc, typeCode, typeDetailCode, + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), "", "", 0, 0); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + protected void onDestroy() { + if (largeTypePresenter != null) { + largeTypePresenter.disposeRetrofitRequest(); + } + if (smallTypePresenter != null) { + smallTypePresenter.disposeRetrofitRequest(); + } + if (submitCasePresenter != null) { + submitCasePresenter.disposeRetrofitRequest(); + } + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index f4ac608..aa89910 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -13,27 +13,27 @@ import com.casic.dcms.bean.HomePageBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.databinding.FragmentHomeBinding; -import com.casic.dcms.mvp.presenter.impl.HomePagePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UserDataPresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetHomePagePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetUserDataPresenterImpl; +import com.casic.dcms.mvp.view.IGetUserDataView; import com.casic.dcms.mvp.view.IHomePageView; -import com.casic.dcms.mvp.view.IUserDataView; import com.casic.dcms.ui.BridgeMaintainActivity; import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseHandleActivity; import com.casic.dcms.ui.CaseOnMapActivity; import com.casic.dcms.ui.CaseSearchActivity; -import com.casic.dcms.ui.CaseUploadPackageActivity; -import com.casic.dcms.ui.CaseUploadQuicklyActivity; import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.ChangeShopInfoActivity; import com.casic.dcms.ui.CommonCaseUploadActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.DeptHandleActivity; import com.casic.dcms.ui.OvertimeCaseActivity; +import com.casic.dcms.ui.PackageCaseUploadActivity; import com.casic.dcms.ui.PackageHandleActivity; import com.casic.dcms.ui.PersonOnlineActivity; import com.casic.dcms.ui.PipelineManagerActivity; import com.casic.dcms.ui.PublicToiletActivity; +import com.casic.dcms.ui.QuickCaseUploadActivity; import com.casic.dcms.ui.StreetlightManagerActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.SaveKeyValues; @@ -44,14 +44,11 @@ import java.util.GregorianCalendar; -/** - * 此页面后期可能需要添加滑动吸顶效果 - */ -public class HomePageFragment extends AndroidxBaseFragment implements IUserDataView, IHomePageView { +public class HomePageFragment extends AndroidxBaseFragment implements IGetUserDataView, IHomePageView { private Context context; - private UserDataPresenterImpl userDataPresenter; - private HomePagePresenterImpl homePagePresenter; + private GetUserDataPresenterImpl userDataPresenter; + private GetHomePagePresenterImpl homePagePresenter; @Override protected void setupTopBarLayout() { @@ -69,8 +66,8 @@ } viewBinding.lastTimeView.setText(timeValue); - homePagePresenter = new HomePagePresenterImpl(this); - userDataPresenter = new UserDataPresenterImpl(this); + homePagePresenter = new GetHomePagePresenterImpl(this); + userDataPresenter = new GetUserDataPresenterImpl(this); //用户信息 userDataPresenter.onReadyRetrofitRequest(); @@ -124,10 +121,10 @@ intent.setClass(context, CommonCaseUploadActivity.class); break; case "快速上报": - intent.setClass(context, CaseUploadQuicklyActivity.class); + intent.setClass(context, QuickCaseUploadActivity.class); break; case "三包上报": - intent.setClass(context, CaseUploadPackageActivity.class); + intent.setClass(context, PackageCaseUploadActivity.class); break; case "案卷核实": intent.setClass(context, CaseVerifyActivity.class); diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java new file mode 100644 index 0000000..11e6893 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java @@ -0,0 +1,411 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.CaseLargeTypeBean; +import com.casic.dcms.bean.CaseSmallTypeBean; +import com.casic.dcms.databinding.ActivityUploadQuickCaseBinding; +import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ICaseLargeTypeView; +import com.casic.dcms.mvp.view.ICaseSmallTypeView; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class QuickCaseUploadActivity extends AndroidxBaseActivity + implements View.OnClickListener, ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { + + private final Context context = QuickCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真是图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private CaseLargeTypePresenterImpl largeTypePresenter; + private CaseSmallTypePresenterImpl smallTypePresenter; + private SubmitCasePresenterImpl submitCasePresenter; + private UploadImagePresenterImpl uploadImagePresenter; + private List largeTypeBeans; + private List smallTypeBeans; + private QMUITipDialog submitDialog; + private NineGridImageAdapter imageAdapter; + private String eorc = ""; + private String typeCode = ""; + private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 + private String gridId; + + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("快速上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + largeTypeBeans = new ArrayList<>(); + smallTypeBeans = new ArrayList<>(); + largeTypePresenter = new CaseLargeTypePresenterImpl(this); + smallTypePresenter = new CaseSmallTypePresenterImpl(this); + submitCasePresenter = new SubmitCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + uploadImagePresenter = new UploadImagePresenterImpl(this); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.caseClassLayout.setOnClickListener(this); + viewBinding.caseLargeClassLayout.setOnClickListener(this); + viewBinding.caseSmallClassLayout.setOnClickListener(this); + viewBinding.locationMapView.setOnClickListener(this); + viewBinding.submitButton.setOnClickListener(this); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(QuickCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(QuickCaseUploadActivity.this); + } + }) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.caseClassLayout) { + new QMUIBottomSheet.BottomListSheetBuilder(this) + .setTitle("案卷类型") + .addItem("事件") + .addItem("部件") + .setGravityCenter(true) + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseClassView.setText(tag); + viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷大类 + largeTypePresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); + } + }).build().show(); + } else if (id == R.id.caseLargeClassLayout) { + if (largeTypeBeans != null) { + if (largeTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷大类"); + for (CaseLargeTypeBean.DataBean dataBean : largeTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseLargeClassView.setText(tag); + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷小类 + CaseLargeTypeBean.DataBean dataBean = largeTypeBeans.get(position); + eorc = dataBean.getEorc(); + typeCode = dataBean.getTypeCode(); + String typeId = dataBean.getId(); + + smallTypePresenter.onReadyRetrofitRequest(eorc, typeId); + } + }).build().show(); + } + } + } else if (id == R.id.caseSmallClassLayout) { + if (smallTypeBeans != null) { + if (smallTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷小类"); + for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeDetailName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseSmallClassView.setText(tag); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); + } + }).build().show(); + } + } + } else if (id == R.id.locationMapView) { + //根据情况加载不同图层 + String type = viewBinding.caseClassView.getText().toString(); + if (type.equals("")) { + ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); + return; + } + Intent intent = new Intent(this, ArcGISMapActivity.class); + intent.putExtra("type", type); + quickCaseLauncher.launch(intent); + } else if (id == R.id.submitButton) { + submitCase();//案卷提交 + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + @Override + public void obtainLargeType(CaseLargeTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.largeTypeBeans = typeBean.getData(); + if (largeTypeBeans.size() == 0) { + viewBinding.caseLargeClassView.setText("无小类"); + } else { + viewBinding.caseLargeClassView.setText(largeTypeBeans.get(0).getTypeName());//默认选择第一个 + } + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + + viewBinding.caseSmallClassView.setText("请选择"); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void obtainSmallType(CaseSmallTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.smallTypeBeans = typeBean.getData(); + if (smallTypeBeans.size() == 0) { + viewBinding.caseSmallClassView.setText("无小类"); + } else { + viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 + } + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + if (eorc.equals("") || typeCode.equals("")) { + ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); + return; + } + if (typeDetailCode.equals("")) { + ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); + return; + } + if (TextUtils.isEmpty(gridId)) { + ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); + return; + } + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "1", "1", eorc, typeCode, typeDetailCode, + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), "", "", 0, 0); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + protected void onDestroy() { + if (largeTypePresenter != null) { + largeTypePresenter.disposeRetrofitRequest(); + } + if (smallTypePresenter != null) { + smallTypePresenter.disposeRetrofitRequest(); + } + if (submitCasePresenter != null) { + submitCasePresenter.disposeRetrofitRequest(); + } + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index f4ac608..aa89910 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -13,27 +13,27 @@ import com.casic.dcms.bean.HomePageBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.databinding.FragmentHomeBinding; -import com.casic.dcms.mvp.presenter.impl.HomePagePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UserDataPresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetHomePagePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetUserDataPresenterImpl; +import com.casic.dcms.mvp.view.IGetUserDataView; import com.casic.dcms.mvp.view.IHomePageView; -import com.casic.dcms.mvp.view.IUserDataView; import com.casic.dcms.ui.BridgeMaintainActivity; import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseHandleActivity; import com.casic.dcms.ui.CaseOnMapActivity; import com.casic.dcms.ui.CaseSearchActivity; -import com.casic.dcms.ui.CaseUploadPackageActivity; -import com.casic.dcms.ui.CaseUploadQuicklyActivity; import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.ChangeShopInfoActivity; import com.casic.dcms.ui.CommonCaseUploadActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.DeptHandleActivity; import com.casic.dcms.ui.OvertimeCaseActivity; +import com.casic.dcms.ui.PackageCaseUploadActivity; import com.casic.dcms.ui.PackageHandleActivity; import com.casic.dcms.ui.PersonOnlineActivity; import com.casic.dcms.ui.PipelineManagerActivity; import com.casic.dcms.ui.PublicToiletActivity; +import com.casic.dcms.ui.QuickCaseUploadActivity; import com.casic.dcms.ui.StreetlightManagerActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.SaveKeyValues; @@ -44,14 +44,11 @@ import java.util.GregorianCalendar; -/** - * 此页面后期可能需要添加滑动吸顶效果 - */ -public class HomePageFragment extends AndroidxBaseFragment implements IUserDataView, IHomePageView { +public class HomePageFragment extends AndroidxBaseFragment implements IGetUserDataView, IHomePageView { private Context context; - private UserDataPresenterImpl userDataPresenter; - private HomePagePresenterImpl homePagePresenter; + private GetUserDataPresenterImpl userDataPresenter; + private GetHomePagePresenterImpl homePagePresenter; @Override protected void setupTopBarLayout() { @@ -69,8 +66,8 @@ } viewBinding.lastTimeView.setText(timeValue); - homePagePresenter = new HomePagePresenterImpl(this); - userDataPresenter = new UserDataPresenterImpl(this); + homePagePresenter = new GetHomePagePresenterImpl(this); + userDataPresenter = new GetUserDataPresenterImpl(this); //用户信息 userDataPresenter.onReadyRetrofitRequest(); @@ -124,10 +121,10 @@ intent.setClass(context, CommonCaseUploadActivity.class); break; case "快速上报": - intent.setClass(context, CaseUploadQuicklyActivity.class); + intent.setClass(context, QuickCaseUploadActivity.class); break; case "三包上报": - intent.setClass(context, CaseUploadPackageActivity.class); + intent.setClass(context, PackageCaseUploadActivity.class); break; case "案卷核实": intent.setClass(context, CaseVerifyActivity.class); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 28b222a..750b959 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -76,7 +76,7 @@ * token添加到Header */ @GET("/user/info") - Observable obtainUser(@Header("token") String token); + Observable getUserData(@Header("token") String token); /** * 获取地图地址 @@ -472,8 +472,8 @@ * http://111.198.10.15:11409/user/permission?type=05 */ @GET("/user/permission") - Observable obtainHomePage(@Header("token") String token, - @Query("resourceType") String resourceType); + Observable getHomePageData(@Header("token") String token, + @Query("resourceType") String resourceType); /** * 个推推送cid注册 diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java new file mode 100644 index 0000000..11e6893 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java @@ -0,0 +1,411 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.CaseLargeTypeBean; +import com.casic.dcms.bean.CaseSmallTypeBean; +import com.casic.dcms.databinding.ActivityUploadQuickCaseBinding; +import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ICaseLargeTypeView; +import com.casic.dcms.mvp.view.ICaseSmallTypeView; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class QuickCaseUploadActivity extends AndroidxBaseActivity + implements View.OnClickListener, ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { + + private final Context context = QuickCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真是图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private CaseLargeTypePresenterImpl largeTypePresenter; + private CaseSmallTypePresenterImpl smallTypePresenter; + private SubmitCasePresenterImpl submitCasePresenter; + private UploadImagePresenterImpl uploadImagePresenter; + private List largeTypeBeans; + private List smallTypeBeans; + private QMUITipDialog submitDialog; + private NineGridImageAdapter imageAdapter; + private String eorc = ""; + private String typeCode = ""; + private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 + private String gridId; + + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("快速上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + largeTypeBeans = new ArrayList<>(); + smallTypeBeans = new ArrayList<>(); + largeTypePresenter = new CaseLargeTypePresenterImpl(this); + smallTypePresenter = new CaseSmallTypePresenterImpl(this); + submitCasePresenter = new SubmitCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + uploadImagePresenter = new UploadImagePresenterImpl(this); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.caseClassLayout.setOnClickListener(this); + viewBinding.caseLargeClassLayout.setOnClickListener(this); + viewBinding.caseSmallClassLayout.setOnClickListener(this); + viewBinding.locationMapView.setOnClickListener(this); + viewBinding.submitButton.setOnClickListener(this); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(QuickCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(QuickCaseUploadActivity.this); + } + }) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.caseClassLayout) { + new QMUIBottomSheet.BottomListSheetBuilder(this) + .setTitle("案卷类型") + .addItem("事件") + .addItem("部件") + .setGravityCenter(true) + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseClassView.setText(tag); + viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷大类 + largeTypePresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); + } + }).build().show(); + } else if (id == R.id.caseLargeClassLayout) { + if (largeTypeBeans != null) { + if (largeTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷大类"); + for (CaseLargeTypeBean.DataBean dataBean : largeTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseLargeClassView.setText(tag); + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷小类 + CaseLargeTypeBean.DataBean dataBean = largeTypeBeans.get(position); + eorc = dataBean.getEorc(); + typeCode = dataBean.getTypeCode(); + String typeId = dataBean.getId(); + + smallTypePresenter.onReadyRetrofitRequest(eorc, typeId); + } + }).build().show(); + } + } + } else if (id == R.id.caseSmallClassLayout) { + if (smallTypeBeans != null) { + if (smallTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷小类"); + for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeDetailName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseSmallClassView.setText(tag); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); + } + }).build().show(); + } + } + } else if (id == R.id.locationMapView) { + //根据情况加载不同图层 + String type = viewBinding.caseClassView.getText().toString(); + if (type.equals("")) { + ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); + return; + } + Intent intent = new Intent(this, ArcGISMapActivity.class); + intent.putExtra("type", type); + quickCaseLauncher.launch(intent); + } else if (id == R.id.submitButton) { + submitCase();//案卷提交 + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + @Override + public void obtainLargeType(CaseLargeTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.largeTypeBeans = typeBean.getData(); + if (largeTypeBeans.size() == 0) { + viewBinding.caseLargeClassView.setText("无小类"); + } else { + viewBinding.caseLargeClassView.setText(largeTypeBeans.get(0).getTypeName());//默认选择第一个 + } + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + + viewBinding.caseSmallClassView.setText("请选择"); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void obtainSmallType(CaseSmallTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.smallTypeBeans = typeBean.getData(); + if (smallTypeBeans.size() == 0) { + viewBinding.caseSmallClassView.setText("无小类"); + } else { + viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 + } + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + if (eorc.equals("") || typeCode.equals("")) { + ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); + return; + } + if (typeDetailCode.equals("")) { + ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); + return; + } + if (TextUtils.isEmpty(gridId)) { + ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); + return; + } + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "1", "1", eorc, typeCode, typeDetailCode, + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), "", "", 0, 0); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + protected void onDestroy() { + if (largeTypePresenter != null) { + largeTypePresenter.disposeRetrofitRequest(); + } + if (smallTypePresenter != null) { + smallTypePresenter.disposeRetrofitRequest(); + } + if (submitCasePresenter != null) { + submitCasePresenter.disposeRetrofitRequest(); + } + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index f4ac608..aa89910 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -13,27 +13,27 @@ import com.casic.dcms.bean.HomePageBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.databinding.FragmentHomeBinding; -import com.casic.dcms.mvp.presenter.impl.HomePagePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UserDataPresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetHomePagePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetUserDataPresenterImpl; +import com.casic.dcms.mvp.view.IGetUserDataView; import com.casic.dcms.mvp.view.IHomePageView; -import com.casic.dcms.mvp.view.IUserDataView; import com.casic.dcms.ui.BridgeMaintainActivity; import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseHandleActivity; import com.casic.dcms.ui.CaseOnMapActivity; import com.casic.dcms.ui.CaseSearchActivity; -import com.casic.dcms.ui.CaseUploadPackageActivity; -import com.casic.dcms.ui.CaseUploadQuicklyActivity; import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.ChangeShopInfoActivity; import com.casic.dcms.ui.CommonCaseUploadActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.DeptHandleActivity; import com.casic.dcms.ui.OvertimeCaseActivity; +import com.casic.dcms.ui.PackageCaseUploadActivity; import com.casic.dcms.ui.PackageHandleActivity; import com.casic.dcms.ui.PersonOnlineActivity; import com.casic.dcms.ui.PipelineManagerActivity; import com.casic.dcms.ui.PublicToiletActivity; +import com.casic.dcms.ui.QuickCaseUploadActivity; import com.casic.dcms.ui.StreetlightManagerActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.SaveKeyValues; @@ -44,14 +44,11 @@ import java.util.GregorianCalendar; -/** - * 此页面后期可能需要添加滑动吸顶效果 - */ -public class HomePageFragment extends AndroidxBaseFragment implements IUserDataView, IHomePageView { +public class HomePageFragment extends AndroidxBaseFragment implements IGetUserDataView, IHomePageView { private Context context; - private UserDataPresenterImpl userDataPresenter; - private HomePagePresenterImpl homePagePresenter; + private GetUserDataPresenterImpl userDataPresenter; + private GetHomePagePresenterImpl homePagePresenter; @Override protected void setupTopBarLayout() { @@ -69,8 +66,8 @@ } viewBinding.lastTimeView.setText(timeValue); - homePagePresenter = new HomePagePresenterImpl(this); - userDataPresenter = new UserDataPresenterImpl(this); + homePagePresenter = new GetHomePagePresenterImpl(this); + userDataPresenter = new GetUserDataPresenterImpl(this); //用户信息 userDataPresenter.onReadyRetrofitRequest(); @@ -124,10 +121,10 @@ intent.setClass(context, CommonCaseUploadActivity.class); break; case "快速上报": - intent.setClass(context, CaseUploadQuicklyActivity.class); + intent.setClass(context, QuickCaseUploadActivity.class); break; case "三包上报": - intent.setClass(context, CaseUploadPackageActivity.class); + intent.setClass(context, PackageCaseUploadActivity.class); break; case "案卷核实": intent.setClass(context, CaseVerifyActivity.class); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 28b222a..750b959 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -76,7 +76,7 @@ * token添加到Header */ @GET("/user/info") - Observable obtainUser(@Header("token") String token); + Observable getUserData(@Header("token") String token); /** * 获取地图地址 @@ -472,8 +472,8 @@ * http://111.198.10.15:11409/user/permission?type=05 */ @GET("/user/permission") - Observable obtainHomePage(@Header("token") String token, - @Query("resourceType") String resourceType); + Observable getHomePageData(@Header("token") String token, + @Query("resourceType") String resourceType); /** * 个推推送cid注册 diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index a8b31bb..ef4c2dc 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -116,7 +116,7 @@ public static Observable getUserData() { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainUser(AuthenticationHelper.getToken()); + return service.getUserData(AuthenticationHelper.getToken()); } /** @@ -345,15 +345,15 @@ /** * 五包上报 */ - public static Observable getSubmitShopCaseResult(String isNeedVerify, String isNeedRevisit, - String longitude, String latitude, - String source, String caseLevel, - String areaCode, String streetCode, - String communityCode, String gridId, - String description, String fieldintro, - String fileIdVerify, int bzhours, - int bzminis, String shopId, - String shopkeeperName, String shopPhone) { + public static Observable submitShopCase(String isNeedVerify, String isNeedRevisit, + String longitude, String latitude, + String source, String caseLevel, + String areaCode, String streetCode, + String communityCode, String gridId, + String description, String fieldintro, + String fileIdVerify, int bzhours, + int bzminis, String shopId, + String shopkeeperName, String shopPhone) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); return service.submitShopCase(AuthenticationHelper.getToken(), isNeedVerify, isNeedRevisit, @@ -517,10 +517,10 @@ /** * 获取首页九宫格数据 */ - public static Observable getHomePageResult(String resourceType) { + public static Observable getHomePageData(String resourceType) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainHomePage(AuthenticationHelper.getToken(), resourceType); + return service.getHomePageData(AuthenticationHelper.getToken(), resourceType); } /** diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java new file mode 100644 index 0000000..11e6893 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java @@ -0,0 +1,411 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.CaseLargeTypeBean; +import com.casic.dcms.bean.CaseSmallTypeBean; +import com.casic.dcms.databinding.ActivityUploadQuickCaseBinding; +import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ICaseLargeTypeView; +import com.casic.dcms.mvp.view.ICaseSmallTypeView; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class QuickCaseUploadActivity extends AndroidxBaseActivity + implements View.OnClickListener, ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { + + private final Context context = QuickCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真是图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private CaseLargeTypePresenterImpl largeTypePresenter; + private CaseSmallTypePresenterImpl smallTypePresenter; + private SubmitCasePresenterImpl submitCasePresenter; + private UploadImagePresenterImpl uploadImagePresenter; + private List largeTypeBeans; + private List smallTypeBeans; + private QMUITipDialog submitDialog; + private NineGridImageAdapter imageAdapter; + private String eorc = ""; + private String typeCode = ""; + private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 + private String gridId; + + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("快速上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + largeTypeBeans = new ArrayList<>(); + smallTypeBeans = new ArrayList<>(); + largeTypePresenter = new CaseLargeTypePresenterImpl(this); + smallTypePresenter = new CaseSmallTypePresenterImpl(this); + submitCasePresenter = new SubmitCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + uploadImagePresenter = new UploadImagePresenterImpl(this); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.caseClassLayout.setOnClickListener(this); + viewBinding.caseLargeClassLayout.setOnClickListener(this); + viewBinding.caseSmallClassLayout.setOnClickListener(this); + viewBinding.locationMapView.setOnClickListener(this); + viewBinding.submitButton.setOnClickListener(this); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(QuickCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(QuickCaseUploadActivity.this); + } + }) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.caseClassLayout) { + new QMUIBottomSheet.BottomListSheetBuilder(this) + .setTitle("案卷类型") + .addItem("事件") + .addItem("部件") + .setGravityCenter(true) + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseClassView.setText(tag); + viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷大类 + largeTypePresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); + } + }).build().show(); + } else if (id == R.id.caseLargeClassLayout) { + if (largeTypeBeans != null) { + if (largeTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷大类"); + for (CaseLargeTypeBean.DataBean dataBean : largeTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseLargeClassView.setText(tag); + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷小类 + CaseLargeTypeBean.DataBean dataBean = largeTypeBeans.get(position); + eorc = dataBean.getEorc(); + typeCode = dataBean.getTypeCode(); + String typeId = dataBean.getId(); + + smallTypePresenter.onReadyRetrofitRequest(eorc, typeId); + } + }).build().show(); + } + } + } else if (id == R.id.caseSmallClassLayout) { + if (smallTypeBeans != null) { + if (smallTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷小类"); + for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeDetailName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseSmallClassView.setText(tag); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); + } + }).build().show(); + } + } + } else if (id == R.id.locationMapView) { + //根据情况加载不同图层 + String type = viewBinding.caseClassView.getText().toString(); + if (type.equals("")) { + ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); + return; + } + Intent intent = new Intent(this, ArcGISMapActivity.class); + intent.putExtra("type", type); + quickCaseLauncher.launch(intent); + } else if (id == R.id.submitButton) { + submitCase();//案卷提交 + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + @Override + public void obtainLargeType(CaseLargeTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.largeTypeBeans = typeBean.getData(); + if (largeTypeBeans.size() == 0) { + viewBinding.caseLargeClassView.setText("无小类"); + } else { + viewBinding.caseLargeClassView.setText(largeTypeBeans.get(0).getTypeName());//默认选择第一个 + } + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + + viewBinding.caseSmallClassView.setText("请选择"); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void obtainSmallType(CaseSmallTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.smallTypeBeans = typeBean.getData(); + if (smallTypeBeans.size() == 0) { + viewBinding.caseSmallClassView.setText("无小类"); + } else { + viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 + } + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + if (eorc.equals("") || typeCode.equals("")) { + ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); + return; + } + if (typeDetailCode.equals("")) { + ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); + return; + } + if (TextUtils.isEmpty(gridId)) { + ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); + return; + } + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "1", "1", eorc, typeCode, typeDetailCode, + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), "", "", 0, 0); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + protected void onDestroy() { + if (largeTypePresenter != null) { + largeTypePresenter.disposeRetrofitRequest(); + } + if (smallTypePresenter != null) { + smallTypePresenter.disposeRetrofitRequest(); + } + if (submitCasePresenter != null) { + submitCasePresenter.disposeRetrofitRequest(); + } + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index f4ac608..aa89910 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -13,27 +13,27 @@ import com.casic.dcms.bean.HomePageBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.databinding.FragmentHomeBinding; -import com.casic.dcms.mvp.presenter.impl.HomePagePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UserDataPresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetHomePagePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetUserDataPresenterImpl; +import com.casic.dcms.mvp.view.IGetUserDataView; import com.casic.dcms.mvp.view.IHomePageView; -import com.casic.dcms.mvp.view.IUserDataView; import com.casic.dcms.ui.BridgeMaintainActivity; import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseHandleActivity; import com.casic.dcms.ui.CaseOnMapActivity; import com.casic.dcms.ui.CaseSearchActivity; -import com.casic.dcms.ui.CaseUploadPackageActivity; -import com.casic.dcms.ui.CaseUploadQuicklyActivity; import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.ChangeShopInfoActivity; import com.casic.dcms.ui.CommonCaseUploadActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.DeptHandleActivity; import com.casic.dcms.ui.OvertimeCaseActivity; +import com.casic.dcms.ui.PackageCaseUploadActivity; import com.casic.dcms.ui.PackageHandleActivity; import com.casic.dcms.ui.PersonOnlineActivity; import com.casic.dcms.ui.PipelineManagerActivity; import com.casic.dcms.ui.PublicToiletActivity; +import com.casic.dcms.ui.QuickCaseUploadActivity; import com.casic.dcms.ui.StreetlightManagerActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.SaveKeyValues; @@ -44,14 +44,11 @@ import java.util.GregorianCalendar; -/** - * 此页面后期可能需要添加滑动吸顶效果 - */ -public class HomePageFragment extends AndroidxBaseFragment implements IUserDataView, IHomePageView { +public class HomePageFragment extends AndroidxBaseFragment implements IGetUserDataView, IHomePageView { private Context context; - private UserDataPresenterImpl userDataPresenter; - private HomePagePresenterImpl homePagePresenter; + private GetUserDataPresenterImpl userDataPresenter; + private GetHomePagePresenterImpl homePagePresenter; @Override protected void setupTopBarLayout() { @@ -69,8 +66,8 @@ } viewBinding.lastTimeView.setText(timeValue); - homePagePresenter = new HomePagePresenterImpl(this); - userDataPresenter = new UserDataPresenterImpl(this); + homePagePresenter = new GetHomePagePresenterImpl(this); + userDataPresenter = new GetUserDataPresenterImpl(this); //用户信息 userDataPresenter.onReadyRetrofitRequest(); @@ -124,10 +121,10 @@ intent.setClass(context, CommonCaseUploadActivity.class); break; case "快速上报": - intent.setClass(context, CaseUploadQuicklyActivity.class); + intent.setClass(context, QuickCaseUploadActivity.class); break; case "三包上报": - intent.setClass(context, CaseUploadPackageActivity.class); + intent.setClass(context, PackageCaseUploadActivity.class); break; case "案卷核实": intent.setClass(context, CaseVerifyActivity.class); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 28b222a..750b959 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -76,7 +76,7 @@ * token添加到Header */ @GET("/user/info") - Observable obtainUser(@Header("token") String token); + Observable getUserData(@Header("token") String token); /** * 获取地图地址 @@ -472,8 +472,8 @@ * http://111.198.10.15:11409/user/permission?type=05 */ @GET("/user/permission") - Observable obtainHomePage(@Header("token") String token, - @Query("resourceType") String resourceType); + Observable getHomePageData(@Header("token") String token, + @Query("resourceType") String resourceType); /** * 个推推送cid注册 diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index a8b31bb..ef4c2dc 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -116,7 +116,7 @@ public static Observable getUserData() { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainUser(AuthenticationHelper.getToken()); + return service.getUserData(AuthenticationHelper.getToken()); } /** @@ -345,15 +345,15 @@ /** * 五包上报 */ - public static Observable getSubmitShopCaseResult(String isNeedVerify, String isNeedRevisit, - String longitude, String latitude, - String source, String caseLevel, - String areaCode, String streetCode, - String communityCode, String gridId, - String description, String fieldintro, - String fileIdVerify, int bzhours, - int bzminis, String shopId, - String shopkeeperName, String shopPhone) { + public static Observable submitShopCase(String isNeedVerify, String isNeedRevisit, + String longitude, String latitude, + String source, String caseLevel, + String areaCode, String streetCode, + String communityCode, String gridId, + String description, String fieldintro, + String fileIdVerify, int bzhours, + int bzminis, String shopId, + String shopkeeperName, String shopPhone) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); return service.submitShopCase(AuthenticationHelper.getToken(), isNeedVerify, isNeedRevisit, @@ -517,10 +517,10 @@ /** * 获取首页九宫格数据 */ - public static Observable getHomePageResult(String resourceType) { + public static Observable getHomePageData(String resourceType) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainHomePage(AuthenticationHelper.getToken(), resourceType); + return service.getHomePageData(AuthenticationHelper.getToken(), resourceType); } /** diff --git a/app/src/main/res/layout/activity_upload_case_quickly.xml b/app/src/main/res/layout/activity_upload_case_quickly.xml deleted file mode 100644 index a78c3d9..0000000 --- a/app/src/main/res/layout/activity_upload_case_quickly.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java new file mode 100644 index 0000000..11e6893 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java @@ -0,0 +1,411 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.CaseLargeTypeBean; +import com.casic.dcms.bean.CaseSmallTypeBean; +import com.casic.dcms.databinding.ActivityUploadQuickCaseBinding; +import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ICaseLargeTypeView; +import com.casic.dcms.mvp.view.ICaseSmallTypeView; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class QuickCaseUploadActivity extends AndroidxBaseActivity + implements View.OnClickListener, ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { + + private final Context context = QuickCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真是图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private CaseLargeTypePresenterImpl largeTypePresenter; + private CaseSmallTypePresenterImpl smallTypePresenter; + private SubmitCasePresenterImpl submitCasePresenter; + private UploadImagePresenterImpl uploadImagePresenter; + private List largeTypeBeans; + private List smallTypeBeans; + private QMUITipDialog submitDialog; + private NineGridImageAdapter imageAdapter; + private String eorc = ""; + private String typeCode = ""; + private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 + private String gridId; + + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("快速上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + largeTypeBeans = new ArrayList<>(); + smallTypeBeans = new ArrayList<>(); + largeTypePresenter = new CaseLargeTypePresenterImpl(this); + smallTypePresenter = new CaseSmallTypePresenterImpl(this); + submitCasePresenter = new SubmitCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + uploadImagePresenter = new UploadImagePresenterImpl(this); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.caseClassLayout.setOnClickListener(this); + viewBinding.caseLargeClassLayout.setOnClickListener(this); + viewBinding.caseSmallClassLayout.setOnClickListener(this); + viewBinding.locationMapView.setOnClickListener(this); + viewBinding.submitButton.setOnClickListener(this); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(QuickCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(QuickCaseUploadActivity.this); + } + }) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.caseClassLayout) { + new QMUIBottomSheet.BottomListSheetBuilder(this) + .setTitle("案卷类型") + .addItem("事件") + .addItem("部件") + .setGravityCenter(true) + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseClassView.setText(tag); + viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷大类 + largeTypePresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); + } + }).build().show(); + } else if (id == R.id.caseLargeClassLayout) { + if (largeTypeBeans != null) { + if (largeTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷大类"); + for (CaseLargeTypeBean.DataBean dataBean : largeTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseLargeClassView.setText(tag); + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷小类 + CaseLargeTypeBean.DataBean dataBean = largeTypeBeans.get(position); + eorc = dataBean.getEorc(); + typeCode = dataBean.getTypeCode(); + String typeId = dataBean.getId(); + + smallTypePresenter.onReadyRetrofitRequest(eorc, typeId); + } + }).build().show(); + } + } + } else if (id == R.id.caseSmallClassLayout) { + if (smallTypeBeans != null) { + if (smallTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷小类"); + for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeDetailName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseSmallClassView.setText(tag); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); + } + }).build().show(); + } + } + } else if (id == R.id.locationMapView) { + //根据情况加载不同图层 + String type = viewBinding.caseClassView.getText().toString(); + if (type.equals("")) { + ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); + return; + } + Intent intent = new Intent(this, ArcGISMapActivity.class); + intent.putExtra("type", type); + quickCaseLauncher.launch(intent); + } else if (id == R.id.submitButton) { + submitCase();//案卷提交 + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + @Override + public void obtainLargeType(CaseLargeTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.largeTypeBeans = typeBean.getData(); + if (largeTypeBeans.size() == 0) { + viewBinding.caseLargeClassView.setText("无小类"); + } else { + viewBinding.caseLargeClassView.setText(largeTypeBeans.get(0).getTypeName());//默认选择第一个 + } + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + + viewBinding.caseSmallClassView.setText("请选择"); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void obtainSmallType(CaseSmallTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.smallTypeBeans = typeBean.getData(); + if (smallTypeBeans.size() == 0) { + viewBinding.caseSmallClassView.setText("无小类"); + } else { + viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 + } + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + if (eorc.equals("") || typeCode.equals("")) { + ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); + return; + } + if (typeDetailCode.equals("")) { + ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); + return; + } + if (TextUtils.isEmpty(gridId)) { + ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); + return; + } + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "1", "1", eorc, typeCode, typeDetailCode, + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), "", "", 0, 0); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + protected void onDestroy() { + if (largeTypePresenter != null) { + largeTypePresenter.disposeRetrofitRequest(); + } + if (smallTypePresenter != null) { + smallTypePresenter.disposeRetrofitRequest(); + } + if (submitCasePresenter != null) { + submitCasePresenter.disposeRetrofitRequest(); + } + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index f4ac608..aa89910 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -13,27 +13,27 @@ import com.casic.dcms.bean.HomePageBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.databinding.FragmentHomeBinding; -import com.casic.dcms.mvp.presenter.impl.HomePagePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UserDataPresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetHomePagePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetUserDataPresenterImpl; +import com.casic.dcms.mvp.view.IGetUserDataView; import com.casic.dcms.mvp.view.IHomePageView; -import com.casic.dcms.mvp.view.IUserDataView; import com.casic.dcms.ui.BridgeMaintainActivity; import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseHandleActivity; import com.casic.dcms.ui.CaseOnMapActivity; import com.casic.dcms.ui.CaseSearchActivity; -import com.casic.dcms.ui.CaseUploadPackageActivity; -import com.casic.dcms.ui.CaseUploadQuicklyActivity; import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.ChangeShopInfoActivity; import com.casic.dcms.ui.CommonCaseUploadActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.DeptHandleActivity; import com.casic.dcms.ui.OvertimeCaseActivity; +import com.casic.dcms.ui.PackageCaseUploadActivity; import com.casic.dcms.ui.PackageHandleActivity; import com.casic.dcms.ui.PersonOnlineActivity; import com.casic.dcms.ui.PipelineManagerActivity; import com.casic.dcms.ui.PublicToiletActivity; +import com.casic.dcms.ui.QuickCaseUploadActivity; import com.casic.dcms.ui.StreetlightManagerActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.SaveKeyValues; @@ -44,14 +44,11 @@ import java.util.GregorianCalendar; -/** - * 此页面后期可能需要添加滑动吸顶效果 - */ -public class HomePageFragment extends AndroidxBaseFragment implements IUserDataView, IHomePageView { +public class HomePageFragment extends AndroidxBaseFragment implements IGetUserDataView, IHomePageView { private Context context; - private UserDataPresenterImpl userDataPresenter; - private HomePagePresenterImpl homePagePresenter; + private GetUserDataPresenterImpl userDataPresenter; + private GetHomePagePresenterImpl homePagePresenter; @Override protected void setupTopBarLayout() { @@ -69,8 +66,8 @@ } viewBinding.lastTimeView.setText(timeValue); - homePagePresenter = new HomePagePresenterImpl(this); - userDataPresenter = new UserDataPresenterImpl(this); + homePagePresenter = new GetHomePagePresenterImpl(this); + userDataPresenter = new GetUserDataPresenterImpl(this); //用户信息 userDataPresenter.onReadyRetrofitRequest(); @@ -124,10 +121,10 @@ intent.setClass(context, CommonCaseUploadActivity.class); break; case "快速上报": - intent.setClass(context, CaseUploadQuicklyActivity.class); + intent.setClass(context, QuickCaseUploadActivity.class); break; case "三包上报": - intent.setClass(context, CaseUploadPackageActivity.class); + intent.setClass(context, PackageCaseUploadActivity.class); break; case "案卷核实": intent.setClass(context, CaseVerifyActivity.class); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 28b222a..750b959 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -76,7 +76,7 @@ * token添加到Header */ @GET("/user/info") - Observable obtainUser(@Header("token") String token); + Observable getUserData(@Header("token") String token); /** * 获取地图地址 @@ -472,8 +472,8 @@ * http://111.198.10.15:11409/user/permission?type=05 */ @GET("/user/permission") - Observable obtainHomePage(@Header("token") String token, - @Query("resourceType") String resourceType); + Observable getHomePageData(@Header("token") String token, + @Query("resourceType") String resourceType); /** * 个推推送cid注册 diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index a8b31bb..ef4c2dc 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -116,7 +116,7 @@ public static Observable getUserData() { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainUser(AuthenticationHelper.getToken()); + return service.getUserData(AuthenticationHelper.getToken()); } /** @@ -345,15 +345,15 @@ /** * 五包上报 */ - public static Observable getSubmitShopCaseResult(String isNeedVerify, String isNeedRevisit, - String longitude, String latitude, - String source, String caseLevel, - String areaCode, String streetCode, - String communityCode, String gridId, - String description, String fieldintro, - String fileIdVerify, int bzhours, - int bzminis, String shopId, - String shopkeeperName, String shopPhone) { + public static Observable submitShopCase(String isNeedVerify, String isNeedRevisit, + String longitude, String latitude, + String source, String caseLevel, + String areaCode, String streetCode, + String communityCode, String gridId, + String description, String fieldintro, + String fileIdVerify, int bzhours, + int bzminis, String shopId, + String shopkeeperName, String shopPhone) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); return service.submitShopCase(AuthenticationHelper.getToken(), isNeedVerify, isNeedRevisit, @@ -517,10 +517,10 @@ /** * 获取首页九宫格数据 */ - public static Observable getHomePageResult(String resourceType) { + public static Observable getHomePageData(String resourceType) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainHomePage(AuthenticationHelper.getToken(), resourceType); + return service.getHomePageData(AuthenticationHelper.getToken(), resourceType); } /** diff --git a/app/src/main/res/layout/activity_upload_case_quickly.xml b/app/src/main/res/layout/activity_upload_case_quickly.xml deleted file mode 100644 index a78c3d9..0000000 --- a/app/src/main/res/layout/activity_upload_case_quickly.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_upload_package.xml b/app/src/main/res/layout/activity_upload_package.xml deleted file mode 100644 index 81cca6a..0000000 --- a/app/src/main/res/layout/activity_upload_package.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java new file mode 100644 index 0000000..11e6893 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java @@ -0,0 +1,411 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.CaseLargeTypeBean; +import com.casic.dcms.bean.CaseSmallTypeBean; +import com.casic.dcms.databinding.ActivityUploadQuickCaseBinding; +import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ICaseLargeTypeView; +import com.casic.dcms.mvp.view.ICaseSmallTypeView; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class QuickCaseUploadActivity extends AndroidxBaseActivity + implements View.OnClickListener, ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { + + private final Context context = QuickCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真是图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private CaseLargeTypePresenterImpl largeTypePresenter; + private CaseSmallTypePresenterImpl smallTypePresenter; + private SubmitCasePresenterImpl submitCasePresenter; + private UploadImagePresenterImpl uploadImagePresenter; + private List largeTypeBeans; + private List smallTypeBeans; + private QMUITipDialog submitDialog; + private NineGridImageAdapter imageAdapter; + private String eorc = ""; + private String typeCode = ""; + private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 + private String gridId; + + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("快速上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + largeTypeBeans = new ArrayList<>(); + smallTypeBeans = new ArrayList<>(); + largeTypePresenter = new CaseLargeTypePresenterImpl(this); + smallTypePresenter = new CaseSmallTypePresenterImpl(this); + submitCasePresenter = new SubmitCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + uploadImagePresenter = new UploadImagePresenterImpl(this); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.caseClassLayout.setOnClickListener(this); + viewBinding.caseLargeClassLayout.setOnClickListener(this); + viewBinding.caseSmallClassLayout.setOnClickListener(this); + viewBinding.locationMapView.setOnClickListener(this); + viewBinding.submitButton.setOnClickListener(this); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(QuickCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(QuickCaseUploadActivity.this); + } + }) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.caseClassLayout) { + new QMUIBottomSheet.BottomListSheetBuilder(this) + .setTitle("案卷类型") + .addItem("事件") + .addItem("部件") + .setGravityCenter(true) + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseClassView.setText(tag); + viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷大类 + largeTypePresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); + } + }).build().show(); + } else if (id == R.id.caseLargeClassLayout) { + if (largeTypeBeans != null) { + if (largeTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷大类"); + for (CaseLargeTypeBean.DataBean dataBean : largeTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseLargeClassView.setText(tag); + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷小类 + CaseLargeTypeBean.DataBean dataBean = largeTypeBeans.get(position); + eorc = dataBean.getEorc(); + typeCode = dataBean.getTypeCode(); + String typeId = dataBean.getId(); + + smallTypePresenter.onReadyRetrofitRequest(eorc, typeId); + } + }).build().show(); + } + } + } else if (id == R.id.caseSmallClassLayout) { + if (smallTypeBeans != null) { + if (smallTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷小类"); + for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeDetailName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseSmallClassView.setText(tag); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); + } + }).build().show(); + } + } + } else if (id == R.id.locationMapView) { + //根据情况加载不同图层 + String type = viewBinding.caseClassView.getText().toString(); + if (type.equals("")) { + ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); + return; + } + Intent intent = new Intent(this, ArcGISMapActivity.class); + intent.putExtra("type", type); + quickCaseLauncher.launch(intent); + } else if (id == R.id.submitButton) { + submitCase();//案卷提交 + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + @Override + public void obtainLargeType(CaseLargeTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.largeTypeBeans = typeBean.getData(); + if (largeTypeBeans.size() == 0) { + viewBinding.caseLargeClassView.setText("无小类"); + } else { + viewBinding.caseLargeClassView.setText(largeTypeBeans.get(0).getTypeName());//默认选择第一个 + } + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + + viewBinding.caseSmallClassView.setText("请选择"); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void obtainSmallType(CaseSmallTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.smallTypeBeans = typeBean.getData(); + if (smallTypeBeans.size() == 0) { + viewBinding.caseSmallClassView.setText("无小类"); + } else { + viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 + } + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + if (eorc.equals("") || typeCode.equals("")) { + ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); + return; + } + if (typeDetailCode.equals("")) { + ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); + return; + } + if (TextUtils.isEmpty(gridId)) { + ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); + return; + } + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "1", "1", eorc, typeCode, typeDetailCode, + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), "", "", 0, 0); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + protected void onDestroy() { + if (largeTypePresenter != null) { + largeTypePresenter.disposeRetrofitRequest(); + } + if (smallTypePresenter != null) { + smallTypePresenter.disposeRetrofitRequest(); + } + if (submitCasePresenter != null) { + submitCasePresenter.disposeRetrofitRequest(); + } + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index f4ac608..aa89910 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -13,27 +13,27 @@ import com.casic.dcms.bean.HomePageBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.databinding.FragmentHomeBinding; -import com.casic.dcms.mvp.presenter.impl.HomePagePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UserDataPresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetHomePagePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetUserDataPresenterImpl; +import com.casic.dcms.mvp.view.IGetUserDataView; import com.casic.dcms.mvp.view.IHomePageView; -import com.casic.dcms.mvp.view.IUserDataView; import com.casic.dcms.ui.BridgeMaintainActivity; import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseHandleActivity; import com.casic.dcms.ui.CaseOnMapActivity; import com.casic.dcms.ui.CaseSearchActivity; -import com.casic.dcms.ui.CaseUploadPackageActivity; -import com.casic.dcms.ui.CaseUploadQuicklyActivity; import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.ChangeShopInfoActivity; import com.casic.dcms.ui.CommonCaseUploadActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.DeptHandleActivity; import com.casic.dcms.ui.OvertimeCaseActivity; +import com.casic.dcms.ui.PackageCaseUploadActivity; import com.casic.dcms.ui.PackageHandleActivity; import com.casic.dcms.ui.PersonOnlineActivity; import com.casic.dcms.ui.PipelineManagerActivity; import com.casic.dcms.ui.PublicToiletActivity; +import com.casic.dcms.ui.QuickCaseUploadActivity; import com.casic.dcms.ui.StreetlightManagerActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.SaveKeyValues; @@ -44,14 +44,11 @@ import java.util.GregorianCalendar; -/** - * 此页面后期可能需要添加滑动吸顶效果 - */ -public class HomePageFragment extends AndroidxBaseFragment implements IUserDataView, IHomePageView { +public class HomePageFragment extends AndroidxBaseFragment implements IGetUserDataView, IHomePageView { private Context context; - private UserDataPresenterImpl userDataPresenter; - private HomePagePresenterImpl homePagePresenter; + private GetUserDataPresenterImpl userDataPresenter; + private GetHomePagePresenterImpl homePagePresenter; @Override protected void setupTopBarLayout() { @@ -69,8 +66,8 @@ } viewBinding.lastTimeView.setText(timeValue); - homePagePresenter = new HomePagePresenterImpl(this); - userDataPresenter = new UserDataPresenterImpl(this); + homePagePresenter = new GetHomePagePresenterImpl(this); + userDataPresenter = new GetUserDataPresenterImpl(this); //用户信息 userDataPresenter.onReadyRetrofitRequest(); @@ -124,10 +121,10 @@ intent.setClass(context, CommonCaseUploadActivity.class); break; case "快速上报": - intent.setClass(context, CaseUploadQuicklyActivity.class); + intent.setClass(context, QuickCaseUploadActivity.class); break; case "三包上报": - intent.setClass(context, CaseUploadPackageActivity.class); + intent.setClass(context, PackageCaseUploadActivity.class); break; case "案卷核实": intent.setClass(context, CaseVerifyActivity.class); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 28b222a..750b959 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -76,7 +76,7 @@ * token添加到Header */ @GET("/user/info") - Observable obtainUser(@Header("token") String token); + Observable getUserData(@Header("token") String token); /** * 获取地图地址 @@ -472,8 +472,8 @@ * http://111.198.10.15:11409/user/permission?type=05 */ @GET("/user/permission") - Observable obtainHomePage(@Header("token") String token, - @Query("resourceType") String resourceType); + Observable getHomePageData(@Header("token") String token, + @Query("resourceType") String resourceType); /** * 个推推送cid注册 diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index a8b31bb..ef4c2dc 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -116,7 +116,7 @@ public static Observable getUserData() { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainUser(AuthenticationHelper.getToken()); + return service.getUserData(AuthenticationHelper.getToken()); } /** @@ -345,15 +345,15 @@ /** * 五包上报 */ - public static Observable getSubmitShopCaseResult(String isNeedVerify, String isNeedRevisit, - String longitude, String latitude, - String source, String caseLevel, - String areaCode, String streetCode, - String communityCode, String gridId, - String description, String fieldintro, - String fileIdVerify, int bzhours, - int bzminis, String shopId, - String shopkeeperName, String shopPhone) { + public static Observable submitShopCase(String isNeedVerify, String isNeedRevisit, + String longitude, String latitude, + String source, String caseLevel, + String areaCode, String streetCode, + String communityCode, String gridId, + String description, String fieldintro, + String fileIdVerify, int bzhours, + int bzminis, String shopId, + String shopkeeperName, String shopPhone) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); return service.submitShopCase(AuthenticationHelper.getToken(), isNeedVerify, isNeedRevisit, @@ -517,10 +517,10 @@ /** * 获取首页九宫格数据 */ - public static Observable getHomePageResult(String resourceType) { + public static Observable getHomePageData(String resourceType) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainHomePage(AuthenticationHelper.getToken(), resourceType); + return service.getHomePageData(AuthenticationHelper.getToken(), resourceType); } /** diff --git a/app/src/main/res/layout/activity_upload_case_quickly.xml b/app/src/main/res/layout/activity_upload_case_quickly.xml deleted file mode 100644 index a78c3d9..0000000 --- a/app/src/main/res/layout/activity_upload_case_quickly.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_upload_package.xml b/app/src/main/res/layout/activity_upload_package.xml deleted file mode 100644 index 81cca6a..0000000 --- a/app/src/main/res/layout/activity_upload_package.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_upload_package_case.xml b/app/src/main/res/layout/activity_upload_package_case.xml new file mode 100644 index 0000000..81cca6a --- /dev/null +++ b/app/src/main/res/layout/activity_upload_package_case.xml @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index b261367..328588d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,9 @@ + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 358d4a9..e67f267 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,9 +73,9 @@ - + - + diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java new file mode 100644 index 0000000..d904f25 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetHomePageModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetHomePageModel { + Subscription getHomePageData(String resourceType); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java new file mode 100644 index 0000000..4aed428 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IGetUserDataModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IGetUserDataModel { + Subscription getUserData(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java deleted file mode 100644 index 85723d9..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IHomePageModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IHomePageModel { - Subscription sendHomePageRequest(String resourceType); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java index 7a23105..ebb2c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/ISubmitShopCaseModel.java @@ -3,10 +3,10 @@ import rx.Subscription; public interface ISubmitShopCaseModel { - Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, - String latitude, String source, String caseLevel, String areaCode, - String streetCode, String communityCode, String gridId, - String description, String fieldintro, String fileIdVerify, - int bzhours, int bzminis, String shopId, String shopkeeperName, - String shopPhone); + Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, + String latitude, String source, String caseLevel, String areaCode, + String streetCode, String communityCode, String gridId, + String description, String fieldintro, String fileIdVerify, + int bzhours, int bzminis, String shopId, String shopkeeperName, + String shopPhone); } diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java deleted file mode 100644 index 5d51d97..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/IUserDataModel.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.model; - -import rx.Subscription; - -public interface IUserDataModel { - Subscription sendUserDataRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java new file mode 100644 index 0000000..1fabcb9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetHomePageModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.model.IGetHomePageModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetHomePageModelImpl implements IGetHomePageModel { + + private final OnGetPageResultListener homePageListener; + + public GetHomePageModelImpl(OnGetPageResultListener listener) { + this.homePageListener = listener; + } + + /** + * {@link IGetHomePageModel} + */ + @Override + public Subscription getHomePageData(String resourceType) { + Observable observable = RetrofitServiceManager.getHomePageData(resourceType); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (homePageListener != null) { + homePageListener.onFailure(e); + } + } + + @Override + public void onNext(HomePageBean resultBean) { + if (resultBean != null) { + homePageListener.onSuccess(resultBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java new file mode 100644 index 0000000..ffa6f65 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/GetUserDataModelImpl.java @@ -0,0 +1,49 @@ +package com.casic.dcms.mvp.model.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.model.IGetUserDataModel; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class GetUserDataModelImpl implements IGetUserDataModel { + + private final OnGetUserListener obtainUserListener; + + public GetUserDataModelImpl(OnGetUserListener listener) { + this.obtainUserListener = listener; + } + + /** + * {@link IGetUserDataModel} + */ + @Override + public Subscription getUserData() { + Observable observable = RetrofitServiceManager.getUserData(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainUserListener.onFailure(e); + } + } + + @Override + public void onNext(UserBean userBean) { + if (userBean != null) { + obtainUserListener.onSuccess(userBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java deleted file mode 100644 index 903ad10..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/HomePageModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.model.IHomePageModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class HomePageModelImpl implements IHomePageModel { - - private final OnGetPageResultListener homePageListener; - - public HomePageModelImpl(OnGetPageResultListener listener) { - this.homePageListener = listener; - } - - /** - * {@link IHomePageModel} - */ - @Override - public Subscription sendHomePageRequest(String resourceType) { - Observable observable = RetrofitServiceManager.getHomePageResult(resourceType); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (homePageListener != null) { - homePageListener.onFailure(e); - } - } - - @Override - public void onNext(HomePageBean resultBean) { - if (resultBean != null) { - homePageListener.onSuccess(resultBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java index 2b6a2b1..6396481 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/impl/SubmitShopCaseModelImpl.java @@ -23,8 +23,8 @@ * {@link ISubmitShopCaseModel} */ @Override - public Subscription sendShopCaseSubmitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { - Observable observable = RetrofitServiceManager.getSubmitShopCaseResult(isNeedVerify, isNeedRevisit, longitude, latitude, + public Subscription submitShopCase(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, String source, String caseLevel, String areaCode, String streetCode, String communityCode, String gridId, String description, String fieldintro, String fileIdVerify, int bzhours, int bzminis, String shopId, String shopkeeperName, String shopPhone) { + Observable observable = RetrofitServiceManager.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis, shopId, shopkeeperName, shopPhone); return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { diff --git a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java deleted file mode 100644 index a90adb3..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/model/impl/UserDataModelImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.casic.dcms.mvp.model.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.model.IUserDataModel; -import com.casic.dcms.utils.retrofit.RetrofitServiceManager; - -import rx.Observable; -import rx.Observer; -import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; - -public class UserDataModelImpl implements IUserDataModel { - - private final OnGetUserListener obtainUserListener; - - public UserDataModelImpl(OnGetUserListener listener) { - this.obtainUserListener = listener; - } - - /** - * {@link IUserDataModel} - */ - @Override - public Subscription sendUserDataRequest() { - Observable observable = RetrofitServiceManager.getUserData(); - return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - if (e.getCause() != null) { - obtainUserListener.onFailure(e); - } - } - - @Override - public void onNext(UserBean userBean) { - if (userBean != null) { - obtainUserListener.onSuccess(userBean); - } - } - }); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java new file mode 100644 index 0000000..b13a2c4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetHomePagePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetHomePagePresenter { + void onReadyRetrofitRequest(String resourceType); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java new file mode 100644 index 0000000..31209d3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IGetUserDataPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IGetUserDataPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java deleted file mode 100644 index b51edac..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IHomePagePresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IHomePagePresenter { - void onReadyRetrofitRequest(String resourceType); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java deleted file mode 100644 index 10b350c..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/IUserDataPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.dcms.mvp.presenter; - -public interface IUserDataPresenter { - void onReadyRetrofitRequest(); - - void disposeRetrofitRequest(); -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java new file mode 100644 index 0000000..6720309 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetHomePagePresenterImpl.java @@ -0,0 +1,40 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.listener.OnGetPageResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetHomePageModelImpl; +import com.casic.dcms.mvp.presenter.IGetHomePagePresenter; +import com.casic.dcms.mvp.view.IHomePageView; + +public class GetHomePagePresenterImpl extends BasePresenter implements IGetHomePagePresenter, OnGetPageResultListener { + + private final IHomePageView view; + private final GetHomePageModelImpl actionModel; + + public GetHomePagePresenterImpl(IHomePageView homePageView) { + this.view = homePageView; + actionModel = new GetHomePageModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String resourceType) { + addSubscription(actionModel.getHomePageData(resourceType)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + + @Override + public void onSuccess(HomePageBean pageBean) { + view.obtainHomePageResult(pageBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java new file mode 100644 index 0000000..3d36be4 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/GetUserDataPresenterImpl.java @@ -0,0 +1,39 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.UserBean; +import com.casic.dcms.listener.OnGetUserListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.GetUserDataModelImpl; +import com.casic.dcms.mvp.presenter.IGetUserDataPresenter; +import com.casic.dcms.mvp.view.IGetUserDataView; + +public class GetUserDataPresenterImpl extends BasePresenter implements IGetUserDataPresenter, OnGetUserListener { + + private final IGetUserDataView view; + private final GetUserDataModelImpl actionModel; + + public GetUserDataPresenterImpl(IGetUserDataView userDataView) { + this.view = userDataView; + actionModel = new GetUserDataModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.getUserData()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(UserBean userBean) { + view.obtainUserData(userBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.obtainDataFail(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java deleted file mode 100644 index 87939f1..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/HomePagePresenterImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.listener.OnGetPageResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.HomePageModelImpl; -import com.casic.dcms.mvp.presenter.IHomePagePresenter; -import com.casic.dcms.mvp.view.IHomePageView; - -public class HomePagePresenterImpl extends BasePresenter implements IHomePagePresenter, OnGetPageResultListener { - - private final IHomePageView view; - private final HomePageModelImpl actionModel; - - public HomePagePresenterImpl(IHomePageView homePageView) { - this.view = homePageView; - actionModel = new HomePageModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String resourceType) { - addSubscription(actionModel.sendHomePageRequest(resourceType)); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - - @Override - public void onSuccess(HomePageBean pageBean) { - view.obtainHomePageResult(pageBean); - } - - @Override - public void onFailure(Throwable throwable) { - - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java deleted file mode 100644 index eb42ac7..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/ShopCaseSubmitPresenterImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.listener.OnActionResultListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; -import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; -import com.casic.dcms.mvp.view.ISubmitCaseView; - -/** - * @Author: Pengxh - * @Time: 2021/4/12 13:29 - * @Email: 290677893@qq.com - **/ -public class ShopCaseSubmitPresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, - OnActionResultListener { - - private final ISubmitCaseView view; - private final SubmitShopCaseModelImpl actionModel; - - public ShopCaseSubmitPresenterImpl(ISubmitCaseView submitCaseView) { - this.view = submitCaseView; - actionModel = new SubmitShopCaseModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, - String source, String caseLevel, String areaCode, String streetCode, - String communityCode, String gridId, String description, String fieldintro, - String fileIdVerify, int bzhours, int bzminis, String shopId, - String shopkeeperName, String shopPhone) { - view.showProgress(); - addSubscription(actionModel.sendShopCaseSubmitRequest(isNeedVerify, isNeedRevisit, longitude, latitude, - source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, - bzhours, bzminis, shopId, shopkeeperName, shopPhone)); - } - - @Override - public void onSuccess(ActionResultBean resultBean) { - view.hideProgress(); - view.obtainSubmitResult(resultBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.hideProgress(); - view.obtainDataFail(); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java new file mode 100644 index 0000000..75588be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/SubmitShopCasePresenterImpl.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvp.presenter.impl; + +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.listener.OnActionResultListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.impl.SubmitShopCaseModelImpl; +import com.casic.dcms.mvp.presenter.ISubmitShopCasePresenter; +import com.casic.dcms.mvp.view.ISubmitCaseView; + +/** + * @Author: Pengxh + * @Time: 2021/4/12 13:29 + * @Email: 290677893@qq.com + **/ +public class SubmitShopCasePresenterImpl extends BasePresenter implements ISubmitShopCasePresenter, OnActionResultListener { + + private final ISubmitCaseView view; + private final SubmitShopCaseModelImpl actionModel; + + public SubmitShopCasePresenterImpl(ISubmitCaseView submitCaseView) { + this.view = submitCaseView; + actionModel = new SubmitShopCaseModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude, + String source, String caseLevel, String areaCode, String streetCode, + String communityCode, String gridId, String description, String fieldintro, + String fileIdVerify, int bzhours, int bzminis, String shopId, + String shopkeeperName, String shopPhone) { + view.showProgress(); + addSubscription(actionModel.submitShopCase(isNeedVerify, isNeedRevisit, longitude, latitude, + source, caseLevel, areaCode, streetCode, communityCode, gridId, description, fieldintro, fileIdVerify, + bzhours, bzminis, shopId, shopkeeperName, shopPhone)); + } + + @Override + public void onSuccess(ActionResultBean resultBean) { + view.hideProgress(); + view.obtainSubmitResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + view.hideProgress(); + view.obtainDataFail(); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java deleted file mode 100644 index 7f82679..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/impl/UserDataPresenterImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.casic.dcms.mvp.presenter.impl; - -import com.casic.dcms.bean.UserBean; -import com.casic.dcms.listener.OnGetUserListener; -import com.casic.dcms.mvp.BasePresenter; -import com.casic.dcms.mvp.model.impl.UserDataModelImpl; -import com.casic.dcms.mvp.presenter.IUserDataPresenter; -import com.casic.dcms.mvp.view.IUserDataView; - -public class UserDataPresenterImpl extends BasePresenter implements IUserDataPresenter, OnGetUserListener { - - private final IUserDataView view; - private final UserDataModelImpl actionModel; - - public UserDataPresenterImpl(IUserDataView userDataView) { - this.view = userDataView; - actionModel = new UserDataModelImpl(this); - } - - @Override - public void onReadyRetrofitRequest() { - addSubscription(actionModel.sendUserDataRequest()); - } - - @Override - public void disposeRetrofitRequest() { - unSubscription(); - } - - @Override - public void onSuccess(UserBean userBean) { - view.obtainUserData(userBean); - } - - @Override - public void onFailure(Throwable throwable) { - view.obtainDataFail(); - } -} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java new file mode 100644 index 0000000..09dc145 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IGetUserDataView.java @@ -0,0 +1,9 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.UserBean; + +public interface IGetUserDataView { + void obtainUserData(UserBean userBean); + + void obtainDataFail(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java deleted file mode 100644 index fbf1251..0000000 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.casic.dcms.mvp.view; - -import com.casic.dcms.bean.UserBean; - -public interface IUserDataView { - void obtainUserData(UserBean userBean); - - void obtainDataFail(); -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java deleted file mode 100644 index a5810b7..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.databinding.ActivityUploadPackageBinding; -import com.casic.dcms.mvp.presenter.impl.ShopCaseSubmitPresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ISubmitCaseView { - - private final Context context = this; - private UploadImagePresenterImpl uploadImagePresenter; - private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter; - private NineGridImageAdapter imageAdapter; - private QMUITipDialog submitDialog; - private final ArrayList realPaths = new ArrayList<>();//真实图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String gridId, shopID; - - private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("三包上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - uploadImagePresenter = new UploadImagePresenterImpl(this); - shopCaseSubmitPresenter = new ShopCaseSubmitPresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.shopLayout.setOnClickListener(view -> { - Intent intent = new Intent(context, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - packageCaseLauncher.launch(intent); - }); - - viewBinding.submitButton.setChangeAlphaWhenPress(true); - viewBinding.submitButton.setOnClickListener(view -> submitCase()); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadPackageActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadPackageActivity.this); - } - }) - .setCanceledOnTouchOutside(false) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(shopKeeper)) { - ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); - return; - } - String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(phoneNumber)) { - ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); - return; - } - if (StringHelper.isPhoneNumber(phoneNumber)) { - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - shopCaseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "2", "1", - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); - } else { - ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - @Override - protected void onDestroy() { - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - if (shopCaseSubmitPresenter != null) { - shopCaseSubmitPresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java deleted file mode 100644 index f4c184a..0000000 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.casic.dcms.ui; - -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.text.TextUtils; -import android.view.View; - -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.GridLayoutManager; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.NineGridImageAdapter; -import com.casic.dcms.base.AndroidxBaseActivity; -import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.CaseLargeTypeBean; -import com.casic.dcms.bean.CaseSmallTypeBean; -import com.casic.dcms.databinding.ActivityUploadCaseQuicklyBinding; -import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; -import com.casic.dcms.mvp.view.ICaseLargeTypeView; -import com.casic.dcms.mvp.view.ICaseSmallTypeView; -import com.casic.dcms.mvp.view.ISubmitCaseView; -import com.casic.dcms.mvp.view.IUploadFileView; -import com.casic.dcms.utils.Constant; -import com.casic.dcms.utils.OtherUtils; -import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.entity.LocalMedia; -import com.luck.picture.lib.tools.PictureFileUtils; -import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -public class CaseUploadQuicklyActivity extends AndroidxBaseActivity implements View.OnClickListener, - ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { - - private final Context context = this; - private CaseLargeTypePresenterImpl caseLargeClassPresenter; - private CaseSmallTypePresenterImpl caseSmallClassPresenter; - private SubmitCasePresenterImpl caseSubmitPresenter; - private List largeClassBeans; - private List smallTypeBeans; - private QMUITipDialog submitDialog; - private UploadImagePresenterImpl uploadImagePresenter; - private final ArrayList realPaths = new ArrayList<>();//真是图片路径 - private final List imageList = new ArrayList<>();//上传到服务器的数据集 - private String eorc = ""; - private String typeCode = ""; - private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 - private NineGridImageAdapter imageAdapter; - private String gridId; - - private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { - @Override - public void onActivityResult(ActivityResult result) { - if (result.getResultCode() == Activity.RESULT_OK) { - Intent data = result.getData(); - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - } - } - }); - - @Override - protected void setupTopBarLayout() { - viewBinding.titleBarLayout.titleView.setText("快速上报"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - public void initData() { - largeClassBeans = new ArrayList<>(); - smallTypeBeans = new ArrayList<>(); - caseLargeClassPresenter = new CaseLargeTypePresenterImpl(this); - caseSmallClassPresenter = new CaseSmallTypePresenterImpl(this); - caseSubmitPresenter = new SubmitCasePresenterImpl(this); - submitDialog = new QMUITipDialog.Builder(this) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord("处理中,请稍后") - .create(); - uploadImagePresenter = new UploadImagePresenterImpl(this); - - imageAdapter = new NineGridImageAdapter(this); - viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); - viewBinding.selectedGridViewView.setAdapter(imageAdapter); - } - - @Override - public void initEvent() { - viewBinding.caseClassLayout.setOnClickListener(this); - viewBinding.caseLargeClassLayout.setOnClickListener(this); - viewBinding.caseSmallClassLayout.setOnClickListener(this); - viewBinding.locationMapView.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); - viewBinding.submitButton.setChangeAlphaWhenPress(true); - - //图片九宫格事件处理 - imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { - @Override - public void onAddImageClick() { - new QMUIDialog.MenuDialogBuilder(context) - .addItem("相册中选取", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.selectPicture(CaseUploadQuicklyActivity.this); - } - }) - .addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - OtherUtils.takePicture(CaseUploadQuicklyActivity.this); - } - }) - .create().show(); - } - - @Override - public void onItemClick(int position) { - OtherUtils.showBigImage(context, position, realPaths); - } - - @Override - public void onItemLongClick(View view, int position) { - imageList.remove(position); - imageAdapter.deleteImage(position); - } - }); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.caseClassLayout) { - new QMUIBottomSheet.BottomListSheetBuilder(this) - .setTitle("案卷类型") - .addItem("事件") - .addItem("部件") - .setGravityCenter(true) - .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseClassView.setText(tag); - viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷大类 - caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); - } - }).build().show(); - } else if (id == R.id.caseLargeClassLayout) { - if (largeClassBeans != null) { - if (largeClassBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷大类"); - for (CaseLargeTypeBean.DataBean dataBean : largeClassBeans) { - sheetBuilder.addItem(dataBean.getTypeName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseLargeClassView.setText(tag); - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - //获取案卷小类 - CaseLargeTypeBean.DataBean dataBean = largeClassBeans.get(position); - eorc = dataBean.getEorc(); - typeCode = dataBean.getTypeCode(); - String typeId = dataBean.getId(); - - caseSmallClassPresenter.onReadyRetrofitRequest(eorc, typeId); - } - }).build().show(); - } - } - } else if (id == R.id.caseSmallClassLayout) { - if (smallTypeBeans != null) { - if (smallTypeBeans.size() > 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); - sheetBuilder.setTitle("案卷小类"); - for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { - sheetBuilder.addItem(dataBean.getTypeDetailName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseSmallClassView.setText(tag); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - - typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); - } - }).build().show(); - } - } - } else if (id == R.id.locationMapView) { - //根据情况加载不同图层 - String type = viewBinding.caseClassView.getText().toString(); - if (type.equals("")) { - ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); - return; - } - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", type); - quickCaseLauncher.launch(intent); - } else if (id == R.id.submitButton) { - submitCase();//案卷提交 - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); - continue; - } - uploadImagePresenter.onReadyRetrofitRequest(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - - @Override - public void obtainLargeType(CaseLargeTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.largeClassBeans = typeBean.getData(); - if (largeClassBeans.size() == 0) { - viewBinding.caseLargeClassView.setText("无小类"); - } else { - viewBinding.caseLargeClassView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个 - } - viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - - viewBinding.caseSmallClassView.setText("请选择"); - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void obtainSmallType(CaseSmallTypeBean typeBean) { - if (typeBean.isSuccess()) { - //设置大类数据 - this.smallTypeBeans = typeBean.getData(); - if (smallTypeBeans.size() == 0) { - viewBinding.caseSmallClassView.setText("无小类"); - } else { - viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 - } - viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); - } - } - - @Override - public void showProgress() { - submitDialog.show(); - } - - @Override - public void hideProgress() { - submitDialog.dismiss(); - } - - @Override - public void obtainUploadAudioResult(ActionResultBean resultBean) { - - } - - @Override - public void obtainUploadImageResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - PictureFileUtils.deleteAllCacheDirFile(this); - /** - * 系统路径static拼接图片返回路径 - * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg - */ - //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg - if (imageAdapter.getItemCount() <= 2) { - String url = resultBean.getData(); - imageList.add(url); - realPaths.add(StringHelper.appendCompleteURL(url)); - imageAdapter.setupImage(realPaths); - } else { - ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); - } - } - } - - @Override - public void obtainUploadVideoResult(ActionResultBean resultBean) { - - } - - /** - * 案卷提交 - */ - private void submitCase() { - String longitude = viewBinding.longitudeView.getText().toString(); - String latitude = viewBinding.latitudeView.getText().toString(); - if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { - ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); - return; - } - if (eorc.equals("") || typeCode.equals("")) { - ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); - return; - } - if (typeDetailCode.equals("")) { - ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); - return; - } - if (TextUtils.isEmpty(gridId)) { - ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); - return; - } - String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(fieldIntro)) { - ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); - return; - } - String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); - if (TextUtils.isEmpty(description)) { - ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); - return; - } - if (imageAdapter.getItemCount() != 2) { - ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); - return; - } - caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, - "1", "1", eorc, typeCode, typeDetailCode, - gridId.substring(0, 6), - gridId.substring(0, 9), - gridId.substring(0, 12), - gridId, description, fieldIntro, - StringHelper.reformatURL(imageList), "", "", 0, 0); - } - - @Override - public void obtainSubmitResult(ActionResultBean resultBean) { - if (resultBean.isSuccess()) { - ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); - finish(); - } else { - ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); - } - } - - @Override - public void obtainDataFail() { - ToastHelper.showToast("操作失败", ToastHelper.ERROR); - //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? - } - - @Override - protected void onDestroy() { - if (caseLargeClassPresenter != null) { - caseLargeClassPresenter.disposeRetrofitRequest(); - } - if (caseSmallClassPresenter != null) { - caseSmallClassPresenter.disposeRetrofitRequest(); - } - if (caseSubmitPresenter != null) { - caseSubmitPresenter.disposeRetrofitRequest(); - } - if (uploadImagePresenter != null) { - uploadImagePresenter.disposeRetrofitRequest(); - } - super.onDestroy(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java new file mode 100644 index 0000000..6765bf6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/PackageCaseUploadActivity.java @@ -0,0 +1,284 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.databinding.ActivityUploadPackageCaseBinding; +import com.casic.dcms.mvp.presenter.impl.SubmitShopCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class PackageCaseUploadActivity extends AndroidxBaseActivity + implements IUploadFileView, ISubmitCaseView { + + private final Context context = PackageCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真实图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private UploadImagePresenterImpl uploadImagePresenter; + private SubmitShopCasePresenterImpl submitShopCasePresenter; + private NineGridImageAdapter imageAdapter; + private QMUITipDialog submitDialog; + private String gridId, shopID; + + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("三包上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + uploadImagePresenter = new UploadImagePresenterImpl(this); + submitShopCasePresenter = new SubmitShopCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(PackageCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(PackageCaseUploadActivity.this); + } + }) + .setCanceledOnTouchOutside(false) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + String shopKeeper = viewBinding.shopKeeperView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(shopKeeper)) { + ToastHelper.showToast("店主名还未填写", ToastHelper.WARING); + return; + } + String phoneNumber = viewBinding.phoneNumberView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(phoneNumber)) { + ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING); + return; + } + if (StringHelper.isPhoneNumber(phoneNumber)) { + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitShopCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "2", "1", + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), 0, 0, shopID, shopKeeper, phoneNumber); + } else { + ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + protected void onDestroy() { + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + if (submitShopCasePresenter != null) { + submitShopCasePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java new file mode 100644 index 0000000..11e6893 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/QuickCaseUploadActivity.java @@ -0,0 +1,411 @@ +package com.casic.dcms.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.GridLayoutManager; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.NineGridImageAdapter; +import com.casic.dcms.base.AndroidxBaseActivity; +import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.CaseLargeTypeBean; +import com.casic.dcms.bean.CaseSmallTypeBean; +import com.casic.dcms.databinding.ActivityUploadQuickCaseBinding; +import com.casic.dcms.mvp.presenter.impl.CaseLargeTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.CaseSmallTypePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.SubmitCasePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.UploadImagePresenterImpl; +import com.casic.dcms.mvp.view.ICaseLargeTypeView; +import com.casic.dcms.mvp.view.ICaseSmallTypeView; +import com.casic.dcms.mvp.view.ISubmitCaseView; +import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.Constant; +import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.ToastHelper; +import com.luck.picture.lib.PictureSelector; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.tools.PictureFileUtils; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class QuickCaseUploadActivity extends AndroidxBaseActivity + implements View.OnClickListener, ICaseLargeTypeView, ICaseSmallTypeView, ISubmitCaseView, IUploadFileView { + + private final Context context = QuickCaseUploadActivity.this; + private final ArrayList realPaths = new ArrayList<>();//真是图片路径 + private final List imageList = new ArrayList<>();//上传到服务器的数据集 + private CaseLargeTypePresenterImpl largeTypePresenter; + private CaseSmallTypePresenterImpl smallTypePresenter; + private SubmitCasePresenterImpl submitCasePresenter; + private UploadImagePresenterImpl uploadImagePresenter; + private List largeTypeBeans; + private List smallTypeBeans; + private QMUITipDialog submitDialog; + private NineGridImageAdapter imageAdapter; + private String eorc = ""; + private String typeCode = ""; + private String typeDetailCode = "";//默认值,防止用户不选择直接跳过 + private String gridId; + + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + + @Override + protected void setupTopBarLayout() { + viewBinding.titleBarLayout.titleView.setText("快速上报"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + public void initData() { + largeTypeBeans = new ArrayList<>(); + smallTypeBeans = new ArrayList<>(); + largeTypePresenter = new CaseLargeTypePresenterImpl(this); + smallTypePresenter = new CaseSmallTypePresenterImpl(this); + submitCasePresenter = new SubmitCasePresenterImpl(this); + submitDialog = new QMUITipDialog.Builder(this) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord("处理中,请稍后") + .create(); + uploadImagePresenter = new UploadImagePresenterImpl(this); + + imageAdapter = new NineGridImageAdapter(this); + viewBinding.selectedGridViewView.setLayoutManager(new GridLayoutManager(this, 2)); + viewBinding.selectedGridViewView.setAdapter(imageAdapter); + } + + @Override + public void initEvent() { + viewBinding.caseClassLayout.setOnClickListener(this); + viewBinding.caseLargeClassLayout.setOnClickListener(this); + viewBinding.caseSmallClassLayout.setOnClickListener(this); + viewBinding.locationMapView.setOnClickListener(this); + viewBinding.submitButton.setOnClickListener(this); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + + //图片九宫格事件处理 + imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { + @Override + public void onAddImageClick() { + new QMUIDialog.MenuDialogBuilder(context) + .addItem("相册中选取", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.selectPicture(QuickCaseUploadActivity.this); + } + }) + .addItem("相机拍照", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + OtherUtils.takePicture(QuickCaseUploadActivity.this); + } + }) + .create().show(); + } + + @Override + public void onItemClick(int position) { + OtherUtils.showBigImage(context, position, realPaths); + } + + @Override + public void onItemLongClick(View view, int position) { + imageList.remove(position); + imageAdapter.deleteImage(position); + } + }); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.caseClassLayout) { + new QMUIBottomSheet.BottomListSheetBuilder(this) + .setTitle("案卷类型") + .addItem("事件") + .addItem("部件") + .setGravityCenter(true) + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseClassView.setText(tag); + viewBinding.caseClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷大类 + largeTypePresenter.onReadyRetrofitRequest(String.valueOf(position + 1)); + } + }).build().show(); + } else if (id == R.id.caseLargeClassLayout) { + if (largeTypeBeans != null) { + if (largeTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷大类"); + for (CaseLargeTypeBean.DataBean dataBean : largeTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseLargeClassView.setText(tag); + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + //获取案卷小类 + CaseLargeTypeBean.DataBean dataBean = largeTypeBeans.get(position); + eorc = dataBean.getEorc(); + typeCode = dataBean.getTypeCode(); + String typeId = dataBean.getId(); + + smallTypePresenter.onReadyRetrofitRequest(eorc, typeId); + } + }).build().show(); + } + } + } else if (id == R.id.caseSmallClassLayout) { + if (smallTypeBeans != null) { + if (smallTypeBeans.size() > 1) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("案卷小类"); + for (CaseSmallTypeBean.DataBean dataBean : smallTypeBeans) { + sheetBuilder.addItem(dataBean.getTypeDetailName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + viewBinding.caseSmallClassView.setText(tag); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + + typeDetailCode = smallTypeBeans.get(position).getTypeDetailCode(); + } + }).build().show(); + } + } + } else if (id == R.id.locationMapView) { + //根据情况加载不同图层 + String type = viewBinding.caseClassView.getText().toString(); + if (type.equals("")) { + ToastHelper.showToast("请先选择案卷类型", ToastHelper.WARING); + return; + } + Intent intent = new Intent(this, ArcGISMapActivity.class); + intent.putExtra("type", type); + quickCaseLauncher.launch(intent); + } else if (id == R.id.submitButton) { + submitCase();//案卷提交 + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + switch (requestCode) { + case PictureConfig.CHOOSE_REQUEST: + List selectList = PictureSelector.obtainMultipleResult(data); + for (LocalMedia media : selectList) { + File file = new File(media.getCompressPath()); + if (file.length() <= Constant.IMAGE_MINUS_SIZE) { + ToastHelper.showToast("图片尺寸太小,请重新选择", ToastHelper.ERROR); + continue; + } + uploadImagePresenter.onReadyRetrofitRequest(file); + } + break; + case PictureConfig.REQUEST_CAMERA: + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + break; + default: + break; + } + } + } + + @Override + public void obtainLargeType(CaseLargeTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.largeTypeBeans = typeBean.getData(); + if (largeTypeBeans.size() == 0) { + viewBinding.caseLargeClassView.setText("无小类"); + } else { + viewBinding.caseLargeClassView.setText(largeTypeBeans.get(0).getTypeName());//默认选择第一个 + } + viewBinding.caseLargeClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + + viewBinding.caseSmallClassView.setText("请选择"); + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void obtainSmallType(CaseSmallTypeBean typeBean) { + if (typeBean.isSuccess()) { + //设置大类数据 + this.smallTypeBeans = typeBean.getData(); + if (smallTypeBeans.size() == 0) { + viewBinding.caseSmallClassView.setText("无小类"); + } else { + viewBinding.caseSmallClassView.setText(smallTypeBeans.get(0).getTypeDetailName());//默认选择第一个 + } + viewBinding.caseSmallClassView.setTextColor(ContextCompat.getColor(this, R.color.darkGray)); + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + PictureFileUtils.deleteAllCacheDirFile(this); + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + if (imageAdapter.getItemCount() <= 2) { + String url = resultBean.getData(); + imageList.add(url); + realPaths.add(StringHelper.appendCompleteURL(url)); + imageAdapter.setupImage(realPaths); + } else { + ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING); + } + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + /** + * 案卷提交 + */ + private void submitCase() { + String longitude = viewBinding.longitudeView.getText().toString(); + String latitude = viewBinding.latitudeView.getText().toString(); + if (longitude.equals("0") || latitude.equals("0") || TextUtils.isEmpty(longitude) || TextUtils.isEmpty(latitude)) { + ToastHelper.showToast("经纬度异常,请重新选择位置", ToastHelper.WARING); + return; + } + if (eorc.equals("") || typeCode.equals("")) { + ToastHelper.showToast("案卷大类还未选择", ToastHelper.WARING); + return; + } + if (typeDetailCode.equals("")) { + ToastHelper.showToast("案卷小类还未选择", ToastHelper.WARING); + return; + } + if (TextUtils.isEmpty(gridId)) { + ToastHelper.showToast("网格ID异常,请重新地图选点", ToastHelper.WARING); + return; + } + String fieldIntro = viewBinding.caseLocationView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(fieldIntro)) { + ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING); + return; + } + String description = viewBinding.caseDetailEditView.getText().toString().trim().replace(" ", ""); + if (TextUtils.isEmpty(description)) { + ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING); + return; + } + if (imageAdapter.getItemCount() != 2) { + ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING); + return; + } + submitCasePresenter.onReadyRetrofitRequest("0", "0", longitude, latitude, + "1", "1", eorc, typeCode, typeDetailCode, + gridId.substring(0, 6), + gridId.substring(0, 9), + gridId.substring(0, 12), + gridId, description, fieldIntro, + StringHelper.reformatURL(imageList), "", "", 0, 0); + } + + @Override + public void obtainSubmitResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS); + finish(); + } else { + ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR); + } + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + //TODO 案卷如果在网络极差的情况下,提交超时导致失败了,需要保存到本地吗?等下次打开的是时候提醒用户补提交之前没提交成功的案卷? + } + + @Override + protected void onDestroy() { + if (largeTypePresenter != null) { + largeTypePresenter.disposeRetrofitRequest(); + } + if (smallTypePresenter != null) { + smallTypePresenter.disposeRetrofitRequest(); + } + if (submitCasePresenter != null) { + submitCasePresenter.disposeRetrofitRequest(); + } + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index f4ac608..aa89910 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -13,27 +13,27 @@ import com.casic.dcms.bean.HomePageBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.databinding.FragmentHomeBinding; -import com.casic.dcms.mvp.presenter.impl.HomePagePresenterImpl; -import com.casic.dcms.mvp.presenter.impl.UserDataPresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetHomePagePresenterImpl; +import com.casic.dcms.mvp.presenter.impl.GetUserDataPresenterImpl; +import com.casic.dcms.mvp.view.IGetUserDataView; import com.casic.dcms.mvp.view.IHomePageView; -import com.casic.dcms.mvp.view.IUserDataView; import com.casic.dcms.ui.BridgeMaintainActivity; import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseHandleActivity; import com.casic.dcms.ui.CaseOnMapActivity; import com.casic.dcms.ui.CaseSearchActivity; -import com.casic.dcms.ui.CaseUploadPackageActivity; -import com.casic.dcms.ui.CaseUploadQuicklyActivity; import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.ChangeShopInfoActivity; import com.casic.dcms.ui.CommonCaseUploadActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.DeptHandleActivity; import com.casic.dcms.ui.OvertimeCaseActivity; +import com.casic.dcms.ui.PackageCaseUploadActivity; import com.casic.dcms.ui.PackageHandleActivity; import com.casic.dcms.ui.PersonOnlineActivity; import com.casic.dcms.ui.PipelineManagerActivity; import com.casic.dcms.ui.PublicToiletActivity; +import com.casic.dcms.ui.QuickCaseUploadActivity; import com.casic.dcms.ui.StreetlightManagerActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.SaveKeyValues; @@ -44,14 +44,11 @@ import java.util.GregorianCalendar; -/** - * 此页面后期可能需要添加滑动吸顶效果 - */ -public class HomePageFragment extends AndroidxBaseFragment implements IUserDataView, IHomePageView { +public class HomePageFragment extends AndroidxBaseFragment implements IGetUserDataView, IHomePageView { private Context context; - private UserDataPresenterImpl userDataPresenter; - private HomePagePresenterImpl homePagePresenter; + private GetUserDataPresenterImpl userDataPresenter; + private GetHomePagePresenterImpl homePagePresenter; @Override protected void setupTopBarLayout() { @@ -69,8 +66,8 @@ } viewBinding.lastTimeView.setText(timeValue); - homePagePresenter = new HomePagePresenterImpl(this); - userDataPresenter = new UserDataPresenterImpl(this); + homePagePresenter = new GetHomePagePresenterImpl(this); + userDataPresenter = new GetUserDataPresenterImpl(this); //用户信息 userDataPresenter.onReadyRetrofitRequest(); @@ -124,10 +121,10 @@ intent.setClass(context, CommonCaseUploadActivity.class); break; case "快速上报": - intent.setClass(context, CaseUploadQuicklyActivity.class); + intent.setClass(context, QuickCaseUploadActivity.class); break; case "三包上报": - intent.setClass(context, CaseUploadPackageActivity.class); + intent.setClass(context, PackageCaseUploadActivity.class); break; case "案卷核实": intent.setClass(context, CaseVerifyActivity.class); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 28b222a..750b959 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -76,7 +76,7 @@ * token添加到Header */ @GET("/user/info") - Observable obtainUser(@Header("token") String token); + Observable getUserData(@Header("token") String token); /** * 获取地图地址 @@ -472,8 +472,8 @@ * http://111.198.10.15:11409/user/permission?type=05 */ @GET("/user/permission") - Observable obtainHomePage(@Header("token") String token, - @Query("resourceType") String resourceType); + Observable getHomePageData(@Header("token") String token, + @Query("resourceType") String resourceType); /** * 个推推送cid注册 diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index a8b31bb..ef4c2dc 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -116,7 +116,7 @@ public static Observable getUserData() { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainUser(AuthenticationHelper.getToken()); + return service.getUserData(AuthenticationHelper.getToken()); } /** @@ -345,15 +345,15 @@ /** * 五包上报 */ - public static Observable getSubmitShopCaseResult(String isNeedVerify, String isNeedRevisit, - String longitude, String latitude, - String source, String caseLevel, - String areaCode, String streetCode, - String communityCode, String gridId, - String description, String fieldintro, - String fileIdVerify, int bzhours, - int bzminis, String shopId, - String shopkeeperName, String shopPhone) { + public static Observable submitShopCase(String isNeedVerify, String isNeedRevisit, + String longitude, String latitude, + String source, String caseLevel, + String areaCode, String streetCode, + String communityCode, String gridId, + String description, String fieldintro, + String fileIdVerify, int bzhours, + int bzminis, String shopId, + String shopkeeperName, String shopPhone) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); return service.submitShopCase(AuthenticationHelper.getToken(), isNeedVerify, isNeedRevisit, @@ -517,10 +517,10 @@ /** * 获取首页九宫格数据 */ - public static Observable getHomePageResult(String resourceType) { + public static Observable getHomePageData(String resourceType) { Retrofit retrofit = createRetrofit(); RetrofitService service = retrofit.create(RetrofitService.class); - return service.obtainHomePage(AuthenticationHelper.getToken(), resourceType); + return service.getHomePageData(AuthenticationHelper.getToken(), resourceType); } /** diff --git a/app/src/main/res/layout/activity_upload_case_quickly.xml b/app/src/main/res/layout/activity_upload_case_quickly.xml deleted file mode 100644 index a78c3d9..0000000 --- a/app/src/main/res/layout/activity_upload_case_quickly.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_upload_package.xml b/app/src/main/res/layout/activity_upload_package.xml deleted file mode 100644 index 81cca6a..0000000 --- a/app/src/main/res/layout/activity_upload_package.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_upload_package_case.xml b/app/src/main/res/layout/activity_upload_package_case.xml new file mode 100644 index 0000000..81cca6a --- /dev/null +++ b/app/src/main/res/layout/activity_upload_package_case.xml @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_upload_quick_case.xml b/app/src/main/res/layout/activity_upload_quick_case.xml new file mode 100644 index 0000000..a78c3d9 --- /dev/null +++ b/app/src/main/res/layout/activity_upload_quick_case.xml @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file