From 8a0bbe1ffb7cd41664aa2240130c5d4abbc7dd9b Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 21 一月 2026 10:28:58 +0800
Subject: [PATCH] 双屏仪硬件回调信息添加诊所账号
---
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/H5AICallbackController.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/H5AICallbackController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/H5AICallbackController.java
index fa25ff3..1ebce1b 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/H5AICallbackController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/H5AICallbackController.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.model.*;
import com.ruoyi.system.service.*;
import com.ruoyi.system.utils.util.AesSimpleUtil;
@@ -47,6 +48,12 @@
private TSysInspectionRiskEstimateService sysInspectionRiskEstimateService;
@Autowired
private TSysChronicDiseaseService sysChronicDiseaseService;
+ @Autowired
+ private TSysAiMessageService sysAiMessageService;
+ @Autowired
+ private ISysUserService sysUserService;
+ @Autowired
+ private TCrmClinicService crmClinicService;
// @PostMapping("/reportReturn")
// public String reportReturn(String encryptedJson, String signEncryptedJson) throws Exception {
@@ -146,6 +153,10 @@
// 解密
String raw = AesUtil.decrypt(clientKey, clientIV , data);
log.info("H5舌面报告推送,解密后:{}",raw);
+ TSysAiMessage tSysAiMessage = new TSysAiMessage();
+ tSysAiMessage.setCommitType(1);
+ tSysAiMessage.setContent(raw);
+ tSysAiMessage.setCreateTime(LocalDateTime.now());
JSONObject jsonObject = JSONObject.parseObject(raw);
@@ -175,7 +186,10 @@
if(Objects.nonNull(vipEndTime) && vipEndTime.isAfter(LocalDateTime.now())){
sysInspection.setIsPay(1);
}
+ }else {
+ tSysAiMessage.setErrorMessage("未查询到患者");
}
+ sysAiMessageService.save(tSysAiMessage);
sysInspection.setOutUserId(outUserId);
sysInspection.setBirthday(birthday);
sysInspection.setSex("0".equals(gender)?1:2);
@@ -220,6 +234,10 @@
@PostMapping("/xiMaDoubleScreenReportPush")
public JSONObject xiMaDoubleScreenReportPush(@RequestBody JSONObject jsonObject){
log.info("双屏仪报告推送:{}",jsonObject);
+ TSysAiMessage tSysAiMessage = new TSysAiMessage();
+ tSysAiMessage.setCommitType(1);
+ tSysAiMessage.setContent(jsonObject.toJSONString());
+ tSysAiMessage.setCreateTime(LocalDateTime.now());
// 主体信息
String reportTime = jsonObject.getString("report_time"); // 报告时间
String report_print_url = jsonObject.getString("report_print_url"); // 报告H5页面地址
@@ -244,6 +262,7 @@
Long device_account_id = userInfo.getLong("device_account_id"); // 设备账号ID
String sex = userInfo.getString("sex"); // 性别
String age = userInfo.getString("age"); // 年龄
+ String device_account = userInfo.getString("device_account"); // 诊所账号
sysInspection.setThreeUserId(id);
sysInspection.setPhone(phone);
@@ -275,6 +294,24 @@
sysAppUser.setSex("男".equals(sex) ? 1 : 2);
}
+ // 查询诊所账号
+ SysUser sysUser = sysUserService.selectByPhone(device_account);
+ if(Objects.nonNull(sysUser)){
+ // 通过账号查询诊所信息
+ TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+ .eq(TCrmClinic::getUserId, sysUser.getUserId())
+ .last("LIMIT 1"));
+ if(Objects.nonNull(crmClinic)){
+ sysAppUser.setClinicId(crmClinic.getId());
+ }else {
+ tSysAiMessage.setErrorMessage("未查询到诊所信息");
+ sysAiMessageService.save(tSysAiMessage);
+ }
+ }else {
+ tSysAiMessage.setErrorMessage("未查询到诊所绑定账号");
+ sysAiMessageService.save(tSysAiMessage);
+ }
+
sysInspectionService.save(sysInspection);
// 指脉结果
--
Gitblit v1.7.1