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
latLatitude = location.getLatitude();
lonLongitude = location.getLongitude();
mLatLng = new LatLng(location.getLatitude(), location.getLongitude());
headTvGetCity.setText(location.getCity());
headTvOutCity.setText(location.getCity());
tvRvCity.setText(location.getCity());
......
......@@ -17,7 +17,7 @@ import retrofit2.http.PUT;
* Desc:订单列表
*/
public class OrderListBean extends BaseBean {
public class OrderListBean extends BaseBean implements Serializable {
/**
......@@ -44,7 +44,7 @@ public class OrderListBean extends BaseBean {
this.rel = rel;
}
public static class DataBeanX {
public static class DataBeanX implements Serializable {
/**
* totalCount : 3
* totalPage : 1
......
......@@ -60,7 +60,6 @@ import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
import io.reactivex.schedulers.Schedulers;
/**
* 我的
*/
......
......@@ -9,7 +9,7 @@ import java.util.List;
* Desc:出游人列表
*/
public class TravelerListBean extends BaseBean {
public class TravelerListBean extends BaseBean implements Serializable{
private List<DataBean> data;
private int code;
......
......@@ -3,6 +3,7 @@ package com.rv.rvmine.traveler;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
......@@ -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);
}
@Override
public void onShowError(String errorMsg, int errorType) {
if (!TextUtils.isEmpty(errorMsg)) {
showToast(errorMsg);
}
}
private Map<String, Object> getHeadMap() {
Map<String, Object> headMap = new LinkedHashMap<>();
......
......@@ -105,6 +105,8 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
}
});
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
......
......@@ -16,6 +16,8 @@ import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
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.R2;
import com.rv.version.bean.VersionCheckBean;
......@@ -110,6 +112,7 @@ public class SettingActivity extends BaseStatusActivity<CommonPresenter> {
//退出登录
UtilsManager.getInstance(mActivity).clearShareData("city_json");
UtilsManager.getInstance(mActivity).setShNull();
Cache.getInstance(getApplicationContext()).clear(CacheEnum.USER);
OkGoUtil.clearToken();
setResult(201);
showToast("退出成功!");
......
......@@ -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.bean.OrderListBean;
import com.rv.member.adapter.ConsumeRecordListAdapter;
import com.rv.component.utils.Cache;
import com.rv.component.utils.CacheEnum;
import com.yuyife.okgo.OkGoUtil;
import java.util.ArrayList;
......@@ -48,6 +50,10 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("消费记录");
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.setEmptyView(getEmptyView(recyclerView, -1, getString(R.string.tv_no_consume_data)));
adapter.setOnLoadMoreListener(this, recyclerView);
......@@ -60,13 +66,14 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i
@Override
public void onShowResult(int requestType, BaseBean result) {
lists.clear();
if (requestType == 1) { // 下拉刷新数据
lists.clear();
simpleRefreshLayout.onRefreshComplete();
} else if (requestType == 2) { // 上拉加载更多
simpleRefreshLayout.onLoadMoreComplete();
}
OrderListBean listBean = (OrderListBean) result;
Cache.getInstance(getApplicationContext()).save(listBean, CacheEnum.CONSUMER_RECORD);
if (listBean != null && listBean.getData() != null) {
pageCount = listBean.getData().getTotalPage();
lists.addAll(listBean.getData().getData());
......@@ -80,7 +87,6 @@ public class ConsumeRecordActivity extends BaseStatusActivity<CommonPresenter> i
getConsumeRecordData(0);
}
private void getConsumeRecordData(int position) {
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null)
......
package com.rv.member;
import android.annotation.SuppressLint;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
......@@ -38,6 +37,8 @@ import com.rv.member.bean.BeanTourOrderPay;
import com.rv.member.bean.MemberOrderBean;
import com.rv.member.bean.UserInfoBean;
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.WXAPIFactory;
import com.yuyife.okgo.OkGoUtil;
......@@ -104,6 +105,17 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
api = WXAPIFactory.createWXAPI(this, RvFrameConfig.APP_ID);
titleView.setVisibility(View.GONE);
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();
}
......@@ -154,14 +166,20 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
switch (requestType) {
case 0:
if (adapter == null) {
adapter = new MemberListAdapter(((MemberListBean) result).getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener);
recyclerView.setAdapter(adapter);
} else {
adapter.setDate(((MemberListBean) result).getData());
MemberListBean listBean = (MemberListBean) result;
if (listBean != null && listBean.isRel() && listBean.getData() != null && !listBean.getData().isEmpty()) {
Cache.getInstance(getApplicationContext()).save(listBean, CacheEnum.MEMBER);
// MemberCache.getInstance(getApplicationContext()).save(listBean);
if (adapter == null) {
adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener);
recyclerView.setAdapter(adapter);
} else {
adapter.setDate(listBean.getData());
}
}
break;
case 1:
Cache.getInstance(getApplicationContext()).save((UserInfoBean) result, CacheEnum.USER);
setUserInfoData((UserInfoBean) result);
break;
case 2:
......
......@@ -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());
if (vehicleDetail.getFreeDays() > 0) {
helper.setText(R.id.tv_member_right, "免费" + vehicleDetail.getFreeDays() + "天");
helper.setVisible(R.id.tv_member_right, true);
} else if (vehicleDetail.getRebate() > 0) {
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;
import com.google.gson.annotations.SerializedName;
import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
public class MemberListBean extends BaseBean {
public class MemberListBean extends BaseBean implements Serializable {
@SerializedName("data")
private List<MemberCard> data;
......@@ -14,6 +15,14 @@ public class MemberListBean extends BaseBean {
@SerializedName("rel")
private boolean rel;
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public List<MemberCard> getData() {
return data;
}
......@@ -25,7 +34,7 @@ public class MemberListBean extends BaseBean {
/*****
* 会员卡
*/
public class MemberCard {
public class MemberCard implements Serializable {
private int id;
private String name;
......
......@@ -76,9 +76,9 @@
android:paddingTop="@dimen/size_3"
android:paddingRight="@dimen/size_5"
android:paddingBottom="@dimen/size_3"
android:text="免费3天"
android:textColor="@color/white"
android:textSize="@dimen/sp_12" />
android:textSize="@dimen/sp_12"
android:visibility="gone" />
</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