diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
index af804fa..e0f6a92 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
-
public interface ICaseSubmitPresenter {
- void onReadyRetrofitRequest(SubmitInfoBean infoBean);
+ void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
void disposeRetrofitRequest();
}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
index af804fa..e0f6a92 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
-
public interface ICaseSubmitPresenter {
- void onReadyRetrofitRequest(SubmitInfoBean infoBean);
+ void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
void disposeRetrofitRequest();
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
new file mode 100644
index 0000000..8a20229
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadAudioPresenter {
+ void onReadyRetrofitRequest(File audio);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
index af804fa..e0f6a92 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
-
public interface ICaseSubmitPresenter {
- void onReadyRetrofitRequest(SubmitInfoBean infoBean);
+ void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
void disposeRetrofitRequest();
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
new file mode 100644
index 0000000..8a20229
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadAudioPresenter {
+ void onReadyRetrofitRequest(File audio);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
new file mode 100644
index 0000000..f417fff
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadImagePresenter {
+ void onReadyRetrofitRequest(File image);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
index af804fa..e0f6a92 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
-
public interface ICaseSubmitPresenter {
- void onReadyRetrofitRequest(SubmitInfoBean infoBean);
+ void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
void disposeRetrofitRequest();
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
new file mode 100644
index 0000000..8a20229
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadAudioPresenter {
+ void onReadyRetrofitRequest(File audio);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
new file mode 100644
index 0000000..f417fff
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadImagePresenter {
+ void onReadyRetrofitRequest(File image);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
new file mode 100644
index 0000000..51f0e0b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadAudioModelImpl;
+import com.casic.dcms.mvp.view.IUploadAudioView;
+
+import java.io.File;
+
+public class UploadAudioPresenterImpl extends BasePresenter implements IUploadAudioPresenter, UploadAudioModelImpl.OnUploadAudioListener {
+
+ private IUploadAudioView view;
+ private UploadAudioModelImpl actionModel;
+
+ public UploadAudioPresenterImpl(IUploadAudioView uploadAudioView) {
+ this.view = uploadAudioView;
+ actionModel = new UploadAudioModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File audio) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(audio));
+ }
+
+ @Override
+ public void onSuccess(UploadAudioResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
index af804fa..e0f6a92 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
-
public interface ICaseSubmitPresenter {
- void onReadyRetrofitRequest(SubmitInfoBean infoBean);
+ void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
void disposeRetrofitRequest();
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
new file mode 100644
index 0000000..8a20229
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadAudioPresenter {
+ void onReadyRetrofitRequest(File audio);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
new file mode 100644
index 0000000..f417fff
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadImagePresenter {
+ void onReadyRetrofitRequest(File image);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
new file mode 100644
index 0000000..51f0e0b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadAudioModelImpl;
+import com.casic.dcms.mvp.view.IUploadAudioView;
+
+import java.io.File;
+
+public class UploadAudioPresenterImpl extends BasePresenter implements IUploadAudioPresenter, UploadAudioModelImpl.OnUploadAudioListener {
+
+ private IUploadAudioView view;
+ private UploadAudioModelImpl actionModel;
+
+ public UploadAudioPresenterImpl(IUploadAudioView uploadAudioView) {
+ this.view = uploadAudioView;
+ actionModel = new UploadAudioModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File audio) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(audio));
+ }
+
+ @Override
+ public void onSuccess(UploadAudioResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java
new file mode 100644
index 0000000..b1edae8
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadImageModelImpl;
+import com.casic.dcms.mvp.view.IUploadImageView;
+
+import java.io.File;
+
+public class UploadImagePresenterImpl extends BasePresenter implements IUploadImagePresenter, UploadImageModelImpl.OnUploadImageListener {
+
+ private IUploadImageView view;
+ private UploadImageModelImpl actionModel;
+
+ public UploadImagePresenterImpl(IUploadImageView uploadImageView) {
+ this.view = uploadImageView;
+ actionModel = new UploadImageModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File image) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(image));
+ }
+
+ @Override
+ public void onSuccess(UploadImageResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
index af804fa..e0f6a92 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
-
public interface ICaseSubmitPresenter {
- void onReadyRetrofitRequest(SubmitInfoBean infoBean);
+ void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
void disposeRetrofitRequest();
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
new file mode 100644
index 0000000..8a20229
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadAudioPresenter {
+ void onReadyRetrofitRequest(File audio);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
new file mode 100644
index 0000000..f417fff
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadImagePresenter {
+ void onReadyRetrofitRequest(File image);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
new file mode 100644
index 0000000..51f0e0b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadAudioModelImpl;
+import com.casic.dcms.mvp.view.IUploadAudioView;
+
+import java.io.File;
+
+public class UploadAudioPresenterImpl extends BasePresenter implements IUploadAudioPresenter, UploadAudioModelImpl.OnUploadAudioListener {
+
+ private IUploadAudioView view;
+ private UploadAudioModelImpl actionModel;
+
+ public UploadAudioPresenterImpl(IUploadAudioView uploadAudioView) {
+ this.view = uploadAudioView;
+ actionModel = new UploadAudioModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File audio) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(audio));
+ }
+
+ @Override
+ public void onSuccess(UploadAudioResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java
new file mode 100644
index 0000000..b1edae8
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadImageModelImpl;
+import com.casic.dcms.mvp.view.IUploadImageView;
+
+import java.io.File;
+
+public class UploadImagePresenterImpl extends BasePresenter implements IUploadImagePresenter, UploadImageModelImpl.OnUploadImageListener {
+
+ private IUploadImageView view;
+ private UploadImageModelImpl actionModel;
+
+ public UploadImagePresenterImpl(IUploadImageView uploadImageView) {
+ this.view = uploadImageView;
+ actionModel = new UploadImageModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File image) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(image));
+ }
+
+ @Override
+ public void onSuccess(UploadImageResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java
new file mode 100644
index 0000000..d1e2115
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+
+public interface IUploadAudioView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUploadResult(UploadAudioResultBean resultBean);
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
index af804fa..e0f6a92 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
-
public interface ICaseSubmitPresenter {
- void onReadyRetrofitRequest(SubmitInfoBean infoBean);
+ void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
void disposeRetrofitRequest();
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
new file mode 100644
index 0000000..8a20229
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadAudioPresenter {
+ void onReadyRetrofitRequest(File audio);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
new file mode 100644
index 0000000..f417fff
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadImagePresenter {
+ void onReadyRetrofitRequest(File image);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
new file mode 100644
index 0000000..51f0e0b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadAudioModelImpl;
+import com.casic.dcms.mvp.view.IUploadAudioView;
+
+import java.io.File;
+
+public class UploadAudioPresenterImpl extends BasePresenter implements IUploadAudioPresenter, UploadAudioModelImpl.OnUploadAudioListener {
+
+ private IUploadAudioView view;
+ private UploadAudioModelImpl actionModel;
+
+ public UploadAudioPresenterImpl(IUploadAudioView uploadAudioView) {
+ this.view = uploadAudioView;
+ actionModel = new UploadAudioModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File audio) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(audio));
+ }
+
+ @Override
+ public void onSuccess(UploadAudioResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java
new file mode 100644
index 0000000..b1edae8
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadImageModelImpl;
+import com.casic.dcms.mvp.view.IUploadImageView;
+
+import java.io.File;
+
+public class UploadImagePresenterImpl extends BasePresenter implements IUploadImagePresenter, UploadImageModelImpl.OnUploadImageListener {
+
+ private IUploadImageView view;
+ private UploadImageModelImpl actionModel;
+
+ public UploadImagePresenterImpl(IUploadImageView uploadImageView) {
+ this.view = uploadImageView;
+ actionModel = new UploadImageModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File image) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(image));
+ }
+
+ @Override
+ public void onSuccess(UploadImageResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java
new file mode 100644
index 0000000..d1e2115
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+
+public interface IUploadAudioView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUploadResult(UploadAudioResultBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUploadImageView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUploadImageView.java
new file mode 100644
index 0000000..ed80ab4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IUploadImageView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+
+public interface IUploadImageView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUploadResult(UploadImageResultBean resultBean);
+}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadImageResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
index 1641026..c7191e4 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseSubmitPresenterImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.mvp.BasePresenter;
import com.casic.dcms.mvp.model.CaseSubmitModelImpl;
@@ -22,9 +21,15 @@
}
@Override
- public void onReadyRetrofitRequest(SubmitInfoBean infoBean) {
+ public void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
view.showProgress();
- addSubscription(actionModel.sendRetrofitRequest(infoBean));
+ addSubscription(actionModel.sendRetrofitRequest(isNeedVerify, isNeedRevisit, longitude, latitude,
+ source, caseLevel, eorc, casetypeCode, casetypeDetailCode, areaCode, streetCode,
+ communityCode, gridId, description, fieldintro, fileIdVerify, bzhours, bzminis));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
index af804fa..e0f6a92 100644
--- a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseSubmitPresenter.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.presenter;
-import com.casic.dcms.bean.SubmitInfoBean;
-
public interface ICaseSubmitPresenter {
- void onReadyRetrofitRequest(SubmitInfoBean infoBean);
+ void onReadyRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
void disposeRetrofitRequest();
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
new file mode 100644
index 0000000..8a20229
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadAudioPresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadAudioPresenter {
+ void onReadyRetrofitRequest(File audio);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
new file mode 100644
index 0000000..f417fff
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IUploadImagePresenter.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.presenter;
+
+import java.io.File;
+
+public interface IUploadImagePresenter {
+ void onReadyRetrofitRequest(File image);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
new file mode 100644
index 0000000..51f0e0b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadAudioPresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadAudioModelImpl;
+import com.casic.dcms.mvp.view.IUploadAudioView;
+
+import java.io.File;
+
+public class UploadAudioPresenterImpl extends BasePresenter implements IUploadAudioPresenter, UploadAudioModelImpl.OnUploadAudioListener {
+
+ private IUploadAudioView view;
+ private UploadAudioModelImpl actionModel;
+
+ public UploadAudioPresenterImpl(IUploadAudioView uploadAudioView) {
+ this.view = uploadAudioView;
+ actionModel = new UploadAudioModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File audio) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(audio));
+ }
+
+ @Override
+ public void onSuccess(UploadAudioResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java
new file mode 100644
index 0000000..b1edae8
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UploadImagePresenterImpl.java
@@ -0,0 +1,41 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.UploadImageModelImpl;
+import com.casic.dcms.mvp.view.IUploadImageView;
+
+import java.io.File;
+
+public class UploadImagePresenterImpl extends BasePresenter implements IUploadImagePresenter, UploadImageModelImpl.OnUploadImageListener {
+
+ private IUploadImageView view;
+ private UploadImageModelImpl actionModel;
+
+ public UploadImagePresenterImpl(IUploadImageView uploadImageView) {
+ this.view = uploadImageView;
+ actionModel = new UploadImageModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(File image) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(image));
+ }
+
+ @Override
+ public void onSuccess(UploadImageResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUploadResult(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java
new file mode 100644
index 0000000..d1e2115
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IUploadAudioView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+
+public interface IUploadAudioView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUploadResult(UploadAudioResultBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUploadImageView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUploadImageView.java
new file mode 100644
index 0000000..ed80ab4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/IUploadImageView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+
+public interface IUploadImageView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUploadResult(UploadImageResultBean resultBean);
+}
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 c3436a2..241c810 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java
@@ -6,13 +6,10 @@
import android.content.Intent;
import android.location.Address;
import android.location.Geocoder;
-import android.location.Location;
import android.media.MediaRecorder;
import android.text.TextUtils;
-import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
-import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ImageView;
@@ -22,30 +19,37 @@
import androidx.core.content.ContextCompat;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.ImageGridViewAdapter;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.CaseLargeClassBean;
import com.casic.dcms.bean.CaseSmallClassBean;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.bean.UploadImageResultBean;
import com.casic.dcms.mvp.presenter.CaseLargeClassPresenterImpl;
import com.casic.dcms.mvp.presenter.CaseSmallClassPresenterImpl;
import com.casic.dcms.mvp.presenter.CaseSubmitPresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadAudioPresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
import com.casic.dcms.mvp.view.ICaseLargeClassView;
import com.casic.dcms.mvp.view.ICaseSmallClassView;
import com.casic.dcms.mvp.view.ICaseSubmitCaseView;
+import com.casic.dcms.mvp.view.IUploadAudioView;
+import com.casic.dcms.mvp.view.IUploadImageView;
import com.casic.dcms.utils.ColorHelper;
+import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.FileUtils;
import com.casic.dcms.utils.GlideLoadEngine;
-import com.casic.dcms.utils.LocationHelper;
+import com.casic.dcms.utils.SaveKeyValues;
+import com.casic.dcms.utils.StatusBarColorUtil;
import com.casic.dcms.utils.ToastHelper;
-import com.casic.dcms.utils.callback.ILocationListener;
import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.gyf.immersionbar.ImmersionBar;
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.qmuiteam.qmui.widget.QMUITopBarLayout;
+import com.mapbox.mapboxsdk.geometry.LatLng;
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
@@ -53,8 +57,8 @@
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Type;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@@ -62,13 +66,13 @@
import butterknife.OnClick;
public class CaseUploadActivity extends BaseActivity implements View.OnClickListener, View.OnTouchListener,
- ICaseLargeClassView, ICaseSmallClassView, ICaseSubmitCaseView {
+ ICaseLargeClassView, ICaseSmallClassView, ICaseSubmitCaseView, IUploadAudioView, IUploadImageView {
private static final String TAG = "CaseUploadActivity";
private Context context = this;
- @BindView(R.id.caseTopLayout)
- QMUITopBarLayout caseTopLayout;
+ @BindView(R.id.leftBackView)
+ ImageView leftBackView;
@BindView(R.id.caseClassView)
TextView caseClassView;
@@ -100,16 +104,20 @@
private MediaRecorder mediaRecorder;
private File outputFile;
- private List mediaList = new ArrayList<>();//拍照或者视频数据集
private CaseLargeClassPresenterImpl caseLargeClassPresenter;
private CaseSmallClassPresenterImpl caseSmallClassPresenter;
private CaseSubmitPresenterImpl caseSubmitPresenter;
private List largeClassBeans;
private List smallClassBeans;
private QMUITipDialog submitDialog;
- private SubmitInfoBean infoBean;
- private HashMap locationMap;
private Gson gson;
+ private List selectList = new ArrayList<>();
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private List mediaList = new ArrayList<>();//服务器返回的拍照或者视频数据集
+ private String eorc;
+ private String typeCode;
+ private String typeDetailCode;
+ private UploadAudioPresenterImpl uploadAudioPresenter;
@Override
public int initLayoutView() {
@@ -118,9 +126,9 @@
@Override
protected void setupTopBarLayout() {
- caseTopLayout.setTitle("案卷上报").setTextColor(ContextCompat.getColor(this, R.color.white));
- caseTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
- caseTopLayout.addLeftImageButton(R.drawable.ic_left_white, 0).setOnClickListener(new View.OnClickListener() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+ leftBackView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
@@ -131,29 +139,6 @@
@Override
public void initData() {
gson = new Gson();
- //进入页面即创建提交表单的实体
- infoBean = new SubmitInfoBean();
- infoBean.setIsNeedRevisit("0");
- infoBean.setIsNeedVerify("0");
- infoBean.setCaseLevel("1");
- infoBean.setSource("1");//案卷上报
- infoBean.setAreaCode("崇仁县");
- infoBean.setStreetCode("巴山镇");
- //以下暂未确定,后期需要换成从地图获取
- infoBean.setCommunityCode("361024");
- infoBean.setGridId("361024100");
- //以下非必选参数
- infoBean.setFileIdVerify("");
- infoBean.setBzhours("");
- infoBean.setBzminis("");
- //定位点经纬度
- locationMap = new HashMap<>();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
- @Override
- public void onLocationGet(Location location) {
- updateLocation(location);
- }
- });
initMediaRecorder();
largeClassBeans = new ArrayList<>();
smallClassBeans = new ArrayList<>();
@@ -162,35 +147,10 @@
caseSubmitPresenter = new CaseSubmitPresenterImpl(this);
submitDialog = new QMUITipDialog.Builder(this)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
- .setTipWord("案卷提交中,请稍后")
+ .setTipWord("提交中,请稍后")
.create();
- }
-
- private void updateLocation(Location location) {
- if (location != null) {
- double longitude = location.getLongitude();
- longitudeView.setText(String.valueOf(longitude));
- double latitude = location.getLatitude();
- latitudeView.setText(String.valueOf(latitude));
- Geocoder geoCoder = new Geocoder(this, Locale.CHINESE);
- StringBuffer buffer = new StringBuffer();
- try {
- Address address = geoCoder.getFromLocation(latitude, longitude, 1).get(0);
- buffer.append(address.getSubLocality())
- .append(address.getSubAdminArea())
- .append(address.getThoroughfare())
- .append(address.getSubThoroughfare());
-// infoBean.setAreaCode(address.getSubLocality());
-// infoBean.setStreetCode(address.getSubAdminArea());
- //保存经纬度,供地图页面定位
- locationMap.put("longitude", longitude);
- locationMap.put("latitude", latitude);
- } catch (IOException e) {
- buffer.append("解析详细地址失败");
- e.printStackTrace();
- }
- communityNameView.setText(buffer);
- }
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ uploadAudioPresenter = new UploadAudioPresenterImpl(this);
}
/**
@@ -220,7 +180,7 @@
submitButton.setChangeAlphaWhenPress(true);
}
- @OnClick({R.id.caseClassLayout, R.id.caseLargeClassLayout, R.id.caseSmallClassLayout, R.id.locationMapView, R.id.addImageView, R.id.submitButton})
+ @OnClick({R.id.caseClassLayout, R.id.caseLargeClassLayout, R.id.caseSmallClassLayout, R.id.locationMapView, R.id.audioUploadView, R.id.addImageView, R.id.imageUploadView, R.id.submitButton})
@Override
public void onClick(View v) {
switch (v.getId()) {
@@ -238,8 +198,7 @@
caseClassView.setTextColor(ColorHelper.getResourcesColor(context, R.color.textColor));
//获取案卷大类
- String eorc = String.valueOf(position + 1);
- infoBean.setEorc(eorc);
+ eorc = String.valueOf(position + 1);
caseLargeClassPresenter.onReadyRetrofitRequest(eorc);
}
}).build().show();
@@ -257,7 +216,7 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
- infoBean.setCasetypeDetailCode(largeClassBeans.get(position).getTypeCode());
+ typeCode = largeClassBeans.get(position).getTypeCode();
caseLargeClassView.setText(tag);
caseLargeClassView.setTextColor(ColorHelper.getResourcesColor(context, R.color.textColor));
@@ -285,7 +244,7 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
- infoBean.setCasetypeDetailCode(smallClassBeans.get(position).getTypeDetailCode());
+ typeDetailCode = smallClassBeans.get(position).getTypeDetailCode();
caseSmallClassView.setText(tag);
caseSmallClassView.setTextColor(ColorHelper.getResourcesColor(context, R.color.textColor));
@@ -295,9 +254,24 @@
}
break;
case R.id.locationMapView:
- Intent intent = new Intent(this, MapBoxActivity.class);
- intent.putExtra("locationMap", locationMap);
- startActivity(intent);
+ startActivityForResult(new Intent(this, MapBoxActivity.class), Constant.REQUEST_MAP_CODE);
+ break;
+ case R.id.audioUploadView:
+ if (!caseDetailEditView.getText().toString().contains("AUD_")) {
+ ToastHelper.showToast("操作失败,不是音频文件,无法上传!", ToastHelper.ERROR);
+ return;
+ }
+ uploadAudioPresenter.onReadyRetrofitRequest(new File(outputFile.getAbsolutePath()));
+ break;
+ case R.id.imageUploadView:
+ if (selectList == null || selectList.size() == 0) {
+ ToastHelper.showToast("操作失败,没有选择任何图片,无法上传!", ToastHelper.ERROR);
+ return;
+ }
+ for (LocalMedia media : selectList) {
+ String mediaCompressPath = media.getCompressPath();
+ uploadImagePresenter.onReadyRetrofitRequest(new File(mediaCompressPath));
+ }
break;
case R.id.addImageView:
new QMUIDialog.MenuDialogBuilder(this)
@@ -341,6 +315,10 @@
.openGallery(PictureMimeType.ofImage())
.imageEngine(GlideLoadEngine.createGlideEngine())
.maxSelectNum(3)
+ .isCompress(true)
+ .compressQuality(80)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .selectionData(selectList)
.forResult(PictureConfig.CHOOSE_REQUEST);
}
@@ -349,6 +327,10 @@
.openCamera(PictureMimeType.ofImage())
.imageEngine(GlideLoadEngine.createGlideEngine())
.maxSelectNum(1)
+ .isCompress(true)
+ .compressQuality(80)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .selectionData(selectList)
.forResult(PictureConfig.REQUEST_CAMERA);
}
@@ -357,6 +339,7 @@
.openCamera(PictureMimeType.ofVideo())
.imageEngine(GlideLoadEngine.createGlideEngine())
.maxSelectNum(1)
+ .videoMaxSecond(5 * 60)
.forResult(PictureConfig.REQUEST_CAMERA);
}
@@ -366,60 +349,22 @@
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
- List selectList = PictureSelector.obtainMultipleResult(data);
-// Log.d(TAG, "onActivityResult: " + new Gson().toJson(selectList));
- if (selectList != null && selectList.size() > 0) {
- addImageView.setVisibility(View.GONE);
- selectedResultView.setVisibility(View.VISIBLE);
+ selectList = PictureSelector.obtainMultipleResult(data);
- ImageGridViewAdapter imageGridViewAdapter = new ImageGridViewAdapter(this, selectList);
- selectedResultView.setAdapter(imageGridViewAdapter);
- //九宫格点击事件
- selectedResultView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- //查看大图
- showBigImage(selectList.get(position).getRealPath());
- }
- });
- //删除按钮点击事件
- imageGridViewAdapter.setOnDeleteClickListener(new ImageGridViewAdapter.OnDeleteItemClickListener() {
- @Override
- public void onClick(int position) {
- selectList.remove(position);
- imageGridViewAdapter.notifyDataSetChanged();
- if (selectList.size() == 0) {
- selectedResultView.setVisibility(View.GONE);
- addImageView.setVisibility(View.VISIBLE);
- } else {
- selectedResultView.setVisibility(View.VISIBLE);
- addImageView.setVisibility(View.GONE);
- }
- }
- });
- } else {
- addImageView.setVisibility(View.VISIBLE);
- selectedResultView.setVisibility(View.GONE);
- }
break;
case PictureConfig.REQUEST_CAMERA:
LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0);
- mediaList.add(localMedia);
- //重排序
- reOrderList(mediaList);
- //TODO 未完成 需要判断是照片还是视频
-
- if (mediaList.size() == 3) {
- addImageView.setVisibility(View.GONE);
- selectedResultView.setVisibility(View.VISIBLE);
-
-
- Log.d(TAG, "onActivityResult: " + new Gson().toJson(localMedia));
- } else {
- addImageView.setVisibility(View.VISIBLE);
- selectedResultView.setVisibility(View.GONE);
+ break;
+ case Constant.REQUEST_MAP_CODE:
+ if (data == null) {
+ return;
}
+ String pointJson = data.getStringExtra("pointJson");
+ Type type = new TypeToken() {
+ }.getType();
+ LatLng latLng = gson.fromJson(pointJson, type);
+ updateLocation(latLng);
break;
default:
break;
@@ -427,20 +372,39 @@
}
}
- private void reOrderList(List list) {
- for (int i = 0; i < list.size(); i++) {
- LocalMedia localMedia = list.get(i);
- if (localMedia.getMimeType().equals("video/mp4")) {
- mediaList.add(0, localMedia);//视频必须放在第一个
- } else {
- mediaList.add(localMedia);
- }
+ private void updateLocation(LatLng point) {
+ double longitude = point.getLongitude();
+ longitudeView.setText(String.valueOf(longitude));
+ double latitude = point.getLatitude();
+ latitudeView.setText(String.valueOf(latitude));
+ Geocoder geoCoder = new Geocoder(this, Locale.CHINESE);
+ StringBuffer buffer = new StringBuffer();
+ try {
+ Address address = geoCoder.getFromLocation(latitude, longitude, 1).get(0);
+ buffer.append(address.getSubLocality())
+ .append(address.getSubAdminArea())
+ .append(address.getThoroughfare())
+ .append(address.getSubThoroughfare());
+ } catch (IOException e) {
+ buffer.append("解析详细地址失败");
+ e.printStackTrace();
}
+ communityNameView.setText(buffer);
+ }
+
+ private void reOrderList(List list) {
+// for (int i = 0; i < list.size(); i++) {
+// LocalMedia localMedia = list.get(i);
+// if (localMedia.getMimeType().equals("video/mp4")) {
+// mediaList.add(0, localMedia);//视频必须放在第一个
+// } else {
+// mediaList.add(localMedia);
+// }
+// }
}
private void showBigImage(String path) {
Intent intent = new Intent(this, BigPictureActivity.class);
-// intent.putExtra("mediaJson", gson.toJson(mediaList));
intent.putExtra("path", path);
startActivity(intent);
}
@@ -546,34 +510,68 @@
submitDialog.show();
}
+ @Override
+ public void obtainUploadResult(UploadAudioResultBean resultBean) {
+// Log.d(TAG, "obtainUploadResult: " + gson.toJson(resultBean));
+ if (resultBean.isSuccess()) {
+ String data = resultBean.getData().replace("\\", "/");
+ String url = SaveKeyValues.getValue(Constant.IP_KEY, "http://111.198.10.15:11409") + "/static/" + data;
+ mediaList.add(url);
+ ToastHelper.showToast("案卷音频上传成功,可以提交案卷", ToastHelper.SUCCESS);
+ } else {
+ ToastHelper.showToast("案卷音频上传失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
+ @Override
+ public void obtainUploadResult(UploadImageResultBean resultBean) {
+// Log.d(TAG, "obtainUploadResult: " + gson.toJson(resultBean));
+ if (resultBean.isSuccess()) {
+ /**
+ * 系统路径static拼接图片返回路径
+ * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ */
+ //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ String data = resultBean.getData().replace("\\", "/");
+ String url = SaveKeyValues.getValue(Constant.IP_KEY, "http://111.198.10.15:11409") + "/static/" + data;
+ mediaList.add(url);
+ ToastHelper.showToast("案卷图片上传成功,可以提交案卷", ToastHelper.SUCCESS);
+ } else {
+ ToastHelper.showToast("案卷图片上传失败,请重试", ToastHelper.ERROR);
+ }
+ }
+
/**
* 案卷提交
*/
private void submitCase() {
- infoBean.setLongitude(longitudeView.getText().toString());
- infoBean.setLatitude(latitudeView.getText().toString());
+ String longitude = longitudeView.getText().toString();
+ String latitude = latitudeView.getText().toString();
String fieldIntro = caseLocationView.getText().toString();
- if (!TextUtils.isEmpty(fieldIntro)) {
- infoBean.setFieldintro(fieldIntro);
- } else {
+ if (TextUtils.isEmpty(fieldIntro)) {
ToastHelper.showToast("案卷地点还未填写", ToastHelper.WARING);
}
String description = caseDetailEditView.getText().toString();
- if (!TextUtils.isEmpty(description)) {
- infoBean.setFieldintro(description);
- } else {
+ if (TextUtils.isEmpty(description)) {
ToastHelper.showToast("案卷情况还未填写", ToastHelper.WARING);
}
- Log.d(TAG, "submitCase: " + gson.toJson(infoBean));
- caseSubmitPresenter.onReadyRetrofitRequest(infoBean);
+ if (mediaList.size() == 0) {
+ ToastHelper.showToast("没有案卷图片,请先上传图片!", ToastHelper.WARING);
+ return;
+ }
+ caseSubmitPresenter.onReadyRetrofitRequest("0", "0", longitude, latitude,
+ "1", "1", eorc, typeCode, typeDetailCode, "崇仁县", "巴山镇",
+ "361024", "361024100", description, fieldIntro,
+ gson.toJson(mediaList), 0, 0);
}
@Override
public void obtainSubmitResult(SubmitResultBean resultBean) {
- Log.d(TAG, "obtainSubmitResult: " + gson.toJson(resultBean));
+// Log.d(TAG, "obtainSubmitResult: " + gson.toJson(resultBean));
if (resultBean.isSuccess()) {
ToastHelper.showToast("案卷提交成功", ToastHelper.SUCCESS);
+ finish();
} else {
ToastHelper.showToast("案卷提交失败,请重试", ToastHelper.ERROR);
}
@@ -596,5 +594,11 @@
if (caseSubmitPresenter != null) {
caseSubmitPresenter.disposeRetrofitRequest();
}
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (uploadAudioPresenter != null) {
+ uploadAudioPresenter.disposeRetrofitRequest();
+ }
}
}
diff --git a/app/build.gradle b/app/build.gradle
index 16111ef..33265ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,10 +70,6 @@
implementation 'com.squareup.okhttp3:logging-interceptor:4.6.0'
//官方Json解析库
implementation 'com.google.code.gson:gson:2.8.6'
- //图片选择框架
- implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
- //视频播放器
- implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
//全球可用地图MapBox
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
@@ -94,4 +90,8 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
+ //图片选择框架
+ implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
+ //视频播放器
+ implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 490d1ee..7e7f351 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,7 @@
+
mediaList;
+ private List mediaList = new ArrayList<>();
private LayoutInflater inflater;
- public ImageGridViewAdapter(Context mContext, List selectList) {
+ public ImageGridViewAdapter(Context mContext) {
this.context = mContext;
- this.mediaList = selectList;
inflater = LayoutInflater.from(context);
}
+ public void setMediaList(List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mediaList == null ? 0 : mediaList.size();
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
new file mode 100644
index 0000000..480ffcc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -0,0 +1,110 @@
+package com.casic.dcms.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.casic.dcms.R;
+import com.casic.dcms.utils.Constant;
+import com.luck.picture.lib.entity.LocalMedia;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: Pengxh
+ * @Time: 2021/4/7 17:17
+ * @Email: 290677893@qq.com
+ **/
+public class ImageRecycleViewAdapter extends RecyclerView.Adapter {
+
+ private Context context;
+ private List mediaList = new ArrayList<>();
+
+ public ImageRecycleViewAdapter(Context mContext) {
+ this.context = mContext;
+ }
+
+ public void setMediaList(@Nullable List selectList) {
+ mediaList.clear();
+ if (selectList != null) {
+ mediaList.addAll(selectList);
+ }
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_select_gridview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public int getItemCount() {
+ return Math.min(mediaList.size(), 3);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ Glide.with(context).load(mediaList.get(position).getRealPath()).into(holder.imageView);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ itemClickListener.onClick(position);
+ }
+ });
+ holder.deleteView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+ private ImageView imageView;
+ private ImageView deleteView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ deleteView = itemView.findViewById(R.id.deleteView);
+ }
+ }
+
+ private OnDeleteItemClickListener clickListener;
+
+ public interface OnDeleteItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnDeleteClickListener(OnDeleteItemClickListener deleteItemClickListener) {
+ this.clickListener = deleteItemClickListener;
+ }
+
+ private OnItemClickListener itemClickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ this.itemClickListener = listener;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
deleted file mode 100644
index f23402b..0000000
--- a/app/src/main/java/com/casic/dcms/bean/SubmitInfoBean.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.casic.dcms.bean;
-
-/**
- * @Author: Pengxh
- * @Time: 2021/4/12 14:58
- * @Email: 290677893@qq.com
- **/
-public class SubmitInfoBean {
- /**
- * @param isNeedVerify 是否需要核实,0-不需要,1-需要
- * @param isNeedRevisit 是否需要回访 ,0-不需要,1-需要
- * @param longitude 经度
- * @param latitude 纬度
- * @param source 案卷来源(字典值),案卷上报or快速上报,1-案卷上报,2-快速上报
- * @param caseLevel 案卷等级(字典值)
- * @param eorc 案卷类别(字典值),事件or部件,1-事件,2-部件
- * @param casetypeCode 案卷大类编码
- * @param casetypeDetailCode 案卷小类编码
- * @param areaCode 所属区县ID,对应AREA表的主键id
- * @param streetCode 所属街道ID,对应AREA表的主键id
- * @param communityCode 所属社区ID(预留字段,暂不维护)
- * @param gridId 万米网格ID,后期地图接入后维护
- * @param description 案件描述
- * @param fieldintro 位置描述
- * @param fileIdVerify 核实照片id,即照片路径(非必填)
- * @param bzhours 限制完成总时限(小时)(非必填)
- * @param bzminis 限制完成总时限(分)(非必填)
- */
- private String isNeedVerify;
- private String isNeedRevisit;
- private String longitude;
- private String latitude;
- private String source;
- private String caseLevel;
- private String eorc;
- private String casetypeCode;
- private String casetypeDetailCode;
- private String areaCode;
- private String streetCode;
- private String communityCode;
- private String gridId;
- private String description;
- private String fieldintro;
- private String fileIdVerify;
- private String bzhours;
- private String bzminis;
-
- public String getIsNeedVerify() {
- return isNeedVerify;
- }
-
- public void setIsNeedVerify(String isNeedVerify) {
- this.isNeedVerify = isNeedVerify;
- }
-
- public String getIsNeedRevisit() {
- return isNeedRevisit;
- }
-
- public void setIsNeedRevisit(String isNeedRevisit) {
- this.isNeedRevisit = isNeedRevisit;
- }
-
- public String getLongitude() {
- return longitude;
- }
-
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
-
- public String getLatitude() {
- return latitude;
- }
-
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getCaseLevel() {
- return caseLevel;
- }
-
- public void setCaseLevel(String caseLevel) {
- this.caseLevel = caseLevel;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getAreaCode() {
- return areaCode;
- }
-
- public void setAreaCode(String areaCode) {
- this.areaCode = areaCode;
- }
-
- public String getStreetCode() {
- return streetCode;
- }
-
- public void setStreetCode(String streetCode) {
- this.streetCode = streetCode;
- }
-
- public String getCommunityCode() {
- return communityCode;
- }
-
- public void setCommunityCode(String communityCode) {
- this.communityCode = communityCode;
- }
-
- public String getGridId() {
- return gridId;
- }
-
- public void setGridId(String gridId) {
- this.gridId = gridId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getFileIdVerify() {
- return fileIdVerify;
- }
-
- public void setFileIdVerify(String fileIdVerify) {
- this.fileIdVerify = fileIdVerify;
- }
-
- public String getBzhours() {
- return bzhours;
- }
-
- public void setBzhours(String bzhours) {
- this.bzhours = bzhours;
- }
-
- public String getBzminis() {
- return bzminis;
- }
-
- public void setBzminis(String bzminis) {
- this.bzminis = bzminis;
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
index d55a129..1428e36 100644
--- a/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
+++ b/app/src/main/java/com/casic/dcms/bean/SubmitResultBean.java
@@ -8,16 +8,14 @@
public class SubmitResultBean {
/**
- * code : 500
+ * code : 200
* data :
- * exceptionClazz :
- * message : 服务器异常
- * success : false
+ * message : 请求成功
+ * success : true
*/
private int code;
private String data;
- private String exceptionClazz;
private String message;
private boolean success;
@@ -37,14 +35,6 @@
this.data = data;
}
- public String getExceptionClazz() {
- return exceptionClazz;
- }
-
- public void setExceptionClazz(String exceptionClazz) {
- this.exceptionClazz = exceptionClazz;
- }
-
public String getMessage() {
return message;
}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
new file mode 100644
index 0000000..8b2e11e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadAudioResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadAudioResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\eaed5a1c6bdb40b99dff47aacb794c6e.m4a
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
new file mode 100644
index 0000000..ec37400
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/UploadImageResultBean.java
@@ -0,0 +1,48 @@
+package com.casic.dcms.bean;
+
+public class UploadImageResultBean {
+
+ /**
+ * code : 200.0
+ * data : 2021-04\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ * message : 请求成功
+ * success : true
+ */
+
+ private double code;
+ private String data;
+ private String message;
+ private boolean success;
+
+ public double getCode() {
+ return code;
+ }
+
+ public void setCode(double code) {
+ this.code = code;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
index 9f86e54..07e579f 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseSubmitModelImpl.java
@@ -1,6 +1,5 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
import com.casic.dcms.bean.SubmitResultBean;
import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
@@ -33,8 +32,19 @@
}
@Override
- public Subscription sendRetrofitRequest(SubmitInfoBean infoBean) {
- Observable observable = RetrofitServiceManager.submitCase(infoBean);
+ public Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit,
+ String longitude, String latitude,
+ String source, String caseLevel,
+ String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode,
+ String streetCode, String communityCode,
+ String gridId, String description,
+ String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis) {
+ Observable observable = RetrofitServiceManager.getSubmitCaseResult(isNeedVerify,
+ isNeedRevisit, longitude, latitude, source, caseLevel, eorc, casetypeCode,
+ casetypeDetailCode, areaCode, streetCode, communityCode, gridId, description,
+ fieldintro, fileIdVerify, bzhours, bzminis);
return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
@Override
public void onCompleted() {
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
index c8d7d07..5e343a8 100644
--- a/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseSubmitModel.java
@@ -1,9 +1,11 @@
package com.casic.dcms.mvp.model;
-import com.casic.dcms.bean.SubmitInfoBean;
-
import rx.Subscription;
public interface ICaseSubmitModel {
- Subscription sendRetrofitRequest(SubmitInfoBean infoBean);
+ Subscription sendRetrofitRequest(String isNeedVerify, String isNeedRevisit, String longitude, String latitude,
+ String source, String caseLevel, String eorc, String casetypeCode,
+ String casetypeDetailCode, String areaCode, String streetCode, String communityCode,
+ String gridId, String description, String fieldintro, String fileIdVerify,
+ int bzhours, int bzminis);
}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
new file mode 100644
index 0000000..99700bf
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadAudioModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadAudioModel {
+ Subscription sendRetrofitRequest(File audio);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
new file mode 100644
index 0000000..4e7a37e
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/IUploadImageModel.java
@@ -0,0 +1,9 @@
+package com.casic.dcms.mvp.model;
+
+import java.io.File;
+
+import rx.Subscription;
+
+public interface IUploadImageModel {
+ Subscription sendRetrofitRequest(File image);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
new file mode 100644
index 0000000..d2964a1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadAudioModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadAudioResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadAudioModelImpl implements IUploadAudioModel {
+
+ private OnUploadAudioListener listener;
+
+ public UploadAudioModelImpl(OnUploadAudioListener uploadAudioListener) {
+ this.listener = uploadAudioListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadAudioListener {
+ void onSuccess(UploadAudioResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File audio) {
+ Observable observable = RetrofitServiceManager.getAudioUploadResult(audio);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(UploadAudioResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
new file mode 100644
index 0000000..159bea1
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/UploadImageModelImpl.java
@@ -0,0 +1,56 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.UploadImageResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import java.io.File;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class UploadImageModelImpl implements IUploadImageModel {
+
+ private OnUploadImageListener listener;
+
+ public UploadImageModelImpl(OnUploadImageListener uploadImageListener) {
+ this.listener = uploadImageListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUploadImageListener {
+ void onSuccess(UploadImageResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+
+ @Override
+ public Subscription sendRetrofitRequest(File image) {
+ Observable observable = RetrofitServiceManager.getImageUploadResult(image);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer