Commit 58f6ac2e by 罗翻

消息页面修改

parent 978834a3
package com.dayu.bigfish.presenter.systemmessage;
import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.NewMessage;
import io.reactivex.functions.Consumer;
/**
* Created by luofan on 2017/11/8.
*/
@InstanceFactory
public class SysMessagePresenter extends SystemMessageContract.Presenter {
@Override
public void onAttached() {
}
@Override
public void getHxMessage(String hxUserId, int category, int page, int pageSize) {
ApiFactory.getHxMessage(hxUserId, category, page, pageSize).subscribe(baseObserver(new Consumer<BasePageBean<NewMessage>>() {
@Override
public void accept(BasePageBean<NewMessage> messageBasePageBean) throws Exception {
mView.getHxMessageSuccess(messageBasePageBean);
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
mView.getHxMessageFail();
}
}));
}
}
package com.dayu.bigfish.presenter.systemmessage;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
import com.dayu.bigfish.bean.NewMessage;
/**
* Created by luo on 2016/8/4.
*/
public interface SystemMessageContract {
interface View extends BaseView {
void getHxMessageSuccess(BasePageBean<NewMessage> message);
void getHxMessageFail();
}
abstract class Presenter extends BasePresenter<View> {
public abstract void getHxMessage(String hxUserId, int category, int page, int pageSize);
}
}
...@@ -107,7 +107,6 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter> implemen ...@@ -107,7 +107,6 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter> implemen
mAdapter.loadMoreComplete(); mAdapter.loadMoreComplete();
mPage += 1; mPage += 1;
} }
mAdapter.notifyDataSetChanged();
} else { } else {
mRefreshLayout.setRefreshing(false); mRefreshLayout.setRefreshing(false);
mAdapter.setEmptyView(R.layout.tips_empty); mAdapter.setEmptyView(R.layout.tips_empty);
......
...@@ -9,7 +9,6 @@ import com.chad.library.adapter.base.BaseQuickAdapter; ...@@ -9,7 +9,6 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.ErrorOrder; import com.dayu.bigfish.bean.ErrorOrder;
import com.dayu.bigfish.utils.DateUtils;
import com.dayu.bigfish.utils.UtilsDate; import com.dayu.bigfish.utils.UtilsDate;
import static com.dayu.bigfish.utils.UtilsDate.FORMAT_ONE; import static com.dayu.bigfish.utils.UtilsDate.FORMAT_ONE;
...@@ -22,11 +21,9 @@ import static com.dayu.bigfish.utils.UtilsDate.SHORT_DATE_FORMAT; ...@@ -22,11 +21,9 @@ import static com.dayu.bigfish.utils.UtilsDate.SHORT_DATE_FORMAT;
*/ */
public class OrderThreeTabAdapter extends BaseQuickAdapter<ErrorOrder, BaseViewHolder> { public class OrderThreeTabAdapter extends BaseQuickAdapter<ErrorOrder, BaseViewHolder> {
private DateUtils mDateUtils;
public OrderThreeTabAdapter(int layoutResId) { public OrderThreeTabAdapter(int layoutResId) {
super(layoutResId); super(layoutResId);
mDateUtils = new DateUtils();
} }
......
package com.dayu.bigfish.ui.adapter; package com.dayu.bigfish.ui.adapter;
import android.content.Context;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.NewMessage; import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.utils.DateUtils; import com.dayu.bigfish.utils.UtilsDate;
import java.util.List; import static com.dayu.bigfish.utils.UtilsDate.FORMAT_ONE;
import static com.dayu.bigfish.utils.UtilsDate.LONG_TIME_FORMAT_TWO;
import butterknife.BindView; import static com.dayu.bigfish.utils.UtilsDate.SHORT_DATE_FORMAT;
import butterknife.ButterKnife;
/** /**
* 系统消息的适配器 * 系统消息的适配器
* 2017/10/14. * 2017/10/14.
*/ */
public class SystemMessageAdapter extends BaseAdapter { public class SystemMessageAdapter extends BaseQuickAdapter<NewMessage, BaseViewHolder> {
private List<NewMessage> dataBeenList;
private DateUtils dateUtils = new DateUtils();
private Context context;
private String dataMD;
private String dataTime;
public SystemMessageAdapter(List<NewMessage> dataBeenList, Context context) {
this.dataBeenList = dataBeenList;
this.context = context;
}
@Override
public int getCount() {
return dataBeenList.size();
}
@Override public SystemMessageAdapter(int layoutResId) {
public Object getItem(int position) { super(layoutResId);
return position;
} }
@Override
public long getItemId(int position) {
return position;
}
@Override @Override
public View getView(int position, View convertView, ViewGroup parent) { protected void convert(BaseViewHolder helper, NewMessage item) {
View view; AssetManager mgr = mContext.getAssets();//得到AssetManager
ViewHolder viewHolder; Typeface tf = Typeface.createFromAsset(mgr, "fonts/DIN Alternate Bold.ttf");//根据路径得到Typeface
if (convertView == null) { helper.setTypeface(R.id.message_date, tf);
view = View.inflate(context, R.layout.message_adapter, null); if (item.getFlag() != null && item.getFlag().equals("1")) {
viewHolder = new ViewHolder(view,context); helper.getView(R.id.iv).setVisibility(View.GONE);
view.setTag(viewHolder);
} else { } else {
view = convertView; helper.getView(R.id.iv).setVisibility(View.VISIBLE);
viewHolder = (ViewHolder) view.getTag();
}
initData(position, viewHolder);
return view;
}
private void initData(int position, ViewHolder viewHolder) {
if (dataBeenList.get(position).getFlag() != null && dataBeenList.get(position).getFlag().equals("1")) {
viewHolder.view.setVisibility(View.GONE);
} else {
viewHolder.view.setVisibility(View.VISIBLE);
} }
try { try {
dataMD = dateUtils.stringDateToDate(dataBeenList.get(position).getCreateTime()); String dateMD = UtilsDate.changeFormat(item.getCreateTime(), FORMAT_ONE, SHORT_DATE_FORMAT);
viewHolder.messageTime.setText(dataMD); String dateTime = UtilsDate.changeFormat(item.getCreateTime(), FORMAT_ONE, LONG_TIME_FORMAT_TWO);
dataTime =dateUtils.stringTimeToDate(dataBeenList.get(position).getCreateTime()); helper.setText(R.id.message_date, dateMD);
viewHolder.messageDate.setText(dataTime); helper.setText(R.id.message_time, dateTime);
helper.setText(R.id.message_text_content, item.getTitle());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
viewHolder.messageTextContent.setText(dataBeenList.get(position).getTitle());
}
static class ViewHolder {
@BindView(R.id.line_textView)
TextView lineTextView;
@BindView(R.id.message_date)
TextView messageDate;
@BindView(R.id.message_time)
TextView messageTime;
@BindView(R.id.message_text_content)
TextView messageTextContent;
@BindView(R.id.item)
RelativeLayout item;
@BindView(R.id.iv)
TextView view;
ViewHolder(View view,Context context) {
ButterKnife.bind(this, view);
AssetManager mgr = context.getAssets();//得到AssetManager
Typeface tf = Typeface.createFromAsset(mgr, "fonts/DIN Alternate Bold.ttf");//根据路径得到Typeface
messageDate.setTypeface(tf);//设置字体
}
} }
} }
package com.dayu.bigfish.ui.fragment; package com.dayu.bigfish.ui.fragment;
import android.os.Bundle; import android.support.v4.widget.SwipeRefreshLayout;
import android.support.annotation.Nullable; import android.support.v7.widget.LinearLayoutManager;
import android.support.v4.app.Fragment; import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
import com.dayu.bigfish.ui.adapter.BigFishMessageAdapter; import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.api.ApiWrapper;
import com.dayu.bigfish.base.BasePageBean; import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.NewMessage; import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.greendao.GreenDaoManager; import com.dayu.bigfish.presenter.systemmessage.SysMessagePresenter;
import com.dayu.bigfish.greendao.MessageBigFishDao; import com.dayu.bigfish.presenter.systemmessage.SystemMessageContract;
import com.dayu.bigfish.sqlbean.MessageBigFish; import com.dayu.bigfish.ui.adapter.SystemMessageAdapter;
import com.dayu.bigfish.utils.DateUtils;
import com.dayu.bigfish.utils.GetUserInfo; import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil; import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.ToastUtils;
import org.greenrobot.greendao.query.Query;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.functions.Consumer;
/** /**
* 大鱼运营官方通知 * 大鱼运营官方通知
* on 2017/10/11. * on 2017/10/11.
*/ */
public class BigFishMessageFragment extends Fragment { public class BigFishMessageFragment extends BaseFragment<SysMessagePresenter> implements SystemMessageContract.View, SwipeRefreshLayout.OnRefreshListener {
Unbinder unbinder; @BindView(R.id.rl_sysmessage)
@BindView(R.id.message_bigfish_listview) RecyclerView mRecyclerView;
ListView messageBigfishListview; @BindView(R.id.receiving_refersh)
@BindView(R.id.big_image_empty) SwipeRefreshLayout mRefreshLayout;
ImageView bigImageEmpty; @BindView(R.id.message_view)
@BindView(R.id.big_textView_empty) RelativeLayout messageView;
TextView bigTextViewEmpty; private SystemMessageAdapter mAdapter;
@BindView(R.id.big_message_view)
RelativeLayout bigMessageView;
private BigFishMessageAdapter bigFishAdapter;
private List<NewMessage> bigFishDataList = new ArrayList<>();
private String hxUserId; private String hxUserId;
private String token; private int mPage = 1;
private DateUtils dateUtils = new DateUtils(); private int mPageSize = 10;
private MessageBigFish ss; private int mTotalPage = 1;
private MessageBigFishDao mMessageBigfishDao; private int mRefreshState = 1; //1:刷新,2:下拉加载
@Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View initView(View view) {
View layout = inflater.inflate(R.layout.fragment_message_bigfish, container, false); hxUserId = GetUserInfo.getHxUserId(getActivity());
token = GetUserInfo.getToken(getContext()); ProgressUtil.startLoad(getActivity());
hxUserId = GetUserInfo.getHxUserId(getContext()); mPresenter.getHxMessage(hxUserId, 1, mPage, mPageSize);
unbinder = ButterKnife.bind(this, layout); mAdapter = new SystemMessageAdapter(R.layout.message_adapter);
mMessageBigfishDao = GreenDaoManager.getInstance().getmDaoSession().getMessageBigFishDao(); mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
initData1(); mRecyclerView.setAdapter(mAdapter);
initListener(); mAdapter.disableLoadMoreIfNotFullPage(mRecyclerView);
return layout; mRefreshLayout.setOnRefreshListener(this);
return view;
} }
private void initData1() { @Override
initData(token, hxUserId); public int getLayoutId() {
bigFishAdapter = new BigFishMessageAdapter(bigFishDataList, getContext(), dateUtils); return R.layout.fragment_message_system;
messageBigfishListview.setAdapter(bigFishAdapter);
} }
private void initListener() { @Override
messageBigfishListview.setOnItemClickListener((parent, view, position, id) -> { protected void lazyLoad() {
NewMessage lookMessagesBean = bigFishDataList.get(position);
Query query = mMessageBigfishDao.queryBuilder().where(
MessageBigFishDao.Properties.Ids.eq(String.valueOf(lookMessagesBean.getId())),
MessageBigFishDao.Properties.Id1.eq(GetUserInfo.getACCOUNT_ID(getContext())))
.build();
List<MessageBigFish> list = query.list();
if (list.size() != 0) {
if (list.get(0).getFlag().equals("0")) {
MessageBigFish types = list.get(0);
types.setFlag("1");
mMessageBigfishDao.update(types);
}
}
});
}
/**
* 初始化环信数据
*/
private void initData(String token, String hxUserId) {
ProgressUtil.startLoad(getActivity());
ApiWrapper wrapper = new ApiWrapper();
wrapper.getHxMessage(hxUserId, 2, 1, 10).subscribe(new Consumer<BasePageBean<NewMessage>>() {
@Override
public void accept(BasePageBean<NewMessage> newMessageBasePageBean) throws Exception {
ProgressUtil.stopLoad();
bigFishPager(newMessageBasePageBean.getData());
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
ProgressUtil.stopLoad();
ToastUtils.showShortToast("服务器异常,消息列表获取失败");
}
});
} }
private void bigFishPager(List<NewMessage> dataBeen) { @Override
if (dataBeen.size() == 0 || dataBeen == null) { public void getHxMessageSuccess(BasePageBean<NewMessage> message) {
// mTipsHelper.showEmpty(); mTotalPage = message.getTotalPages();
bigMessageView.setVisibility(View.VISIBLE); mPageSize = message.getPageSize();
messageBigfishListview.setVisibility(View.GONE); if (message.getData() != null && message.getData().size() != 0) {
} else { if (mRefreshState == 1) {
messageBigfishListview.setVisibility(View.VISIBLE); mRefreshLayout.setRefreshing(false);
bigMessageView.setVisibility(View.GONE); mAdapter.setNewData(message.getData());
//查询数据库 当前用户
Query query = mMessageBigfishDao.queryBuilder().where(MessageBigFishDao.Properties.Id1.eq(String.valueOf(GetUserInfo.getACCOUNT_ID(getContext()))))
.build();
// 查询结果以 List 返回
List<MessageBigFish> list1 = query.list();
//如果用户数据库有值
if (list1.size() > 0) {
List list = new ArrayList();
for (int ks = 0; ks < list1.size(); ks++) {
list.add(list1.get(ks).getIds());
}
//判断接口返回数据与本地数据库值,如果接口数据不包含本地。就添加
for (int j = 0; j < dataBeen.size(); j++) {
if (!list.contains(String.valueOf(dataBeen.get(j).getId()))) {
ss = new MessageBigFish(null, String.valueOf(dataBeen.get(j).getId()), String.valueOf(GetUserInfo.getACCOUNT_ID(getContext())), "0");
//插入数据
mMessageBigfishDao.insert(ss);
}
}
} else { } else {
for (int i = 0; i < dataBeen.size(); i++) { mAdapter.addData(message.getData());
ss = new MessageBigFish(null, String.valueOf(dataBeen.get(i).getId()), String.valueOf(GetUserInfo.getACCOUNT_ID(getContext())), "0");
//插入数据
mMessageBigfishDao.insert(ss);
}
}
Map<String, String> map = new HashMap();
for (MessageBigFish pzIm : list1) {
map.put(pzIm.getIds(), pzIm.getFlag());
} }
NewMessage LookMessagesBean2; if (mPage == mTotalPage) {
bigFishDataList.clear(); mAdapter.loadMoreEnd();
for (int ixx = 0; ixx < dataBeen.size(); ixx++) { } else {
NewMessage LookMessagesBean1 = dataBeen.get(ixx); mAdapter.loadMoreComplete();
LookMessagesBean2 = new NewMessage(); mPage += 1;
LookMessagesBean2.setId(LookMessagesBean1.getId());
if (map.containsKey(String.valueOf(LookMessagesBean1.getId()))) {
LookMessagesBean2.setFlag(map.get(String.valueOf(LookMessagesBean1.getId())));
}
LookMessagesBean2.setCreateTime(LookMessagesBean1.getCreateTime());
LookMessagesBean2.setAction(LookMessagesBean1.getAction());
LookMessagesBean2.setBatchId(LookMessagesBean1.getBatchId());
LookMessagesBean2.setCategory(LookMessagesBean1.getCategory());
LookMessagesBean2.setContent(LookMessagesBean1.getContent());
LookMessagesBean2.setTitle(LookMessagesBean1.getTitle());
LookMessagesBean2.setEndTime(LookMessagesBean1.getEndTime());
LookMessagesBean2.setFunctionType(LookMessagesBean1.getFunctionType());
LookMessagesBean2.setReason(LookMessagesBean1.getReason());
LookMessagesBean2.setHxAccount(LookMessagesBean1.getHxAccount());
LookMessagesBean2.setType(LookMessagesBean1.getType());
LookMessagesBean2.setStatus(LookMessagesBean1.getStatus());
LookMessagesBean2.setSender(LookMessagesBean1.getSender());
LookMessagesBean2.setStartTime(LookMessagesBean1.getStartTime());
LookMessagesBean2.setCustomJson(LookMessagesBean1.getCustomJson());
bigFishDataList.add(LookMessagesBean2);
if (bigFishDataList.isEmpty()) {
Collections.sort(bigFishDataList, (o1, o2) -> o1.getCreateTime().toString().compareTo(o2.getCreateTime().toString()));
}
} }
bigFishAdapter.notifyDataSetChanged(); } else {
mRefreshLayout.setRefreshing(false);
messageView.setVisibility(View.VISIBLE);
} }
} }
@Override @Override
public void onDestroyView() { public void getHxMessageFail() {
super.onDestroyView(); messageView.setVisibility(View.VISIBLE);
unbinder.unbind();
} }
@Override @Override
public void onResume() { public void onRefresh() {
super.onResume(); mRefreshState = 1;
initData(token, hxUserId); mPage = 1;
mPresenter.getHxMessage(hxUserId, 1, mPage, mPageSize);
} }
} }
package com.dayu.bigfish.ui.fragment; package com.dayu.bigfish.ui.fragment;
import android.content.Intent; import android.support.v4.widget.SwipeRefreshLayout;
import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager;
import android.support.annotation.Nullable; import android.support.v7.widget.RecyclerView;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
import com.dayu.bigfish.ui.adapter.SystemMessageAdapter; import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.api.ApiWrapper;
import com.dayu.bigfish.base.BasePageBean; import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.MessageJsonBean;
import com.dayu.bigfish.bean.NewMessage; import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.greendao.GreenDaoManager; import com.dayu.bigfish.presenter.systemmessage.SysMessagePresenter;
import com.dayu.bigfish.greendao.MessageSysDao; import com.dayu.bigfish.presenter.systemmessage.SystemMessageContract;
import com.dayu.bigfish.sqlbean.MessageSys; import com.dayu.bigfish.ui.adapter.SystemMessageAdapter;
import com.dayu.bigfish.ui.OrderDetailsActivity;
import com.dayu.bigfish.utils.GetUserInfo; import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil; import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomProgressDialog;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import org.greenrobot.greendao.query.Query;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.functions.Consumer;
/** /**
...@@ -50,179 +24,76 @@ import io.reactivex.functions.Consumer; ...@@ -50,179 +24,76 @@ import io.reactivex.functions.Consumer;
* on 2017/10/11. * on 2017/10/11.
*/ */
public class SystemMessageFragment extends Fragment { public class SystemMessageFragment extends BaseFragment<SysMessagePresenter> implements SystemMessageContract.View, SwipeRefreshLayout.OnRefreshListener {
@BindView(R.id.message_system_listview) @BindView(R.id.rl_sysmessage)
ListView messageSystemListview; RecyclerView mRecyclerView;
@BindView(R.id.message_image_empty) @BindView(R.id.receiving_refersh)
ImageView messageImageEmpty; SwipeRefreshLayout mRefreshLayout;
@BindView(R.id.message_textView_empty)
TextView messageTextViewEmpty;
@BindView(R.id.message_view) @BindView(R.id.message_view)
RelativeLayout messageView; RelativeLayout messageView;
private String token; private SystemMessageAdapter mAdapter;
private SystemMessageAdapter systemAdapter;
private List<NewMessage> myDataList=new ArrayList<>();
private String hxUserId; private String hxUserId;
private CustomProgressDialog dialog; private int mPage = 1;
private int orderId; private int mPageSize = 10;
private String stringJson; private int mTotalPage = 1;
Unbinder unbinder; private int mRefreshState = 1; //1:刷新,2:下拉加载
private MessageSys ss;
private MessageSysDao mMessageSysDao;
@Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View initView(View view) {
View layout = inflater.inflate(R.layout.fragment_message_system, container, false); hxUserId = GetUserInfo.getHxUserId(getActivity());
unbinder = ButterKnife.bind(this, layout); ProgressUtil.startLoad(getActivity());
dialog = new CustomProgressDialog(getContext(), R.style.CustomDialog); mPresenter.getHxMessage(hxUserId, 1, mPage, mPageSize);
token = GetUserInfo.getToken(getContext()); mAdapter = new SystemMessageAdapter(R.layout.message_adapter);
hxUserId = GetUserInfo.getHxUserId(getContext()); mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
mMessageSysDao = GreenDaoManager.getInstance().getmDaoSession().getMessageSysDao(); mRecyclerView.setAdapter(mAdapter);
initData1(); mAdapter.disableLoadMoreIfNotFullPage(mRecyclerView);
initListener(); mRefreshLayout.setOnRefreshListener(this);
return layout; return view;
} }
private void initData1() { @Override
initData(token, hxUserId); public int getLayoutId() {
systemAdapter = new SystemMessageAdapter(myDataList, getContext()); return R.layout.fragment_message_system;
messageSystemListview.setAdapter(systemAdapter);
} }
private void initListener() { @Override
messageSystemListview.setOnItemClickListener((parent, view1, position, id) -> { protected void lazyLoad() {
NewMessage lookMessagesBean = myDataList.get(position);
Query query = mMessageSysDao.queryBuilder().where(
MessageSysDao.Properties.Ids.eq(String.valueOf(lookMessagesBean.getId())),
MessageSysDao.Properties.Id1.eq(GetUserInfo.getACCOUNT_ID(getContext())))
.build();
List<MessageSys> list = query.list();
if (list.size() != 0) {
if (list.get(0).getFlag().equals("0")) {
MessageSys types = list.get(0);
types.setFlag("1");
mMessageSysDao.update(types);
}
}
stringJson = myDataList.get(position).getCustomJson();
if (!TextUtils.isEmpty(stringJson)){
JsonObject returnData = new JsonParser().parse(stringJson).getAsJsonObject();
Gson gson = new Gson();
MessageJsonBean mess = gson.fromJson(returnData, MessageJsonBean.class);
orderId = mess.getOrderId();
Intent intent = new Intent(getContext(), OrderDetailsActivity.class);
intent.putExtra("orderId", orderId + "");
startActivity(intent);
}
});
}
/**
* 初始化环信数据
*/
private void initData(String token, String hxUserId) {
ProgressUtil.startLoad(getActivity());
ApiWrapper wrapper = new ApiWrapper();
wrapper.getHxMessage(hxUserId, 1, 1, 10).subscribe(new Consumer<BasePageBean<NewMessage>>() {
@Override
public void accept(BasePageBean<NewMessage> newMessageBasePageBean) throws Exception {
ProgressUtil.stopLoad();
loadPager(newMessageBasePageBean.getData());
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
ProgressUtil.stopLoad();
ToastUtils.showShortToast("服务器异常,消息列表获取失败");
}
});
} }
private void loadPager(List<NewMessage> dataBeen) { @Override
if (dataBeen.size() == 0 || dataBeen == null) { public void getHxMessageSuccess(BasePageBean<NewMessage> message) {
// mTipsHelper.showEmpty(); mTotalPage = message.getTotalPages();
messageView.setVisibility(View.VISIBLE); mPageSize = message.getPageSize();
messageSystemListview.setVisibility(View.GONE); if (message.getData() != null && message.getData().size() != 0) {
dialog.dismiss(); if (mRefreshState == 1) {
} else { mRefreshLayout.setRefreshing(false);
messageSystemListview.setVisibility(View.VISIBLE); mAdapter.setNewData(message.getData());
messageView.setVisibility(View.GONE);
//查询数据库 当前用户
Query query =mMessageSysDao.queryBuilder().where(MessageSysDao.Properties.Id1.eq(String.valueOf(GetUserInfo.getACCOUNT_ID(getContext()))))
.build();
// 查询结果以 List 返回
List<MessageSys> list1 = query.list();
//如果用户数据库有值
if (list1.size() > 0) {
List list = new ArrayList();
for (int ks = 0; ks < list1.size(); ks++) {
list.add(list1.get(ks).getIds());
}
//判断接口返回数据与本地数据库值,如果接口数据不包含本地。就添加
for (int j = 0; j < dataBeen.size(); j++) {
if (!list.contains(String.valueOf(dataBeen.get(j).getId()))) {
ss = new MessageSys(null, String.valueOf(dataBeen.get(j).getId()),String.valueOf(GetUserInfo.getACCOUNT_ID(getContext())),"0");
//插入数据
mMessageSysDao.insert(ss);
}
}
} else { } else {
for (int i = 0; i <dataBeen.size(); i++) { mAdapter.addData(message.getData());
ss = new MessageSys(null, String.valueOf(dataBeen.get(i).getId()),String.valueOf(GetUserInfo.getACCOUNT_ID(getContext())),"0");
//插入数据
mMessageSysDao.insert(ss);
}
}
Map<String, String> map = new HashMap();
for (MessageSys pzIm : list1) {
map.put(pzIm.getIds(), pzIm.getFlag());
} }
NewMessage LookMessagesBean2; if (mPage == mTotalPage) {
myDataList.clear(); mAdapter.loadMoreEnd();
for (int ixx = 0; ixx < dataBeen.size(); ixx++) { } else {
NewMessage LookMessagesBean1 =dataBeen.get(ixx); mAdapter.loadMoreComplete();
LookMessagesBean2 = new NewMessage(); mPage += 1;
LookMessagesBean2.setId(LookMessagesBean1.getId());
if (map.containsKey(String.valueOf(LookMessagesBean1.getId()))) {
LookMessagesBean2.setFlag(map.get(String.valueOf(LookMessagesBean1.getId())));
}
LookMessagesBean2.setCreateTime(LookMessagesBean1.getCreateTime());
LookMessagesBean2.setAction(LookMessagesBean1.getAction());
LookMessagesBean2.setBatchId(LookMessagesBean1.getBatchId());
LookMessagesBean2.setCategory(LookMessagesBean1.getCategory());
LookMessagesBean2.setContent(LookMessagesBean1.getContent());
LookMessagesBean2.setTitle(LookMessagesBean1.getTitle());
LookMessagesBean2.setEndTime(LookMessagesBean1.getEndTime());
LookMessagesBean2.setFunctionType(LookMessagesBean1.getFunctionType());
LookMessagesBean2.setReason(LookMessagesBean1.getReason());
LookMessagesBean2.setHxAccount(LookMessagesBean1.getHxAccount());
LookMessagesBean2.setType(LookMessagesBean1.getType());
LookMessagesBean2.setStatus(LookMessagesBean1.getStatus());
LookMessagesBean2.setSender(LookMessagesBean1.getSender());
LookMessagesBean2.setStartTime(LookMessagesBean1.getStartTime());
LookMessagesBean2.setCustomJson(LookMessagesBean1.getCustomJson());
myDataList.add(LookMessagesBean2);
if (myDataList.isEmpty()) {
Collections.sort(myDataList, (o1, o2) -> o1.getCreateTime().toString().compareTo(o2.getCreateTime().toString()));
}
} }
systemAdapter.notifyDataSetChanged(); } else {
dialog.dismiss(); mRefreshLayout.setRefreshing(false);
messageView.setVisibility(View.VISIBLE);
} }
} }
@Override @Override
public void onDestroyView() { public void getHxMessageFail() {
super.onDestroyView(); messageView.setVisibility(View.VISIBLE);
unbinder.unbind();
} }
@Override @Override
public void onResume() { public void onRefresh() {
super.onResume(); mRefreshState = 1;
initData(token, hxUserId); mPage = 1;
mPresenter.getHxMessage(hxUserId, 1, mPage, mPageSize);
} }
} }
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/cl_home_listview_bg" android:background="@color/cl_home_listview_bg"
android:orientation="vertical"> android:orientation="vertical">
<ListView
android:id="@+id/message_system_listview" <android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/receiving_refersh"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:divider="@null"
android:scrollbars="none" <RelativeLayout
android:background="@color/cl_home_listview_bg" android:layout_width="match_parent"
/> android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_sysmessage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f5f5f5"
/>
</RelativeLayout>
</android.support.v4.widget.SwipeRefreshLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/message_view" android:id="@+id/message_view"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:visibility="gone"
> >
<ImageView <ImageView
android:id="@+id/message_image_empty" android:id="@+id/message_image_empty"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:src="@mipmap/yu"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@mipmap/yu"
/> />
<TextView <TextView
android:id="@+id/message_textView_empty" android:id="@+id/message_textView_empty"
android:layout_marginTop="@dimen/dp_17"
android:layout_below="@id/message_image_empty"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/message_image_empty"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_17"
android:text="暂无通知" android:text="暂无通知"
android:textSize="@dimen/sp_13.3"
android:textColor="@color/cl_login_clearedittext_hint" android:textColor="@color/cl_login_clearedittext_hint"
android:textSize="@dimen/sp_13.3"
/> />
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </RelativeLayout>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="@dimen/dp_80"
android:orientation="vertical">
<RelativeLayout <RelativeLayout
android:id="@+id/item" android:id="@+id/item"
android:layout_width="@dimen/dp_333" android:layout_width="@dimen/dp_333"
...@@ -9,58 +11,62 @@ ...@@ -9,58 +11,62 @@
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_12" android:layout_marginTop="@dimen/dp_12"
android:background="@drawable/item_shape"> android:background="@drawable/item_shape">
<TextView <TextView
android:id="@+id/line_textView" android:id="@+id/line_textView"
android:layout_width="1dp" android:layout_width="1dp"
android:background="@color/line_color"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginLeft="89dp" android:layout_marginLeft="89dp"
android:background="@color/line_color"
/> />
<TextView <TextView
android:id="@+id/message_time" android:id="@+id/message_time"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_12"
android:textColor="@color/cl_home_title_text_color"
android:layout_marginTop="@dimen/dp_18"
android:layout_alignRight="@id/line_textView" android:layout_alignRight="@id/line_textView"
android:layout_marginRight="@dimen/dp_12" android:layout_marginRight="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_18"
android:text="08-10" android:text="08-10"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_12"
/> />
<TextView <TextView
android:id="@+id/message_date" android:id="@+id/message_date"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="24sp"
android:layout_marginTop="@dimen/dp_34"
android:textColor="@color/cl_home_title_text_color"
android:textStyle="bold"
android:layout_alignRight="@id/line_textView" android:layout_alignRight="@id/line_textView"
android:layout_marginRight="@dimen/dp_12" android:layout_marginRight="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_34"
android:text="18:72" android:text="18:72"
android:textColor="@color/cl_home_title_text_color"
android:textSize="24sp"
android:textStyle="bold"
/> />
<TextView <TextView
android:id="@+id/message_text_content" android:id="@+id/message_text_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="工单被改派"
android:textSize="@dimen/sp_13.3"
android:textColor="@color/cl_home_title_text_color"
android:layout_alignLeft="@id/line_textView" android:layout_alignLeft="@id/line_textView"
android:layout_marginLeft="@dimen/dp_16"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_16"
android:text="工单被改派"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_13.3"
/> />
<TextView <TextView
android:id="@+id/iv" android:id="@+id/iv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_10"
android:textColor="@color/cl_tab_read"
android:text="未读"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_21.3" android:layout_marginRight="@dimen/dp_21.3"
android:text="未读"
android:textColor="@color/cl_tab_read"
android:textSize="@dimen/sp_10"
/> />
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </RelativeLayout>
\ No newline at end of file
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 sign in to comment