| ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/H5AICallbackController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysAiMessageMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAiMessage.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/service/TSysAiMessageService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAiMessageServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/resources/mapper/system/TSysAiMessageMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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); // 指脉结果 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysAiMessageMapper.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.system.mapper; import com.ruoyi.system.model.TSysAiMessage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * AI推送消息表 Mapper 接口 * </p> * * @author xiaochen * @since 2026-01-21 */ public interface TSysAiMessageMapper extends BaseMapper<TSysAiMessage> { } ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAiMessage.java
New file @@ -0,0 +1,53 @@ package com.ruoyi.system.model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; /** * <p> * AI推送消息表 * </p> * * @author xiaochen * @since 2026-01-21 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("t_sys_ai_message") @ApiModel(value="TSysAiMessage对象", description="AI推送消息表") public class TSysAiMessage implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.ASSIGN_ID) private String id; @ApiModelProperty(value = "推送内容") @TableField("content") private String content; @ApiModelProperty(value = "推送时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField("create_time") private LocalDateTime createTime; @ApiModelProperty(value = "推送类型 1=小程序 2=双屏仪硬件") @TableField("commit_type") private Integer commitType; @ApiModelProperty(value = "错误信息提示") @TableField("error_message") private String errorMessage; } ruoyi-system/src/main/java/com/ruoyi/system/service/TSysAiMessageService.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.system.service; import com.ruoyi.system.model.TSysAiMessage; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * AI推送消息表 服务类 * </p> * * @author xiaochen * @since 2026-01-21 */ public interface TSysAiMessageService extends IService<TSysAiMessage> { } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAiMessageServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ruoyi.system.service.impl; import com.ruoyi.system.model.TSysAiMessage; import com.ruoyi.system.mapper.TSysAiMessageMapper; import com.ruoyi.system.service.TSysAiMessageService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * AI推送消息表 服务实现类 * </p> * * @author xiaochen * @since 2026-01-21 */ @Service public class TSysAiMessageServiceImpl extends ServiceImpl<TSysAiMessageMapper, TSysAiMessage> implements TSysAiMessageService { } ruoyi-system/src/main/resources/mapper/system/TSysAiMessageMapper.xml
New file @@ -0,0 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.system.mapper.TSysAiMessageMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TSysAiMessage"> <id column="id" property="id" /> <result column="content" property="content" /> <result column="create_time" property="createTime" /> <result column="commit_type" property="commitType" /> <result column="error_message" property="errorMessage" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, content, create_time, commit_type, error_message </sql> </mapper>