From a0e5c26266d1a118929e1474be7b75c5cee79509 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Mon, 19 May 2025 15:25:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=97=85=E5=8E=86=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AiRecordFolderController.java | 50 ------------- .../common/dao/AiRecordFolderChatDao.java | 9 +++ .../modules/common/entity/AiRecordFolder.java | 25 ++----- .../common/entity/AiRecordFolderChat.java | 34 +++++++++ .../service/AiRecordFolderChatService.java | 7 ++ .../impl/AiRecordFolderChatServiceImpl.java | 13 ++++ .../controller/AiRecordFolderController.java | 74 +++++++++++++++++++ 7 files changed, 144 insertions(+), 68 deletions(-) delete mode 100644 src/main/java/com/peanut/modules/common/controller/AiRecordFolderController.java create mode 100644 src/main/java/com/peanut/modules/common/dao/AiRecordFolderChatDao.java create mode 100644 src/main/java/com/peanut/modules/common/entity/AiRecordFolderChat.java create mode 100644 src/main/java/com/peanut/modules/common/service/AiRecordFolderChatService.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/AiRecordFolderChatServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/taihumed/controller/AiRecordFolderController.java diff --git a/src/main/java/com/peanut/modules/common/controller/AiRecordFolderController.java b/src/main/java/com/peanut/modules/common/controller/AiRecordFolderController.java deleted file mode 100644 index 238c4e65..00000000 --- a/src/main/java/com/peanut/modules/common/controller/AiRecordFolderController.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.peanut.modules.common.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.peanut.common.utils.R; -import com.peanut.common.utils.ShiroUtils; -import com.peanut.modules.common.entity.AiRecordFolder; -import com.peanut.modules.common.service.AiRecordFolderService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Map; - -@Slf4j -@RestController("commonAiRecordFolder") -@RequestMapping("common/aiRecordFolder") -public class AiRecordFolderController { - - @Autowired - private AiRecordFolderService aiRecordFolderService; - - //病历夹列表 - @RequestMapping("/getRecordFolders") - public R getRecordFolders(@RequestBody Map params){ - LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); - wrapper.eq(AiRecordFolder::getUserId, ShiroUtils.getUId()); - if (StringUtils.isNotEmpty(params.get("title").toString())||StringUtils.isNotEmpty(params.get("patientName").toString())){ - wrapper.like(StringUtils.isNotEmpty(params.get("title").toString()),AiRecordFolder::getTitle,params.get("title")); - wrapper.like(StringUtils.isNotEmpty(params.get("patientName").toString()),AiRecordFolder::getPatientName,params.get("patientName")); - }else { - wrapper.select(AiRecordFolder::getTitle); - wrapper.groupBy(AiRecordFolder::getTitle); - } - wrapper.orderByDesc(AiRecordFolder::getCreateTime); - return R.ok().put("list",aiRecordFolderService.list(wrapper)); - } - - //将聊天记录加入病历夹 - @RequestMapping("/addRecordFolder") - public R addRecordFolder(@RequestBody AiRecordFolder aiRecordFolder){ - aiRecordFolder.setUserId(ShiroUtils.getUId()); - aiRecordFolderService.save(aiRecordFolder) ; - return R.ok(); - } - - -} diff --git a/src/main/java/com/peanut/modules/common/dao/AiRecordFolderChatDao.java b/src/main/java/com/peanut/modules/common/dao/AiRecordFolderChatDao.java new file mode 100644 index 00000000..eb07ca30 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/AiRecordFolderChatDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.AiRecordFolderChat; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AiRecordFolderChatDao extends MPJBaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/entity/AiRecordFolder.java b/src/main/java/com/peanut/modules/common/entity/AiRecordFolder.java index 83433579..778e0b22 100644 --- a/src/main/java/com/peanut/modules/common/entity/AiRecordFolder.java +++ b/src/main/java/com/peanut/modules/common/entity/AiRecordFolder.java @@ -1,10 +1,13 @@ package com.peanut.modules.common.entity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; - import java.io.Serializable; import java.util.Date; +import java.util.List; @Data @TableName("ai_record_folder") @@ -16,17 +19,9 @@ public class AiRecordFolder implements Serializable { private Integer userId; - //病历夹名称 - private String title; + private String folderName; - //患者姓名 - private String patientName; - - //聊天助手id - private String chatAssistantId; - - //对话id - private String chatId; + private Integer sort; private Date createTime; @@ -34,10 +29,4 @@ public class AiRecordFolder implements Serializable { private Integer delFlag; - - - - - - } diff --git a/src/main/java/com/peanut/modules/common/entity/AiRecordFolderChat.java b/src/main/java/com/peanut/modules/common/entity/AiRecordFolderChat.java new file mode 100644 index 00000000..c627af83 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/entity/AiRecordFolderChat.java @@ -0,0 +1,34 @@ +package com.peanut.modules.common.entity; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("ai_record_folder_chat") +public class AiRecordFolderChat implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Integer id; + + //病历夹id + private String folderId; + + //患者姓名 + private String patientName; + + //聊天助手id + private String chatAssistantId; + + //对话id + private String chatId; + + private Date createTime; + + @TableLogic + private Integer delFlag; + + +} diff --git a/src/main/java/com/peanut/modules/common/service/AiRecordFolderChatService.java b/src/main/java/com/peanut/modules/common/service/AiRecordFolderChatService.java new file mode 100644 index 00000000..ab8d75c8 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/AiRecordFolderChatService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.AiRecordFolderChat; + +public interface AiRecordFolderChatService extends IService { +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/AiRecordFolderChatServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/AiRecordFolderChatServiceImpl.java new file mode 100644 index 00000000..d13b34c5 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/AiRecordFolderChatServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.AiRecordFolderChatDao; +import com.peanut.modules.common.entity.AiRecordFolderChat; +import com.peanut.modules.common.service.AiRecordFolderChatService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("commonAiRecordFolderChatService") +public class AiRecordFolderChatServiceImpl extends ServiceImpl implements AiRecordFolderChatService { +} diff --git a/src/main/java/com/peanut/modules/taihumed/controller/AiRecordFolderController.java b/src/main/java/com/peanut/modules/taihumed/controller/AiRecordFolderController.java new file mode 100644 index 00000000..d0cfb83d --- /dev/null +++ b/src/main/java/com/peanut/modules/taihumed/controller/AiRecordFolderController.java @@ -0,0 +1,74 @@ +package com.peanut.modules.taihumed.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.common.utils.R; +import com.peanut.common.utils.ShiroUtils; +import com.peanut.modules.common.entity.AiRecordFolder; +import com.peanut.modules.common.entity.AiRecordFolderChat; +import com.peanut.modules.common.service.AiRecordFolderChatService; +import com.peanut.modules.common.service.AiRecordFolderService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@Slf4j +@RestController("taihumedAiRecordFolder") +@RequestMapping("taihumed/aiRecordFolder") +public class AiRecordFolderController { + + @Autowired + private AiRecordFolderService aiRecordFolderService; + @Autowired + private AiRecordFolderChatService aiRecordFolderChatService; + + //病历夹下患者列表 + @RequestMapping("/getRecordFolderChats") + public R getRecordFolderChats(@RequestBody Map params){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(AiRecordFolderChat::getFolderId,params.get("folderId")); + wrapper.like(StringUtils.isNotEmpty(params.get("patientName").toString()), AiRecordFolderChat::getPatientName,params.get("patientName")); + wrapper.orderByDesc(AiRecordFolderChat::getCreateTime); + List list = aiRecordFolderChatService.list(wrapper); + return R.ok().put("list",list); + } + + //病历夹列表 + @RequestMapping("/getRecordFolders") + public R getRecordFolders(@RequestBody Map params){ + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + wrapper.leftJoin(AiRecordFolderChat.class,AiRecordFolderChat::getFolderId,AiRecordFolder::getId); + wrapper.selectAll(AiRecordFolder.class); + wrapper.distinct(); + wrapper.eq(AiRecordFolder::getUserId, ShiroUtils.getUId()); + wrapper.like(StringUtils.isNotEmpty(params.get("folderName").toString()), AiRecordFolder::getFolderName,params.get("folderName")); + wrapper.like(StringUtils.isNotEmpty(params.get("patientName").toString()), AiRecordFolderChat::getPatientName,params.get("patientName")); + wrapper.orderByAsc(AiRecordFolder::getSort); + wrapper.orderByDesc(AiRecordFolderChat::getCreateTime); + List list = aiRecordFolderService.list(wrapper); + return R.ok().put("list",list); + } + + //将聊天记录加入病历夹 + @RequestMapping("/addRecordFolderChat") + public R addRecordFolderChat(@RequestBody AiRecordFolderChat aiRecordFolderChat){ + aiRecordFolderChatService.save(aiRecordFolderChat) ; + return R.ok(); + } + + //新建病例夹 + @RequestMapping("/addRecordFolder") + public R addRecordFolder(@RequestBody AiRecordFolder aiRecordFolder){ + aiRecordFolder.setUserId(ShiroUtils.getUId()); + aiRecordFolderService.save(aiRecordFolder) ; + return R.ok(); + } + + +}