From 5e27be5d157da6d71dc44c346a2a77b2d00dddc8 Mon Sep 17 00:00:00 2001
From: Wtd <1658714322@qq.com>
Date: Fri, 20 Oct 2023 16:33:19 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=97=85=E5=8F=8B=E5=9C=88?=
=?UTF-8?q?=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
february-auth/february-auth-common/pom.xml | 4 +-
february-auth/february-auth-remote/pom.xml | 4 +-
february-auth/february-auth-server/pom.xml | 4 +-
.../february-file-common/pom.xml | 4 +-
.../february-file-remote/pom.xml | 4 +-
.../february-file-server/pom.xml | 4 +-
.../february-gen/february-gen-common/pom.xml | 4 +-
.../february-gen/february-gen-remote/pom.xml | 4 +-
.../february-gen/february-gen-server/pom.xml | 4 +-
.../february-job/february-job-common/pom.xml | 4 +-
.../february-job/february-job-remote/pom.xml | 4 +-
.../february-job/february-job-server/pom.xml | 4 +-
.../february-system-common/pom.xml | 4 +-
.../february-system-remote/pom.xml | 4 +-
.../february-system-server/pom.xml | 4 +-
february-patient/.gitignore | 38 +++++
.../february-patient-circle/.gitignore | 38 +++++
.../february-patient-circle-common/.gitignore | 38 +++++
.../february-patient-circle-common/pom.xml | 73 ++++++++++
.../patient/circle/constants/Constants.java | 18 +++
.../circle/constants/JwtConstants.java | 29 ++++
.../circle/constants/TokenConstants.java | 24 ++++
.../patient/circle/domain/Collect.java | 33 +++++
.../patient/circle/domain/Disease.java | 40 ++++++
.../patient/circle/domain/Doctor.java | 14 ++
.../february/patient/circle/domain/Drug.java | 53 +++++++
.../patient/circle/domain/Patient.java | 45 ++++++
.../patient/circle/domain/PatientCircle.java | 35 +++++
.../patient/circle/domain/Review.java | 47 +++++++
.../february/patient/circle/domain/Sex.java | 21 +++
.../february/patient/circle/domain/Sign.java | 33 +++++
.../february/patient/circle/domain/User.java | 32 +++++
.../domain/request/PatientCircleRequest.java | 51 +++++++
.../circle/domain/request/PatientRequest.java | 35 +++++
.../domain/request/ReviewPatientRequest.java | 21 +++
.../patient/circle/result/PageResult.java | 34 +++++
.../patient/circle/result/Result.java | 77 ++++++++++
.../patient/circle/utils/JwtUtils.java | 109 ++++++++++++++
.../patient/circle/utils/StringUtils.java | 68 +++++++++
.../february-patient-circle-remote/.gitignore | 38 +++++
.../february-patient-circle-remote/pom.xml | 26 ++++
.../february-patient-circle-server/.gitignore | 38 +++++
.../february-patient-circle-server/pom.xml | 69 +++++++++
.../circle/PatientCircleApplication.java | 24 ++++
.../circle/controller/PatientController.java | 133 ++++++++++++++++++
.../patient/circle/mapper/PatientMapper.java | 44 ++++++
.../circle/service/PatientService.java | 46 ++++++
.../service/impl/PatientServiceImpl.java | 111 +++++++++++++++
.../patient/circle/util/FastUtil.java | 56 ++++++++
.../src/main/resources/bootstrap.yml | 27 ++++
.../resources/mapper/circle/PatientMapper.xml | 37 +++++
.../february-patient-circle/pom.xml | 26 ++++
february-patient/pom.xml | 29 ++++
pom.xml | 14 ++
54 files changed, 1754 insertions(+), 30 deletions(-)
create mode 100644 february-patient/.gitignore
create mode 100644 february-patient/february-patient-circle/.gitignore
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/.gitignore
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/pom.xml
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/Constants.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/JwtConstants.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/TokenConstants.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Collect.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Disease.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Doctor.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Drug.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Patient.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/PatientCircle.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Review.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Sex.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Sign.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/User.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/PatientCircleRequest.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/PatientRequest.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/ReviewPatientRequest.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/result/PageResult.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/result/Result.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/utils/JwtUtils.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/utils/StringUtils.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-remote/.gitignore
create mode 100644 february-patient/february-patient-circle/february-patient-circle-remote/pom.xml
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/.gitignore
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/pom.xml
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/PatientCircleApplication.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/controller/PatientController.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/mapper/PatientMapper.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/service/PatientService.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/service/impl/PatientServiceImpl.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/util/FastUtil.java
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/src/main/resources/bootstrap.yml
create mode 100644 february-patient/february-patient-circle/february-patient-circle-server/src/main/resources/mapper/circle/PatientMapper.xml
create mode 100644 february-patient/february-patient-circle/pom.xml
create mode 100644 february-patient/pom.xml
diff --git a/february-auth/february-auth-common/pom.xml b/february-auth/february-auth-common/pom.xml
index 425e4b9..b868a40 100644
--- a/february-auth/february-auth-common/pom.xml
+++ b/february-auth/february-auth-common/pom.xml
@@ -12,8 +12,8 @@
february-auth-common
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-auth/february-auth-remote/pom.xml b/february-auth/february-auth-remote/pom.xml
index 7eb79a2..37b808b 100644
--- a/february-auth/february-auth-remote/pom.xml
+++ b/february-auth/february-auth-remote/pom.xml
@@ -12,8 +12,8 @@
february-auth-remote
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-auth/february-auth-server/pom.xml b/february-auth/february-auth-server/pom.xml
index ada62e0..3c83a40 100644
--- a/february-auth/february-auth-server/pom.xml
+++ b/february-auth/february-auth-server/pom.xml
@@ -12,8 +12,8 @@
february-auth-server
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-file/february-file-common/pom.xml b/february-modules/february-file/february-file-common/pom.xml
index 5f7866a..f4068c4 100644
--- a/february-modules/february-file/february-file-common/pom.xml
+++ b/february-modules/february-file/february-file-common/pom.xml
@@ -13,8 +13,8 @@
february-file-common
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-file/february-file-remote/pom.xml b/february-modules/february-file/february-file-remote/pom.xml
index 6b883f6..80814ae 100644
--- a/february-modules/february-file/february-file-remote/pom.xml
+++ b/february-modules/february-file/february-file-remote/pom.xml
@@ -13,8 +13,8 @@
february-file-remote
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-file/february-file-server/pom.xml b/february-modules/february-file/february-file-server/pom.xml
index 5a7edd0..4f6d4e3 100644
--- a/february-modules/february-file/february-file-server/pom.xml
+++ b/february-modules/february-file/february-file-server/pom.xml
@@ -13,8 +13,8 @@
february-file-server
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-gen/february-gen-common/pom.xml b/february-modules/february-gen/february-gen-common/pom.xml
index d0c87ad..6412e32 100644
--- a/february-modules/february-gen/february-gen-common/pom.xml
+++ b/february-modules/february-gen/february-gen-common/pom.xml
@@ -12,8 +12,8 @@
february-gen-common
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-gen/february-gen-remote/pom.xml b/february-modules/february-gen/february-gen-remote/pom.xml
index 67c9281..117f0f5 100644
--- a/february-modules/february-gen/february-gen-remote/pom.xml
+++ b/february-modules/february-gen/february-gen-remote/pom.xml
@@ -12,8 +12,8 @@
february-gen-remote
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-gen/february-gen-server/pom.xml b/february-modules/february-gen/february-gen-server/pom.xml
index 6fd29f9..62baab6 100644
--- a/february-modules/february-gen/february-gen-server/pom.xml
+++ b/february-modules/february-gen/february-gen-server/pom.xml
@@ -12,8 +12,8 @@
february-gen-server
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-job/february-job-common/pom.xml b/february-modules/february-job/february-job-common/pom.xml
index 8130889..eb7230d 100644
--- a/february-modules/february-job/february-job-common/pom.xml
+++ b/february-modules/february-job/february-job-common/pom.xml
@@ -12,8 +12,8 @@
february-job-common
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-job/february-job-remote/pom.xml b/february-modules/february-job/february-job-remote/pom.xml
index 516cbeb..fae25d0 100644
--- a/february-modules/february-job/february-job-remote/pom.xml
+++ b/february-modules/february-job/february-job-remote/pom.xml
@@ -12,8 +12,8 @@
february-job-remote
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-job/february-job-server/pom.xml b/february-modules/february-job/february-job-server/pom.xml
index ef963ec..16c4c69 100644
--- a/february-modules/february-job/february-job-server/pom.xml
+++ b/february-modules/february-job/february-job-server/pom.xml
@@ -12,8 +12,8 @@
february-job-server
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-system/february-system-common/pom.xml b/february-modules/february-system/february-system-common/pom.xml
index 5e41b15..ab74d54 100644
--- a/february-modules/february-system/february-system-common/pom.xml
+++ b/february-modules/february-system/february-system-common/pom.xml
@@ -13,8 +13,8 @@
february-system-common
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-system/february-system-remote/pom.xml b/february-modules/february-system/february-system-remote/pom.xml
index ca6ec9d..8b67f43 100644
--- a/february-modules/february-system/february-system-remote/pom.xml
+++ b/february-modules/february-system/february-system-remote/pom.xml
@@ -13,8 +13,8 @@
february-system-remote
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-modules/february-system/february-system-server/pom.xml b/february-modules/february-system/february-system-server/pom.xml
index 9fc6ba2..8f9c9c7 100644
--- a/february-modules/february-system/february-system-server/pom.xml
+++ b/february-modules/february-system/february-system-server/pom.xml
@@ -13,8 +13,8 @@
february-system-server
- 20
- 20
+ 17
+ 17
UTF-8
diff --git a/february-patient/.gitignore b/february-patient/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/february-patient/.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/february-patient/february-patient-circle/.gitignore b/february-patient/february-patient-circle/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/february-patient/february-patient-circle/.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/february-patient/february-patient-circle/february-patient-circle-common/.gitignore b/february-patient/february-patient-circle/february-patient-circle-common/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-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/february-patient/february-patient-circle/february-patient-circle-common/pom.xml b/february-patient/february-patient-circle/february-patient-circle-common/pom.xml
new file mode 100644
index 0000000..b41891c
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/pom.xml
@@ -0,0 +1,73 @@
+
+
+ 4.0.0
+
+ com.february
+ february-patient-circle
+ 3.6.3
+
+
+ february-patient-circle-common
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ org.projectlombok
+ lombok
+
+
+ com.february
+ february-common-core
+
+
+
+ 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}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.february
+ february-common-swagger
+
+
+
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/Constants.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/Constants.java
new file mode 100644
index 0000000..7181dfe
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/Constants.java
@@ -0,0 +1,18 @@
+package com.february.patient.circle.constants;
+
+/**
+ * @description: 系统常量
+ * @author DongZl
+ */
+public class Constants {
+ /**
+ * 成功标记
+ */
+ public static final Integer SUCCESS = 200;
+ public static final String SUCCESS_MSG = "操作成功";
+ /**
+ * 失败标记
+ */
+ public static final Integer ERROR = 500;
+ public static final String ERROR_MSG = "操作异常";
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/JwtConstants.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/JwtConstants.java
new file mode 100644
index 0000000..5c07678
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/JwtConstants.java
@@ -0,0 +1,29 @@
+package com.february.patient.circle.constants;
+
+/**
+ * @author DongZl
+ * @description: Jwt常量
+ */
+public class JwtConstants {
+
+ /**
+ * 用户ID字段
+ */
+ public static final String DETAILS_USER_ID = "user_id";
+
+ /**
+ * 用户名字段
+ */
+ public static final String DETAILS_USERNAME = "username";
+
+ /**
+ * 用户标识
+ */
+ public static final String USER_KEY = "user_key";
+
+ /**
+ * 令牌秘钥
+ */
+ public final static String SECRET = "abcdefghijklmnopqrstuvwxyz";
+
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/TokenConstants.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/TokenConstants.java
new file mode 100644
index 0000000..31961d0
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/constants/TokenConstants.java
@@ -0,0 +1,24 @@
+package com.february.patient.circle.constants;
+
+/**
+ * @author DongZl
+ * @description: 令牌常量
+ */
+public class TokenConstants {
+ /**
+ * 缓存有效期,默认720(分钟)
+ */
+ public final static long EXPIRATION = 720;
+ /**
+ * 缓存刷新时间,默认120(分钟)
+ */
+ public final static long REFRESH_TIME = 120;
+ /**
+ * 权限缓存前缀
+ */
+ public final static String LOGIN_TOKEN_KEY = "login_tokens:";
+ /**
+ * token标识
+ */
+ public static final String TOKEN = "token";
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Collect.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Collect.java
new file mode 100644
index 0000000..61fb82a
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Collect.java
@@ -0,0 +1,33 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+/**
+ * @program: patient
+ * @description: 收藏表
+ * @author: Mr.Wang
+ * @create: 2023-10-19 18:36
+ **/
+@Data
+public class Collect {
+ /**
+ * 主键id
+ */
+ private Integer collectId;
+ /**
+ * 资讯id
+ */
+ private Integer messageId;
+ /**
+ * 视频id
+ */
+ private Integer videoId;
+ /**
+ * 病友圈id
+ */
+ private Integer patientCommunityId;
+ /**
+ * 用户信息id
+ */
+ private Integer userId;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Disease.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Disease.java
new file mode 100644
index 0000000..96a482e
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Disease.java
@@ -0,0 +1,40 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+/**
+ * @program: patient
+ * @description: 病例下拉框
+ * @author: Mr.Wang
+ * @create: 2023-10-18 20:39
+ **/
+@Data
+public class Disease {
+ /**
+ * 病症详情id
+ */
+ private Integer diseaseDetailId;
+ /**
+ * 病症id
+ */
+ private Integer diseaseId;
+ /**
+ * 病理
+ */
+ private String diseaseDetailPathology;
+ /**
+ * 病状
+ */
+ private String diseaseDetailSymptom;
+ /**
+ * 宜与忌
+ */
+ private String diseaseDetailAnnouncements;
+ /**
+ * 西药治疗
+ */
+ private String diseaseDetailUsage;
+ /**
+ * 所属科目
+ */
+ private String diseaseName;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Doctor.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Doctor.java
new file mode 100644
index 0000000..6088c9f
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Doctor.java
@@ -0,0 +1,14 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+/**
+ * @program: patient
+ * @description: 医生
+ * @author: Mr.Wang
+ * @create: 2023-10-18 20:06
+ **/
+@Data
+public class Doctor {
+
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Drug.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Drug.java
new file mode 100644
index 0000000..852acce
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Drug.java
@@ -0,0 +1,53 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+/**
+ * @program: patient
+ * @description: 药品类
+ * @author: Mr.Wang
+ * @create: 2023-10-18 21:00
+ **/
+@Data
+public class Drug {
+ /**
+ * 药品详情id
+ */
+ private Integer drugDetailId;
+ /**
+ * 药品id
+ */
+ private Integer drugId;
+ /**
+ * 药品成分
+ */
+ private String drugDetailIngredient;
+ /**
+ * 用药禁忌
+ */
+ private String drugDetailTaboo;
+ /**
+ * 功能主治
+ */
+ private String drugDetailFunction;
+ /**
+ * 用法用量
+ */
+ private String drugDetailUsage;
+ /**
+ * 药品形状
+ */
+ private String drugDetailShape;
+ /**
+ * 包装规格
+ */
+ private String drugDetailSpecification;
+ /**
+ * 不良反应
+ */
+ private String drugDetailReaction;
+ /**
+ * 药品类型
+ */
+ private String drugName;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Patient.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Patient.java
new file mode 100644
index 0000000..af6e9a2
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Patient.java
@@ -0,0 +1,45 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+/**
+ * @program: patient
+ * @description: 患者信息表
+ * @author: Mr.Wang
+ * @create: 2023-10-18 11:16
+ **/
+@Data
+public class Patient {
+ /**
+ * 患者id
+ */
+ private Integer patientId;
+ /**
+ * 头像
+ */
+ private String avatar;
+ /**
+ * 昵称
+ */
+ private String patientNickname;
+ /**
+ * 性别id
+ */
+ private Integer sexId;
+ /**
+ * 体征id
+ */
+ private Integer signId;
+ /**
+ * 用户id
+ */
+ private Integer userId;
+ /**
+ * 是否认证
+ */
+ private Integer isAttestation;
+ /**
+ * 是否绑定
+ */
+ private Integer isBind;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/PatientCircle.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/PatientCircle.java
new file mode 100644
index 0000000..c19e38f
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/PatientCircle.java
@@ -0,0 +1,35 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @program: patient
+ * @description: 病友圈类
+ * @author: Mr.Wang
+ * @create: 2023-10-18 13:56
+ **/
+@Data
+public class PatientCircle {
+ /**
+ * 病友圈id
+ */
+ private Integer patientCircleId;
+ /**
+ * 病友圈标题
+ */
+ private String patientCircleTitle;
+ /**
+ * 发布时间
+ */
+ private Date patientCircleTime;
+ /**
+ * 病友圈详情
+ */
+ private String patientCircleDetails;
+ /**
+ * 用户id
+ */
+ private Integer userId;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Review.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Review.java
new file mode 100644
index 0000000..560f1b7
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Review.java
@@ -0,0 +1,47 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @program: patient
+ * @description: 评论表
+ * @author: Mr.Wang
+ * @create: 2023-10-18 19:54
+ **/
+@Data
+public class Review {
+ /**
+ * 评论id
+ */
+ private Integer reviewId;
+ /**
+ * 评论者
+ */
+ private String reviewName;
+ /**
+ * 评论内容
+ */
+ private String reviewDetail;
+ /**
+ * 评论时间
+ */
+ private Date reviewTime;
+ /**
+ * 点赞数
+ */
+ private Integer upvoteNum;
+ /**
+ * 嘲讽数
+ */
+ private Integer negativeNum;
+ /**
+ * 头像
+ */
+ private String avatar;
+ /**
+ * 是否采纳
+ */
+ private Integer isAdopt;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Sex.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Sex.java
new file mode 100644
index 0000000..097c01a
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Sex.java
@@ -0,0 +1,21 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+/**
+ * @program: patient
+ * @description: 性别
+ * @author: Mr.Wang
+ * @create: 2023-10-18 13:41
+ **/
+@Data
+public class Sex {
+ /**
+ * 性别id
+ */
+ private Integer sexId;
+ /**
+ * 性别名称
+ */
+ private String sexName;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Sign.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Sign.java
new file mode 100644
index 0000000..780586d
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/Sign.java
@@ -0,0 +1,33 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+/**
+ * @program: patient
+ * @description: 体征表
+ * @author: Mr.Wang
+ * @create: 2023-10-18 13:42
+ **/
+@Data
+public class Sign {
+ /**
+ * 主键
+ */
+ private Integer signId;
+ /**
+ * 身高
+ */
+ private Integer signHeight;
+ /**
+ * 体重
+ */
+ private Integer signWeight;
+ /**
+ * 年龄
+ */
+ private Integer signAge;
+ /**
+ * 用户id
+ */
+ private Integer userId;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/User.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/User.java
new file mode 100644
index 0000000..a180829
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/User.java
@@ -0,0 +1,32 @@
+package com.february.patient.circle.domain;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @program: patient
+ * @description:
+ * @author: Mr.Wang
+ * @create: 2023-10-18 13:44
+ **/
+@Data
+public class User {
+ /**
+ * 用户id
+ */
+ private Integer userId;
+ /**
+ * 用户名
+ */
+ private String userName;
+ /**
+ * 用户邮箱
+ */
+ private String userEmail;
+ /**
+ * 用户邮箱账号
+ */
+ private String userEmailNumber;
+
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/PatientCircleRequest.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/PatientCircleRequest.java
new file mode 100644
index 0000000..bc8f548
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/PatientCircleRequest.java
@@ -0,0 +1,51 @@
+package com.february.patient.circle.domain.request;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @program: patient
+ * @description: 病友圈表
+ * @author: Mr.Wang
+ * @create: 2023-10-18 21:50
+ **/
+@Data
+public class PatientCircleRequest {
+ /**
+ * 病友圈标题
+ */
+ private String patientCircleTitle;
+ /**
+ * 科诊室id
+ */
+ private Integer diseaseId;
+ /**
+ * 药物id
+ */
+ private Integer drugId;
+ /**
+ * 病症详情
+ */
+ private String patientCircleDetail;
+ /**
+ * 医院名称
+ */
+ private String hospital;
+ /**
+ * 开始时间
+ */
+ private Date patientCircleStartTime;
+ /**
+ * 结束时间
+ */
+ private Date patientCircleEndTime;
+ /**
+ * 治疗过程
+ */
+ private String patientCircleProcess;
+ /**
+ * 病友圈图片
+ */
+ private String patientCirclePicture;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/PatientRequest.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/PatientRequest.java
new file mode 100644
index 0000000..fbbe8d6
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/PatientRequest.java
@@ -0,0 +1,35 @@
+package com.february.patient.circle.domain.request;
+
+
+import com.february.patient.circle.domain.Patient;
+import lombok.Data;
+
+/**
+ * @program: patient
+ * @description: 患者信息
+ * @author: Mr.Wang
+ * @create: 2023-10-18 15:11
+ **/
+@Data
+public class PatientRequest extends Patient {
+ /**
+ * 性别名称
+ */
+ private String sexName;
+ /**
+ * 体重
+ */
+ private Integer signWeight;
+ /**
+ * 身高
+ */
+ private Integer signHeight;
+ /**
+ * 年龄
+ */
+ private Integer signAge;
+ /**
+ * 用户名
+ */
+ private String userName;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/ReviewPatientRequest.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/ReviewPatientRequest.java
new file mode 100644
index 0000000..81156c7
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/domain/request/ReviewPatientRequest.java
@@ -0,0 +1,21 @@
+package com.february.patient.circle.domain.request;
+
+import lombok.Data;
+
+/**
+ * @program: february
+ * @description: 病人发表评论
+ * @author: Mr.Wang
+ * @create: 2023-10-20 15:57
+ **/
+@Data
+public class ReviewPatientRequest {
+ /**
+ * 病友圈id
+ */
+ private Integer reviewId;
+ /**
+ * 病友圈详情
+ */
+ private String reviewDetail;
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/result/PageResult.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/result/PageResult.java
new file mode 100644
index 0000000..4af496f
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/result/PageResult.java
@@ -0,0 +1,34 @@
+package com.february.patient.circle.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author DongZl
+ * @description: 列表返回结果集
+ */
+@Data
+public class PageResult implements Serializable {
+ /**
+ * 总条数
+ */
+ private long total;
+ /**
+ * 结果集合
+ */
+ private List list;
+ public PageResult() {
+ }
+ public PageResult(long total, List list) {
+ this.total = total;
+ this.list = list;
+ }
+ public static PageResult toPageResult(long total, List list){
+ return new PageResult(total , list);
+ }
+ public static Result> toResult(long total, List list){
+ return Result.success(PageResult.toPageResult(total,list));
+ }
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/result/Result.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/result/Result.java
new file mode 100644
index 0000000..5175c2b
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/result/Result.java
@@ -0,0 +1,77 @@
+package com.february.patient.circle.result;
+
+
+import com.february.patient.circle.constants.Constants;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author DongZl
+ * @description: 响应信息主体
+ */
+@Data
+public class Result implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 成功
+ */
+ public static final int SUCCESS = Constants.SUCCESS;
+ /**
+ * 失败
+ */
+ public static final int FAIL = Constants.ERROR;
+ /**
+ * 返回状态码
+ */
+ private int code;
+ /**
+ * 响应信息
+ */
+ private String msg;
+ /**
+ * 响应数据
+ */
+ private T data;
+
+ public static Result success() {
+ return restResult(null, SUCCESS, Constants.SUCCESS_MSG);
+ }
+
+ public static Result success(T data) {
+ return restResult(data, SUCCESS, Constants.SUCCESS_MSG);
+ }
+
+ public static Result success(T data, String msg) {
+ return restResult(data, SUCCESS, msg);
+ }
+
+ public static Result error() {
+ return restResult(null, FAIL, Constants.ERROR_MSG);
+ }
+
+ public static Result error(String msg) {
+ return restResult(null, FAIL, msg);
+ }
+
+ public static Result error(T data) {
+ return restResult(data, FAIL, Constants.ERROR_MSG);
+ }
+
+ public static Result error(T data, String msg) {
+ return restResult(data, FAIL, msg);
+ }
+
+ public static Result error(int code, String msg) {
+ return restResult(null, code, msg);
+ }
+
+ private static Result restResult(T data, int code, String msg) {
+ Result apiResult = new Result<>();
+ apiResult.setCode(code);
+ apiResult.setData(data);
+ apiResult.setMsg(msg);
+ return apiResult;
+ }
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/utils/JwtUtils.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/utils/JwtUtils.java
new file mode 100644
index 0000000..3be081c
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/utils/JwtUtils.java
@@ -0,0 +1,109 @@
+package com.february.patient.circle.utils;
+
+import com.february.patient.circle.constants.JwtConstants;
+import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.Jwts;
+import io.jsonwebtoken.SignatureAlgorithm;
+
+import java.util.Map;
+
+/**
+ * @description: Jwt工具类
+ * @author DongZl
+ */
+public class JwtUtils {
+
+ /**
+ * 秘钥
+ */
+ public static String secret = JwtConstants.SECRET;
+
+ /**
+ * 从数据声明生成令牌
+ *
+ * @param claims 数据声明
+ * @return 令牌
+ */
+ public static String createToken(Map claims){
+ String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact();
+ return token;
+ }
+
+ /**
+ * 从令牌中获取数据声明
+ *
+ * @param token 令牌
+ * @return 数据声明
+ */
+ public static Claims parseToken(String token){
+ return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody();
+ }
+ /**
+ * 根据令牌获取用户标识
+ *
+ * @param token 令牌
+ * @return 用户ID
+ */
+ public static String getUserKey(String token){
+ Claims claims = parseToken(token);
+ return getValue(claims, JwtConstants.USER_KEY);
+ }
+ /**
+ * 根据令牌获取用户标识
+ *
+ * @param claims 身份信息
+ * @return 用户ID
+ */
+ public static String getUserKey(Claims claims){
+ return getValue(claims, JwtConstants.USER_KEY);
+ }
+ /**
+ * 根据令牌获取用户ID
+ *
+ * @param token 令牌
+ * @return 用户ID
+ */
+ public static String getUserId(String token){
+ Claims claims = parseToken(token);
+ return getValue(claims, JwtConstants.DETAILS_USER_ID);
+ }
+ /**
+ * 根据身份信息获取用户ID
+ *
+ * @param claims 身份信息
+ * @return 用户ID
+ */
+ public static String getUserId(Claims claims){
+ return getValue(claims, JwtConstants.DETAILS_USER_ID);
+ }
+ /**
+ * 根据令牌获取用户名
+ *
+ * @param token 令牌
+ * @return 用户名
+ */
+ public static String getUserName(String token){
+ Claims claims = parseToken(token);
+ return getValue(claims, JwtConstants.DETAILS_USERNAME);
+ }
+ /**
+ * 根据身份信息获取用户名
+ *
+ * @param claims 身份信息
+ * @return 用户名
+ */
+ public static String getUserName(Claims claims){
+ return getValue(claims, JwtConstants.DETAILS_USERNAME);
+ }
+ /**
+ * 根据身份信息获取键值
+ *
+ * @param claims 身份信息
+ * @param key 键
+ * @return 值
+ */
+ public static String getValue(Claims claims, String key){
+ Object obj = claims.get(key);
+ return obj == null ? "" : obj.toString();
+ }
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/utils/StringUtils.java b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/utils/StringUtils.java
new file mode 100644
index 0000000..c23a3de
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-common/src/main/java/com/february/patient/circle/utils/StringUtils.java
@@ -0,0 +1,68 @@
+package com.february.patient.circle.utils;
+
+import org.springframework.util.AntPathMatcher;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @author DongZl
+ * @description: 字符串处理工具类
+ */
+public class StringUtils extends org.apache.commons.lang3.StringUtils {
+
+ /**
+ * * 判断一个对象是否为空
+ *
+ * @param object Object
+ * @return true:为空 false:非空
+ */
+ public static boolean isNull(Object object) {
+ return object == null;
+ }
+
+ /**
+ * * 判断一个Collection是否为空, 包含List,Set,Queue
+ *
+ * @param coll 要判断的Collection
+ * @return true:为空 false:非空
+ */
+ public static boolean isEmpty(Collection> coll) {
+ return isNull(coll) || coll.isEmpty();
+ }
+
+ /**
+ * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串
+ *
+ * @param str 指定字符串
+ * @param strs 需要检查的字符串数组
+ * @return 是否匹配
+ */
+ public static boolean matches(String str, List strs) {
+ if (isEmpty(str) || isEmpty(strs)) {
+ return false;
+ }
+ for (String pattern : strs) {
+ if (isMatch(pattern, str))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * 判断url是否与规则配置:
+ * ? 表示单个字符;
+ * * 表示一层路径内的任意字符串,不可跨层级;
+ * ** 表示任意层路径;
+ *
+ * @param pattern 匹配规则
+ * @param url 需要匹配的url
+ * @return
+ */
+ public static boolean isMatch(String pattern, String url) {
+ AntPathMatcher matcher = new AntPathMatcher();
+ return matcher.match(pattern, url);
+ }
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-remote/.gitignore b/february-patient/february-patient-circle/february-patient-circle-remote/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-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/february-patient/february-patient-circle/february-patient-circle-remote/pom.xml b/february-patient/february-patient-circle/february-patient-circle-remote/pom.xml
new file mode 100644
index 0000000..ef5b5e8
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-remote/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ com.february
+ february-patient-circle
+ 3.6.3
+
+
+ february-patient-circle-remote
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+ com.february
+ february-patient-circle-common
+
+
+
+
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/.gitignore b/february-patient/february-patient-circle/february-patient-circle-server/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-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/february-patient/february-patient-circle/february-patient-circle-server/pom.xml b/february-patient/february-patient-circle/february-patient-circle-server/pom.xml
new file mode 100644
index 0000000..b21b27b
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/pom.xml
@@ -0,0 +1,69 @@
+
+
+ 4.0.0
+
+ com.february
+ february-patient-circle
+ 3.6.3
+
+
+ february-patient-circle-server
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.february
+ february-patient-circle-common
+
+
+
+ com.february
+ february-patient-circle-remote
+
+
+
+ com.february
+ february-common-log
+
+
+
+
+ com.february
+ february-common-datascope
+
+
+
+ com.february
+ february-common-datasource
+
+
+ com.github.tobato
+ fastdfs-client
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/PatientCircleApplication.java b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/PatientCircleApplication.java
new file mode 100644
index 0000000..1b04fad
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/PatientCircleApplication.java
@@ -0,0 +1,24 @@
+package com.february.patient.circle;
+
+import com.february.common.security.annotation.EnableCustomConfig;
+import com.february.common.security.annotation.EnableRyFeignClients;
+import com.february.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @program: february-patient
+ * @description: 病友圈启动类
+ * @author: Mr.Wang
+ * @create: 2023-10-20 13:37
+ **/
+
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableRyFeignClients
+@SpringBootApplication
+public class PatientCircleApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(PatientCircleApplication.class);
+ }
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/controller/PatientController.java b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/controller/PatientController.java
new file mode 100644
index 0000000..5841030
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/controller/PatientController.java
@@ -0,0 +1,133 @@
+package com.february.patient.circle.controller;
+
+
+import com.february.patient.circle.domain.*;
+import com.february.patient.circle.domain.request.PatientCircleRequest;
+import com.february.patient.circle.domain.request.PatientRequest;
+import com.february.patient.circle.domain.request.ReviewPatientRequest;
+import com.february.patient.circle.result.Result;
+import com.february.patient.circle.service.PatientService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * @program: patient
+ * @description:
+ * @author: Mr.Wang
+ * @create: 2023-10-18 11:13
+ **/
+@RestController
+public class PatientController {
+ @Autowired
+ private PatientService patientService;
+ /**
+ * 病友圈列表信息
+ * @param userId
+ * @return
+ */
+ @PostMapping("/patientCircleList")
+ public Result> patientCircleList(Integer userId){
+ return patientService.patientCircleList(userId);
+ }
+ /**
+ * 个人信息展示
+ */
+ @PostMapping("/patientList")
+ public Result> patientList(String patientNickname){
+ return patientService.patientList(patientNickname);
+ }
+ /**
+ * 评论列表
+ * @return
+ */
+ @GetMapping("/reviewList")
+ public Result> reviewList(){
+ return patientService.reviewList();
+ }
+ /**
+ * 病友圈搜索功能
+ * @param patientCircle
+ * @return
+ */
+ @PostMapping("/findPatientCircle")
+ public Result> findPatientCircle(String patientCircle){
+ return patientService.findPatientCircle(patientCircle);
+ }
+
+ /**
+ * 病症级联查询
+ * @return
+ */
+ @GetMapping("diseaseList")
+ public Result> diseaseList(){
+ return patientService.diseaseList();
+ }
+
+ /**
+ * 药品级联查询
+ * @return
+ */
+ @GetMapping("/drugList")
+ public Result> drugList(){
+ return patientService.drugList();
+ }
+
+ /**
+ * 发布病友圈
+ * @param patientCircleRequest
+ * @return
+ */
+ @PostMapping("/addPatientCircle")
+ public Result addPatientCircle(PatientCircleRequest patientCircleRequest){
+ return patientService.addPatientCircle(patientCircleRequest);
+ }
+
+ /**
+ * 发布的病友圈发布者信息
+ * @param userId
+ * @return
+ */
+ @PostMapping("/findPatientCircleList")
+ public Result> findPatientCircleList(@RequestParam Integer userId){
+ return patientService.findPatientCircleList(userId);
+ }
+
+ /**
+ * 查询被采纳的建议
+ * @param isAdopt
+ * @return
+ */
+ @PostMapping("/findAdoptReview")
+ public Result findAdoptReview(@RequestParam Integer isAdopt){
+ return patientService.findAdoptReview(isAdopt);
+ }
+ /**
+ * 身份证照片上传
+ * @param file
+ * @return
+ */
+ @PostMapping("/upload")
+ public Result upload(@RequestParam("file")MultipartFile file){
+ return patientService.upload(file);
+ }
+
+ /**
+ * 根据邮箱号查询
+ * @param userEmailNumber
+ * @return
+ */
+ @PostMapping("/findByUserEmail")
+ public Result findByUserEmail(@RequestParam String userEmailNumber){
+ return patientService.findByUserEmail(userEmailNumber);
+ }
+ /**
+ * 患者病友圈发表评论
+ */
+ @PostMapping("/patientToSick")
+ public Result patientToSick(@RequestBody ReviewPatientRequest reviewPatientRequest){
+ return patientService.patientToSick(reviewPatientRequest);
+ }
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/mapper/PatientMapper.java b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/mapper/PatientMapper.java
new file mode 100644
index 0000000..85491d8
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/mapper/PatientMapper.java
@@ -0,0 +1,44 @@
+package com.february.patient.circle.mapper;
+
+
+import com.february.patient.circle.domain.*;
+import com.february.patient.circle.domain.request.PatientCircleRequest;
+import com.february.patient.circle.domain.request.PatientRequest;
+import com.february.patient.circle.domain.request.ReviewPatientRequest;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @program: patient
+ * @description:
+ * @author: Mr.Wang
+ * @create: 2023-10-18 11:14
+ **/
+@Mapper
+public interface PatientMapper {
+ List patientCircleList(@Param("userId") Integer userId);
+
+
+
+ List reviewList();
+
+ List findPatientCircle(@Param("patientCircle") String patientCircle);
+
+ List diseaseList();
+
+ List drugList();
+
+ Integer addPatientCircle(PatientCircleRequest patientCircleRequest);
+
+ List findPatientCircleList(@Param("userId") Integer userId);
+
+ Review findAdoptReview(@Param("isAdopt") Integer isAdopt);
+
+ User findByUserEmail(@Param("userEmailNumber") String userEmailNumber);
+
+ List patientList(@Param("patientNickname") String patientNickname);
+
+ Integer patientToSick(ReviewPatientRequest reviewPatientRequest);
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/service/PatientService.java b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/service/PatientService.java
new file mode 100644
index 0000000..fb921ca
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/service/PatientService.java
@@ -0,0 +1,46 @@
+package com.february.patient.circle.service;
+
+
+import com.february.patient.circle.domain.*;
+import com.february.patient.circle.domain.request.PatientCircleRequest;
+import com.february.patient.circle.domain.request.PatientRequest;
+import com.february.patient.circle.domain.request.ReviewPatientRequest;
+import com.february.patient.circle.result.Result;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * @program: patient
+ * @description:
+ * @author: Mr.Wang
+ * @create: 2023-10-18 11:14
+ **/
+@Component
+public interface PatientService {
+ Result> patientCircleList(Integer userId);
+
+ Result> patientList(String patientNickname);
+
+ Result> reviewList();
+
+ Result> findPatientCircle(String patientCircle);
+
+ Result> diseaseList();
+
+ Result> drugList();
+
+ Result addPatientCircle(PatientCircleRequest patientCircleRequest);
+
+ Result> findPatientCircleList(Integer userId);
+
+ Result findAdoptReview(Integer isAdopt);
+
+ Result upload(MultipartFile file);
+
+ Result findByUserEmail(String userEmailNumber);
+
+ Result patientToSick(ReviewPatientRequest reviewPatientRequest);
+
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/service/impl/PatientServiceImpl.java b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/service/impl/PatientServiceImpl.java
new file mode 100644
index 0000000..418054a
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/service/impl/PatientServiceImpl.java
@@ -0,0 +1,111 @@
+package com.february.patient.circle.service.impl;
+
+
+import com.february.patient.circle.constants.JwtConstants;
+import com.february.patient.circle.domain.*;
+import com.february.patient.circle.domain.request.PatientCircleRequest;
+import com.february.patient.circle.domain.request.PatientRequest;
+import com.february.patient.circle.domain.request.ReviewPatientRequest;
+import com.february.patient.circle.mapper.PatientMapper;
+import com.february.patient.circle.result.Result;
+import com.february.patient.circle.service.PatientService;
+import com.february.patient.circle.util.FastUtil;
+import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * @program: patient
+ * @description:
+ * @author: Mr.Wang
+ * @create: 2023-10-18 11:14
+ **/
+@Service
+public class PatientServiceImpl implements PatientService {
+ @Autowired
+ private PatientMapper patientMapper;
+ @Autowired
+ private FastUtil fastUtil;
+ @Override
+ public Result> patientCircleList(Integer userId) {
+ List list=patientMapper.patientCircleList(userId);
+ return Result.success(list);
+ }
+
+ @Override
+ public Result> patientList(String patientNickname) {
+ List list=patientMapper.patientList(patientNickname);
+ return Result.success(list);
+ }
+
+ @Override
+ public Result> reviewList() {
+ List list=patientMapper.reviewList();
+ return Result.success(list);
+ }
+
+ @Override
+ public Result> findPatientCircle(String patientCircle) {
+ List list=patientMapper.findPatientCircle(patientCircle);
+ return Result.success(list);
+ }
+
+ @Override
+ public Result> diseaseList() {
+ List list=patientMapper.diseaseList();
+ return Result.success(list);
+ }
+
+ @Override
+ public Result> drugList() {
+ List list=patientMapper.drugList();
+ return Result.success(list);
+ }
+
+ @Override
+ public Result addPatientCircle(PatientCircleRequest patientCircleRequest) {
+ Integer i=patientMapper.addPatientCircle(patientCircleRequest);
+ return Result.success(i);
+ }
+
+ @Override
+ public Result> findPatientCircleList(Integer userId) {
+ List list=patientMapper.findPatientCircleList(userId);
+ return Result.success(list);
+ }
+
+ @Override
+ public Result findAdoptReview(Integer isAdopt) {
+ Review review=patientMapper.findAdoptReview(isAdopt);
+ return Result.success(review);
+ }
+
+ @Override
+ public Result upload(MultipartFile file) {
+ try {
+ String upload = fastUtil.upload(file);
+ return Result.success("http://192.168.192.128:8888/"+upload,"上传成功");
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return Result.error("上传失败");
+ }
+
+ @Override
+ public Result findByUserEmail(String userEmailNumber) {
+ User user=patientMapper.findByUserEmail(userEmailNumber);
+ return Result.success(user);
+ }
+
+ @Override
+ public Result patientToSick(ReviewPatientRequest reviewPatientRequest) {
+ Integer i=patientMapper.patientToSick(reviewPatientRequest);
+ if(i>0){
+ return Result.success("评论成功");
+ }
+ return Result.success("评论失败");
+ }
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/util/FastUtil.java b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/util/FastUtil.java
new file mode 100644
index 0000000..c1ed3a7
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/src/main/java/com/february/patient/circle/util/FastUtil.java
@@ -0,0 +1,56 @@
+package com.february.patient.circle.util;
+
+
+import com.github.tobato.fastdfs.domain.fdfs.StorePath;
+import com.github.tobato.fastdfs.service.FastFileStorageClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+
+/**
+ * @BelongsProject: 0107day02
+ * @BelongsPackage: com.bw.config
+ * @Author: zhupengfei
+ * @CreateTime: 2023-02-01 08:52
+ */
+@Component
+public class FastUtil {
+ private static final Logger log = LoggerFactory.getLogger(FastUtil.class);
+
+ @Resource
+ private FastFileStorageClient storageClient ;
+
+ /**
+ * 上传文件
+ */
+ public String upload(MultipartFile multipartFile) throws Exception{
+ String originalFilename = multipartFile.getOriginalFilename().
+ substring(multipartFile.getOriginalFilename().
+ lastIndexOf(".") + 1);
+ StorePath storePath = this.storageClient.uploadImageAndCrtThumbImage(
+ multipartFile.getInputStream(),
+ multipartFile.getSize(),originalFilename , null);
+ return storePath.getFullPath() ;
+ }
+ /**
+ * 删除文件
+ */
+ public String deleteFile(String fileUrl) {
+ if (StringUtils.isEmpty(fileUrl)) {
+ log.info("fileUrl == >>文件路径为空...");
+ return "文件路径不能为空";
+ }
+ try {
+ StorePath storePath = StorePath.parseFromUrl(fileUrl);
+ storageClient.deleteFile(storePath.getGroup(), storePath.getPath());
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ }
+ return "删除成功";
+ }
+
+}
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/src/main/resources/bootstrap.yml b/february-patient/february-patient-circle/february-patient-circle-server/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..1d5a3b3
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/src/main/resources/bootstrap.yml
@@ -0,0 +1,27 @@
+# Tomcat
+server:
+ port: 9203
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: patient-circle
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 10.100.1.2:8848
+ config:
+ # 配置中心地址
+ server-addr: 10.100.1.2:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ rabbitmq:
+ host: 10.100.1.3
diff --git a/february-patient/february-patient-circle/february-patient-circle-server/src/main/resources/mapper/circle/PatientMapper.xml b/february-patient/february-patient-circle/february-patient-circle-server/src/main/resources/mapper/circle/PatientMapper.xml
new file mode 100644
index 0000000..cfdbe0c
--- /dev/null
+++ b/february-patient/february-patient-circle/february-patient-circle-server/src/main/resources/mapper/circle/PatientMapper.xml
@@ -0,0 +1,37 @@
+
+
+
+
+ INSERT INTO `patient`.`t_patient_circle_log` (`patient_circle_title`, `disease_id`, `drug_id`, `patient_circle_detail`, `hospital`, `patient_circle_start_time`, `patient_circle_end_time`, `patient_circle_process`, `patient_circle_picture`) VALUES ( #{patientCircleTitle}, #{diseaseId}, #{drugId}, #{patientCircleDetail}, #{hospital}, #{patientCircleStartTime}, #{patientCircleEndTime}, #{patientCircleProcess}, #{patientCirclePicture})
+
+
+ INSERT INTO `ry-cloud`.`t_review` (`review_id`, `review_detail`) VALUES (#{reviewId},#{reviewDetail})
+
+
+
+
+
+
+
+
+
+
+
diff --git a/february-patient/february-patient-circle/pom.xml b/february-patient/february-patient-circle/pom.xml
new file mode 100644
index 0000000..eb1b21e
--- /dev/null
+++ b/february-patient/february-patient-circle/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ com.february
+ february-patient
+ 3.6.3
+
+
+ february-patient-circle
+ pom
+
+ february-patient-circle-common
+ february-patient-circle-remote
+ february-patient-circle-server
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+
diff --git a/february-patient/pom.xml b/february-patient/pom.xml
new file mode 100644
index 0000000..41ff7e1
--- /dev/null
+++ b/february-patient/pom.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ com.february
+ february
+ 3.6.3
+
+
+ 4.0.0
+
+ 3.6.3
+
+
+
+ february-patient-circle
+
+
+ february-patient
+ pom
+
+
+ february-patient业务模块
+
+
+
+
diff --git a/pom.xml b/pom.xml
index e907ddd..08c51a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -199,6 +199,19 @@
${february.version}
+
+ com.february
+ february-patient-circle-common
+ 3.6.3
+
+
+
+
+ com.february
+ february-patient-circle-remote
+ 3.6.3
+
+
@@ -211,6 +224,7 @@
february-visual
february-modules
february-common
+ february-patient
pom