Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
f451ce8d
Commit
f451ce8d
authored
Jul 01, 2021
by
刘鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 请求题库、答题完成
parent
130b6b88
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
294 additions
and
64 deletions
+294
-64
YDLMessageFragment.java
m-im/src/main/java/com/yidianling/uikit/business/session/fragment/YDLMessageFragment.java
+27
-27
CollectInfoPopupWindow.kt
m-im/src/main/java/com/yidianling/uikit/business/session/view/CollectInfoPopupWindow.kt
+0
-1
QuestionInformationView.kt
m-im/src/main/java/com/yidianling/uikit/business/session/view/QuestionInformationView.kt
+116
-17
QuestionAdapter.java
m-im/src/main/java/com/yidianling/uikit/business/session/view/question/QuestionAdapter.java
+4
-2
QuestionOneCheckListener.kt
m-im/src/main/java/com/yidianling/uikit/business/session/view/question/QuestionOneCheckListener.kt
+2
-2
ServiceApi.kt
m-im/src/main/java/com/yidianling/uikit/custom/http/ServiceApi.kt
+31
-2
ServiceImpl.kt
m-im/src/main/java/com/yidianling/uikit/custom/http/ServiceImpl.kt
+38
-3
AnswerQuestionRequestBean.java
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/AnswerQuestionRequestBean.java
+28
-0
AnswersBean.java
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/AnswersBean.java
+13
-0
CreateExamsRequestBean.java
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/CreateExamsRequestBean.java
+17
-0
OptionsBean.java
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/OptionsBean.java
+0
-9
QuestionsBean.java
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/QuestionsBean.java
+2
-1
RelatesBean.java
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/RelatesBean.java
+16
-0
No files found.
m-im/src/main/java/com/yidianling/uikit/business/session/fragment/YDLMessageFragment.java
View file @
f451ce8d
...
@@ -314,27 +314,27 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -314,27 +314,27 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
if
(
ChatStatusCacheHelper
.
getStatusCache
(
"collectEvent"
))
{
if
(
ChatStatusCacheHelper
.
getStatusCache
(
"collectEvent"
))
{
String
time
=
Calendar
.
getInstance
().
get
(
Calendar
.
YEAR
)
+
"-"
+
Calendar
.
getInstance
().
get
(
Calendar
.
MONTH
)
+
Calendar
.
getInstance
().
get
(
Calendar
.
DAY_OF_MONTH
);
String
time
=
Calendar
.
getInstance
().
get
(
Calendar
.
YEAR
)
+
"-"
+
Calendar
.
getInstance
().
get
(
Calendar
.
MONTH
)
+
Calendar
.
getInstance
().
get
(
Calendar
.
DAY_OF_MONTH
);
if
(!
TextUtils
.
equals
(
time
,
SharedPreferencesEditor
.
getString
(
"skip_time_"
+
ImIn
.
INSTANCE
.
getUserInfo
().
getUid
())))
{
//
if (!TextUtils.equals(time, SharedPreferencesEditor.getString("skip_time_" + ImIn.INSTANCE.getUserInfo().getUid()))) {
//
collectInfoPopupWindow = new CollectInfoPopupWindow(getActivity(), new CollectInfoPopupWindow.OnSendMsgListener() {
collectInfoPopupWindow
=
new
CollectInfoPopupWindow
(
getActivity
(),
new
CollectInfoPopupWindow
.
OnSendMsgListener
()
{
//
@Override
@Override
// public void sendMsg(@NotNull String content, @NotNull List<
QuestionsInfoBean> result) {
public
void
sendMsg
(
@NotNull
String
content
,
@NotNull
List
<?
extends
QuestionsInfoBean
>
result
)
{
//
if (TextUtils.isEmpty(content)) {//点击跳过后当天不再显示此弹窗
if
(
TextUtils
.
isEmpty
(
content
))
{
//点击跳过后当天不再显示此弹窗
//
SharedPreferencesEditor.putString("skip_time_" + ImIn.INSTANCE.getUserInfo().getUid()
SharedPreferencesEditor
.
putString
(
"skip_time_"
+
ImIn
.
INSTANCE
.
getUserInfo
().
getUid
()
//
, time);
,
time
);
//
} else {
}
else
{
//
IMMessage textMessage = MessageBuilder.createTextMessage(sessionId, sessionType, content);
IMMessage
textMessage
=
MessageBuilder
.
createTextMessage
(
sessionId
,
sessionType
,
content
);
//
if (sendMessage(textMessage)) {
if
(
sendMessage
(
textMessage
))
{
//
openOrCloseCommonQuestionLayout(false);
openOrCloseCommonQuestionLayout
(
false
);
//
}
}
//
//
submitUserCollect(result);
// submitUserCollect(result);
//
}
}
//
}
}
//
//
@Override
@Override
//
public void finishPage() {
public
void
finishPage
()
{
//
getActivity().finish();
getActivity
().
finish
();
//
}
}
//
});
});
getUserInfoCollect
();
getUserInfoCollect
();
if
(!
getActivity
().
isFinishing
())
{
if
(!
getActivity
().
isFinishing
())
{
try
{
try
{
...
@@ -344,7 +344,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -344,7 +344,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
}
}
collectInfoPopupWindow
.
show
(
top_expert_info_cl
);
collectInfoPopupWindow
.
show
(
top_expert_info_cl
);
}
}
}
//
}
ChatStatusCacheHelper
.
clearDataByKey
(
"collectEvent"
);
ChatStatusCacheHelper
.
clearDataByKey
(
"collectEvent"
);
}
}
}
}
...
@@ -1408,22 +1408,22 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
...
@@ -1408,22 +1408,22 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
private
void
getUserInfoCollect
()
{
private
void
getUserInfoCollect
()
{
ServiceImpl
.
Companion
.
getInstance
().
userCollectList
()
ServiceImpl
.
Companion
.
getInstance
().
preExamQuestionPaper
()
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
resp
->
{
.
subscribe
(
resp
->
{
if
(
resp
.
data
!=
null
&&
resp
.
data
.
size
()
>
0
)
{
if
(
resp
.
data
!=
null
)
{
ServiceImpl
.
Companion
.
getInstance
().
getNewUserMes
(
new
NewUserMesBean
(
""
))
ServiceImpl
.
Companion
.
getInstance
().
getNewUserMes
(
new
NewUserMesBean
(
""
))
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
hasCollectedInResp
->
{
.
subscribe
(
hasCollectedInResp
->
{
if
(
hasCollectedInResp
.
data
!=
null
&&
hasCollectedInResp
.
data
.
size
()
>
0
)
{
if
(
hasCollectedInResp
.
data
!=
null
&&
hasCollectedInResp
.
data
.
size
()
>
0
)
{
// collectInfoPopupWindow.setData(resp.data, hasCollectedInR
esp.data);
collectInfoPopupWindow
.
setData
(
r
esp
.
data
);
}
else
{
}
else
{
// collectInfoPopupWindow.setData(resp.data, null
);
collectInfoPopupWindow
.
setData
(
resp
.
data
);
}
}
},
throwable
->
{
},
throwable
->
{
// collectInfoPopupWindow.setData(resp.data, null
);
collectInfoPopupWindow
.
setData
(
resp
.
data
);
});
});
}
else
{
}
else
{
collectInfoPopupWindow
.
dismiss
();
collectInfoPopupWindow
.
dismiss
();
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/view/CollectInfoPopupWindow.kt
View file @
f451ce8d
...
@@ -56,7 +56,6 @@ class CollectInfoPopupWindow(var mContext: Activity, var listener: OnSendMsgList
...
@@ -56,7 +56,6 @@ class CollectInfoPopupWindow(var mContext: Activity, var listener: OnSendMsgList
isOutsideTouchable
=
false
isOutsideTouchable
=
false
}
}
@RequiresApi
(
Build
.
VERSION_CODES
.
N
)
fun
setData
(
questionInfo
:
QuestionsInfoBean
)
{
fun
setData
(
questionInfo
:
QuestionsInfoBean
)
{
collectUserInformationView
.
setData
(
questionInfo
)
collectUserInformationView
.
setData
(
questionInfo
)
}
}
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/view/QuestionInformationView.kt
View file @
f451ce8d
...
@@ -3,7 +3,6 @@ package com.yidianling.uikit.business.session.view
...
@@ -3,7 +3,6 @@ package com.yidianling.uikit.business.session.view
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.app.Activity
import
android.app.Activity
import
android.content.Context
import
android.content.Context
import
android.os.Build
import
android.os.Handler
import
android.os.Handler
import
android.text.Editable
import
android.text.Editable
import
android.text.TextUtils
import
android.text.TextUtils
...
@@ -14,19 +13,21 @@ import android.view.ViewGroup
...
@@ -14,19 +13,21 @@ import android.view.ViewGroup
import
android.view.inputmethod.InputMethodManager
import
android.view.inputmethod.InputMethodManager
import
android.widget.EditText
import
android.widget.EditText
import
android.widget.LinearLayout
import
android.widget.LinearLayout
import
androidx.annotation.RequiresApi
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView
import
com.alibaba.fastjson.JSON
import
com.ydl.ydlcommon.utils.Utils
import
com.ydl.ydlcommon.utils.Utils
import
com.ydl.ydlcommon.view.dialog.CommonDialog
import
com.ydl.ydlcommon.view.dialog.CommonDialog
import
com.yidianling.im.R
import
com.yidianling.im.R
import
com.yidianling.im.router.ImIn
import
com.yidianling.listener.SoftKeyBoardListener
import
com.yidianling.listener.SoftKeyBoardListener
import
com.yidianling.uikit.business.session.view.question.QuestionAdapter
import
com.yidianling.uikit.business.session.view.question.QuestionAdapter
import
com.yidianling.uikit.business.session.view.question.QuestionMultiItem
import
com.yidianling.uikit.business.session.view.question.QuestionMultiItem
import
com.yidianling.uikit.business.session.view.question.QuestionOneCheckListener
import
com.yidianling.uikit.business.session.view.question.QuestionOneCheckListener
import
com.yidianling.uikit.custom.http.response.question.OptionsBean
import
com.yidianling.uikit.custom.http.ServiceImpl.Companion.instance
import
com.yidianling.uikit.custom.http.response.question.QuestionsBean
import
com.yidianling.uikit.custom.http.response.question.*
import
com.yidianling.uikit.custom.http.response.question.QuestionsInfoBean
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.schedulers.Schedulers
import
kotlinx.android.synthetic.main.im_view_question_infomation.view.*
import
kotlinx.android.synthetic.main.im_view_question_infomation.view.*
import
java.util.*
import
java.util.*
import
kotlin.collections.ArrayList
import
kotlin.collections.ArrayList
...
@@ -52,6 +53,7 @@ class QuestionInformationView(
...
@@ -52,6 +53,7 @@ class QuestionInformationView(
private
var
mData
=
ArrayList
<
QuestionMultiItem
>();
private
var
mData
=
ArrayList
<
QuestionMultiItem
>();
private
var
mQuestionBean
:
QuestionsInfoBean
?
=
null
private
var
mQuestionBean
:
QuestionsInfoBean
?
=
null
private
var
problemContent
=
""
private
var
problemContent
=
""
private
var
answerQuestionId
=
""
init
{
init
{
val
params
=
LayoutParams
(
val
params
=
LayoutParams
(
...
@@ -76,19 +78,31 @@ class QuestionInformationView(
...
@@ -76,19 +78,31 @@ class QuestionInformationView(
mQuestionAdapter
=
QuestionAdapter
(
mData
)
mQuestionAdapter
=
QuestionAdapter
(
mData
)
recycle
.
adapter
=
mQuestionAdapter
recycle
.
adapter
=
mQuestionAdapter
mQuestionAdapter
.
setOneCheckListener
(
object
:
QuestionOneCheckListener
{
mQuestionAdapter
.
setOneCheckListener
(
object
:
QuestionOneCheckListener
{
override
fun
itemClick
(
bean
:
OptionsBean
?,
question
:
QuestionsBean
)
{
override
fun
itemClick
(
list
:
List
<
OptionsBean
>?,
question
:
QuestionsBean
)
{
var
anwserStr
=
""
list
?.
forEach
{
if
(
anwserStr
.
isNotEmpty
())
{
anwserStr
=
anwserStr
+
"、"
+
it
?.
name
}
else
{
anwserStr
+=
it
?.
name
}
}
//发送回答问题信息
val
questionMultiItem
=
QuestionMultiItem
()
val
questionMultiItem
=
QuestionMultiItem
()
questionMultiItem
.
type2Text
=
bean
?.
name
questionMultiItem
.
type2Text
=
anwserStr
questionMultiItem
.
viewType
=
2
questionMultiItem
.
viewType
=
2
mData
.
add
(
questionMultiItem
)
mData
.
add
(
questionMultiItem
)
mQuestionAdapter
.
notifyDataSetChanged
()
mQuestionAdapter
.
notifyDataSetChanged
()
//回答问题
list
?.
let
{
anserOneChek
(
question
,
it
,
""
)
}
recycle
.
scrollToPosition
(
mData
.
size
-
1
)
recycle
.
scrollToPosition
(
mData
.
size
-
1
)
val
questionMultiItem2
=
QuestionMultiItem
()
val
questionMultiItem2
=
QuestionMultiItem
()
// 使用问题questionId 去questionChains取到选项配置
// 使用问题questionId 去questionChains取到选项配置
val
options
=
mQuestionBean
!!
.
questionPaper
.
questionChains
[
question
.
id
]
?.
options
val
options
=
mQuestionBean
!!
.
questionPaper
.
questionChains
[
question
.
id
]
?.
options
//从配置里找到下一题id
//从配置里找到下一题id
val
nextQuestionId
=
options
?.
get
(
bean
?.
id
)
val
nextQuestionId
=
options
?.
get
(
list
?.
get
(
0
)
?.
id
)
//使用下一题nextQuestionId 取到题
//使用下一题nextQuestionId 取到题
val
questionsBean
=
mQuestionBean
!!
.
questionPaper
.
questions
[
nextQuestionId
]
val
questionsBean
=
mQuestionBean
!!
.
questionPaper
.
questions
[
nextQuestionId
]
...
@@ -130,7 +144,7 @@ class QuestionInformationView(
...
@@ -130,7 +144,7 @@ class QuestionInformationView(
}
}
override
fun
moreDefineItemClick
(
list
:
List
<
OptionsBean
?
>?,
question
:
QuestionsBean
)
{
override
fun
moreDefineItemClick
(
list
:
List
<
OptionsBean
>?,
question
:
QuestionsBean
)
{
//多选确定
//多选确定
var
anwserStr
=
""
var
anwserStr
=
""
list
?.
forEach
{
list
?.
forEach
{
...
@@ -140,13 +154,18 @@ class QuestionInformationView(
...
@@ -140,13 +154,18 @@ class QuestionInformationView(
anwserStr
+=
it
?.
name
anwserStr
+=
it
?.
name
}
}
}
}
//创建回答消息
val
bean
=
list
?.
get
(
0
)
val
bean
=
list
?.
get
(
0
)
val
questionMultiItem
=
QuestionMultiItem
()
val
questionMultiItem
=
QuestionMultiItem
()
questionMultiItem
.
type2Text
=
anwserStr
questionMultiItem
.
type2Text
=
anwserStr
questionMultiItem
.
viewType
=
2
questionMultiItem
.
viewType
=
2
mData
.
add
(
questionMultiItem
)
mData
.
add
(
questionMultiItem
)
mQuestionAdapter
.
notifyDataSetChanged
()
mQuestionAdapter
.
notifyDataSetChanged
()
//回答问题
list
?.
let
{
anserOneChek
(
question
,
it
,
""
)
}
//寻找下一题
recycle
.
scrollToPosition
(
mData
.
size
-
1
)
recycle
.
scrollToPosition
(
mData
.
size
-
1
)
val
questionMultiItem2
=
QuestionMultiItem
()
val
questionMultiItem2
=
QuestionMultiItem
()
// 使用问题questionId 去questionChains取到选项配置
// 使用问题questionId 去questionChains取到选项配置
...
@@ -247,17 +266,92 @@ class QuestionInformationView(
...
@@ -247,17 +266,92 @@ class QuestionInformationView(
}
}
/**
* 回答单选问题
* @param question 问题
* @param list 选中回答的选项list
* @param otherInput 其他输入的内容
* */
@SuppressLint
(
"CheckResult"
)
private
fun
anserOneChek
(
question
:
QuestionsBean
,
list
:
List
<
OptionsBean
>,
otherInput
:
String
)
{
val
answerQuestionRequestBean
=
AnswerQuestionRequestBean
()
answerQuestionRequestBean
.
examId
=
answerQuestionId
answerQuestionRequestBean
.
questionId
=
question
.
id
answerQuestionRequestBean
.
questionPaperId
=
question
.
questionPaperId
answerQuestionRequestBean
.
uid
=
ImIn
.
getUserInfo
()
?.
uid
var
answersBeanList
=
ArrayList
<
AnswersBean
>()
for
(
optionsBean
in
list
)
{
var
answersBean
=
AnswersBean
()
answersBean
.
name
=
optionsBean
.
name
answersBean
.
optionId
=
optionsBean
.
id
answersBean
.
relates
=
optionsBean
.
relates
if
(
"其他"
==
optionsBean
.
name
&&
otherInput
.
isNotEmpty
())
{
answersBean
.
other
=
otherInput
}
answersBeanList
.
add
(
answersBean
)
}
answerQuestionRequestBean
.
answers
=
answersBeanList
instance
.
answerQuestion
(
answerQuestionId
,
JSON
.
toJSONString
(
answerQuestionRequestBean
))
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
()
}
@SuppressLint
(
"ClickableViewAccessibility"
)
@SuppressLint
(
"ClickableViewAccessibility"
)
@RequiresApi
(
Build
.
VERSION_CODES
.
N
)
fun
setData
(
questionInfo
:
QuestionsInfoBean
)
{
fun
setData
(
questionInfo
:
QuestionsInfoBean
)
{
mQuestionBean
=
questionInfo
mQuestionBean
=
questionInfo
//设置数据,清空list数据
mData
.
clear
()
mData
.
clear
()
//取到问候语
getFirstQuestion
(
questionInfo
)
//取出第二条消息
setSecondQuestion
()
//设置view事件
addVIewListener
()
createExams
()
}
@SuppressLint
(
"CheckResult"
)
private
fun
createExams
()
{
val
createExamsRequestBean
=
CreateExamsRequestBean
()
createExamsRequestBean
.
name
=
mQuestionBean
?.
questionPaper
?.
name
createExamsRequestBean
.
questionPaperId
=
mQuestionBean
?.
questionPaper
?.
id
createExamsRequestBean
.
type
=
"first_entry_lingxi"
createExamsRequestBean
.
uid
=
ImIn
.
getUserInfo
()
?.
uid
instance
.
createEexams
(
JSON
.
toJSONString
(
createExamsRequestBean
))
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
resp
->
answerQuestionId
=
resp
.
data
},
{
throwable
->
})
}
/***取到问候语*/
private
fun
getFirstQuestion
(
questionInfo
:
QuestionsInfoBean
)
{
val
questionMultiItem
=
QuestionMultiItem
()
val
questionMultiItem
=
QuestionMultiItem
()
questionMultiItem
.
type1Text
=
questionInfo
.
questions
[
0
].
question
questionMultiItem
.
type1Text
=
questionInfo
.
questions
[
0
].
question
questionMultiItem
.
viewType
=
1
questionMultiItem
.
viewType
=
1
mData
.
add
(
questionMultiItem
)
mData
.
add
(
questionMultiItem
)
mQuestionAdapter
.
notifyDataSetChanged
()
}
/***问候语之后第一道题*/
private
fun
setSecondQuestion
()
{
val
questionMultiItem2
=
QuestionMultiItem
()
val
questionMultiItem2
=
QuestionMultiItem
()
mQuestionBean
!!
.
questionPaper
.
questionChains
.
forEach
{
(
k
,
v
)
->
mQuestionBean
!!
.
questionPaper
.
questionChains
.
forEach
{
(
k
,
v
)
->
if
(
v
.
head
)
{
if
(
v
.
head
)
{
...
@@ -271,9 +365,15 @@ class QuestionInformationView(
...
@@ -271,9 +365,15 @@ class QuestionInformationView(
questionMultiItem2
.
type4CanClick
=
true
questionMultiItem2
.
type4CanClick
=
true
}
}
mData
.
add
(
questionMultiItem2
)
mData
.
add
(
questionMultiItem2
)
mQuestionAdapter
.
notifyDataSetChanged
()
return
@forEach
return
@forEach
}
}
}
}
}
/**添加view事件*/
private
fun
addVIewListener
()
{
tv_send
.
setOnClickListener
{
tv_send
.
setOnClickListener
{
et_input_problem
.
setText
(
""
)
et_input_problem
.
setText
(
""
)
hideInputMethod
(
et_input_problem
)
hideInputMethod
(
et_input_problem
)
...
@@ -315,16 +415,16 @@ class QuestionInformationView(
...
@@ -315,16 +415,16 @@ class QuestionInformationView(
if
(
char
.
contains
(
"\n"
))
{
if
(
char
.
contains
(
"\n"
))
{
val
s
=
char
.
toString
().
replace
(
"\n"
,
""
)
val
s
=
char
.
toString
().
replace
(
"\n"
,
""
)
if
(
TextUtils
.
isEmpty
(
s
))
{
if
(
TextUtils
.
isEmpty
(
s
))
{
tv_send
.
visibility
=
View
.
GONE
tv_send
.
visibility
=
GONE
et_input_problem
.
setText
(
""
)
et_input_problem
.
setText
(
""
)
}
else
{
}
else
{
tv_send
.
visibility
=
V
iew
.
V
ISIBLE
tv_send
.
visibility
=
VISIBLE
}
}
}
else
{
}
else
{
tv_send
.
visibility
=
V
iew
.
V
ISIBLE
tv_send
.
visibility
=
VISIBLE
}
}
}
else
{
}
else
{
tv_send
.
visibility
=
View
.
GONE
tv_send
.
visibility
=
GONE
}
}
}
}
...
@@ -357,7 +457,6 @@ class QuestionInformationView(
...
@@ -357,7 +457,6 @@ class QuestionInformationView(
}
}
}
}
}
}
}
}
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/view/question/QuestionAdapter.java
View file @
f451ce8d
...
@@ -215,7 +215,9 @@ public class QuestionAdapter extends BaseMultiItemQuickAdapter<QuestionMultiItem
...
@@ -215,7 +215,9 @@ public class QuestionAdapter extends BaseMultiItemQuickAdapter<QuestionMultiItem
}
}
oneCheckAdapter
.
getData
().
get
(
position
).
check
=
true
;
oneCheckAdapter
.
getData
().
get
(
position
).
check
=
true
;
oneCheckAdapter
.
notifyDataSetChanged
();
oneCheckAdapter
.
notifyDataSetChanged
();
mOneCheckListener
.
itemClick
(
data
.
get
(
position
),
item
.
questionsBean
);
List
<
OptionsBean
>
list
=
new
ArrayList
();
list
.
add
(
data
.
get
(
position
));
mOneCheckListener
.
itemClick
(
list
,
item
.
questionsBean
);
}
}
}
}
});
});
...
@@ -225,7 +227,7 @@ public class QuestionAdapter extends BaseMultiItemQuickAdapter<QuestionMultiItem
...
@@ -225,7 +227,7 @@ public class QuestionAdapter extends BaseMultiItemQuickAdapter<QuestionMultiItem
List
<
OptionsBean
>
data
=
moreCheckAdapter
.
getData
();
List
<
OptionsBean
>
data
=
moreCheckAdapter
.
getData
();
List
<
OptionsBean
>
checkList
=
new
ArrayList
();
List
<
OptionsBean
>
checkList
=
new
ArrayList
();
for
(
OptionsBean
datum
:
data
)
{
for
(
OptionsBean
datum
:
data
)
{
if
(
datum
.
check
&&
!(
"其他"
.
equals
(
datum
.
name
))
)
{
if
(
datum
.
check
)
{
checkList
.
add
(
datum
);
checkList
.
add
(
datum
);
}
}
}
}
...
...
m-im/src/main/java/com/yidianling/uikit/business/session/view/question/QuestionOneCheckListener.kt
View file @
f451ce8d
...
@@ -7,12 +7,12 @@ interface QuestionOneCheckListener {
...
@@ -7,12 +7,12 @@ interface QuestionOneCheckListener {
/**
/**
* 单选点击获取item信息
* 单选点击获取item信息
*/
*/
fun
itemClick
(
bean
:
OptionsBean
?,
question
:
QuestionsBean
)
fun
itemClick
(
bean
:
List
<
OptionsBean
>
?,
question
:
QuestionsBean
)
/**
/**
* 多选确定按钮点击
* 多选确定按钮点击
*/
*/
fun
moreDefineItemClick
(
list
:
List
<
OptionsBean
?
>?,
question
:
QuestionsBean
)
fun
moreDefineItemClick
(
list
:
List
<
OptionsBean
>?,
question
:
QuestionsBean
)
/**
/**
* 展示其他
* 展示其他
...
...
m-im/src/main/java/com/yidianling/uikit/custom/http/ServiceApi.kt
View file @
f451ce8d
...
@@ -4,6 +4,7 @@ import com.ydl.ydlcommon.base.config.YDL_DOMAIN
...
@@ -4,6 +4,7 @@ import com.ydl.ydlcommon.base.config.YDL_DOMAIN
import
com.ydl.ydlcommon.base.config.YDL_DOMAIN_JAVA
import
com.ydl.ydlcommon.base.config.YDL_DOMAIN_JAVA
import
com.ydl.ydlcommon.data.http.BaseAPIResponse
import
com.ydl.ydlcommon.data.http.BaseAPIResponse
import
com.yidianling.uikit.custom.http.response.*
import
com.yidianling.uikit.custom.http.response.*
import
com.yidianling.uikit.custom.http.response.question.QuestionsInfoBean
import
io.reactivex.Observable
import
io.reactivex.Observable
import
okhttp3.RequestBody
import
okhttp3.RequestBody
import
retrofit2.http.*
import
retrofit2.http.*
...
@@ -67,7 +68,10 @@ interface ServiceApi {
...
@@ -67,7 +68,10 @@ interface ServiceApi {
//关注
//关注
@GET
(
"consult/expert-page/toggle-follow"
)
@GET
(
"consult/expert-page/toggle-follow"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
focus
(
@Query
(
"doctorId"
)
doctorId
:
String
,
@Query
(
"status"
)
status
:
String
):
Observable
<
BaseAPIResponse
<
Any
>>
fun
focus
(
@Query
(
"doctorId"
)
doctorId
:
String
,
@Query
(
"status"
)
status
:
String
):
Observable
<
BaseAPIResponse
<
Any
>>
//服务列表
//服务列表
@GET
(
"consult/expert-page/nproducts"
)
@GET
(
"consult/expert-page/nproducts"
)
...
@@ -84,6 +88,30 @@ interface ServiceApi {
...
@@ -84,6 +88,30 @@ interface ServiceApi {
@GET
(
"chat/get-source-doctor"
)
@GET
(
"chat/get-source-doctor"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
//注意:这个接口返回的还有很多字段,但是暂时不需要,就先取这两个字段
//注意:这个接口返回的还有很多字段,但是暂时不需要,就先取这两个字段
fun
getSourceDoctor
(
@Query
(
"scene"
)
scene
:
Int
,
@Query
(
"userUid"
)
userUid
:
String
,
@Query
(
"assistantUid"
)
assistantUid
:
String
):
Observable
<
BaseAPIResponse
<
SourceDoctorInfoBean
>>
fun
getSourceDoctor
(
@Query
(
"scene"
)
scene
:
Int
,
@Query
(
"userUid"
)
userUid
:
String
,
@Query
(
"assistantUid"
)
assistantUid
:
String
):
Observable
<
BaseAPIResponse
<
SourceDoctorInfoBean
>>
//新版前置信息收集 客户端灵犀信息收集卡题库
@GET
(
"cms/exam/api/v1/exams/lingxi/pre-exam-question-paper"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
//注意:这个接口返回的还有很多字段,但是暂时不需要,就先取这两个字段
fun
preExamQuestionPaper
():
Observable
<
BaseAPIResponse
<
QuestionsInfoBean
>>
//创建答题信息
@POST
(
"cms/exam/api/v1/exams"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
createEexams
(
@Body
body
:
RequestBody
):
Observable
<
BaseAPIResponse
<
String
>>
//答题
@POST
(
"cms/exam/api/v1/exams/{id}/lingxi/answer-question"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
answerQuestion
(
@Path
(
"id"
)
id
:
String
,
@Body
body
:
RequestBody
):
Observable
<
BaseAPIResponse
<
String
>>
}
}
\ No newline at end of file
m-im/src/main/java/com/yidianling/uikit/custom/http/ServiceImpl.kt
View file @
f451ce8d
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON
import
com.ydl.ydlcommon.data.http.BaseAPIResponse
import
com.ydl.ydlcommon.data.http.BaseAPIResponse
import
com.ydl.ydlnet.YDLHttpUtils
import
com.ydl.ydlnet.YDLHttpUtils
import
com.yidianling.uikit.custom.http.response.*
import
com.yidianling.uikit.custom.http.response.*
import
com.yidianling.uikit.custom.http.response.question.QuestionsInfoBean
import
io.reactivex.Observable
import
io.reactivex.Observable
import
okhttp3.MediaType
import
okhttp3.MediaType
import
okhttp3.RequestBody
import
okhttp3.RequestBody
...
@@ -65,6 +66,13 @@ class ServiceImpl private constructor() {
...
@@ -65,6 +66,13 @@ class ServiceImpl private constructor() {
}
}
/**
/**
* 信息采集的问题新版
*/
fun
preExamQuestionPaper
():
Observable
<
BaseAPIResponse
<
QuestionsInfoBean
>>
{
return
YDLHttpUtils
.
obtainApi
(
ServiceApi
::
class
.
java
).
preExamQuestionPaper
()
}
/**
* 获取新用户收集的信息
* 获取新用户收集的信息
*/
*/
fun
getNewUserMes
(
bean
:
NewUserMesBean
):
Observable
<
BaseAPIResponse
<
List
<
UserQuestInfoBean
>>>
{
fun
getNewUserMes
(
bean
:
NewUserMesBean
):
Observable
<
BaseAPIResponse
<
List
<
UserQuestInfoBean
>>>
{
...
@@ -117,10 +125,36 @@ class ServiceImpl private constructor() {
...
@@ -117,10 +125,36 @@ class ServiceImpl private constructor() {
/**
/**
*
获取代运营关联的专家的信息
*
客户端灵犀信息收集卡题库
*/
*/
fun
getSourceDoctor
(
userUid
:
String
,
assistantUid
:
String
):
Observable
<
BaseAPIResponse
<
SourceDoctorInfoBean
>>
{
fun
getSourceDoctor
(
return
YDLHttpUtils
.
obtainApi
(
ServiceApi
::
class
.
java
).
getSourceDoctor
(
1
,
userUid
,
assistantUid
)
userUid
:
String
,
assistantUid
:
String
):
Observable
<
BaseAPIResponse
<
SourceDoctorInfoBean
>>
{
return
YDLHttpUtils
.
obtainApi
(
ServiceApi
::
class
.
java
)
.
getSourceDoctor
(
1
,
userUid
,
assistantUid
)
}
/**
* 创建答题信息
*/
fun
createEexams
(
params
:
String
):
Observable
<
BaseAPIResponse
<
String
>>
{
val
body
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json; charset=utf-8"
),
params
)
as
RequestBody
return
YDLHttpUtils
.
obtainApi
(
ServiceApi
::
class
.
java
).
createEexams
(
body
)
}
/**
* 创建答题信息
*/
fun
answerQuestion
(
id
:
String
,
params
:
String
):
Observable
<
BaseAPIResponse
<
String
>>
{
val
body
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json; charset=utf-8"
),
params
)
as
RequestBody
return
YDLHttpUtils
.
obtainApi
(
ServiceApi
::
class
.
java
).
answerQuestion
(
id
,
body
)
}
}
}
}
\ No newline at end of file
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/AnswerQuestionRequestBean.java
0 → 100644
View file @
f451ce8d
package
com
.
yidianling
.
uikit
.
custom
.
http
.
response
.
question
;
import
com.yidianling.uikit.custom.http.response.question.RelatesBean
;
import
java.util.List
;
/**
* 回答问题bean
*
* @author liupeng
*/
public
class
AnswerQuestionRequestBean
{
/**
* questionPaperId : 601128023407726592
* type : adviser_pre_diagnosis
* name : 灵犀用户首次问诊信息收集卡
* dataId : 13131313
* uid : 1313
*/
public
String
examId
;
public
String
questionPaperId
;
public
String
uid
;
public
String
questionId
;
public
List
<
AnswersBean
>
answers
;
}
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/AnswersBean.java
0 → 100644
View file @
f451ce8d
package
com
.
yidianling
.
uikit
.
custom
.
http
.
response
.
question
;
import
java.util.List
;
/**
* @author liupeng
*/
public
class
AnswersBean
{
public
String
optionId
;
public
String
name
;
public
String
other
;
public
List
<
RelatesBean
>
relates
;
}
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/CreateExamsRequestBean.java
0 → 100644
View file @
f451ce8d
package
com
.
yidianling
.
uikit
.
custom
.
http
.
response
.
question
;
public
class
CreateExamsRequestBean
{
/**
* questionPaperId : 601128023407726592
* type : adviser_pre_diagnosis
* name : 灵犀用户首次问诊信息收集卡
* dataId : 13131313
* uid : 1313
*/
public
String
questionPaperId
;
public
String
type
;
public
String
name
;
public
String
uid
;
}
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/OptionsBean.java
View file @
f451ce8d
...
@@ -14,13 +14,4 @@ public class OptionsBean {
...
@@ -14,13 +14,4 @@ public class OptionsBean {
public
List
<
RelatesBean
>
relates
;
public
List
<
RelatesBean
>
relates
;
public
boolean
check
;
public
boolean
check
;
public
static
class
RelatesBean
{
/**
* category : 症状
* name : 幻觉
*/
public
String
category
;
public
String
name
;
}
}
}
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/QuestionsBean.java
View file @
f451ce8d
package
com
.
yidianling
.
uikit
.
custom
.
http
.
response
.
question
;
package
com
.
yidianling
.
uikit
.
custom
.
http
.
response
.
question
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.List
;
public
class
QuestionsBean
{
public
class
QuestionsBean
implements
Serializable
{
/**
/**
* id : 601128318581870592
* id : 601128318581870592
...
...
m-im/src/main/java/com/yidianling/uikit/custom/http/response/question/RelatesBean.java
0 → 100644
View file @
f451ce8d
package
com
.
yidianling
.
uikit
.
custom
.
http
.
response
.
question
;
/**
* @author liupeng
*/
public
class
RelatesBean
{
/**
* category : 症状
* name : 幻觉
*/
public
String
id
;
public
String
category
;
public
String
name
;
public
String
score
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment