From 3c90d9f1d381722c25fc8c6bc2720b67881b52ed Mon Sep 17 00:00:00 2001 From: zhanglei <350328959@qq.com> Date: Tue, 4 Aug 2026 20:03:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor(emergency):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E5=BA=94=E6=80=A5=E5=B0=B1=E5=8C=BB=E7=BE=A4=E8=81=8A=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E5=B9=B6=E5=88=87=E6=8D=A2=E6=B5=8B=E8=AF=95=E7=8E=AF?= =?UTF-8?q?=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 以便联调 --- .../fragment/EmergencyFragment.kt | 54 ++++++++++--------- .../xjjk/healthyclients/retrofit/UrlConfig.kt | 6 +-- .../utils/IMInputActionSettingUtils.kt | 3 +- 3 files changed, 33 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/xjjk/healthyclients/fragment/EmergencyFragment.kt b/app/src/main/java/com/xjjk/healthyclients/fragment/EmergencyFragment.kt index d9f8142..65fecd5 100644 --- a/app/src/main/java/com/xjjk/healthyclients/fragment/EmergencyFragment.kt +++ b/app/src/main/java/com/xjjk/healthyclients/fragment/EmergencyFragment.kt @@ -416,32 +416,18 @@ class EmergencyFragment : R.id.fragment_emergency_paramedic -> { mViewModel.getParticipatedOrders { result -> - if (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?, - 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?, - workBean = WorkBean(groupInfo.orderId, TUIUtils.WORK_TYPE_EMERGENCY) - ) - }) - }) + when { + result.records.isNullOrEmpty() -> { + showToast("暂无参与的应急就医工单") + } + 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?, + workBean = WorkBean(groupInfo.orderId, TUIUtils.WORK_TYPE_EMERGENCY) + ) + }) + } + /** * 展示急救工单选择Dialog(Figma设计稿) */ diff --git a/app/src/main/java/com/xjjk/healthyclients/retrofit/UrlConfig.kt b/app/src/main/java/com/xjjk/healthyclients/retrofit/UrlConfig.kt index 8d90b6c..1ba358d 100644 --- a/app/src/main/java/com/xjjk/healthyclients/retrofit/UrlConfig.kt +++ b/app/src/main/java/com/xjjk/healthyclients/retrofit/UrlConfig.kt @@ -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 diff --git a/app/src/main/java/com/xjjk/healthyclients/utils/IMInputActionSettingUtils.kt b/app/src/main/java/com/xjjk/healthyclients/utils/IMInputActionSettingUtils.kt index 6f5c378..490f08c 100644 --- a/app/src/main/java/com/xjjk/healthyclients/utils/IMInputActionSettingUtils.kt +++ b/app/src/main/java/com/xjjk/healthyclients/utils/IMInputActionSettingUtils.kt @@ -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功能配置