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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/res/drawable/ic_shangpu.xml b/app/src/main/res/drawable/ic_shangpu.xml
new file mode 100644
index 0000000..053e5ba
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shangpu.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/res/drawable/ic_shangpu.xml b/app/src/main/res/drawable/ic_shangpu.xml
new file mode 100644
index 0000000..053e5ba
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shangpu.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml
deleted file mode 100644
index fc1a5af..0000000
--- a/app/src/main/res/layout/activity_case_upload.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/res/drawable/ic_shangpu.xml b/app/src/main/res/drawable/ic_shangpu.xml
new file mode 100644
index 0000000..053e5ba
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shangpu.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml
deleted file mode 100644
index fc1a5af..0000000
--- a/app/src/main/res/layout/activity_case_upload.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_case_upload_quickly.xml b/app/src/main/res/layout/activity_case_upload_quickly.xml
deleted file mode 100644
index 7ea1589..0000000
--- a/app/src/main/res/layout/activity_case_upload_quickly.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/res/drawable/ic_shangpu.xml b/app/src/main/res/drawable/ic_shangpu.xml
new file mode 100644
index 0000000..053e5ba
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shangpu.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml
deleted file mode 100644
index fc1a5af..0000000
--- a/app/src/main/res/layout/activity_case_upload.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_case_upload_quickly.xml b/app/src/main/res/layout/activity_case_upload_quickly.xml
deleted file mode 100644
index 7ea1589..0000000
--- a/app/src/main/res/layout/activity_case_upload_quickly.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_change_shop.xml b/app/src/main/res/layout/activity_change_shop.xml
new file mode 100644
index 0000000..aec5147
--- /dev/null
+++ b/app/src/main/res/layout/activity_change_shop.xml
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/res/drawable/ic_shangpu.xml b/app/src/main/res/drawable/ic_shangpu.xml
new file mode 100644
index 0000000..053e5ba
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shangpu.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml
deleted file mode 100644
index fc1a5af..0000000
--- a/app/src/main/res/layout/activity_case_upload.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_case_upload_quickly.xml b/app/src/main/res/layout/activity_case_upload_quickly.xml
deleted file mode 100644
index 7ea1589..0000000
--- a/app/src/main/res/layout/activity_case_upload_quickly.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_change_shop.xml b/app/src/main/res/layout/activity_change_shop.xml
new file mode 100644
index 0000000..aec5147
--- /dev/null
+++ b/app/src/main/res/layout/activity_change_shop.xml
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_package.xml b/app/src/main/res/layout/activity_package.xml
deleted file mode 100644
index 48d3cfe..0000000
--- a/app/src/main/res/layout/activity_package.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/res/drawable/ic_shangpu.xml b/app/src/main/res/drawable/ic_shangpu.xml
new file mode 100644
index 0000000..053e5ba
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shangpu.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml
deleted file mode 100644
index fc1a5af..0000000
--- a/app/src/main/res/layout/activity_case_upload.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_case_upload_quickly.xml b/app/src/main/res/layout/activity_case_upload_quickly.xml
deleted file mode 100644
index 7ea1589..0000000
--- a/app/src/main/res/layout/activity_case_upload_quickly.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_change_shop.xml b/app/src/main/res/layout/activity_change_shop.xml
new file mode 100644
index 0000000..aec5147
--- /dev/null
+++ b/app/src/main/res/layout/activity_change_shop.xml
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_package.xml b/app/src/main/res/layout/activity_package.xml
deleted file mode 100644
index 48d3cfe..0000000
--- a/app/src/main/res/layout/activity_package.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_upload_case.xml b/app/src/main/res/layout/activity_upload_case.xml
new file mode 100644
index 0000000..fc1a5af
--- /dev/null
+++ b/app/src/main/res/layout/activity_upload_case.xml
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/res/drawable/ic_shangpu.xml b/app/src/main/res/drawable/ic_shangpu.xml
new file mode 100644
index 0000000..053e5ba
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shangpu.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml
deleted file mode 100644
index fc1a5af..0000000
--- a/app/src/main/res/layout/activity_case_upload.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_case_upload_quickly.xml b/app/src/main/res/layout/activity_case_upload_quickly.xml
deleted file mode 100644
index 7ea1589..0000000
--- a/app/src/main/res/layout/activity_case_upload_quickly.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_change_shop.xml b/app/src/main/res/layout/activity_change_shop.xml
new file mode 100644
index 0000000..aec5147
--- /dev/null
+++ b/app/src/main/res/layout/activity_change_shop.xml
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_package.xml b/app/src/main/res/layout/activity_package.xml
deleted file mode 100644
index 48d3cfe..0000000
--- a/app/src/main/res/layout/activity_package.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_upload_case.xml b/app/src/main/res/layout/activity_upload_case.xml
new file mode 100644
index 0000000..fc1a5af
--- /dev/null
+++ b/app/src/main/res/layout/activity_upload_case.xml
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_upload_case_quickly.xml b/app/src/main/res/layout/activity_upload_case_quickly.xml
new file mode 100644
index 0000000..7ea1589
--- /dev/null
+++ b/app/src/main/res/layout/activity_upload_case_quickly.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08b8134..b420c07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
new file mode 100644
index 0000000..fd56f29
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IShopChangeModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface IShopChangeModel {
+ Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone, String images);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
new file mode 100644
index 0000000..68afc60
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ShopChangeModelImpl.java
@@ -0,0 +1,55 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+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 ShopChangeModelImpl implements IShopChangeModel {
+
+ private OnShopChangeListener listener;
+
+ public ShopChangeModelImpl(OnShopChangeListener changeListener) {
+ this.listener = changeListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnShopChangeListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String merchantId, String merchantName, String contactName,
+ String contactPhone, String images) {
+ Observable observable = RetrofitServiceManager.getShopChangeResult(merchantId,
+ merchantName, contactName, contactPhone, images);
+ 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) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
new file mode 100644
index 0000000..e3fea71
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IShopChangePresenter.java
@@ -0,0 +1,8 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface IShopChangePresenter {
+ void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
new file mode 100644
index 0000000..a250e77
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ShopChangePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.ShopChangeModelImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+
+public class ShopChangePresenterImpl extends BasePresenter implements IShopChangePresenter, ShopChangeModelImpl.OnShopChangeListener {
+
+ private IShopChangeView view;
+ private ShopChangeModelImpl actionModel;
+
+ public ShopChangePresenterImpl(IShopChangeView shopChangeView) {
+ this.view = shopChangeView;
+ actionModel = new ShopChangeModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String merchantId, String merchantName, String contactName, String contactPhone,
+ String images) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(merchantId, merchantName, contactName, contactPhone, images));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainChangeResult(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/view/IShopChangeView.java b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
new file mode 100644
index 0000000..ac48457
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IShopChangeView.java
@@ -0,0 +1,13 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface IShopChangeView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainChangeResult(ActionResultBean resultBean);
+
+ void obtainDataFail();
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index c589260..c4ac9dd 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -274,7 +274,7 @@
//设置dialog列表
menuDialogBuilder.setTitle("请选择商户");
for (ShopFeatureBean featureBean : shopBeans) {
- menuDialogBuilder.addItem(featureBean.getObjectid() + "(" + featureBean.getDutyname() + ")", new DialogInterface.OnClickListener() {
+ menuDialogBuilder.addItem(featureBean.getDutyname(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
index 2537700..3e42c8a 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -137,7 +137,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload;
+ return R.layout.activity_upload_case;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
index b5abea4..88a41e6 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java
@@ -78,13 +78,13 @@
private ShopCaseSubmitPresenterImpl shopCaseSubmitPresenter;
private ImageRecycleViewAdapter imageAdapter;
private QMUITipDialog submitDialog;
- private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private ArrayList realPaths = new ArrayList<>();//真实图片路径
private List mediaList = new ArrayList<>();//上传到服务器的数据集
private String gridId, shopID;
@Override
public int initLayoutView() {
- return R.layout.activity_package;
+ return R.layout.activity_upload_package;
}
@Override
@@ -340,4 +340,15 @@
public void obtainUploadVideoResult(ActionResultBean resultBean) {
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopCaseSubmitPresenter != null) {
+ shopCaseSubmitPresenter.disposeRetrofitRequest();
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
index e7d5898..ee3d7bf 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java
@@ -98,7 +98,7 @@
@Override
public int initLayoutView() {
- return R.layout.activity_case_upload_quickly;
+ return R.layout.activity_upload_case_quickly;
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
new file mode 100644
index 0000000..f10e763
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java
@@ -0,0 +1,322 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.presenter.ShopChangePresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.IShopChangeView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+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.config.PictureMimeType;
+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 com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class ChangeShopInfoActivity extends BaseCaseActivity implements View.OnClickListener,
+ IUploadFileView, IShopChangeView {
+
+ private static final String TAG = "ChangeShopInfoActivity";
+ private Context context = ChangeShopInfoActivity.this;
+ @BindView(R.id.shopView)
+ TextView shopView;
+ @BindView(R.id.communityNameView)
+ TextView communityNameView;
+ @BindView(R.id.shopLocationView)
+ EditText shopLocationView;
+ @BindView(R.id.shopKeeperView)
+ EditText shopKeeperView;
+ @BindView(R.id.phoneNumberView)
+ EditText phoneNumberView;
+ @BindView(R.id.selectedResultView)
+ RecyclerView selectedResultView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private ShopChangePresenterImpl shopChangePresenter;
+ private QMUITipDialog submitDialog;
+ private ImageRecycleViewAdapter imageAdapter;
+ private String merchantId;//商户id
+ private String merchantName;
+ private ArrayList realPaths = new ArrayList<>();//真是图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ @Override
+ protected String setTitleName() {
+ return "商铺变更";
+ }
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_change_shop;
+ }
+
+ @Override
+ public void initData() {
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ shopChangePresenter = new ShopChangePresenterImpl(this);
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("处理中,请稍后")
+ .create();
+ imageAdapter = new ImageRecycleViewAdapter(this);
+ selectedResultView.setLayoutManager(new GridLayoutManager(this, 2));
+ selectedResultView.addItemDecoration(new ItemDecorationSpace());
+ selectedResultView.setAdapter(imageAdapter);
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @OnClick({R.id.shopLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.shopLayout:
+ Intent intent = new Intent(this, ArcGISMapActivity.class);
+ //因为商铺变更和三包上报需要的属性一致,所以传相同的字段到地图模块,获取相同的属性
+ intent.putExtra("type", "三包上报");
+ startActivityForResult(intent, Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .setCanceledOnTouchOutside(false)
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String phoneNumber = phoneNumberView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(phoneNumber)) {
+ ToastHelper.showToast("电话号码还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (StringHelper.isPhoneNumber(phoneNumber)) {
+ String shopLocation = shopLocationView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopLocation)) {
+ ToastHelper.showToast("店铺地址还未填写", ToastHelper.WARING);
+ return;
+ }
+ String shopKeeper = shopKeeperView.getText().toString().trim().replace(" ", "");
+ if (TextUtils.isEmpty(shopKeeper)) {
+ ToastHelper.showToast("店主名还未填写", ToastHelper.WARING);
+ return;
+ }
+ if (imageAdapter.getItemCount() != 2) {
+ ToastHelper.showToast("必须选择两张图片", ToastHelper.WARING);
+ return;
+ }
+ shopChangePresenter.onReadyRetrofitRequest(merchantId, merchantName, shopKeeper, phoneNumber, StringHelper.reformatURL(mediaList));
+ } else {
+ ToastHelper.showToast("电话号码格式不对", ToastHelper.WARING);
+ }
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .isWeChatStyle(true)
+ .isCamera(false)
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .isCompress(true)
+ .compressQuality(90)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
+ }
+ String community = data.getStringExtra("community");
+ merchantName = data.getStringExtra("shopName");
+ merchantId = data.getStringExtra("shopID");
+
+ communityNameView.setText(community);
+ shopView.setText(merchantName);
+ shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor));
+ break;
+ 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 showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.dismiss();
+ }
+
+ @Override
+ public void obtainChangeResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("提交成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("提交失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @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
+ int sumItemCount = imageAdapter.getItemCount() + 1;//每上传一张图片,图片总数都是在原有的基础上+1
+ if (sumItemCount <= 2) {
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ imageAdapter.setMediaList(realPaths);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ OtherUtils.showBigImage(context, position, realPaths);
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ mediaList.remove(position);
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ } else {
+ ToastHelper.showToast("最多只能上传2张图片", ToastHelper.WARING);
+ }
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainDataFail() {
+ ToastHelper.showToast("操作失败", ToastHelper.ERROR);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (shopChangePresenter != null) {
+ shopChangePresenter.disposeRetrofitRequest();
+ }
+ }
+}
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 17b866e..da95e27 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
@@ -26,6 +26,7 @@
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.DataAnalysisActivity;
import com.casic.dcms.ui.OvertimeCaseActivity;
import com.casic.dcms.ui.PackageHandleActivity;
@@ -153,6 +154,9 @@
case "三包处置":
intent.setClass(context, PackageHandleActivity.class);
break;
+ case "商铺变更":
+ intent.setClass(context, ChangeShopInfoActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
index 1c77ddd..f857ebb 100644
--- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java
@@ -246,6 +246,8 @@
return R.drawable.ic_toilet;
case "三包处置":
return R.drawable.ic_sanbao;
+ case "商铺变更":
+ return R.drawable.ic_shangpu;
default:
return R.mipmap.app_logo;
}
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 72d1965..4063d6a 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
@@ -514,4 +514,20 @@
@Field("punishRemarks") String punishRemarks,
@Field("punishTime") String punishTime,
@Field("punishImage") String punishImage);
+
+ /**
+ * 商铺变更
+ *
+ * http://111.198.10.15:11409/change/apply
+ */
+ @FormUrlEncoded
+ @POST("/shop/change/apply")
+ Observable changeShopInfo(@Header("token") String token,
+ @Field("merchantId") String merchantId,
+ @Field("rentStatus") String rentStatus,
+ @Field("merchantName") String merchantName,
+ @Field("contactName") String contactName,
+ @Field("contactPhone") String contactPhone,
+ @Field("images") String images,
+ @Field("applySource") String applySource);
}
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 1c45c05..080cb61 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
@@ -546,4 +546,16 @@
return service.handlePackageCase(AuthenticationHelper.getToken(), id, punishType, punishRemarks,
punishTime, punishImage);
}
+
+ /**
+ * 商铺变更
+ */
+ public static Observable getShopChangeResult(String merchantId, String merchantName,
+ String contactName, String contactPhone,
+ String images) {
+ Retrofit retrofit = createRetrofit();
+ RetrofitService service = retrofit.create(RetrofitService.class);
+ return service.changeShopInfo(AuthenticationHelper.getToken(), merchantId, "1", merchantName,
+ contactName, contactPhone, images, "1");
+ }
}
diff --git a/app/src/main/res/drawable/ic_shangpu.xml b/app/src/main/res/drawable/ic_shangpu.xml
new file mode 100644
index 0000000..053e5ba
--- /dev/null
+++ b/app/src/main/res/drawable/ic_shangpu.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml
deleted file mode 100644
index fc1a5af..0000000
--- a/app/src/main/res/layout/activity_case_upload.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_case_upload_quickly.xml b/app/src/main/res/layout/activity_case_upload_quickly.xml
deleted file mode 100644
index 7ea1589..0000000
--- a/app/src/main/res/layout/activity_case_upload_quickly.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_change_shop.xml b/app/src/main/res/layout/activity_change_shop.xml
new file mode 100644
index 0000000..aec5147
--- /dev/null
+++ b/app/src/main/res/layout/activity_change_shop.xml
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_package.xml b/app/src/main/res/layout/activity_package.xml
deleted file mode 100644
index 48d3cfe..0000000
--- a/app/src/main/res/layout/activity_package.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_upload_case.xml b/app/src/main/res/layout/activity_upload_case.xml
new file mode 100644
index 0000000..fc1a5af
--- /dev/null
+++ b/app/src/main/res/layout/activity_upload_case.xml
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_upload_case_quickly.xml b/app/src/main/res/layout/activity_upload_case_quickly.xml
new file mode 100644
index 0000000..7ea1589
--- /dev/null
+++ b/app/src/main/res/layout/activity_upload_case_quickly.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..7f2f841
--- /dev/null
+++ b/app/src/main/res/layout/activity_upload_package.xml
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file