Commit 609af8d7 authored by jianglx's avatar jianglx

修改会员消费记录,会员权益乱显示的问题;会员中心内会员用户已经消费记录添加缓存;修改添加出游人失败提示不友好的问题

parent f75252cf
package com.rv.member.utils; package com.rv.component.utils;
import android.content.Context; import android.content.Context;
import com.rv.member.bean.MemberListBean;
import com.rv.member.bean.MemberOrderBean;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
...@@ -12,45 +9,45 @@ import java.io.FileOutputStream; ...@@ -12,45 +9,45 @@ import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.ObjectInputStream; import java.io.ObjectInputStream;
import java.io.ObjectOutputStream; import java.io.ObjectOutputStream;
import java.io.Serializable;
/****** /******
* 会员缓存管理 * 缓存管理
*/ */
public class MemberCache { public class Cache<T extends Serializable> {
private static MemberCache instance = null; private static Cache instance = null;
private Context mContext; private Context mContext;
private MemberCache(Context context) { private Cache(Context context) {
this.mContext = context; this.mContext = context;
} }
public static MemberCache getInstance(Context context) { public static <T> Cache getInstance(Context context) {
if (instance == null) { if (instance == null) {
instance = new MemberCache(context); instance = new Cache(context);
} }
return instance; return instance;
} }
/******** /********
* 保存 * 保存
* @param listBean * @param bean
*/ */
public void save(MemberListBean listBean) { public void save(T bean, CacheEnum anEnum) {
if (listBean == null || !listBean.isRel()) { if (bean == null) {
return; return;
} }
saveObject(listBean); saveObject(bean, anEnum);
} }
private void saveObject(MemberListBean listBean) { private void saveObject(T bean, CacheEnum anEnum) {
FileOutputStream fos = null; FileOutputStream fos = null;
ObjectOutputStream oos = null; ObjectOutputStream oos = null;
File f = new File(getSavePath()); File f = new File(getSavePath(anEnum));
try { try {
fos = new FileOutputStream(f); fos = new FileOutputStream(f);
oos = new ObjectOutputStream(fos); oos = new ObjectOutputStream(fos);
oos.writeObject(listBean); oos.writeObject(bean);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
...@@ -69,23 +66,23 @@ public class MemberCache { ...@@ -69,23 +66,23 @@ public class MemberCache {
} }
} }
private String getSavePath() { private String getSavePath(CacheEnum anEnum) {
return mContext.getCacheDir().getPath() + File.separator + "member"; return mContext.getCacheDir().getPath() + File.separator + anEnum.getFileName();
} }
public MemberListBean get() { public T get(CacheEnum cacheEnum) {
FileInputStream fis = null; FileInputStream fis = null;
ObjectInputStream ois = null; ObjectInputStream ois = null;
MemberListBean o = null; T o = null;
File f = new File(getSavePath()); File f = new File(getSavePath(cacheEnum));
if (!f.exists()) { if (!f.exists()) {
return null; return null;
} }
try { try {
fis = new FileInputStream(f); fis = new FileInputStream(f);
ois = new ObjectInputStream(fis); ois = new ObjectInputStream(fis);
o = (MemberListBean) ois.readObject(); o = (T) ois.readObject();
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
...@@ -106,4 +103,11 @@ public class MemberCache { ...@@ -106,4 +103,11 @@ public class MemberCache {
} }
return o; 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;
}
}
...@@ -1081,6 +1081,7 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser ...@@ -1081,6 +1081,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
......
...@@ -59,9 +59,7 @@ import butterknife.BindView; ...@@ -59,9 +59,7 @@ import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import butterknife.Unbinder; import butterknife.Unbinder;
import io.reactivex.functions.Consumer;
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,14 +37,13 @@ import com.rv.member.bean.BeanTourOrderPay; ...@@ -38,14 +37,13 @@ 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.member.utils.MemberCache; 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;
import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
...@@ -108,11 +106,16 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -108,11 +106,16 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
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 = MemberCache.getInstance(MemberCenterActivity.this).get();
MemberListBean listBean = (MemberListBean) Cache.getInstance(MemberCenterActivity.this).get(CacheEnum.MEMBER);
if (listBean != null && listBean.getData() != null) { if (listBean != null && listBean.getData() != null) {
adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener); adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener);
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
} }
UserInfoBean bean = (UserInfoBean) Cache.getInstance(MemberCenterActivity.this).get(CacheEnum.USER);
if (bean != null) {
setUserInfoData(bean);
}
initRxBus(); initRxBus();
} }
...@@ -165,7 +168,8 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -165,7 +168,8 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
case 0: case 0:
MemberListBean listBean = (MemberListBean) result; MemberListBean listBean = (MemberListBean) result;
if (listBean != null && listBean.isRel() && listBean.getData() != null && !listBean.getData().isEmpty()) { if (listBean != null && listBean.isRel() && listBean.getData() != null && !listBean.getData().isEmpty()) {
MemberCache.getInstance(getApplicationContext()).save(listBean); Cache.getInstance(getApplicationContext()).save(listBean, CacheEnum.MEMBER);
// MemberCache.getInstance(getApplicationContext()).save(listBean);
if (adapter == null) { if (adapter == null) {
adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener); adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener);
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
...@@ -175,6 +179,7 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -175,6 +179,7 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
} }
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);
} }
} }
} }
......
...@@ -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