소스 검색

add
根据手术id查询详情
创建记忆体

lifang 3 달 전
부모
커밋
0cbd7d4cd9

+ 6 - 0
tr-modules/tr-module-smartFollowUp/pom.xml

@@ -105,5 +105,11 @@
             <version>${revision}</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>alibabacloud-bailian20231229</artifactId>
+            <version>2.0.13</version>
+        </dependency>
+
     </dependencies>
 </project>

+ 7 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/AppClinicRoomController.java

@@ -46,6 +46,13 @@ public class AppClinicRoomController extends BaseController {
         return getDataTable(clinicRoomService.selectByClinicRoomAndPatientList(query));
     }
 
+    @ApiOperationSupport(author = "wangzl", order = 1)
+    @ApiOperation(value = "根据id查询手术详情", notes = "权限: 无")
+    @GetMapping("/queryDetail/{clinicId}")
+    public CommonResult<DoctorClinicRoomVO> selectById(@PathVariable("clinicId") String  clinicId) {
+        return CommonResult(clinicRoomService.selectAppBizClinicRoomById(clinicId));
+    }
+
 
     @ApiOperationSupport(author = "wangzl", order = 2)
     @ApiOperation(value = "手术结束", notes = "权限: 无")

+ 3 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizClinicRoomPO.java

@@ -105,7 +105,9 @@ public class BizClinicRoomPO extends TenantPO {
     @ApiModelProperty("最新的镇痛评价时间")
     private Date lastPainAssessmentTime;
 
+    @ApiModelProperty("智能体长期记忆时的id")
+    private String memoryId;
+
     @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT, jdbcType = JdbcType.VARCHAR)
     private Integer deleted;
-
 }

+ 2 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizClinicRoomRepository.java

@@ -46,4 +46,6 @@ public interface BizClinicRoomRepository extends BaseMapper<BizClinicRoomPO> {
 
     @TenantIgnore
     BizMpPublishInfoDTO selectMpPushTaskInfoById(@Param("clinicId") String clinicRoomId);
+
+    DoctorClinicRoomVO selectAppBizClinicRoomById(@Param("clinicId") String clinicId);
 }

+ 6 - 4
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizClinicRoomService.java

@@ -6,13 +6,11 @@ import cn.tr.module.smart.app.controller.vo.WxDoctorClinicRoomThumbnailVO;
 import cn.tr.module.smart.app.controller.vo.DoctorClinicRoomVO;
 import cn.tr.module.smart.common.dto.BizClinicRoomDTO;
 import cn.tr.module.smart.common.dto.BizClinicRoomQueryDTO;
+import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 import cn.tr.module.smart.common.dto.BizClinicAddOrEditDTO;
-import cn.tr.module.smart.wx.dto.BizMpPublishInfoDTO;
-import cn.tr.module.smart.wx.dto.BizWxAppletClinicQueryDTO;
-import cn.tr.module.smart.wx.dto.BizWxAppletFinishClinicDTO;
-import cn.tr.module.smart.wx.dto.BizWxUserCheckCardNoDTO;
+import cn.tr.module.smart.wx.dto.*;
 
 import java.io.IOException;
 import java.util.Collection;
@@ -128,4 +126,8 @@ public interface IBizClinicRoomService {
     AppDoctorInfusionHistoryVO selectByClinicRoomAndPatientByClinicId(String clinicId);
 
     BizMpPublishInfoDTO selectMpPushTaskInfoById(String clinicId);
+
+    BizAiAgentParamVO touchMemoryId(BizCreateAgentSessionDTO source);
+
+    DoctorClinicRoomVO selectAppBizClinicRoomById(String clinicId);
 }

+ 32 - 4
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomServiceImpl.java

@@ -14,16 +14,15 @@ import cn.tr.module.smart.common.enums.ClinicPhaseEnums;
 import cn.tr.module.smart.common.enums.UserTypeEnums;
 import cn.tr.module.smart.common.mapper.BizInfusionHistoryMapper;
 import cn.tr.module.smart.common.po.*;
+import cn.tr.module.smart.common.properties.ALiYunProperties;
 import cn.tr.module.smart.common.repository.*;
 import cn.tr.module.smart.common.service.*;
+import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 import cn.tr.module.smart.common.dto.BizClinicAddOrEditDTO;
 import cn.tr.module.smart.wx.controller.vo.IdCardInfoVO;
-import cn.tr.module.smart.wx.dto.BizMpPublishInfoDTO;
-import cn.tr.module.smart.wx.dto.BizWxAppletClinicQueryDTO;
-import cn.tr.module.smart.wx.dto.BizWxAppletFinishClinicDTO;
-import cn.tr.module.smart.wx.dto.BizWxUserCheckCardNoDTO;
+import cn.tr.module.smart.wx.dto.*;
 import cn.tr.module.smart.wx.utils.Id2Utils;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -93,6 +92,9 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
 
     @Autowired
     private BizInfusionHistoryRepository infusionHistoryRepository;
+
+    @Autowired
+    private ALiYunProperties aLiYunProperties;
     @Override
     public List<BizWxAppletClinicDetailVO> stdSelectWxAppletClinicList(BizWxAppletClinicQueryDTO query) {
         return baseRepository.stdSelectWxAppletClinicList(query);
@@ -468,6 +470,32 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
         return baseRepository.selectMpPushTaskInfoById(clinicId);
     }
 
+    @Override
+    public BizAiAgentParamVO touchMemoryId(BizCreateAgentSessionDTO source) {
+        BizAiAgentParamVO result = new BizAiAgentParamVO();
+        result.setAppId(aLiYunProperties.getAppId());
+        result.setApiKey(aLiYunProperties.getApiKey());
+        BizClinicRoomPO clinicRoom = baseRepository.selectById(source.getClinicId());
+        if(ObjectUtil.isNull(clinicRoom)){
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "手术信息不存在");
+        }
+        if(StrUtil.isNotEmpty(clinicRoom.getMemoryId())){
+            result.setMemoryId(clinicRoom.getMemoryId());
+        }else {
+            String memoryId = createMemoryId(clinicRoom.getId());
+            result.setMemoryId(memoryId);
+        }
+        return result;
+    }
+
+    @Override
+    public DoctorClinicRoomVO selectAppBizClinicRoomById(String clinicId) {
+        return baseRepository.selectAppBizClinicRoomById(clinicId);
+    }
+
+    public String createMemoryId(String clinicId){
+        return null;
+    }
     /**
      * 微信小程序基于医生已填写的信息更新数据
      */

+ 0 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizQuestionGroupServiceImpl.java

@@ -310,7 +310,6 @@ public class BizQuestionGroupServiceImpl implements IBizQuestionGroupService {
                 .replace("${type}", QuestionGroupTypeEnums.AFTER.equals(source.getType()) ? "术前问卷" : "术后问卷")
                 .replace("${frequency}", String.valueOf(source.getFrequency()))
                 .replace("${interval}", String.valueOf(source.getInterval()));
-        ;
 
         GenerationParam param = GenerationParam.builder()
                 .apiKey(aliyunProperties.getLlmApiKey())

+ 7 - 11
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/BizWxAppletClinicController.java

@@ -8,12 +8,10 @@ import cn.tr.core.validation.Insert;
 import cn.tr.core.validation.Update;
 import cn.tr.module.smart.common.service.IBizClinicRoomService;
 import cn.tr.module.smart.common.service.IBizClinicRoomWxUserService;
+import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO;
 import cn.tr.module.smart.common.dto.BizClinicAddOrEditDTO;
-import cn.tr.module.smart.wx.dto.BizWxAppletClinicQueryDTO;
-import cn.tr.module.smart.wx.dto.BizWxAppletClinicShiftCareDTO;
-import cn.tr.module.smart.wx.dto.BizWxAppletFinishClinicDTO;
-import cn.tr.module.smart.wx.dto.BizWxUserCheckCardNoDTO;
+import cn.tr.module.smart.wx.dto.*;
 import cn.tr.plugin.mybatis.base.BaseController;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
@@ -85,12 +83,10 @@ public class BizWxAppletClinicController extends BaseController{
         return CommonResult.success(clinicRoomService.wxAppletFinishClinic(source));
     }
 
-
-
-    @PostMapping("/checkCardNo")
-    @TenantIgnore
-    @ApiOperation(value = "校验身份证号",position = 9)
-    public CommonResult<Boolean> checkCardNo(@RequestBody@Validated BizWxUserCheckCardNoDTO source) throws IOException {
-        return CommonResult.success(clinicRoomService.validateCardNo(source));
+    @PostMapping("/createSessionId/{clinicId}")
+    @ApiOperation(value = "查询手术咨询的sessionId、AppId和ApiKey",position = 9)
+    public CommonResult<BizAiAgentParamVO> createSessionId(@RequestBody@Validated BizCreateAgentSessionDTO source) throws IOException {
+        BizAiAgentParamVO paramVO= clinicRoomService.touchMemoryId(source);
+        return CommonResult.success(null);
     }
 }

+ 14 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/vo/BizAiAgentParamVO.java

@@ -0,0 +1,14 @@
+package cn.tr.module.smart.wx.controller.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BizAiAgentParamVO {
+    @ApiModelProperty(value = "阿里云百炼AppId")
+    private String appId;
+    @ApiModelProperty(value = "阿里云百炼apiKey")
+    private String apiKey;
+    @ApiModelProperty(value = "阿里云百炼智能体的长期记忆id")
+    private String memoryId;
+}

+ 13 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/dto/BizCreateAgentSessionDTO.java

@@ -0,0 +1,13 @@
+package cn.tr.module.smart.wx.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class BizCreateAgentSessionDTO {
+    @ApiModelProperty(value = "临床id")
+    @NotBlank(message = "临床id不能为空")
+    private String clinicId;
+}

+ 31 - 0
tr-modules/tr-module-smartFollowUp/src/main/resources/mapper/smart/BizClinicRoomMapper.xml

@@ -323,4 +323,35 @@
         join biz_wx_user_mp_care as bwump on bwump.union_id=bwu.union_id
         where bcr.id = #{clinicId}
     </select>
+
+    <select id="selectAppBizClinicRoomById" resultMap="roomAndPatient">
+        SELECT bcr.id as clinic_room_id,
+        bcr.clinic_name as clinic_name,
+        bcr.clinic_start_time as clinic_start_time,
+        bcr.dept_id as dept_id,
+        bcr.dept_name as dept_name,
+        bcr.patient_name as patient_name,
+        bcr.patient_age as patient_age,
+        bcr.patient_gender as patient_gender,
+        bcr.patient_code as patient_code,
+        bcr.follow_up_count as follow_up_count,
+        bcr.image_url as patient_avatar,
+        bcr.assess_count as assess_count,
+        bih.device_id as device_id,
+        bih.device_type as device_type,
+        bih.electric_quantity as electric_quantity,
+        bih.device_run_state as device_run_state,
+        bih.device_alarm as device_alarm,
+        bih.warn_low_battery as warn_low_battery,
+        bih.warn_will_finished as warn_will_finished,
+        bih.warn_flow as warn_flow,
+        bih.warn_analgesic_poor as warn_analgesic_poor,
+        GREATEST(COALESCE(igu.unread_count, 0), 0) as unread_count
+        FROM biz_clinic_room bcr
+        join biz_clinic_room_doctor_user bcrmu on bcr.id = bcrmu.clinic_room_id
+        left join biz_infusion_clinic as bic on bic.clinic_id = bcr.id
+        left join biz_infusion_history as bih on bih.id=bic.infusion_id
+        left join (select * from im_group_user where user_id=  #{source.currentUserId,jdbcType=VARCHAR}) as igu on igu.group_id=bcr.id
+        where bcr.id=#{clinicId}
+    </select>
 </mapper>

+ 8 - 0
tr-test/src/main/java/cn/tr/test/Test.java

@@ -0,0 +1,8 @@
+package cn.tr.test;
+
+
+import com.aliyun.tea.TeaException;
+
+public class Test {
+
+}