commit ac53f09dd829b527fe4e0c8fc49c0c060a55814f Author: Yang Haoyu <2241399212@qq.com> Date: Sat Oct 28 13:55:24 2023 +0800 初始化 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..0f8d2a0 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jpa-buddy.xml b/.idea/jpa-buddy.xml new file mode 100644 index 0000000..966d5f5 --- /dev/null +++ b/.idea/jpa-buddy.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..82ab2cc --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4c0b056 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:17-8.6 + + +# 暴露端口号 +EXPOSE 10003/tcp + + +# 挂载目录位置 +VOLUME /home/logs/grail-consultation + +#构造 复制外部文件到docker 内部 +COPY /grail-doctor-public-server/target/grail-doctor-public-server.jar /home/app.jar + +# 工作目录 exec -it 进来就是默认这个目录 +WORKDIR /home + +# 指定东八区 +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > .etc.timezone + +# 启动java程序 +CMD ["java","-Dfile.encoding=UTF-8","-jar","/home/app.jar"] diff --git a/grail-doctor-public-common/.gitignore b/grail-doctor-public-common/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/grail-doctor-public-common/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/grail-doctor-public-common/pom.xml b/grail-doctor-public-common/pom.xml new file mode 100644 index 0000000..5d9dcb1 --- /dev/null +++ b/grail-doctor-public-common/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + + com.grail + grail-doctor-public + 3.6.3 + + + grail-doctor-public-common + + + 17 + 17 + UTF-8 + + + + + + com.grail + grail-common-core + + + + diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Comment.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Comment.java new file mode 100644 index 0000000..4421a65 --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Comment.java @@ -0,0 +1,51 @@ +package com.grail.publice.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @ClassName : Comment + * @Description : 问诊好评表 + * @Author : YHY + * @Date: 2023-10-24 14:40 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Comment { + /** + * 好评主键Id + */ + private Integer commentId; + /** + * 好评文字内容 + */ + private String commentContent; + /** + * 好评时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date commentTime; + /** + * 发布评论患者Id + */ + private Integer userId; + /** + * 医生专业度 + */ + private Integer commentSpeciality; + /** + * 医生服务满意度 + */ + private Integer commentSatisfied; + /** + * 礼物id + */ + private Integer giftId; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Consultation.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Consultation.java new file mode 100644 index 0000000..766e6a8 --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Consultation.java @@ -0,0 +1,66 @@ +package com.grail.publice.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; +import java.util.Date; + +/** + * @ClassName : Consultation + * @Description : 问诊内容详情表 + * @Author : YHY + * @Date: 2023-10-19 20:29 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Consultation { + //主键Id:consultation_id + //问诊时间:consultation_time + //问诊内容:consultation_content + //消息发送人Id:user_id + //消息接收人Id:user_id + //问诊状态:consultation_status + /** + * 主键Id + */ + private Integer consultationId; + /** + * 问诊时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date consultationTime; + /** + * 问诊内容 + */ + private String consultationContent; + /** + * 消息发送人Id + */ + private Integer userId; + /** + * 消息发送人姓名 + */ + private String userName; + /** + * 消息接收人id + */ + private Integer doctorId; + /** + * 消息接受人姓名 + */ + private String doctorName; + /** + * 问诊状态 1:问诊中;2问诊结束 + */ + private Integer consultationStatus; + /** + * 问诊时间:患者结束问诊的时间 + */ + private Date diagnosisDime; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Doctor.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Doctor.java new file mode 100644 index 0000000..0fece5b --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Doctor.java @@ -0,0 +1,80 @@ +package com.grail.publice.domain; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @ClassName : Doctor + * @Description : 医生信息表 + * @Author : YHY + * @Date: 2023-10-20 15:09 + */ +@Data +public class Doctor { + //主键Id:doctor_id + //真实姓名:docker_name + //所在医院:doctor_hospital + //医生职务:doctor_career + //形象照片:doctor_picture + //个人简介:personal_profile + //擅长领域:doctor_field + //所属科室外键Id:department_id + //自动回复权限:reply_status + //自动回复内容:reply_content + //------------------------------------- + //医生设置的问诊金额 : consultation_price + + /** + *主键Id + */ + private Integer doctorId; + /** + *真实姓名 + */ + private String dockerName; + /** + * 所在医院 + */ + private String doctorHospital; + /** + * 医生职务 + */ + private String doctorCareer; + /** + * 形象照片 + */ + private String doctorPicture; + /** + * 个人简介 + */ + private String personalProfile; + /** + * 擅长领域 + */ + private String doctorField; + /** + * 所属科室外键Id + */ + private Integer departmentId; + /** + * 科室名称 + */ + private String departmentName; + /** + * 自动回复权限 + */ + private Integer replyStatus; + /** + * 自动回复内容 + */ + private String replyContent; + /** + * 医生用户注册Id + */ + private Integer userId; + /** + * 医生设置的问诊金额 + */ + private BigDecimal consultationPrice; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Gift.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Gift.java new file mode 100644 index 0000000..ff76f9c --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/Gift.java @@ -0,0 +1,33 @@ +package com.grail.publice.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName : Gift + * @Description : 礼物列表 + * @Author : YHY + * @Date: 2023-10-24 14:46 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Gift { + /** + * 礼物Id + */ + private Integer giftId; + /** + * 礼物名称 + */ + private String giftName; + /** + * 礼物价格 + */ + private Integer giftPrice; + /** + * 礼物图片 + */ + private String giftPicture; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/MiddleDiagnosis.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/MiddleDiagnosis.java new file mode 100644 index 0000000..afecd26 --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/MiddleDiagnosis.java @@ -0,0 +1,42 @@ +package com.grail.publice.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * @ClassName : MiddleDiagnosis + * @Description : 问诊咨询结束记录表 + * @Author : YHY + * @Date: 2023-10-26 14:40 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MiddleDiagnosis { + /** + * 主键Id + */ + private Integer diagnosisId; + /** + * 医生Id + */ + private Integer doctorId; + /** + * 科室id + */ + private Integer departmentId; + /** + * 评论Id + */ + private Integer commentId; + /** + * 医生价格 + */ + private Integer diagnosisCost; + /** + * 是否给出评论 0:未评论;1:已评论 + */ + private Integer diagnosisStatus; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/User.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/User.java new file mode 100644 index 0000000..73257df --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/User.java @@ -0,0 +1,15 @@ +package com.grail.publice.domain; + +import lombok.Data; + +/** + * @ClassName : User + * @Description : 登录患者表 + * @Author : YHY + * @Date: 2023-10-20 15:08 + */ +@Data +public class User { + private Integer userId; + private String userName; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/request/RequestDoctor.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/request/RequestDoctor.java new file mode 100644 index 0000000..9e7f453 --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/request/RequestDoctor.java @@ -0,0 +1,24 @@ +package com.grail.publice.domain.request; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName : RequestDoctor + * @Description : 排序查询 + * @Author : YHY + * @Date: 2023-10-22 10:51 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RequestDoctor { + + // 点及那个 ,就排序 1综合 2.好评 3.咨询数 4 价格 + private Integer sort=1; + + // 升序 和 降序 + private Integer key=1; + +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/MiddleDiagnosisResponse.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/MiddleDiagnosisResponse.java new file mode 100644 index 0000000..c190648 --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/MiddleDiagnosisResponse.java @@ -0,0 +1,53 @@ +package com.grail.publice.domain.response; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName : MiddleDiagnosisResponse + * @Description : 患者查看历史问诊记录 + * @Author : YHY + * @Date: 2023-10-26 15:18 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MiddleDiagnosisResponse { + /** + * 主键Id + */ + private Integer diagnosisId; + /** + * 医生Id + */ + private Integer doctorId; + /** + * 科室id + */ + private Integer departmentId; + /** + * 评论id + */ + private Integer commentId; + /** + * 医生问诊费用 + */ + private Integer diagnosisCost; + /** + * 是否给出评价:0:未评论;1:已评论 + */ + private Integer diagnosisStatus; + /** + * 医生姓名 + */ + private String doctorName; + /** + * 医生职务 + */ + private String doctorCareer; + /** + * 科室名称 + */ + private String departmentName; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseComment.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseComment.java new file mode 100644 index 0000000..a48d386 --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseComment.java @@ -0,0 +1,55 @@ +package com.grail.publice.domain.response; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @ClassName : ResponseComment + * @Description : + * @Author : YHY + * @Date: 2023-10-24 15:29 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ResponseComment { + /** + * 好评主键Id + */ + private Integer commentId; + /** + * 好评文字内容 + */ + private String commentContent; + /** + * 好评时间 + */ + private Date commentTime; + /** + * 发布评论患者Id + */ + private Integer userId; + /** + * 送礼用户名 + */ + private String userName; + /** + * 医生专业度 + */ + private Integer commentSpeciality; + /** + * 医生服务满意度 + */ + private Integer commentSatisfied; + /** + * 礼物id + */ + private Integer giftId; + /** + * 礼物名称 + */ + private String giftName; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseDoctor.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseDoctor.java new file mode 100644 index 0000000..3ebb451 --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseDoctor.java @@ -0,0 +1,71 @@ +package com.grail.publice.domain.response; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * @ClassName : ResponseDoctor + * @Description : 医生联查信息请求类 + * @Author : YHY + * @Date: 2023-10-24 13:49 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ResponseDoctor { + /** + *主键Id + */ + private Integer doctorId; + /** + *真实姓名 + */ + private String dockerName; + /** + * 所在医院 + */ + private String doctorHospital; + /** + * 医生职务 + */ + private String doctorCareer; + /** + * 形象照片 + */ + private String doctorPicture; + /** + * 个人简介 + */ + private String personalProfile; + /** + * 擅长领域 + */ + private String doctorField; + /** + * 所属科室外键Id + */ + private Integer departmentId; + /** + * 科室名称 + */ + private String departmentName; + /** + * 自动回复权限 + */ + private Integer replyStatus; + /** + * 自动回复内容 + */ + private String replyContent; + /** + * 医生用户注册Id + */ + private Integer userId; + /** + * 医生设置的问诊金额 + */ + private BigDecimal consultationPrice; +} diff --git a/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseGift.java b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseGift.java new file mode 100644 index 0000000..bb8b1ac --- /dev/null +++ b/grail-doctor-public-common/src/main/java/com/grail/publice/domain/response/ResponseGift.java @@ -0,0 +1,33 @@ +package com.grail.publice.domain.response; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName : ResponseGift + * @Description : 礼物联查 + * @Author : YHY + * @Date: 2023-10-24 16:28 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ResponseGift { + /** + * 礼物Id + */ + private Integer giftId; + /** + * 礼物名称 + */ + private String giftName; + /** + * 礼物价格 + */ + private Integer giftPrice; + /** + * 礼物图片 + */ + private String giftPicture; +} diff --git a/grail-doctor-public-remote/.gitignore b/grail-doctor-public-remote/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/grail-doctor-public-remote/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/grail-doctor-public-remote/pom.xml b/grail-doctor-public-remote/pom.xml new file mode 100644 index 0000000..81744d1 --- /dev/null +++ b/grail-doctor-public-remote/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + + com.grail + grail-doctor-public + 3.6.3 + + + grail-doctor-public-remote + + + 17 + 17 + UTF-8 + + + + + com.grail + grail-doctor-public-common + 3.6.3 + + + + diff --git a/grail-doctor-public-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/grail-doctor-public-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..b5fd409 --- /dev/null +++ b/grail-doctor-public-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +# 调用接口相对路径 diff --git a/grail-doctor-public-server/.gitignore b/grail-doctor-public-server/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/grail-doctor-public-server/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/grail-doctor-public-server/pom.xml b/grail-doctor-public-server/pom.xml new file mode 100644 index 0000000..5ed0eca --- /dev/null +++ b/grail-doctor-public-server/pom.xml @@ -0,0 +1,121 @@ + + + 4.0.0 + + com.grail + grail-doctor-public + 3.6.3 + + + 3.6.3 + + grail-doctor-public-server + + + 17 + 17 + UTF-8 + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + mysql + mysql-connector-java + + + + + com.grail + grail-common-datasource + + + + + com.grail + grail-common-datascope + + + + + com.grail + grail-common-log + + + + + com.grail + grail-common-swagger + + + + + com.grail + grail-doctor-public-common + 3.6.3 + + + + com.qiniu + qiniu-java-sdk + 7.10.4 + + + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + 2.3.0.RELEASE + + + + repackage + + + + + + + + + diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/ConsultationApplication.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/ConsultationApplication.java new file mode 100644 index 0000000..e5bda36 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/ConsultationApplication.java @@ -0,0 +1,23 @@ +package com.grail.doctor.publice; + +import com.grail.common.security.annotation.EnableCustomConfig; +import com.grail.common.security.annotation.EnableRyFeignClients; +import com.grail.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @ClassName : ConsultationApplication + * @Description : 问诊聊天启动类 + * @Author : YHY + * @Date: 2023-10-19 22:27 + */ +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +public class ConsultationApplication { + public static void main(String[] args) { + SpringApplication.run(ConsultationApplication.class,args); + } +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/CommentController.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/CommentController.java new file mode 100644 index 0000000..836a61e --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/CommentController.java @@ -0,0 +1,145 @@ +package com.grail.doctor.publice.controller; + +import com.alibaba.fastjson.JSONObject; +import com.grail.common.core.domain.Result; +import com.grail.doctor.publice.service.CommentServlce; +import com.grail.publice.domain.Comment; +import com.grail.publice.domain.Gift; +import com.grail.publice.domain.response.ResponseComment; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; + +import java.util.Date; +import java.util.List; + + +/** + * @ClassName : CommentController + * @Description : 问诊好评 + * @Author : YHY + * @Date: 2023-10-24 14:53 + */ +@RestController +@RequestMapping("/comment") +@Log4j2 +public class CommentController { + @Autowired + private CommentServlce commentServlce; + @Autowired + private HttpServletRequest request; + + /** + * @Description:医生查询问诊结束后的所有已评论数据 && 礼物详情记录共用 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result> + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/24 15:37 + */ + @GetMapping("/commentList") + public Result> commentList(){ + log.info("功能名称:查询患者问诊评论信息,根据用户选择查科室及详细功能进行排序,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(), + request.getMethod()); + Result> result = commentServlce.commentList(); + log.info("功能名称:查询患者问诊评论信息,根据用户选择查科室及详细功能进行排序,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(), + request.getMethod()); + return result; + } + + /** + * @Description:查询礼物类型 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result> + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/24 16:26 + */ + @GetMapping("/giftList") + public Result> giftList(){ + log.info("功能名称:查询礼物记录,根据用户选择查科室及详细功能进行排序,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(), + request.getMethod()); + Result> result = commentServlce.giftList(); + log.info("功能名称:查询礼物记录,根据用户选择查科室及详细功能进行排序,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(), + request.getMethod()); + return result; + } + /** + * @Description:添加礼物详情 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/26 20:39 + */ + @PostMapping("/addGift") + public Result addGift(@RequestBody Gift gift){ + log.info("功能名称:添加礼物,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),gift); + Result result = commentServlce.addGift(gift); + log.info("功能名称:添加礼物,根据用户选择查科室及详细功能进行排序,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(), + request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + /** + * @Description: 礼物列表管理下架 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/27 16:49 + */ + @PostMapping("/deleteGiftById/{giftId}") + public Result deleteGiftById(@PathVariable Integer giftId){ + log.info("功能名称:礼物管理下架,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),giftId); + Result result = commentServlce.deleteGiftById(giftId); + log.info("功能名称:礼物管理下架,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(), + request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + + + + + public CommentController(CommentServlce commentServlce){ + this.commentServlce = commentServlce; + } + + /** + * 用户进行评价 + * @param comment + * @return 是否评价成功结果 + */ + @PostMapping("/addComment") + public Result addComment(@RequestBody Comment comment){ + log.info("功能名称:添加评论,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),comment); + comment.setCommentTime(new Date()); + commentServlce.addComment(comment); + Result result = Result.success(); + log.info("功能名称:添加评论,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(result)); + return Result.success("评论成功"); + } + @PostMapping ("/exit/{userId}") + public Result handleExit(@PathVariable Integer userId){ + //从数据中查询未评价的记录数 + int unfinishedCount = commentServlce.countUnfinishedComments(userId); + + if (unfinishedCount > 0){ + //在7天后添加中评 + LocalDateTime delayedTime = LocalDateTime.now().plusDays(7); + commentServlce.addDelayedComment(userId, delayedTime); + return Result.success("已成功添加延迟评价任务"); + }else { + //没有未评价的记录不需要添加延迟任务 + return Result.success("无需添加延迟任务评价"); + } + } + + +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/ConsultationController.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/ConsultationController.java new file mode 100644 index 0000000..2cbc453 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/ConsultationController.java @@ -0,0 +1,129 @@ +package com.grail.doctor.publice.controller; + +import com.alibaba.fastjson.JSONObject; +import com.grail.common.core.domain.Result; +import com.grail.doctor.publice.service.ConsultationService; +import com.grail.publice.domain.Consultation; +import com.grail.publice.domain.response.MiddleDiagnosisResponse; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @ClassName : ConsultationController + * @Description : 公共数据问诊聊天详情 + * @Author : YHY + * @Date: 2023-10-19 21:43 + */ +@RestController +@RequestMapping("/consultation") +@Log4j2 +public class ConsultationController { + + @Autowired + private ConsultationService consultationService; + @Autowired + private HttpServletRequest request; + + + /** + * @Description:问诊聊天详情数据 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result> + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/19 22:12 + */ + @GetMapping("/consultationList") + public Result> consultationList(){ + log.info("功能名称:问诊聊天详情数据,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(), + request.getMethod()); + Result> result = consultationService.consultationList(); + log.info("功能名称:问诊聊天详情数据,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(), + request.getMethod()); + return result; + } + + /** + * @Description:根据Id删除某一条聊天记录 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/19 22:17 + */ + @PostMapping("/deleteConsultationById/{consultationId}") + public Result deleteConsultationById(@PathVariable("consultationId") Integer consultationId){ + log.info("功能名称:根据Id删除某一条聊天记录,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),consultationId); + consultationService.deleteConsultationById(consultationId); + Result result = Result.success(); + log.info("功能名称:根据Id删除某一条聊天记录,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(result)); + return result; + } + + /** + * @Description: 发送消息添加聊天记录 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/20 11:23 + */ + @PostMapping("/addConsultation") + public Result addConsultation(@RequestBody Consultation consultation){ + log.info("功能名称:发送消息添加聊天记录,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),consultation); + Result result = consultationService.addConsultation(consultation); + log.info("功能名称:发送消息添加聊天记录,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(result)); + return result; + } + + /** + * @Description: 根据医生信息是否立即资讯改医生——资讯人数大于5时给出提示 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result> + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/20 14:30 + */ + @PostMapping("/ImmediateConsultation/doctorId") + public Result> ImmediateConsultation(@PathVariable("doctorId") Integer doctorId){ + log.info("功能名称:根据医生信息是否立即资讯改医生,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),doctorId); + Result> result = consultationService.ImmediateConsultation(doctorId); + log.info("功能名称:根据医生信息是否立即资讯改医生,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(result)); + return result; + } + + /** + * @Description: 患者查看历史问诊详情 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result> + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/26 15:26 + */ + @GetMapping("/middleDiagnosisList") + public Result> middleDiagnosisList(){ + log.info("功能名称:患者查询历史问诊,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(), + request.getMethod()); + Result> result = consultationService.middleDiagnosisList(); + log.info("功能名称:患者查询历史问诊,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(), + request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + + + + + + +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/DoctorController.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/DoctorController.java new file mode 100644 index 0000000..786a392 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/controller/DoctorController.java @@ -0,0 +1,76 @@ +package com.grail.doctor.publice.controller; + +import com.alibaba.fastjson.JSONObject; +import com.grail.common.core.domain.Result; +import com.grail.doctor.publice.service.DoctorService; +import com.grail.publice.domain.Consultation; +import com.grail.publice.domain.Doctor; +import com.grail.publice.domain.request.RequestDoctor; +import com.grail.publice.domain.response.ResponseDoctor; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @ClassName : DoctorController + * @Description : 医生信息 + * @Author : YHY + * @Date: 2023-10-22 10:08 + */ +@RestController +@RequestMapping("/doctor") +@Log4j2 +public class DoctorController { + @Autowired + private DoctorService doctorService; + @Autowired + private HttpServletRequest request; + + /** + * @Description:查询医生信息,根据用户选择查科室及详细功能进行排序 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result> + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/22 15:40 + */ + @GetMapping("/doctorList") + public Result> doctorList(@RequestBody RequestDoctor requestDoctor){ + log.info("功能名称:查询医生信息,根据用户选择查科室及详细功能进行排序,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),requestDoctor); + Result> result = doctorService.doctorList(requestDoctor); + log.info("功能名称:查询医生信息,根据用户选择查科室及详细功能进行排序,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(result)); + return result; + } + + + /** + * @Description:根据Id查询医生详细信息 + No such property: code for class: Script1 + * @return: com.grail.common.core.domain.Result + * @Author: YHY + * @Updator: YHY + * @Date 2023/10/24 14:07 + */ + @GetMapping("/findDoctorById/{doctorId}") + public Result findDoctorById(@PathVariable("doctorId") Integer doctorId){ + log.info("功能名称:根据Id查询医生详细信息,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),doctorId); + Result result = doctorService.findDoctorById(doctorId); + log.info("功能名称:根据Id查询医生详细信息,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(result)); + return result; + } + + @PostMapping("/updateDoctor") + public Result updateDoctor(@RequestBody Doctor doctor){ + log.info("功能名称:完善修改医生信息,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(), + request.getMethod(),doctor); + Result result = doctorService.updateDoctor(doctor); + return result; + } +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/CommentMapper.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/CommentMapper.java new file mode 100644 index 0000000..b4f6631 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/CommentMapper.java @@ -0,0 +1,33 @@ +package com.grail.doctor.publice.mapper; + +import com.grail.publice.domain.Comment; +import com.grail.publice.domain.Gift; +import com.grail.publice.domain.response.ResponseComment; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @ClassName : CommentMapper + * @Description : + * @Author : YHY + * @Date: 2023-10-24 15:25 + */ +@Mapper +public interface CommentMapper { + List commentList(); + + List giftList(); + + + + void addComment(Comment comment); + + int countUnfinishedComments(Integer userId); + + int addGift(Gift gift); + + int deleteGiftById(@Param("giftId") Integer giftId); + +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/ConsultationMapper.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/ConsultationMapper.java new file mode 100644 index 0000000..3c33fc3 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/ConsultationMapper.java @@ -0,0 +1,28 @@ +package com.grail.doctor.publice.mapper; + +import com.grail.common.core.domain.Result; +import com.grail.publice.domain.Consultation; +import com.grail.publice.domain.response.MiddleDiagnosisResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @ClassName : ConsultationMapper + * @Description : + * @Author : YHY + * @Date: 2023-10-19 21:48 + */ +@Mapper +public interface ConsultationMapper { + List consultationList(); + + void deleteConsultationById(@Param("consultationId") Integer consultationId); + + Result addConsultation(Consultation consultation); + + List ImmediateConsultation(@Param("doctorId") Integer doctorId); + + List middleDiagnosisList(); +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/DoctorMapper.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/DoctorMapper.java new file mode 100644 index 0000000..b39ad01 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/mapper/DoctorMapper.java @@ -0,0 +1,25 @@ +package com.grail.doctor.publice.mapper; + +import com.grail.common.core.domain.Result; +import com.grail.publice.domain.Doctor; +import com.grail.publice.domain.request.RequestDoctor; +import com.grail.publice.domain.response.ResponseDoctor; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @ClassName : DoctorMapper + * @Description : + * @Author : YHY + * @Date: 2023-10-22 10:10 + */ +@Mapper +public interface DoctorMapper { + List doctorList(RequestDoctor requestDoctor); + + Result findDoctorById(@Param("doctorId") Integer doctorId); + + int updateDoctor(Doctor doctor); +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/CommentServlce.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/CommentServlce.java new file mode 100644 index 0000000..50670fe --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/CommentServlce.java @@ -0,0 +1,32 @@ +package com.grail.doctor.publice.service; + +import com.grail.common.core.domain.Result; +import com.grail.publice.domain.Comment; +import com.grail.publice.domain.Gift; +import com.grail.publice.domain.response.ResponseComment; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * @ClassName : CommentServlce + * @Description : + * @Author : YHY + * @Date: 2023-10-24 15:23 + */ +public interface CommentServlce { + Result> commentList(); + + Result> giftList(); + + void addComment(Comment comment); + + int countUnfinishedComments(Integer userId); + + void addDelayedComment(Integer userId, LocalDateTime delayedTime); + + + Result addGift(Gift gift); + + Result deleteGiftById(Integer giftId); +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/ConsultationService.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/ConsultationService.java new file mode 100644 index 0000000..a060ec7 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/ConsultationService.java @@ -0,0 +1,25 @@ +package com.grail.doctor.publice.service; + +import com.grail.common.core.domain.Result; +import com.grail.publice.domain.Consultation; +import com.grail.publice.domain.response.MiddleDiagnosisResponse; + +import java.util.List; + +/** + * @ClassName : ConsultationService + * @Description : + * @Author : YHY + * @Date: 2023-10-19 21:47 + */ +public interface ConsultationService { + Result> consultationList(); + + void deleteConsultationById(Integer consultationId); + + Result addConsultation(Consultation consultation); + + Result> ImmediateConsultation(Integer doctorId); + + Result> middleDiagnosisList(); +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/DoctorService.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/DoctorService.java new file mode 100644 index 0000000..62a0f60 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/DoctorService.java @@ -0,0 +1,22 @@ +package com.grail.doctor.publice.service; + +import com.grail.common.core.domain.Result; +import com.grail.publice.domain.Doctor; +import com.grail.publice.domain.request.RequestDoctor; +import com.grail.publice.domain.response.ResponseDoctor; + +import java.util.List; + +/** + * @ClassName : DoctorService + * @Description : + * @Author : YHY + * @Date: 2023-10-22 10:09 + */ +public interface DoctorService { + Result> doctorList(RequestDoctor requestDoctor); + + Result findDoctorById(Integer doctorId); + + Result updateDoctor(Doctor doctor); +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/CommentServlceimpl.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/CommentServlceimpl.java new file mode 100644 index 0000000..90ac725 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/CommentServlceimpl.java @@ -0,0 +1,104 @@ +package com.grail.doctor.publice.service.impl; + +import com.grail.common.core.domain.Result; +import com.grail.doctor.publice.mapper.CommentMapper; +import com.grail.doctor.publice.service.CommentServlce; +import com.grail.publice.domain.Comment; +import com.grail.publice.domain.Gift; +import com.grail.publice.domain.response.ResponseComment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.Duration; +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; +import java.util.Timer; +import java.util.TimerTask; + +/** + * @ClassName : CommentServlceimpl + * @Description : 问诊好评业务层 + * @Author : YHY + * @Date: 2023-10-24 15:23 + */ +@Service +public class CommentServlceimpl implements CommentServlce { + @Autowired + private CommentMapper commentMapper;//注入CommenMapper实例 + private final Timer timer; + + public CommentServlceimpl() { + this.timer = new Timer(); + } + + @Override + public Result> commentList() { + List list = commentMapper.commentList(); + return Result.success(list); + } + + @Override + public Result> giftList() { + List list = commentMapper.giftList(); + return Result.success(list); + } + + + + + + + + @Override + public void addComment(Comment comment) { + //根据具体的持久框架,使用相应的方法将comment对象保存到数据库 + //这里我们假设使用MyBatista,调用commentMapper等方法 + commentMapper.addComment(comment); + } + + @Override + public int countUnfinishedComments(Integer userId) { + // 根据具体的持久化框架,使用相应的方法查询未评价的记录数 + // 这里我们假设使用MyBatis,调用commentMapper的方法 + return commentMapper.countUnfinishedComments(userId); + } + + @Override + public void addDelayedComment(Integer userId, LocalDateTime delayedTime) { + //计算延迟时间和当前时间之间的时间差 + LocalDateTime now = LocalDateTime.now(); + long delay = Duration.between(now, delayedTime).toMillis(); + + //创建一个 TimeTask 任务 + TimerTask task = new TimerTask() { + @Override + public void run() { + //任务执行时,添加中评 + Comment comment = new Comment(); + comment.setCommentContent("满意");//自动给出中评 + comment.setCommentTime(new Date()); //默认添加当前时间 + comment.setUserId(userId); //默认给出评价的用户 + comment.setCommentSpeciality(3); //表示医生专业度中等评价 + comment.setCommentSatisfied(3); //表示医生满意度中等评价 + comment.setGiftId(null); //礼物默认添加为空 + } + }; + //在指定的延迟时间后执行任务 + timer.schedule(task, delay); + } + + @Override + public Result addGift(Gift gift) { + int i = commentMapper.addGift(gift); + return i>0?Result.success(200,"礼物添加成功"):Result.error(500,"礼物添加异常,稍后再试"); + } + + @Override + public Result deleteGiftById(Integer giftId) { + int i = commentMapper.deleteGiftById(giftId); + return i>0?Result.success(200,"礼物已下架"):Result.success(500,"礼物下架失败"); + } + + +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/ConsultationServiceimpl.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/ConsultationServiceimpl.java new file mode 100644 index 0000000..4a33d3f --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/ConsultationServiceimpl.java @@ -0,0 +1,58 @@ +package com.grail.doctor.publice.service.impl; + +import com.grail.common.core.domain.Result; +import com.grail.doctor.publice.mapper.ConsultationMapper; +import com.grail.doctor.publice.service.ConsultationService; +import com.grail.publice.domain.Consultation; +import com.grail.publice.domain.response.MiddleDiagnosisResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * @ClassName : ConsultationServiceimpl + * @Description : 问诊聊天详情数据层 + * @Author : YHY + * @Date: 2023-10-19 21:47 + */ +@Service +public class ConsultationServiceimpl implements ConsultationService { + @Autowired + private ConsultationMapper consultationMapper; + + @Override + public Result> consultationList() { + List list = consultationMapper.consultationList(); + return Result.success(list); + } + + @Override + public void deleteConsultationById(Integer consultationId) { + consultationMapper.deleteConsultationById(consultationId); + } + + @Override + public Result addConsultation(Consultation consultation) { + consultation.setConsultationTime(new Date()); + return consultationMapper.addConsultation(consultation); + } + + @Override + public Result> ImmediateConsultation(Integer doctorId) { + List list = consultationMapper.ImmediateConsultation(doctorId); + int size = list.size(); + if (size > 5){ + return Result.error(500,"当前医生问诊患者大于5人,请稍后在试"); + } + Consultation consultation = new Consultation(); + return consultationMapper.addConsultation(consultation); + } + + @Override + public Result> middleDiagnosisList() { + List list = consultationMapper.middleDiagnosisList(); + return Result.success(list); + } +} diff --git a/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/DoctorServiceimpl.java b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/DoctorServiceimpl.java new file mode 100644 index 0000000..0ad2680 --- /dev/null +++ b/grail-doctor-public-server/src/main/java/com/grail/doctor/publice/service/impl/DoctorServiceimpl.java @@ -0,0 +1,42 @@ +package com.grail.doctor.publice.service.impl; + +import com.grail.common.core.domain.Result; +import com.grail.doctor.publice.mapper.DoctorMapper; +import com.grail.doctor.publice.service.DoctorService; +import com.grail.publice.domain.Doctor; +import com.grail.publice.domain.request.RequestDoctor; +import com.grail.publice.domain.response.ResponseDoctor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @ClassName : DoctorServiceimpl + * @Description : 医生信息数据层 + * @Author : YHY + * @Date: 2023-10-22 10:09 + */ +@Service +public class DoctorServiceimpl implements DoctorService { + @Autowired + private DoctorMapper doctorMapper; + + @Override + public Result> doctorList(RequestDoctor requestDoctor) { + List list = doctorMapper.doctorList(requestDoctor); + return Result.success(list); + } + + @Override + public Result findDoctorById(Integer doctorId) { + return doctorMapper.findDoctorById(doctorId); + } + + @Override + public Result updateDoctor(Doctor doctor) { + int i = doctorMapper.updateDoctor(doctor); + return i>0?Result.success(200,"信息完善成功"):Result.error(500,"系统异常"); + } +} diff --git a/grail-doctor-public-server/src/main/resources/banner.txt b/grail-doctor-public-server/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/grail-doctor-public-server/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/grail-doctor-public-server/src/main/resources/bootstrap.yml b/grail-doctor-public-server/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..6202516 --- /dev/null +++ b/grail-doctor-public-server/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +# Tomcat +server: + port: 10003 + +# Spring +spring: + application: + # 应用名称 + name: grail-consultation + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 10.100.1.3:8848 + config: + # 配置中心地址 + server-addr: 10.100.1.3:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + rabbitmq: + host: 10.100.1.5 + + diff --git a/grail-doctor-public-server/src/main/resources/logback.xml b/grail-doctor-public-server/src/main/resources/logback.xml new file mode 100644 index 0000000..37e8d12 --- /dev/null +++ b/grail-doctor-public-server/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/grail-doctor-public-server/src/main/resources/mapper/CommentMapper.xml b/grail-doctor-public-server/src/main/resources/mapper/CommentMapper.xml new file mode 100644 index 0000000..8835021 --- /dev/null +++ b/grail-doctor-public-server/src/main/resources/mapper/CommentMapper.xml @@ -0,0 +1,51 @@ + + + + + INSERT INTO `all_healthcare`.`t_comment` ( + `comment_id`, + `comment_content`, + `comment_time`, + `user_id`, + `comment_speciality`, + `comment_satisfied`, + `gift_id`) VALUES ( + #{commentId}, + #{commentContent}, + #{commentTime}, + #{userId}, + #{commentSpeciality}, + #{commentSatisfied}, + #{giftId}) + + + insert into t_gift ( + "gift_id", + "gift_name", + "gift_price", + "gift_picture") values( + #{giftId}, + #{giftName}, + #{giftPrice}, + #{giftPicture}) + + + delete from t_girt where girt_id=#{giftId} + + + + + + + + + + diff --git a/grail-doctor-public-server/src/main/resources/mapper/ConsultationMapper.xml b/grail-doctor-public-server/src/main/resources/mapper/ConsultationMapper.xml new file mode 100644 index 0000000..f5328c9 --- /dev/null +++ b/grail-doctor-public-server/src/main/resources/mapper/ConsultationMapper.xml @@ -0,0 +1,39 @@ + + + + + INSERT INTO `All_healthcare`.`t_consultation` + (`consultation_id`, + `consultation_time`, + `consultation_content`, + `user_id`, + `doctor_id`, + `consultation_status`) VALUES ( + #{consultationId}, + #{consultationTime}', + #{consultationContent}, + #{userId}, + #{doctorId}, + #{consultationStatus}); + + + delete from t_consultation where consultation_id=#{consultationId} + + + + + + diff --git a/grail-doctor-public-server/src/main/resources/mapper/DoctorMapper.xml b/grail-doctor-public-server/src/main/resources/mapper/DoctorMapper.xml new file mode 100644 index 0000000..992b788 --- /dev/null +++ b/grail-doctor-public-server/src/main/resources/mapper/DoctorMapper.xml @@ -0,0 +1,45 @@ + + + + + update t_doctor set + docker_name=#{dockerName}, + doctor_hospital=#{doctorHospital}, + doctor_career=#{doctorCareer}, + doctor_picture=#{doctorPicture}, + personal_profile=#{personalProfile}, + doctor_field=#{doctorField}, + department_id=#{departmentId}, + reply_status=#{replyStatus}, + reply_content=#{replyContent}, + user_id=#{userId}, + consultation_price=#{consultationPrice} where doctor_id=#{doctorId} + + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..05f977d --- /dev/null +++ b/pom.xml @@ -0,0 +1,27 @@ + + + + + com.grail + grail-doctor + 3.6.3 + + 3.6.3 + + grail-doctor-public-common + grail-doctor-public-remote + grail-doctor-public-server + + + 4.0.0 + + + grail-doctor-pulic 问诊公共模块 + + + grail-doctor-public + pom + +