refactor(emergency): 重构应急就医群聊入口并切换测试环境

- EmergencyFragment: 抽取 startParamedicChat() 公共方法,用 when 表达式
  替代嵌套 if-else,消除单工单与多工单选择两路径的重复代码
- IMInputActionSettingUtils: createEmergencySetting 新增 firstAid 参数,
  支持区分急救员/非急救员的 IM 输入态配置
- UrlConfig: 切换测试环境 API 与 H5 地址(xjxc-api → xj-api.yixiong-tech.com,
  H5 → 10.10.10.228:23006),baseUrlType 由 PRODUCT 切回 TEST 以便联调
This commit is contained in:
zhanglei
2026-08-04 20:03:28 +08:00
parent 5a2963ce32
commit 3c90d9f1d3
3 changed files with 33 additions and 30 deletions
@@ -416,32 +416,18 @@ class EmergencyFragment :
R.id.fragment_emergency_paramedic -> {
mViewModel.getParticipatedOrders { result ->
if (result.records.isNullOrEmpty()) {
when {
result.records.isNullOrEmpty() -> {
showToast("暂无参与的应急就医工单")
} else if(result.records.size == 1){
mViewModel.getActualGroupMemberList(result.records[0].sessionId, successCall = {groupMemberBeans->
IMInputActionSettingUtils.createEmergencySetting()
activity?.startGroupChat(
result.records[0].sessionId,
getString(R.string.title_paramedic_group),
false,
groupMemberBeans.map { it1 -> it1.userId }.toList() as ArrayList<String>?,
workBean = WorkBean(result.records[0].orderId, TUIUtils.WORK_TYPE_EMERGENCY)
)
})
}else{
showChatListDialog(result.records,onChatSelected = {groupInfo ->
mViewModel.getActualGroupMemberList(groupInfo.sessionId, successCall = {groupMemberBeans->
IMInputActionSettingUtils.createEmergencySetting()
activity?.startGroupChat(
groupInfo.sessionId,
getString(R.string.title_paramedic_group),
false,
groupMemberBeans.map { it1 -> it1.userId }.toList() as ArrayList<String>?,
workBean = WorkBean(groupInfo.orderId, TUIUtils.WORK_TYPE_EMERGENCY)
)
})
})
}
result.records.size == 1 -> {
startParamedicChat(result.records[0])
}
else -> {
showChatListDialog(result.records) { groupInfo ->
startParamedicChat(groupInfo)
}
}
}
}
}
@@ -479,6 +465,22 @@ class EmergencyFragment :
}
}
/**
* 启动 medic 应急就医群聊:拉取群成员 → 配置 IM 输入态 → 进入群聊界面
*/
private fun startParamedicChat(groupInfo: GroupInfo) {
mViewModel.getActualGroupMemberList(groupInfo.sessionId, successCall = { groupMemberBeans ->
IMInputActionSettingUtils.createEmergencySetting(true)
activity?.startGroupChat(
groupInfo.sessionId,
getString(R.string.title_paramedic_group),
false,
groupMemberBeans.map { it.userId }.toList() as ArrayList<String>?,
workBean = WorkBean(groupInfo.orderId, TUIUtils.WORK_TYPE_EMERGENCY)
)
})
}
/**
* 展示急救工单选择Dialog(Figma设计稿)
*/
@@ -15,12 +15,12 @@ object UrlConfig {
private const val DEBUG_DEFAULT_IP_ADDRESS_REMOTE = "http://192.168.1.47" // 开发环境
// private const val DEBUG_DEFAULT_IP_ADDRESS_REMOTE = "http://api-xj.tri.dt.io/" // 开发环境
// private const val TEST_DEFAULT_IP_ADDRESS_REMOTE = "https://xj-api.mcrm.vip:8888" // 测试环境
private const val TEST_DEFAULT_IP_ADDRESS_REMOTE = "https://xjxc-api.mcrm.vip:8888" // 测试环境
private const val TEST_DEFAULT_IP_ADDRESS_REMOTE = "https://xj-api.yixiong-tech.com:8081" // 测试环境
// private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://api.xjygjk.com" // 正式环境
private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://api-jkglpt.iosp.ydpt.tech" // 正式环境
private const val DEBUG_H5_ADDRESS_REMOTE = "http://console-xj.tri.dt.io" // 开发环境
private const val TEST_H5_ADDRESS_REMOTE = "https://xj-admin.mcrm.vip:8888" // 测试环境
private const val TEST_H5_ADDRESS_REMOTE = "http://10.10.10.228:23006" // 测试环境
// private const val PRODUCT_H5_ADDRESS_REMOTE = "https://console.xjygjk.com" // 正式环境
private const val PRODUCT_H5_ADDRESS_REMOTE = "https://console-jkglpt.iosp.ydpt.tech" // 正式环境
//2025年10月23日 14:37 冯普说改为阿里云的地址,给油田部署的正式地址还没有启用
@@ -43,7 +43,7 @@ object UrlConfig {
private const val TEST_HOME_BANK_IP = "https://gstest.superwx.cn/"
val baseUrlType: BaseUrlType = BaseUrlType.PRODUCT
val baseUrlType: BaseUrlType = BaseUrlType.TEST
// const val middle = "xj_health/" //test
// const val middleCheck = "healthcheck/" //test
@@ -8,7 +8,7 @@ object IMInputActionSettingUtils {
/**
* 应急就医IM功能配置
*/
fun createEmergencySetting(){
fun createEmergencySetting(firstAid: Boolean = false){//是否为急救员
var inputActionSetting = InputActionSetting.createInstance()
inputActionSetting.packageName = BuildConfig.APPLICATION_ID
inputActionSetting.CurrentResourceHost = UrlConfig.IMAGE_BASE_URL
@@ -20,6 +20,7 @@ object IMInputActionSettingUtils {
inputActionSetting.isDisableMedicalExaminationReport = true
inputActionSetting.isDisableSendMessage = false
inputActionSetting.isDisableFinishSession = false
inputActionSetting.isFirstAid = firstAid
}
/**
* 图文咨询IM功能配置