From 527f9968727f13d3c1427f69aefa6bb0618f2653 Mon Sep 17 00:00:00 2001 From: gx_ma <1773945958@qq.com> Date: Tue, 3 Nov 2026 16:10:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=A7=86=E9=A2=91SIP):=20=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E6=97=A0=E7=8B=AC=E7=AB=8B=E9=85=8D=E7=BD=AE=E6=97=B6?= =?UTF-8?q?=E5=9B=9E=E8=90=BD=E9=BB=98=E8=AE=A4SIP=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 打开国标产品SIP配置页时,若该产品在 sip_config 无记录则回落到后端默认 (sip.*)配置预填;修正 GetDefaultSipConfig 误将 null 写入缓存的问题。 --- .../sip/service/impl/SipConfigServiceImpl.java | 9 ++++++++- vue/src/views/iot/sip/sipconfig.vue | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/springboot/fastbee-server/sip-server/src/main/java/com/fastbee/sip/service/impl/SipConfigServiceImpl.java b/springboot/fastbee-server/sip-server/src/main/java/com/fastbee/sip/service/impl/SipConfigServiceImpl.java index 7b111229..6b9ec06b 100644 --- a/springboot/fastbee-server/sip-server/src/main/java/com/fastbee/sip/service/impl/SipConfigServiceImpl.java +++ b/springboot/fastbee-server/sip-server/src/main/java/com/fastbee/sip/service/impl/SipConfigServiceImpl.java @@ -51,13 +51,20 @@ public class SipConfigServiceImpl implements ISipConfigService { Object temp = redisCache.getCacheObject(FastBeeConstant.REDIS.DEFAULT_SIP_CONFIG); SipConfig sipConfig = new SipConfig(); if (temp == null) { + SysSipConfig defConfig = new SysSipConfig(); + defConfig.setEnabled(sysSipConfig.isEnabled()); + defConfig.setIp(sysSipConfig.getIp()); + defConfig.setPort(sysSipConfig.getPort()); + defConfig.setDomain(sysSipConfig.getDomain()); + defConfig.setId(sysSipConfig.getId()); + defConfig.setPassword(sysSipConfig.getPassword()); + redisCache.setCacheObject(FastBeeConstant.REDIS.DEFAULT_SIP_CONFIG, defConfig); sipConfig.setEnabled(sysSipConfig.isEnabled() ? 1 : 0); sipConfig.setIp(sysSipConfig.getIp()); sipConfig.setPort(sysSipConfig.getPort()); sipConfig.setDomain(sysSipConfig.getDomain()); sipConfig.setServerSipid(sysSipConfig.getId()); sipConfig.setPassword(sysSipConfig.getPassword()); - redisCache.setCacheObject(FastBeeConstant.REDIS.DEFAULT_SIP_CONFIG, temp); } else if (temp instanceof SipConfig){ sipConfig = (SipConfig) temp; updateDefaultSipConfig((SipConfig) temp); diff --git a/vue/src/views/iot/sip/sipconfig.vue b/vue/src/views/iot/sip/sipconfig.vue index dd77f01a..334ca543 100644 --- a/vue/src/views/iot/sip/sipconfig.vue +++ b/vue/src/views/iot/sip/sipconfig.vue @@ -121,10 +121,23 @@ export default { created() { this.productInfo = this.product; if (this.productInfo && this.productInfo.productId != 0) { - this.getSipconfig(false); + this.loadSipconfig(); } }, methods: { + /** 加载产品SIP配置:没有独立配置时回落到后端默认(sip.*)配置预填 */ + loadSipconfig() { + getSipconfig(this.productInfo.productId, false).then(response => { + if (response.data) { + this.form = response.data; + return; + } + // 该产品还没有独立配置,取默认配置预填,由用户确认后保存 + getSipconfig(this.productInfo.productId, true).then(res => { + this.form = res.data || {}; + }); + }); + }, /** 获取产品下第一条SIP配置 */ getSipconfig(isDefault) { getSipconfig(this.productInfo.productId, isDefault).then(response => {