Commit 7a524767 by 霍志良

feat:im-灵犀2.0-其他选项

parent d3d0e5ec
package com.yidianling.im.event package com.yidianling.im.event
import com.yidianling.im.router.ImIn.getUserInfo
import com.yidianling.im.session.viewholder.bean.AnswersItem
public class MultipleSelectedEvent ( public class MultipleSelectedEvent (
val strSelected:String, val strSelected:String?,
var othersState:OthersState var othersState:OthersState?,
var multipleAnswerBean:MultipleAnswerBean?
) )
data class OthersState( data class OthersState(
var isOthers:Boolean, var isOthers:Boolean,
var othersSelect:Boolean var othersSelect:Boolean
) )
data class MultipleAnswerBean(
var examId:String,
var questionPaperId:String,
var uid:String,
var questionId:String,
var answersItems:ArrayList<AnswersItem>,
var fromUid:String
)
\ No newline at end of file
...@@ -5,13 +5,17 @@ import android.widget.TextView; ...@@ -5,13 +5,17 @@ import android.widget.TextView;
import com.yidianling.im.R; import com.yidianling.im.R;
import com.yidianling.im.session.extension.CustomAttachLingxiAnswerQuestion; import com.yidianling.im.session.extension.CustomAttachLingxiAnswerQuestion;
import com.yidianling.im.session.viewholder.bean.QuestionItemBean;
import com.yidianling.nimbase.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.yidianling.nimbase.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.yidianling.uikit.business.session.viewholder.MsgViewHolderBase; import com.yidianling.uikit.business.session.viewholder.MsgViewHolderBase;
import java.util.ArrayList;
public class MsgViewHolderLingxiAnswerQuestion extends MsgViewHolderBase { public class MsgViewHolderLingxiAnswerQuestion extends MsgViewHolderBase {
private TextView answer_question; private TextView answer_question;
CustomAttachLingxiAnswerQuestion customattachLingxiAnswerQuestion; CustomAttachLingxiAnswerQuestion customattachLingxiAnswerQuestion;
private ArrayList<QuestionItemBean> itemBeans;
private StringBuffer sb;
public MsgViewHolderLingxiAnswerQuestion(BaseMultiItemFetchLoadAdapter adapter) { public MsgViewHolderLingxiAnswerQuestion(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter); super(adapter);
} }
...@@ -36,7 +40,21 @@ public class MsgViewHolderLingxiAnswerQuestion extends MsgViewHolderBase { ...@@ -36,7 +40,21 @@ public class MsgViewHolderLingxiAnswerQuestion extends MsgViewHolderBase {
@Override @Override
protected void bindContentView() { protected void bindContentView() {
customattachLingxiAnswerQuestion = ((CustomAttachLingxiAnswerQuestion) message.getAttachment()); customattachLingxiAnswerQuestion = ((CustomAttachLingxiAnswerQuestion) message.getAttachment());
itemBeans=customattachLingxiAnswerQuestion.answers;
sb=new StringBuffer();
for (int i=0;i<itemBeans.size();i++){
if (i==(itemBeans.size()-1)&&itemBeans.get(i).getName().contains("其他")){
sb.append("#"+itemBeans.get(i).getName()+"\r\n ").append(itemBeans.get(i).getOther());
}else{
sb.append("#"+itemBeans.get(i).getName()+" ");
answer_question.setText(customattachLingxiAnswerQuestion.answers.get(0).getName()); }
}
if (itemBeans.size()==1){
answer_question.setText(itemBeans.get(0).getName());
}else{
answer_question.setText(sb.toString());
}
} }
} }
...@@ -12,6 +12,7 @@ data class LingxiWhichQuestionBean( ...@@ -12,6 +12,7 @@ data class LingxiWhichQuestionBean(
data class QuestionItemBean( data class QuestionItemBean(
var id:String?, var id:String?,
var name:String?, var name:String?,
var other:String?,
var relates:ArrayList<Relates>?, var relates:ArrayList<Relates>?,
var isSelected: Boolean=false var isSelected: Boolean=false
) )
...@@ -32,7 +33,7 @@ data class AnswerBean( ...@@ -32,7 +33,7 @@ data class AnswerBean(
data class AnswersItem( data class AnswersItem(
var optionId:String, var optionId:String,
var name: String, var name: String,
var other:String, var other:String?,
var relates:ArrayList<Relates> var relates:ArrayList<Relates>
) )
data class Relates( data class Relates(
......
...@@ -64,6 +64,9 @@ import com.yidianling.im.event.MultipleSelectedEvent; ...@@ -64,6 +64,9 @@ import com.yidianling.im.event.MultipleSelectedEvent;
import com.yidianling.im.helper.IMChatUtil; import com.yidianling.im.helper.IMChatUtil;
import com.yidianling.im.http.ImRetrofitApi; import com.yidianling.im.http.ImRetrofitApi;
import com.yidianling.im.router.ImIn; import com.yidianling.im.router.ImIn;
import com.yidianling.im.session.viewholder.bean.AnswerBean;
import com.yidianling.im.session.viewholder.bean.AnswersItem;
import com.yidianling.im.session.viewholder.bean.LingxiAnswerBean;
import com.yidianling.im.session.viewholder.bean.UserIsIn; import com.yidianling.im.session.viewholder.bean.UserIsIn;
import com.yidianling.im.session.viewholder.bean.UserIsInPageData; import com.yidianling.im.session.viewholder.bean.UserIsInPageData;
import com.yidianling.nimbase.api.UIKitOptions; import com.yidianling.nimbase.api.UIKitOptions;
...@@ -1079,6 +1082,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy { ...@@ -1079,6 +1082,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
} }
public void onEvent(MultipleSelectedEvent event){ public void onEvent(MultipleSelectedEvent event){
if (event.getOthersState()!=null){
if (event.getOthersState().isOthers()){ if (event.getOthersState().isOthers()){
//用户点击了其他事件 //用户点击了其他事件
if (event.getOthersState().getOthersSelect()){ if (event.getOthersState().getOthersSelect()){
...@@ -1098,6 +1102,37 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy { ...@@ -1098,6 +1102,37 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
}else{ }else{
question_multiple.setText(event.getStrSelected()); question_multiple.setText(event.getStrSelected());
} }
}else{
//请求接口发送消息为56的答案
ArrayList<AnswersItem> answersItems=event.getMultipleAnswerBean().getAnswersItems();
for (int i=0;i<answersItems.size();i++){
if (answersItems.get(i).getName().contains("其他")){
answersItems.get(i).setOther(inputPanel.getInputContent());
break;
}
}
answerLingxiQuestion(event.getMultipleAnswerBean().getExamId(),event.getMultipleAnswerBean().getQuestionPaperId(),
event.getMultipleAnswerBean().getUid(),event.getMultipleAnswerBean().getQuestionId(),answersItems,
event.getMultipleAnswerBean().getFromUid());
}
}
/*
* 用户回答问题接口
* */
private void answerLingxiQuestion(String examID, String questionPaperId, String uid, String questionId, ArrayList<AnswersItem> answersItems,String fromUID) {
String str = new Gson().toJson(new LingxiAnswerBean(new AnswerBean(examID, questionPaperId, uid, questionId, answersItems), fromUID, "56", uid));
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), str);
Disposable subscribe = ImRetrofitApi.Companion.getImRetrofitApi().lingxiAnswerQuestion(body)
.compose(RxUtils.INSTANCE.resultJavaData())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(it -> {
LogUtil.e("answerQuestion" + it.toString());
}, throwable ->
com.yidianling.common.tools.LogUtil.e(throwable.getMessage())
);
} }
public boolean onBackPressed() { public boolean onBackPressed() {
return inputPanel.collapse(true) || messageListPanel.onBackPressed() || openOrCloseCommonQuestionLayout(false); return inputPanel.collapse(true) || messageListPanel.onBackPressed() || openOrCloseCommonQuestionLayout(false);
......
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