MessageAdapter.java
5.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package com.naji.xiaotao.tangshi.adapter;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.naji.xiaotao.R;
import com.naji.xiaotao.cookbook.adapter.RvAdapter;
import com.naji.xiaotao.cookbook.listener.RvListener;
import com.naji.xiaotao.cookbook.viewholder.RvHolder;
import com.naji.xiaotao.http.RetrofitClient;
import com.naji.xiaotao.message.entity.Message;
import com.naji.xiaotao.message.entity.Message_Table;
import com.naji.xiaotao.tangshi.service.TangshiApiService;
import com.naji.xiaotao.util.TimeUtil;
import com.raizlabs.android.dbflow.sql.language.SQLite;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import me.goldze.mvvmhabit.bus.RxBus;
import me.goldze.mvvmhabit.http.BaseResponse;
import me.goldze.mvvmhabit.utils.RxUtils;
import retrofit2.Retrofit;
public class MessageAdapter extends RvAdapter<Message> {
private onOperationClickListener onOperationClickListener;
private boolean isWaitingSure;
public MessageAdapter(Context context, List<Message> list, RvListener rvListener,boolean isWaitingSure){
super(context,list,rvListener);
this.isWaitingSure=isWaitingSure;
}
public interface onOperationClickListener{
void onOperationClick(int type,String message_id);
}
public void setOnOperationClickListener(MessageAdapter.onOperationClickListener onOperationClickListener) {
this.onOperationClickListener = onOperationClickListener;
}
@Override
protected int getLayoutId(int viewType) {
return R.layout.layout_message_item;
}
@Override
protected RvHolder getHolder(View view, int viewType) {
return new MessageHolder(view,viewType,null);
}
private class MessageHolder extends RvHolder<Message>{
private ImageView msgBell;
private TextView msgTitle;
private TextView msgTime;
private LinearLayout msgOperation;
private TextView operationTv;
public MessageHolder(View itemView, int type, RvListener listener) {
super(itemView, type, listener);
msgTitle=itemView.findViewById(R.id.message_title);
msgTime=itemView.findViewById(R.id.message_time);
msgOperation=itemView.findViewById(R.id.message_operation);
msgBell=itemView.findViewById(R.id.message_bell);
operationTv=itemView.findViewById(R.id.operation_text);
}
@Override
public void bindHolder(final Message messageEntity, final int position) {
switch (messageEntity.getMessage_type()){
case "1"://呼叫服务
msgTitle.setText("呼叫服务");
msgBell.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.bell_yellow));
operationTv.setText("我知道了");
break;
case "2"://加减菜,审核
if(isWaitingSure){
msgTitle.setText("顾客已下单");
}else{
msgTitle.setText("顾客已加菜");
}
msgBell.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.bell_red));
operationTv.setText("立即审核");
break;
case "3"://开发票
msgTitle.setText("需要开发票");
msgBell.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.bell_green));
operationTv.setText("立即处理");
break;
}
msgTime.setText(TimeUtil.DateformatTime(new Date(messageEntity.getMessage_time()*1000)));
msgOperation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(onOperationClickListener!=null){
onOperationClickListener.onOperationClick(Integer.parseInt(messageEntity.getMessage_type()),messageEntity.getMessage_id());
}
// list.remove(position);
// notifyItemRemoved(position);
// RxBus.getDefault().post("refresh");
if(!messageEntity.getMessage_type().equals("2")){
getAppHandle(messageEntity.getMessage_id());
}
}
});
}
}
//告诉后台前端消息已处理
private void getAppHandle(String messageid){
Map<String,String> params=new HashMap<>();
params.put("message_id",messageid);
RetrofitClient.getInstance().create(TangshiApiService.class)
.getAppHandle(params)
.compose(RxUtils.schedulersTransformer())
.compose(RxUtils.exceptionTransformer())
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
}
})
.subscribe(new Consumer<BaseResponse<String>>() {
@Override
public void accept(BaseResponse<String> stringBaseResponse) throws Exception {
if(stringBaseResponse.getRet()==200){}
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
}
});
}
}