From 58195ff9bdd63128b12916873bb0e5ab959cb138 Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 28 Jul 2020 20:06:20 +0800 Subject: [PATCH] =?UTF-8?q?[add]=E6=8E=A5=E5=8F=A3-=E7=83=AD=E5=BF=83?= =?UTF-8?q?=E6=8C=87=E6=95=B0+=E5=88=86=E4=BA=AB=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../panel/adapter/ShareEventAdapter.java | 30 +- .../panel/bean/ShareEventDescription.java | 150 +++++- .../event/panel/bean/ShareEventItem.java | 467 +++++++++++++++++- .../event/panel/bean/ShareEventItemBase.java | 4 +- .../panel/fragment/ShareEventsFragment.java | 119 +++-- .../event/panel/network/HostConstant.java | 23 + .../panel/network/ShareEventApiService.java | 26 + 7 files changed, 766 insertions(+), 53 deletions(-) create mode 100644 modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/network/HostConstant.java create mode 100644 modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/network/ShareEventApiService.java diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java index 18417ba9cb..1732b63a74 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java @@ -10,6 +10,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.mogo.utils.DateTimeUtils; import com.mogo.utils.logger.Logger; import com.zhidao.mogo.module.event.panel.R; import com.zhidao.mogo.module.event.panel.bean.ShareEventDescription; @@ -21,10 +22,10 @@ import java.util.ArrayList; public class ShareEventAdapter extends RecyclerView.Adapter { private Context context; - private ArrayList dataArrayList; + private ArrayList dataArrayList; private final LayoutInflater shareLayoutInflater; - public ShareEventAdapter(Context context, ArrayList dataArrayList) { + public ShareEventAdapter(Context context, ArrayList dataArrayList) { this.context = context; this.dataArrayList = dataArrayList; shareLayoutInflater = LayoutInflater.from(context); @@ -61,16 +62,17 @@ public class ShareEventAdapter extends RecyclerView.Adapter content; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getPageNum() { + return pageNum; + } + + public void setPageNum(int pageNum) { + this.pageNum = pageNum; + } + + public List getContent() { + return content; + } + + public void setContent(List content) { + this.content = content; + } + + public static class ContentBean { + @Override + public String toString() { + return "ContentBean{" + + "uploadTimestamp=" + uploadTimestamp + + ", timeout=" + timeout + + ", uploadAddress='" + uploadAddress + '\'' + + ", distance=" + distance + + ", dbId='" + dbId + '\'' + + ", poiType='" + poiType + '\'' + + ", sn='" + sn + '\'' + + ", userId=" + userId + + ", userName='" + userName + '\'' + + ", userHead='" + userHead + '\'' + + ", likeNum=" + likeNum + + ", uploadType=" + uploadType + + ", uploadUser='" + uploadUser + '\'' + + ", imgUrl=" + imgUrl + + ", content=" + content + + ", gasStationId=" + gasStationId + + ", gasStationName=" + gasStationName + + ", gasImg=" + gasImg + + ", gasPrices=" + gasPrices + + ", endDate='" + endDate + '\'' + + ", fabulous=" + fabulous + + ", direction=" + direction + + ", virtualLikeNum=" + virtualLikeNum + + ", status=" + status + + ", sourceType='" + sourceType + '\'' + + ", hitId='" + hitId + '\'' + + ", userType=" + userType + + ", coordinates=" + coordinates + + ", data=" + data + + '}'; + } + + /** + * coordinates : [116.407653,39.966487] + * uploadTimestamp : 1592901273966 + * timeout : 1593100800000 + * uploadAddress : 安定门外大街 + * distance : 0 + * dbId : 725026095564550144 + * poiType : 10002 + * sn : ZD802B1932L00622 + * userId : 0 + * userName : 小松鼠艾德蒙 + * userHead : http://yycp-static-1255510688.cos.ap-beijing.myqcloud.com/sso-server-image/1592476328925.png + * likeNum : 18 + * uploadType : 2 + * uploadUser : 123 + * imgUrl : null + * content : null + * gasStationId : null + * gasStationName : null + * gasImg : null + * gasPrices : null + * endDate : 2020-06-26 00:00:00 + * fabulous : false + * direction : 180 + * virtualLikeNum : 822 + * status : 1 + * sourceType : 10002 + * hitId : 0K-mf3MBeovPWpwE9IfR + * userType : 2 + * data : [{"url":"http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/sso-server-image/1592546939076.mp4%3Fsign%3Dq-sign-algorithm%253Dsha1%2526q-ak%253DAKIDCWfcNwD5PXVWLxwejccR3Tiz5zhIkx0T%2526q-sign-time%253D1592546939%253B1592550539%2526q-key-time%253D1592546939%253B1592550539%2526q-header-list%253D%2526q-url-param-list%253D%2526q-signature%253D74a4058ad7579ea210dafcf78d7a19460cffb899?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDCWfcNwD5PXVWLxwejccR3Tiz5zhIkx0T%26q-sign-time%3D1595574735%3B1595578335%26q-key-time%3D1595574735%3B1595578335%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D679bff1838c7d497d38f48ef999b50e80c5856c4","thumbnail":"http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/sso-server-image/1592546956790.png%3Fsign%3Dq-sign-algorithm%253Dsha1%2526q-ak%253DAKIDCWfcNwD5PXVWLxwejccR3Tiz5zhIkx0T%2526q-sign-time%253D1592546956%253B1592550556%2526q-key-time%253D1592546956%253B1592550556%2526q-header-list%253D%2526q-url-param-list%253D%2526q-signature%253Dcc9a35349fc55e433f934af88df576ae792b3987?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDCWfcNwD5PXVWLxwejccR3Tiz5zhIkx0T%26q-sign-time%3D1595574735%3B1595578335%26q-key-time%3D1595574735%3B1595578335%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D99b5a92a4f97909d8c217dbeec2ec6e9ec1052f4","content":null,"illegalCount":null}] + */ + + private long uploadTimestamp; + private long timeout; + private String uploadAddress; + private int distance; + private String dbId; + private String poiType; + private String sn; + private int userId; + private String userName; + private String userHead; + private int likeNum; + private int uploadType; + private String uploadUser; + private Object imgUrl; + private Object content; + private Object gasStationId; + private Object gasStationName; + private Object gasImg; + private Object gasPrices; + private String endDate; + private boolean fabulous; + private int direction; + private int virtualLikeNum; + private int status; + private String sourceType; + private String hitId; + private int userType; + private List coordinates; + private List data; + + public long getUploadTimestamp() { + return uploadTimestamp; + } + + public void setUploadTimestamp(long uploadTimestamp) { + this.uploadTimestamp = uploadTimestamp; + } + + public long getTimeout() { + return timeout; + } + + public void setTimeout(long timeout) { + this.timeout = timeout; + } + + public String getUploadAddress() { + return uploadAddress; + } + + public void setUploadAddress(String uploadAddress) { + this.uploadAddress = uploadAddress; + } + + public int getDistance() { + return distance; + } + + public void setDistance(int distance) { + this.distance = distance; + } + + public String getDbId() { + return dbId; + } + + public void setDbId(String dbId) { + this.dbId = dbId; + } + + public String getPoiType() { + return poiType; + } + + public void setPoiType(String poiType) { + this.poiType = poiType; + } + + public String getSn() { + return sn; + } + + public void setSn(String sn) { + this.sn = sn; + } + + public int getUserId() { + return userId; + } + + public void setUserId(int userId) { + this.userId = userId; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getUserHead() { + return userHead; + } + + public void setUserHead(String userHead) { + this.userHead = userHead; + } + + public int getLikeNum() { + return likeNum; + } + + public void setLikeNum(int likeNum) { + this.likeNum = likeNum; + } + + public int getUploadType() { + return uploadType; + } + + public void setUploadType(int uploadType) { + this.uploadType = uploadType; + } + + public String getUploadUser() { + return uploadUser; + } + + public void setUploadUser(String uploadUser) { + this.uploadUser = uploadUser; + } + + public Object getImgUrl() { + return imgUrl; + } + + public void setImgUrl(Object imgUrl) { + this.imgUrl = imgUrl; + } + + public Object getContent() { + return content; + } + + public void setContent(Object content) { + this.content = content; + } + + public Object getGasStationId() { + return gasStationId; + } + + public void setGasStationId(Object gasStationId) { + this.gasStationId = gasStationId; + } + + public Object getGasStationName() { + return gasStationName; + } + + public void setGasStationName(Object gasStationName) { + this.gasStationName = gasStationName; + } + + public Object getGasImg() { + return gasImg; + } + + public void setGasImg(Object gasImg) { + this.gasImg = gasImg; + } + + public Object getGasPrices() { + return gasPrices; + } + + public void setGasPrices(Object gasPrices) { + this.gasPrices = gasPrices; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public boolean isFabulous() { + return fabulous; + } + + public void setFabulous(boolean fabulous) { + this.fabulous = fabulous; + } + + public int getDirection() { + return direction; + } + + public void setDirection(int direction) { + this.direction = direction; + } + + public int getVirtualLikeNum() { + return virtualLikeNum; + } + + public void setVirtualLikeNum(int virtualLikeNum) { + this.virtualLikeNum = virtualLikeNum; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getSourceType() { + return sourceType; + } + + public void setSourceType(String sourceType) { + this.sourceType = sourceType; + } + + public String getHitId() { + return hitId; + } + + public void setHitId(String hitId) { + this.hitId = hitId; + } + + public int getUserType() { + return userType; + } + + public void setUserType(int userType) { + this.userType = userType; + } + + public List getCoordinates() { + return coordinates; + } + + public void setCoordinates(List coordinates) { + this.coordinates = coordinates; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * url : http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/sso-server-image/1592546939076.mp4%3Fsign%3Dq-sign-algorithm%253Dsha1%2526q-ak%253DAKIDCWfcNwD5PXVWLxwejccR3Tiz5zhIkx0T%2526q-sign-time%253D1592546939%253B1592550539%2526q-key-time%253D1592546939%253B1592550539%2526q-header-list%253D%2526q-url-param-list%253D%2526q-signature%253D74a4058ad7579ea210dafcf78d7a19460cffb899?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDCWfcNwD5PXVWLxwejccR3Tiz5zhIkx0T%26q-sign-time%3D1595574735%3B1595578335%26q-key-time%3D1595574735%3B1595578335%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D679bff1838c7d497d38f48ef999b50e80c5856c4 + * thumbnail : http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/sso-server-image/1592546956790.png%3Fsign%3Dq-sign-algorithm%253Dsha1%2526q-ak%253DAKIDCWfcNwD5PXVWLxwejccR3Tiz5zhIkx0T%2526q-sign-time%253D1592546956%253B1592550556%2526q-key-time%253D1592546956%253B1592550556%2526q-header-list%253D%2526q-url-param-list%253D%2526q-signature%253Dcc9a35349fc55e433f934af88df576ae792b3987?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDCWfcNwD5PXVWLxwejccR3Tiz5zhIkx0T%26q-sign-time%3D1595574735%3B1595578335%26q-key-time%3D1595574735%3B1595578335%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D99b5a92a4f97909d8c217dbeec2ec6e9ec1052f4 + * content : null + * illegalCount : null + */ + + private String url; + private String thumbnail; + private Object content; + private Object illegalCount; + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getThumbnail() { + return thumbnail; + } + + public void setThumbnail(String thumbnail) { + this.thumbnail = thumbnail; + } + + public Object getContent() { + return content; + } + + public void setContent(Object content) { + this.content = content; + } + + public Object getIllegalCount() { + return illegalCount; + } + + public void setIllegalCount(Object illegalCount) { + this.illegalCount = illegalCount; + } + } + } + } + } } diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItemBase.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItemBase.java index 25cc97f468..75ee349932 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItemBase.java +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItemBase.java @@ -1,6 +1,8 @@ package com.zhidao.mogo.module.event.panel.bean; -public class ShareEventItemBase { +import com.mogo.commons.data.BaseData; + +public class ShareEventItemBase extends BaseData { private int viewType; diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java index 737f300213..6dda5ab0b9 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java @@ -1,6 +1,7 @@ package com.zhidao.mogo.module.event.panel.fragment; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -10,22 +11,38 @@ import androidx.annotation.Nullable; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.MvpFragment; +import com.mogo.commons.network.SubscribeImpl; +import com.mogo.commons.network.Utils; +import com.mogo.service.MogoServicePaths; +import com.mogo.service.network.IMogoNetwork; +import com.mogo.utils.network.RequestOptions; +import com.mogo.utils.network.utils.GsonUtil; import com.zhidao.mogo.module.event.panel.R; import com.zhidao.mogo.module.event.panel.adapter.ShareEventAdapter; import com.zhidao.mogo.module.event.panel.bean.ShareEventDescription; import com.zhidao.mogo.module.event.panel.bean.ShareEventItem; -import com.zhidao.mogo.module.event.panel.bean.ShareEventItemBase; -import com.zhidao.mogo.module.event.panel.bean.ShareEventItemEnum; +import com.zhidao.mogo.module.event.panel.network.HostConstant; +import com.zhidao.mogo.module.event.panel.network.ShareEventApiService; import com.zhidao.mogo.module.event.panel.presenter.ShareEventsPresenter; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; public class ShareEventsFragment extends MvpFragment { + + private static final String TAG = "ShareEventsFragment"; private RecyclerView recyclerView; private View view; private ShareEventAdapter adapter; private ArrayList dataArrayList = new ArrayList(); + private ShareEventApiService shareEventApiService; + private int pageNum = 1; @Override protected int getLayoutId() { @@ -34,7 +51,6 @@ public class ShareEventsFragment extends MvpFragment hashMap = new HashMap<>(); + hashMap.put("sn", sn); + Map parameters = new HashMap<>(); + parameters.put("data", GsonUtil.jsonFromObject(hashMap)); + + shareEventApiService.getEnthusiasmIndex(parameters) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) { + @Override + public void onSuccess(ShareEventDescription resultData) { + if (resultData != null && resultData.getResult() != null + && resultData.getResult().getEnthusiasmIndex() != null) { + dataArrayList.add(resultData.getResult().getEnthusiasmIndex()); + adapter.notifyDataSetChanged(); + Log.d(TAG, "热心指数---:" + resultData.getResult().getEnthusiasmIndex()); + } + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); + } + + }); + } + + /* + * 分享列表 + * */ + private void getShareEventList(int page, int size) { + String sn = Utils.getSn(); + HashMap hashMap = new HashMap<>(); + hashMap.put("sn", sn); + hashMap.put("pageNum", String.valueOf(pageNum)); + hashMap.put("pageSize", "10"); + Map parameters = new HashMap<>(); + parameters.put("data", GsonUtil.jsonFromObject(hashMap)); + shareEventApiService.getShareEventList(parameters) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) { + @Override + public void onSuccess(ShareEventItem resultData) { + if (resultData != null && resultData.getResult() != null + && resultData.getResult().getPage().getContent().size() > 0) { + dataArrayList.addAll(resultData.getResult().getPage().getContent()); + Log.d(TAG, "分享列表---:" + dataArrayList.get(0)); + adapter.notifyDataSetChanged(); + } else { + //没有分享内容 + } + } + + @Override + public void onError(String message, int code) { super.onError(message, code); } + }); } @NonNull diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/network/HostConstant.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/network/HostConstant.java new file mode 100644 index 0000000000..ba4c4a4695 --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/network/HostConstant.java @@ -0,0 +1,23 @@ +package com.zhidao.mogo.module.event.panel.network; + +import com.mogo.commons.debug.DebugConfig; + +public class HostConstant { + public static final String HOST_DEV = "http://dzt-test.zhidaohulian.com"; + public static final String HOST_TEST = "http://dzt-test.zhidaohulian.com"; + public static final String HOST_DEMO = "http://dzt-show.zhidaohulian.com"; + public static final String HOST_PRODUCT = "https://dzt.zhidaohulian.com"; + + public static String getNetHost() { + switch ( DebugConfig.getNetMode() ) { + case DebugConfig.NET_MODE_DEV: + return HOST_DEV; + case DebugConfig.NET_MODE_QA: + return HOST_TEST; + case DebugConfig.NET_MODE_DEMO: + return HOST_DEMO; + default: + return HOST_PRODUCT; + } + } +} diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/network/ShareEventApiService.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/network/ShareEventApiService.java new file mode 100644 index 0000000000..e449c87c38 --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/network/ShareEventApiService.java @@ -0,0 +1,26 @@ +package com.zhidao.mogo.module.event.panel.network; + +import com.zhidao.mogo.module.event.panel.bean.ShareEventDescription; +import com.zhidao.mogo.module.event.panel.bean.ShareEventItem; + +import java.util.Map; + +import io.reactivex.Observable; +import retrofit2.http.FieldMap; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; +import retrofit2.http.QueryMap; + +public interface ShareEventApiService { + + //我的分享-热心指数等 + @FormUrlEncoded + @POST("/deva/poiInfoFabulous/car/poi/no/queryEnthusiasmIndex/v1") + Observable getEnthusiasmIndex(@FieldMap Map parames); + + //我的分享-列表 + @FormUrlEncoded + @POST("/deva/car/pathAndPoi/no/queryInfo") + Observable getShareEventList(@FieldMap Map parames); + +}