From 46fab8daeed497e8529e7070712ceca9b04ee0f7 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 11 七月 2025 19:38:39 +0800 Subject: [PATCH] 代码提交 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentRespVO.java | 15 +++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentPageReqVO.java | 15 +++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentSaveReqVO.java | 15 +++++ jh-server/src/main/resources/application-stage.yaml | 2 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java | 62 +++++--------------- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/appointment/AppointmentDO.java | 15 +++++ jh-server/src/main/resources/application.yaml | 12 ++-- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java | 23 ++++++- jh-module-ecg/jh-module-ecg-biz/pom.xml | 6 ++ 9 files changed, 108 insertions(+), 57 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/pom.xml b/jh-module-ecg/jh-module-ecg-biz/pom.xml index d8aa7b7..2f39788 100644 --- a/jh-module-ecg/jh-module-ecg-biz/pom.xml +++ b/jh-module-ecg/jh-module-ecg-biz/pom.xml @@ -179,6 +179,12 @@ <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> + <dependency> + <groupId>cn.lihu</groupId> + <artifactId>jh-module-infra-biz</artifactId> + <version>2.2.0-jdk8-snapshot</version> + <scope>compile</scope> + </dependency> </dependencies> diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentPageReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentPageReqVO.java index 81f2113..b34626f 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentPageReqVO.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentPageReqVO.java @@ -125,4 +125,19 @@ */ private String orderCreateTime; + /** + * 寮�鍗曞尰鐢� + */ + private String doctor; + + /** + * 寮�鍗曞尰鐢熺紪鐮� + */ + private String doctorCode; + + /** + * 寮�鍗曟椂闂� + */ + private java.util.Date doctorTime; + } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentRespVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentRespVO.java index 6623fe0..8471dcd 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentRespVO.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentRespVO.java @@ -153,4 +153,19 @@ private LocalDateTime createTime; + /** + * 寮�鍗曞尰鐢� + */ + private String doctor; + + /** + * 寮�鍗曞尰鐢熺紪鐮� + */ + private String doctorCode; + + /** + * 寮�鍗曟椂闂� + */ + private Date doctorTime; + } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentSaveReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentSaveReqVO.java index e9c11d5..596a58d 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentSaveReqVO.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentSaveReqVO.java @@ -117,4 +117,19 @@ * 鐧昏鏃堕棿 */ private Date registerDate; + + /** + * 寮�鍗曞尰鐢� + */ + private String doctor; + + /** + * 寮�鍗曞尰鐢熺紪鐮� + */ + private String doctorCode; + + /** + * 寮�鍗曟椂闂� + */ + private Date doctorTime; } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/appointment/AppointmentDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/appointment/AppointmentDO.java index 2514912..d801834 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/appointment/AppointmentDO.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/appointment/AppointmentDO.java @@ -161,4 +161,19 @@ */ private String outpatientNo; + /** + * 寮�鍗曞尰鐢� + */ + private String doctor; + + /** + * 寮�鍗曞尰鐢熺紪鐮� + */ + private String doctorCode; + + /** + * 寮�鍗曟椂闂� + */ + private Date doctorTime; + } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java index dc75d22..00230cd 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java @@ -30,13 +30,11 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -377,6 +375,23 @@ return null; }).ifPresent(appointment::setTolerance); + // 鍖荤敓寮�鍗曟椂闂� + Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("author")).map(author -> (Map<String, Object>) author.get("time")).map(time -> (String) time.get("value")).map(str -> { + try { + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + }).filter(Objects::nonNull).ifPresent(appointment::setDoctorTime); + + //璁剧疆寮�鍗曞尰鐢熷鍚� + Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("author")).map(author -> (Map<String, Object>) author.get("assignedEntity")).map(assignedEntity -> (Map<String, Object>) assignedEntity.get("assignedPerson")).map(assignedPerson -> (Map<String, Object>) assignedPerson.get("name")).map(name -> (Map<String, Object>) name.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(appointment::setDoctor); + + //璁剧疆寮�鍗曞尰鐢熺紪鐮� + Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("author")).map(author -> (Map<String, Object>) author.get("assignedEntity")).map(assignedEntity -> (Map<String, Object>) assignedEntity.get("id")).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).ifPresent(appointment::setDoctorCode); + + // 璁剧疆鎮h�呮潵婧愮被鍨� Optional.ofNullable(encounter.get("code")).map(code -> (Map<String, Object>) code).map(code -> (String) code.get("code")).map(Integer::parseInt).ifPresent(appointment::setPatSrc); diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java index 5d9f40e..81ea577 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java @@ -25,6 +25,9 @@ import cn.lihu.jh.module.ecg.feign.FeeConfirmFeignService; import cn.lihu.jh.module.ecg.service.queue.QueueServiceTxFunctions; import cn.lihu.jh.module.ecg.webservice.WebServiceClient; +import cn.lihu.jh.module.infra.dal.dataobject.config.ConfigDO; +import cn.lihu.jh.module.infra.dal.mysql.config.ConfigMapper; +import cn.lihu.jh.module.infra.service.config.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -76,11 +79,11 @@ @Resource CheckTypeMapper checkTypeMapper; + @Resource + private ConfigService configService; + @Autowired private WebServiceClient webServiceClient; - - @Value("${spring.profiles.active}") - private String active; @Override @@ -163,7 +166,8 @@ } //妫�鏌ュ畬鎴愬悗锛屾鏃舵鏌ョ櫥璁板啓鎴愪簡锛岄渶瑕佸皢杩欎釜鍥炲啓缁欓泦鎴愬钩鍙�(绾夸笂鐜鎵嶅洖鍐�) - if (active.equals("prod")) { + ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); + if (configDO.getValue().equals("1")) { if (createReqVO.getCheckType() != 100 && createReqVO.getCheckType() != 1000 && createReqVO.getCheckType() != 1100 && createReqVO.getCheckType() != 1400 && createReqVO.getCheckType() != 1500) { AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); ApplicationTemplate app = new ApplicationTemplate(); @@ -175,15 +179,6 @@ //闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚3 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "3", new Date()); } - } else { - //妫�鏌ョ被鍨嬫槸搴婅竟鐨勬垨甯歌鐨勶紝闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚7 - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "7", null); - } - } else { - if (createReqVO.getCheckType() != 100 && createReqVO.getCheckType() != 1000 && createReqVO.getCheckType() != 1100 && createReqVO.getCheckType() != 1400 && createReqVO.getCheckType() != 1500) { - //闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚3 - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); - } else { //妫�鏌ョ被鍨嬫槸搴婅竟鐨勬垨甯歌鐨勶紝闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚7 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "7", null); @@ -215,7 +210,8 @@ } //璁惧棰嗗彇瀹屾垚鍚庯紝姝ゆ椂妫�鏌ョ櫥璁板啓鎴愪簡锛岄渶瑕佸皢杩欎釜鍥炲啓缁欓泦鎴愬钩鍙�(绾夸笂鐜鎵嶅洖鍐�) - if (active.equals("prod")) { + ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); + if (configDO.getValue().equals("1")) { AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); ApplicationTemplate app = new ApplicationTemplate(); String action = "S0405"; @@ -226,9 +222,6 @@ //闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚3 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "3", new Date()); } - } else { - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "3", new Date()); - } List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add(DevRentStateEnum.RECEIVED.getState()); @@ -488,7 +481,8 @@ createReqVO.setState(DevRentStateEnum.ROUTINE_CANCELLED.getState()); updateDevRent(createReqVO); - if (active.equals("prod")) { + ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); + if (configDO.getValue().equals("1")) { if (cancelReqVO.getCheckType() != 100 && cancelReqVO.getCheckType() != 1000 && cancelReqVO.getCheckType() != 1100 && cancelReqVO.getCheckType() != 1400 && cancelReqVO.getCheckType() != 1500) { AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); ApplicationTemplate app = new ApplicationTemplate(); @@ -500,15 +494,6 @@ //闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚3 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); } - } else { - //妫�鏌ョ被鍨嬫槸搴婅竟鐨勬垨甯歌鐨勶紝闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚7 - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "7", null); - } - } else { - if (cancelReqVO.getCheckType() != 100 && cancelReqVO.getCheckType() != 1000 && cancelReqVO.getCheckType() != 1100 && cancelReqVO.getCheckType() != 1400 && cancelReqVO.getCheckType() != 1500) { - //闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚3 - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); - } else { //妫�鏌ョ被鍨嬫槸搴婅竟鐨勬垨甯歌鐨勶紝闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚7 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "7", null); @@ -580,7 +565,8 @@ createReqVO.setState(DevRentStateEnum.RECEIVED_CANCELLED.getState()); updateDevRent(createReqVO); - if (active.equals("prod")) { + ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); + if (configDO.getValue().equals("1")) { AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); ApplicationTemplate app = new ApplicationTemplate(); String action = "S0405"; @@ -590,15 +576,6 @@ if (s.contains("鏇存柊鎴愬姛")) { //闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚3 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); - } - } else { - if (cancelReqVO.getCheckType() != 100 && cancelReqVO.getCheckType() != 1000 && cancelReqVO.getCheckType() != 1100 && cancelReqVO.getCheckType() != 1400 && cancelReqVO.getCheckType() != 1500) { - //闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚3 - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); - - } else { - //妫�鏌ョ被鍨嬫槸搴婅竟鐨勬垨甯歌鐨勶紝闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚7 - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "7", null); } } @@ -663,7 +640,8 @@ createReqVO.setState(DevRentStateEnum.INSTALL_CANCELLED.getState()); updateDevRent(createReqVO); - if (active.equals("prod")) { + ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); + if (configDO.getValue().equals("1")) { AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); ApplicationTemplate app = new ApplicationTemplate(); String action = "S0405"; @@ -673,14 +651,6 @@ if (s.contains("鏇存柊鎴愬姛")) { //闇�瑕佹牴鎹產pplyNo,灏哸ppiontment琛ㄩ噷鐨剆tatus鏀规垚3 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); - } - } else { - //杩欓噷鏄祴璇曟湰鍦颁慨鏀� - if (cancelReqVO.getCheckType() != 100 && cancelReqVO.getCheckType() != 1000 && cancelReqVO.getCheckType() != 1100 && cancelReqVO.getCheckType() != 1400 && cancelReqVO.getCheckType() != 1500) { - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); - - } else { - appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "7", null); } } diff --git a/jh-server/src/main/resources/application-stage.yaml b/jh-server/src/main/resources/application-stage.yaml index 726dc83..2739693 100644 --- a/jh-server/src/main/resources/application-stage.yaml +++ b/jh-server/src/main/resources/application-stage.yaml @@ -75,7 +75,7 @@ # Redis 閰嶇疆銆俁edisson 榛樿鐨勯厤缃冻澶熶娇鐢紝涓�鑸笉闇�瑕佽繘琛岃皟浼� redis: - host: 116.62.18.175 #r-bp1zyjl0g07e1ry08rpd.redis.rds.aliyuncs.com # 鍦板潃 + host: 127.0.0.1 #r-bp1zyjl0g07e1ry08rpd.redis.rds.aliyuncs.com # 鍦板潃 port: 6020 #绔彛 6379 database: 15 # 鏁版嵁搴撶储寮� password: Smartor #Root@yinyu # 瀵嗙爜锛屽缓璁敓浜х幆澧冨紑鍚� diff --git a/jh-server/src/main/resources/application.yaml b/jh-server/src/main/resources/application.yaml index 2766ce4..4da62e7 100644 --- a/jh-server/src/main/resources/application.yaml +++ b/jh-server/src/main/resources/application.yaml @@ -4,7 +4,7 @@ profiles: active: prod -# active: stage + # active: stage main: allow-circular-references: true # 鍏佽寰幆渚濊禆锛屽洜涓洪」鐩槸涓夊眰鏋舵瀯锛屾棤娉曢伩鍏嶈繖涓儏鍐点�� @@ -71,9 +71,9 @@ global-config: db-config: id-type: NONE # 鈥滄櫤鑳解�濇ā寮忥紝鍩轰簬 IdTypeEnvironmentPostProcessor + 鏁版嵁婧愮殑绫诲瀷锛岃嚜鍔ㄩ�傞厤鎴� AUTO銆両NPUT 妯″紡銆� -# id-type: AUTO # 鑷 ID锛岄�傚悎 MySQL 绛夌洿鎺ヨ嚜澧炵殑鏁版嵁搴� -# id-type: INPUT # 鐢ㄦ埛杈撳叆 ID锛岄�傚悎 Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴� -# id-type: ASSIGN_ID # 鍒嗛厤 ID锛岄粯璁や娇鐢ㄩ洩鑺辩畻娉曘�傛敞鎰忥紝Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴撴椂锛岄渶瑕佸幓闄ゅ疄浣撶被涓婄殑 @KeySequence 娉ㄨВ + # id-type: AUTO # 鑷 ID锛岄�傚悎 MySQL 绛夌洿鎺ヨ嚜澧炵殑鏁版嵁搴� + # id-type: INPUT # 鐢ㄦ埛杈撳叆 ID锛岄�傚悎 Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴� + # id-type: ASSIGN_ID # 鍒嗛厤 ID锛岄粯璁や娇鐢ㄩ洩鑺辩畻娉曘�傛敞鎰忥紝Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴撴椂锛岄渶瑕佸幓闄ゅ疄浣撶被涓婄殑 @KeySequence 娉ㄨВ logic-delete-value: 1 # 閫昏緫宸插垹闄ゅ��(榛樿涓� 1) logic-not-delete-value: 0 # 閫昏緫鏈垹闄ゅ��(榛樿涓� 0) banner: false # 鍏抽棴鎺у埗鍙扮殑 Banner 鎵撳嵃 @@ -182,13 +182,13 @@ model: generalv3.5 midjourney: enable: true - # base-url: https://api.holdai.top/mj-relax/mj + # base-url: https://api.holdai.top/mj-relax/mj base-url: https://api.holdai.top/mj api-key: sk-dZEPiVaNcT3FHhef51996bAa0bC74806BeAb620dA5Da10Bf notify-url: http://java.nat300.top/admin-api/ai/image/midjourney/notify suno: enable: true - # base-url: https://suno-55ishh05u-status2xxs-projects.vercel.app + # base-url: https://suno-55ishh05u-status2xxs-projects.vercel.app base-url: http://127.0.0.1:3001 --- #################### 鑺嬮亾鐩稿叧閰嶇疆 #################### -- Gitblit v1.9.3