Commit f906f82e authored by linfeng's avatar linfeng

Merge branch 'dev-member-john' of http://113.105.137.151:22280/lify/rvapp

parents 99b371e8 609af8d7
package com.rv.component.utils;
import android.content.Context;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
/******
* 缓存管理
*/
public class Cache<T extends Serializable> {
private static Cache instance = null;
private Context mContext;
private Cache(Context context) {
this.mContext = context;
}
public static <T> Cache getInstance(Context context) {
if (instance == null) {
instance = new Cache(context);
}
return instance;
}
/********
* 保存
* @param bean
*/
public void save(T bean, CacheEnum anEnum) {
if (bean == null) {
return;
}
saveObject(bean, anEnum);
}
private void saveObject(T bean, CacheEnum anEnum) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
File f = new File(getSavePath(anEnum));
try {
fos = new FileOutputStream(f);
oos = new ObjectOutputStream(fos);
oos.writeObject(bean);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (oos != null) {
oos.close();
}
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
private String getSavePath(CacheEnum anEnum) {
return mContext.getCacheDir().getPath() + File.separator + anEnum.getFileName();
}
public T get(CacheEnum cacheEnum) {
FileInputStream fis = null;
ObjectInputStream ois = null;
T o = null;
File f = new File(getSavePath(cacheEnum));
if (!f.exists()) {
return null;
}
try {
fis = new FileInputStream(f);
ois = new ObjectInputStream(fis);
o = (T) ois.readObject();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
if (ois != null) {
ois.close();
}
if (fis != null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return o;
}
public void clear(CacheEnum cacheEnum) {
File f = new File(getSavePath(cacheEnum));
if (f.exists()) {
f.delete();
}
}
}
package com.rv.component.utils;
/******
* 缓存类型
*/
public enum CacheEnum {
MEMBER(0, "member"), // 会员
USER(1, "user"), // 用户
CONSUMER_RECORD(2, "consumer_record"), // 消费记录
VISTOR_LIST(3, "vistor_list"); //出游人列表
private int type;
private String fileName;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
CacheEnum(int type, String fileName) {
this.type = type;
this.fileName = fileName;
}
}
...@@ -1121,6 +1121,7 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser ...@@ -1121,6 +1121,7 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
latLatitude = location.getLatitude(); latLatitude = location.getLatitude();
lonLongitude = location.getLongitude(); lonLongitude = location.getLongitude();
mLatLng = new LatLng(location.getLatitude(), location.getLongitude()); mLatLng = new LatLng(location.getLatitude(), location.getLongitude());
headTvGetCity.setText(location.getCity()); headTvGetCity.setText(location.getCity());
headTvOutCity.setText(location.getCity()); headTvOutCity.setText(location.getCity());
tvRvCity.setText(location.getCity()); tvRvCity.setText(location.getCity());
......
...@@ -17,7 +17,7 @@ import retrofit2.http.PUT; ...@@ -17,7 +17,7 @@ import retrofit2.http.PUT;
* Desc:订单列表 * Desc:订单列表
*/ */
public class OrderListBean extends BaseBean { public class OrderListBean extends BaseBean implements Serializable {
/** /**
...@@ -44,7 +44,7 @@ public class OrderListBean extends BaseBean { ...@@ -44,7 +44,7 @@ public class OrderListBean extends BaseBean {
this.rel = rel; this.rel = rel;
} }
public static class DataBeanX { public static class DataBeanX implements Serializable {
/** /**
* totalCount : 3 * totalCount : 3
* totalPage : 1 * totalPage : 1
......
...@@ -60,7 +60,6 @@ import butterknife.ButterKnife; ...@@ -60,7 +60,6 @@ import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import butterknife.Unbinder; import butterknife.Unbinder;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
/** /**
* 我的 * 我的
*/ */
......
...@@ -9,7 +9,7 @@ import java.util.List; ...@@ -9,7 +9,7 @@ import java.util.List;
* Desc:出游人列表 * Desc:出游人列表
*/ */
public class TravelerListBean extends BaseBean { public class TravelerListBean extends BaseBean implements Serializable{
private List<DataBean> data; private List<DataBean> data;
private int code; private int code;
......
...@@ -3,6 +3,7 @@ package com.rv.rvmine.traveler; ...@@ -3,6 +3,7 @@ package com.rv.rvmine.traveler;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
...@@ -164,6 +165,12 @@ public class AddAVisitorActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -164,6 +165,12 @@ public class AddAVisitorActivity extends BaseStatusActivity<CommonPresenter> {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_TOURUSER, 0, ApiConfig.HTTP_URL_ADDANDUPDATE, BaseBean.class, new addTraveler(avisitorId == 0 ? null : avisitorId, name, sexType, phone, idCard, identityType), getHeadMap(), true); mPresenter.postBodyData(RvFrameConfig.VEHICLE_TOURUSER, 0, ApiConfig.HTTP_URL_ADDANDUPDATE, BaseBean.class, new addTraveler(avisitorId == 0 ? null : avisitorId, name, sexType, phone, idCard, identityType), getHeadMap(), true);
} }
@Override
public void onShowError(String errorMsg, int errorType) {
if (!TextUtils.isEmpty(errorMsg)) {
showToast(errorMsg);
}
}
private Map<String, Object> getHeadMap() { private Map<String, Object> getHeadMap() {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> headMap = new LinkedHashMap<>();
......
...@@ -105,6 +105,8 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter> ...@@ -105,6 +105,8 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
} }
}); });
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() { mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override @Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) { public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
......
...@@ -16,6 +16,8 @@ import com.ruiwenliu.wrapper.weight.TitleView; ...@@ -16,6 +16,8 @@ import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter; import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.RegisteredActivity; import com.rv.home.rv.module.ui.login.RegisteredActivity;
import com.rv.component.utils.Cache;
import com.rv.component.utils.CacheEnum;
import com.rv.rvmine.R; import com.rv.rvmine.R;
import com.rv.rvmine.R2; import com.rv.rvmine.R2;
import com.rv.version.bean.VersionCheckBean; import com.rv.version.bean.VersionCheckBean;
...@@ -110,6 +112,7 @@ public class SettingActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -110,6 +112,7 @@ public class SettingActivity extends BaseStatusActivity<CommonPresenter> {
//退出登录 //退出登录
UtilsManager.getInstance(mActivity).clearShareData("city_json"); UtilsManager.getInstance(mActivity).clearShareData("city_json");
UtilsManager.getInstance(mActivity).setShNull(); UtilsManager.getInstance(mActivity).setShNull();
Cache.getInstance(getApplicationContext()).clear(CacheEnum.USER);
OkGoUtil.clearToken(); OkGoUtil.clearToken();
setResult(201); setResult(201);
showToast("退出成功!"); showToast("退出成功!");
......
...@@ -17,6 +17,8 @@ import com.rv.home.rv.module.basic.presenter.CommonPresenter; ...@@ -17,6 +17,8 @@ import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.order.OrderDetailActivity; import com.rv.home.rv.module.ui.main.home.order.OrderDetailActivity;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean; import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import com.rv.member.adapter.ConsumeRecordListAdapter; import com.rv.member.adapter.ConsumeRecordListAdapter;
import com.rv.component.utils.Cache;
import com.rv.component.utils.CacheEnum;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -48,6 +50,10 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i ...@@ -48,6 +50,10 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("消费记录"); titleView.setTitle("消费记录");
recyclerView.setLayoutManager(new LinearLayoutManager(mActivity)); recyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
OrderListBean bean = (OrderListBean) Cache.getInstance(getApplicationContext()).get(CacheEnum.CONSUMER_RECORD);
if (bean != null && bean.getData() != null && bean.getData().getData() != null) {
lists.addAll(bean.getData().getData());
}
adapter = new ConsumeRecordListAdapter(lists, mClickListener); adapter = new ConsumeRecordListAdapter(lists, mClickListener);
adapter.setEmptyView(getEmptyView(recyclerView, -1, getString(R.string.tv_no_consume_data))); adapter.setEmptyView(getEmptyView(recyclerView, -1, getString(R.string.tv_no_consume_data)));
adapter.setOnLoadMoreListener(this, recyclerView); adapter.setOnLoadMoreListener(this, recyclerView);
...@@ -60,13 +66,14 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i ...@@ -60,13 +66,14 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i
@Override @Override
public void onShowResult(int requestType, BaseBean result) { public void onShowResult(int requestType, BaseBean result) {
lists.clear();
if (requestType == 1) { // 下拉刷新数据 if (requestType == 1) { // 下拉刷新数据
lists.clear();
simpleRefreshLayout.onRefreshComplete(); simpleRefreshLayout.onRefreshComplete();
} else if (requestType == 2) { // 上拉加载更多 } else if (requestType == 2) { // 上拉加载更多
simpleRefreshLayout.onLoadMoreComplete(); simpleRefreshLayout.onLoadMoreComplete();
} }
OrderListBean listBean = (OrderListBean) result; OrderListBean listBean = (OrderListBean) result;
Cache.getInstance(getApplicationContext()).save(listBean, CacheEnum.CONSUMER_RECORD);
if (listBean != null && listBean.getData() != null) { if (listBean != null && listBean.getData() != null) {
pageCount = listBean.getData().getTotalPage(); pageCount = listBean.getData().getTotalPage();
lists.addAll(listBean.getData().getData()); lists.addAll(listBean.getData().getData());
...@@ -80,7 +87,6 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i ...@@ -80,7 +87,6 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i
getConsumeRecordData(0); getConsumeRecordData(0);
} }
private void getConsumeRecordData(int position) { private void getConsumeRecordData(int position) {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null) if (OkGoUtil.getToken() != null)
......
package com.rv.member; package com.rv.member;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
...@@ -38,6 +37,8 @@ import com.rv.member.bean.BeanTourOrderPay; ...@@ -38,6 +37,8 @@ import com.rv.member.bean.BeanTourOrderPay;
import com.rv.member.bean.MemberOrderBean; import com.rv.member.bean.MemberOrderBean;
import com.rv.member.bean.UserInfoBean; import com.rv.member.bean.UserInfoBean;
import com.rv.member.presenter.MemberPresenter; import com.rv.member.presenter.MemberPresenter;
import com.rv.component.utils.Cache;
import com.rv.component.utils.CacheEnum;
import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
...@@ -104,6 +105,17 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -104,6 +105,17 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
api = WXAPIFactory.createWXAPI(this, RvFrameConfig.APP_ID); api = WXAPIFactory.createWXAPI(this, RvFrameConfig.APP_ID);
titleView.setVisibility(View.GONE); titleView.setVisibility(View.GONE);
recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayout.VERTICAL, false)); recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayout.VERTICAL, false));
// MemberListBean listBean = MemberCache.getInstance(MemberCenterActivity.this).get();
MemberListBean listBean = (MemberListBean) Cache.getInstance(MemberCenterActivity.this).get(CacheEnum.MEMBER);
if (listBean != null && listBean.getData() != null) {
adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener);
recyclerView.setAdapter(adapter);
}
UserInfoBean bean = (UserInfoBean) Cache.getInstance(MemberCenterActivity.this).get(CacheEnum.USER);
if (bean != null) {
setUserInfoData(bean);
}
initRxBus(); initRxBus();
} }
...@@ -154,14 +166,20 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -154,14 +166,20 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
switch (requestType) { switch (requestType) {
case 0: case 0:
if (adapter == null) { MemberListBean listBean = (MemberListBean) result;
adapter = new MemberListAdapter(((MemberListBean) result).getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener); if (listBean != null && listBean.isRel() && listBean.getData() != null && !listBean.getData().isEmpty()) {
recyclerView.setAdapter(adapter); Cache.getInstance(getApplicationContext()).save(listBean, CacheEnum.MEMBER);
} else { // MemberCache.getInstance(getApplicationContext()).save(listBean);
adapter.setDate(((MemberListBean) result).getData()); if (adapter == null) {
adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener);
recyclerView.setAdapter(adapter);
} else {
adapter.setDate(listBean.getData());
}
} }
break; break;
case 1: case 1:
Cache.getInstance(getApplicationContext()).save((UserInfoBean) result, CacheEnum.USER);
setUserInfoData((UserInfoBean) result); setUserInfoData((UserInfoBean) result);
break; break;
case 2: case 2:
......
...@@ -61,8 +61,10 @@ public class ConsumeRecordListAdapter extends BaseQuickAdapter<OrderListBean.Dat ...@@ -61,8 +61,10 @@ public class ConsumeRecordListAdapter extends BaseQuickAdapter<OrderListBean.Dat
helper.setText(R.id.tv_return_info, DateUtils.timestampToString1(vehicleDetail.getEnd_time()) + " " + vehicleDetail.getEnd_addr()); helper.setText(R.id.tv_return_info, DateUtils.timestampToString1(vehicleDetail.getEnd_time()) + " " + vehicleDetail.getEnd_addr());
if (vehicleDetail.getFreeDays() > 0) { if (vehicleDetail.getFreeDays() > 0) {
helper.setText(R.id.tv_member_right, "免费" + vehicleDetail.getFreeDays() + "天"); helper.setText(R.id.tv_member_right, "免费" + vehicleDetail.getFreeDays() + "天");
helper.setVisible(R.id.tv_member_right, true);
} else if (vehicleDetail.getRebate() > 0) { } else if (vehicleDetail.getRebate() > 0) {
helper.setText(R.id.tv_member_right, ((int) vehicleDetail.getRebate() / 10) + "折"); helper.setText(R.id.tv_member_right, ((int) vehicleDetail.getRebate() / 10) + "折");
helper.setVisible(R.id.tv_member_right, true);
} }
} }
} }
......
...@@ -3,10 +3,11 @@ package com.rv.member.bean; ...@@ -3,10 +3,11 @@ package com.rv.member.bean;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
public class MemberListBean extends BaseBean { public class MemberListBean extends BaseBean implements Serializable {
@SerializedName("data") @SerializedName("data")
private List<MemberCard> data; private List<MemberCard> data;
...@@ -14,6 +15,14 @@ public class MemberListBean extends BaseBean { ...@@ -14,6 +15,14 @@ public class MemberListBean extends BaseBean {
@SerializedName("rel") @SerializedName("rel")
private boolean rel; private boolean rel;
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public List<MemberCard> getData() { public List<MemberCard> getData() {
return data; return data;
} }
...@@ -25,7 +34,7 @@ public class MemberListBean extends BaseBean { ...@@ -25,7 +34,7 @@ public class MemberListBean extends BaseBean {
/***** /*****
* 会员卡 * 会员卡
*/ */
public class MemberCard { public class MemberCard implements Serializable {
private int id; private int id;
private String name; private String name;
......
...@@ -76,9 +76,9 @@ ...@@ -76,9 +76,9 @@
android:paddingTop="@dimen/size_3" android:paddingTop="@dimen/size_3"
android:paddingRight="@dimen/size_5" android:paddingRight="@dimen/size_5"
android:paddingBottom="@dimen/size_3" android:paddingBottom="@dimen/size_3"
android:text="免费3天"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12"
android:visibility="gone" />
</FrameLayout> </FrameLayout>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment