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
8b188c35
Commit
8b188c35
authored
Jul 22, 2022
by
fengquan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 预约咨询私聊消息
parent
380e3974
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
223 additions
and
1 deletions
+223
-1
consultant_expert_consult_sub_pay_dialog.xml
m-consultant/src/main/res/layout/consultant_expert_consult_sub_pay_dialog.xml
+2
-1
SessionHelper.java
m-im/src/main/java/com/yidianling/im/session/SessionHelper.java
+3
-0
CustomAttachConsultSubScriptPayment.java
m-im/src/main/java/com/yidianling/im/session/extension/CustomAttachConsultSubScriptPayment.java
+75
-0
CustomAttachParser.java
m-im/src/main/java/com/yidianling/im/session/extension/CustomAttachParser.java
+3
-0
CustomAttachmentType.java
m-im/src/main/java/com/yidianling/im/session/extension/CustomAttachmentType.java
+3
-0
MsgViewHolderConsultSubScribePayment.java
m-im/src/main/java/com/yidianling/im/session/viewholder/MsgViewHolderConsultSubScribePayment.java
+137
-0
No files found.
m-consultant/src/main/res/layout/consultant_expert_consult_sub_pay_dialog.xml
View file @
8b188c35
...
...
@@ -2,7 +2,8 @@
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"307dp"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
>
android:layout_centerInParent=
"true"
android:background=
"@color/white"
>
...
...
m-im/src/main/java/com/yidianling/im/session/SessionHelper.java
View file @
8b188c35
...
...
@@ -44,6 +44,7 @@ import com.yidianling.im.session.extension.CustomAttachConsult;
import
com.yidianling.im.session.extension.CustomAttachConsultCallStatus
;
import
com.yidianling.im.session.extension.CustomAttachConsultPerfectData
;
import
com.yidianling.im.session.extension.CustomAttachConsultSubScript
;
import
com.yidianling.im.session.extension.CustomAttachConsultSubScriptPayment
;
import
com.yidianling.im.session.extension.CustomAttachLingXiJumpConfideList
;
import
com.yidianling.im.session.extension.CustomAttachLingxiAnswerQuestion
;
import
com.yidianling.im.session.extension.CustomAttachLingxiFirstQuestion
;
...
...
@@ -85,6 +86,7 @@ import com.yidianling.im.session.viewholder.MsgViewHolderConfirmOrder;
import
com.yidianling.im.session.viewholder.MsgViewHolderConsult
;
import
com.yidianling.im.session.viewholder.MsgViewHolderConsultCallStatus
;
import
com.yidianling.im.session.viewholder.MsgViewHolderConsultSubScribe
;
import
com.yidianling.im.session.viewholder.MsgViewHolderConsultSubScribePayment
;
import
com.yidianling.im.session.viewholder.MsgViewHolderCustomTip
;
import
com.yidianling.im.session.viewholder.MsgViewHolderCustomerServiceCard
;
import
com.yidianling.im.session.viewholder.MsgViewHolderDefCustom
;
...
...
@@ -479,6 +481,7 @@ public class SessionHelper {
NimUIKit
.
registerMsgItemViewHolder
(
CustomAttachLingxiAnswerQuestion
.
class
,
MsgViewHolderLingxiAnswerQuestion
.
class
);
//灵犀2.0-回答问题
NimUIKit
.
registerMsgItemViewHolder
(
CustomAttachLingxiFirstQuestion
.
class
,
MsgViewHolderLingxiFirstQuestion
.
class
);
//灵犀2.0-首问语
NimUIKit
.
registerMsgItemViewHolder
(
CustomAttachLingXiJumpConfideList
.
class
,
MsgViewHolderLingXiJumpConfideList
.
class
);
//灵犀2.0-倾诉列表
NimUIKit
.
registerMsgItemViewHolder
(
CustomAttachConsultSubScriptPayment
.
class
,
MsgViewHolderConsultSubScribePayment
.
class
);
//咨询预约支付
}
...
...
m-im/src/main/java/com/yidianling/im/session/extension/CustomAttachConsultSubScriptPayment.java
0 → 100644
View file @
8b188c35
package
com
.
yidianling
.
im
.
session
.
extension
;
import
com.alibaba.fastjson.JSONObject
;
/**
* 确认预约时间
* Created by harvie on 2017/1/10.
*/
public
class
CustomAttachConsultSubScriptPayment
extends
CustomAttachment
{
private
String
TITLE
=
"title"
;
private
String
PRODUCT_NAME
=
"productName"
;
private
String
CONSULT_DATE
=
"bookingTime"
;
private
String
CONSULT_TIME
=
"consultDuration"
;
private
String
CONSULT_TYPE
=
"serviceType"
;
private
String
FLAG
=
"flag"
;
private
String
URL
=
"url"
;
private
String
IS_PACKAGE
=
"isPackage"
;
private
static
final
String
NEWSORDERID
=
"newOrderId"
;
//用于跳转新版订单详情
private
static
final
String
STATUS
=
"status"
;
//状态,1代表已确认,0代表待确认
private
String
FROM_CONTENT
=
"from_content"
;
private
String
TO_CONTENT
=
"to_content"
;
public
String
title
;
//自定义消息标题
public
String
productName
;
//商品名称
public
String
consultDate
;
//咨询时间
public
String
consultTime
;
//咨询时长
public
String
consultType
;
//咨询方式
public
String
url
;
//跳转url
public
int
flag
;
//0 未确认 1已确认
public
byte
isPackage
=
0
;
//是否套餐 1单次 2套餐
/***新订单*/
public
String
newOrderId
;
public
String
from_content
;
public
String
to_content
;
public
CustomAttachConsultSubScriptPayment
()
{
super
(
CustomAttachmentType
.
TYPE_CONSULT_SUBSCRIBE_PAY
);
}
@Override
protected
void
parseData
(
JSONObject
data
)
{
title
=
data
.
getString
(
TITLE
);
productName
=
data
.
getString
(
PRODUCT_NAME
);
consultDate
=
data
.
getString
(
CONSULT_DATE
);
consultTime
=
data
.
getString
(
CONSULT_TIME
);
consultType
=
data
.
getString
(
CONSULT_TYPE
);
url
=
data
.
getString
(
URL
);
flag
=
data
.
getInteger
(
FLAG
);
isPackage
=
data
.
getByte
(
IS_PACKAGE
);
this
.
newOrderId
=
data
.
getString
(
NEWSORDERID
);
from_content
=
data
.
getString
(
FROM_CONTENT
);
to_content
=
data
.
getString
(
TO_CONTENT
);
}
@Override
protected
JSONObject
packData
()
{
JSONObject
data
=
new
JSONObject
();
data
.
put
(
TITLE
,
title
);
data
.
put
(
PRODUCT_NAME
,
productName
);
data
.
put
(
CONSULT_DATE
,
consultDate
);
data
.
put
(
CONSULT_TIME
,
consultTime
);
data
.
put
(
CONSULT_TYPE
,
consultType
);
data
.
put
(
URL
,
url
);
data
.
put
(
FLAG
,
flag
);
data
.
put
(
IS_PACKAGE
,
isPackage
);
data
.
put
(
NEWSORDERID
,
newOrderId
);
data
.
put
(
FROM_CONTENT
,
from_content
);
data
.
put
(
TO_CONTENT
,
to_content
);
return
data
;
}
}
m-im/src/main/java/com/yidianling/im/session/extension/CustomAttachParser.java
View file @
8b188c35
...
...
@@ -158,6 +158,9 @@ public class CustomAttachParser implements MsgAttachmentParser {
case
CustomAttachmentType
.
TYPE_LINGXI_FIRST_QUESTION
:
//首问语
attachment
=
new
CustomAttachLingxiFirstQuestion
();
break
;
case
CustomAttachmentType
.
TYPE_CONSULT_SUBSCRIBE_PAY
:
attachment
=
new
CustomAttachConsultSubScriptPayment
();
break
;
default
:
attachment
=
new
DefaultCustomAttachment
();
break
;
...
...
m-im/src/main/java/com/yidianling/im/session/extension/CustomAttachmentType.java
View file @
8b188c35
...
...
@@ -55,6 +55,9 @@ public interface CustomAttachmentType {
int
TYPE_LINGXI_ANSWER_QUESTION
=
56
;
//回答消息
int
TYPE_LINGXI_TEST_QUESTION
=
60
;
//测评结果
int
TYPE_LINGXI_JUMP_CONFIDE_LIST
=
73
;
// 跳转倾诉列表
int
TYPE_CONSULT_SUBSCRIBE_PAY
=
74
;
// 预约支付
}
m-im/src/main/java/com/yidianling/im/session/viewholder/MsgViewHolderConsultSubScribePayment.java
0 → 100644
View file @
8b188c35
package
com
.
yidianling
.
im
.
session
.
viewholder
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
androidx.core.content.ContextCompat
;
import
com.netease.nimlib.sdk.msg.attachment.MsgAttachment
;
import
com.ydl.webview.H5Params
;
import
com.ydl.webview.NewH5Activity
;
import
com.yidianling.im.R
;
import
com.yidianling.im.config.constants.ImConstants
;
import
com.yidianling.im.session.extension.CustomAttachConsultSubScriptPayment
;
import
com.yidianling.nimbase.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter
;
import
com.yidianling.uikit.business.session.viewholder.MsgViewHolderBase
;
/**
* author : harvie
* 确认咨询预约消息
*/
public
class
MsgViewHolderConsultSubScribePayment
extends
MsgViewHolderBase
{
private
TextView
tv_title
,
tv_content
,
tv_date
,
tv_time_long
,
tv_type
,
tv_package
;
private
ImageView
img_icon
;
private
View
lin_root
;
public
String
title
;
//自定义消息标题
public
String
productName
;
//商品名称
public
String
consultDate
;
//咨询时间
public
String
consultTime
;
//咨询时长
public
String
consultType
;
//咨询方式
public
String
url
;
//跳转url
public
int
flag
;
//0 未确认 1已确认
public
byte
isPackage
;
/***新订单id*/
public
String
newOrderId
;
public
String
from_content
;
public
String
to_content
;
public
MsgViewHolderConsultSubScribePayment
(
BaseMultiItemFetchLoadAdapter
adapter
)
{
super
(
adapter
);
}
@Override
protected
int
getContentResId
()
{
return
R
.
layout
.
im_ui_message_custom_consult_subscribe
;
}
@Override
protected
void
inflateContentView
()
{
lin_root
=
view
.
findViewById
(
R
.
id
.
lin_root
);
tv_title
=
view
.
findViewById
(
R
.
id
.
tv_title
);
tv_content
=
view
.
findViewById
(
R
.
id
.
tv_content
);
tv_date
=
view
.
findViewById
(
R
.
id
.
tv_date
);
tv_time_long
=
view
.
findViewById
(
R
.
id
.
tv_time_long
);
tv_type
=
view
.
findViewById
(
R
.
id
.
tv_type
);
img_icon
=
view
.
findViewById
(
R
.
id
.
img_icon
);
tv_package
=
view
.
findViewById
(
R
.
id
.
tv_package
);
if
(
isReceivedMessage
()){
setAvatarRightInVisibity
();
lin_root
.
setBackgroundResource
(
R
.
drawable
.
im_bg_radius_no_topleft_white_8
);
}
else
{
setAvatarLeftInVisibity
();
lin_root
.
setBackgroundResource
(
R
.
drawable
.
im_bg_radius_no_topright_white_8
);
}
}
@Override
protected
void
bindContentView
()
{
if
(
isReceivedMessage
()){
setAvatarRightInVisibity
();
}
else
{
setAvatarLeftInVisibity
();
}
MsgAttachment
attachment
=
message
.
getAttachment
();
if
(
attachment
instanceof
CustomAttachConsultSubScriptPayment
)
{
title
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
title
;
productName
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
productName
;
consultDate
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
consultDate
;
consultTime
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
consultTime
;
consultType
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
consultType
;
url
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
url
;
flag
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
flag
;
isPackage
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
isPackage
;
newOrderId
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
newOrderId
;
from_content
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
from_content
;
to_content
=
((
CustomAttachConsultSubScriptPayment
)
attachment
).
to_content
;
}
tv_title
.
setText
(
from_content
);
tv_date
.
setText
(
consultDate
);
tv_time_long
.
setText
(
consultTime
);
tv_type
.
setText
(
consultType
);
if
(
isPackage
==
2
){
tv_package
.
setVisibility
(
View
.
VISIBLE
);
tv_content
.
setText
(
"\u3000\u3000"
+
productName
);
}
else
{
tv_package
.
setVisibility
(
View
.
GONE
);
tv_content
.
setText
(
productName
);
}
if
(
flag
==
1
){
img_icon
.
setVisibility
(
View
.
VISIBLE
);
tv_title
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
im_color_00CC88
));
}
else
{
img_icon
.
setVisibility
(
View
.
GONE
);
tv_title
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
platform_color_242424
));
}
hideItemBg
();
}
@Override
protected
void
onItemClick
()
{
if
(
TextUtils
.
isEmpty
(
url
)&&
newOrderId
==
null
){
return
;
}
if
(
newOrderId
==
null
||
newOrderId
.
isEmpty
())
{
NewH5Activity
.
start
(
context
,
new
H5Params
(
url
,
null
));
}
else
{
//跳转新订单详情页
H5Params
orderParams
=
new
H5Params
(
ImConstants
.
Companion
.
getORDER_DETAIL
()
+
(
newOrderId
.
isEmpty
()
?
""
:
newOrderId
),
null
);
NewH5Activity
.
start
(
context
,
orderParams
);
}
}
}
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