diff --git a/doctor-api/doctor-api-system/pom.xml b/doctor-api/doctor-api-system/pom.xml
index cdc2f56..8e3aef1 100644
--- a/doctor-api/doctor-api-system/pom.xml
+++ b/doctor-api/doctor-api-system/pom.xml
@@ -8,7 +8,7 @@
3.6.3
4.0.0
-
+
doctor-api-system
@@ -16,13 +16,13 @@
-
+
doctor
doctor-common-core
-
+
-
\ No newline at end of file
+
diff --git a/doctor-api/doctor-api-system/src/main/java/doctor/system/api/RemoteDoctorService.java b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/RemoteDoctorService.java
new file mode 100644
index 0000000..495cc8b
--- /dev/null
+++ b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/RemoteDoctorService.java
@@ -0,0 +1,16 @@
+package doctor.system.api;
+
+import doctor.common.core.constant.ServiceNameConstants;
+import doctor.common.core.domain.R;
+import doctor.system.api.factory.RemoteDoctorFallbackFactory;
+import doctor.system.api.model.LoginUser;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(contextId = "remoteDoctorService", value = ServiceNameConstants.FILE_DOCTOR, fallback = RemoteDoctorFallbackFactory.class)
+public interface RemoteDoctorService {
+
+ @PostMapping("/doctor/getUser")
+ R getDoctorUserInfo(@RequestParam("email") String email);
+}
diff --git a/doctor-api/doctor-api-system/src/main/java/doctor/system/api/RemoteUserService.java b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/RemoteUserService.java
index 9dfb85c..af7956e 100644
--- a/doctor-api/doctor-api-system/src/main/java/doctor/system/api/RemoteUserService.java
+++ b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/RemoteUserService.java
@@ -1,11 +1,7 @@
package doctor.system.api;
import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.*;
import doctor.common.core.constant.SecurityConstants;
import doctor.common.core.constant.ServiceNameConstants;
import doctor.common.core.domain.R;
@@ -15,7 +11,7 @@ import doctor.system.api.model.LoginUser;
/**
* 用户服务
- *
+ *
* @author ruoyi
*/
@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
diff --git a/doctor-api/doctor-api-system/src/main/java/doctor/system/api/factory/RemoteDoctorFallbackFactory.java b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/factory/RemoteDoctorFallbackFactory.java
new file mode 100644
index 0000000..5dd9347
--- /dev/null
+++ b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/factory/RemoteDoctorFallbackFactory.java
@@ -0,0 +1,15 @@
+package doctor.system.api.factory;
+
+import doctor.common.core.domain.R;
+import doctor.system.api.RemoteDoctorService;
+import doctor.system.api.model.LoginUser;
+import org.springframework.stereotype.Component;
+
+@Component
+public class RemoteDoctorFallbackFactory implements RemoteDoctorService {
+
+ @Override
+ public R getDoctorUserInfo(String email) {
+ return R.fail("登录超时");
+ }
+}
diff --git a/doctor-api/doctor-api-system/src/main/java/doctor/system/api/factory/RemoteUserFallbackFactory.java b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/factory/RemoteUserFallbackFactory.java
index a2826a4..d8d406c 100644
--- a/doctor-api/doctor-api-system/src/main/java/doctor/system/api/factory/RemoteUserFallbackFactory.java
+++ b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/factory/RemoteUserFallbackFactory.java
@@ -11,7 +11,7 @@ import doctor.system.api.model.LoginUser;
/**
* 用户服务降级处理
- *
+ *
* @author ruoyi
*/
@Component
diff --git a/doctor-api/doctor-api-system/src/main/java/doctor/system/api/model/LoginUser.java b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/model/LoginUser.java
index 9829ab1..32bc281 100644
--- a/doctor-api/doctor-api-system/src/main/java/doctor/system/api/model/LoginUser.java
+++ b/doctor-api/doctor-api-system/src/main/java/doctor/system/api/model/LoginUser.java
@@ -2,6 +2,7 @@ package doctor.system.api.model;
import java.io.Serializable;
import java.util.Set;
+
import doctor.system.api.domain.SysUser;
/**
@@ -58,6 +59,7 @@ public class LoginUser implements Serializable
*/
private SysUser sysUser;
+
public String getToken()
{
return token;
@@ -143,6 +145,7 @@ public class LoginUser implements Serializable
return sysUser;
}
+
public void setSysUser(SysUser sysUser)
{
this.sysUser = sysUser;
diff --git a/doctor-api/doctor-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/doctor-api/doctor-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 2213598..9f4d25b 100644
--- a/doctor-api/doctor-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/doctor-api/doctor-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,3 +1,4 @@
doctor.system.api.factory.RemoteUserFallbackFactory
doctor.system.api.factory.RemoteLogFallbackFactory
doctor.system.api.factory.RemoteFileFallbackFactory
+doctor.system.api.factory.RemoteDoctorFallbackFactory
diff --git a/doctor-auth/pom.xml b/doctor-auth/pom.xml
index ec697a0..c3b0a3e 100644
--- a/doctor-auth/pom.xml
+++ b/doctor-auth/pom.xml
@@ -7,53 +7,53 @@
3.6.3
4.0.0
-
+
doctor-auth
-
+
doctor-auth认证授权中心
-
+
-
+
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-web
-
+
org.springframework.boot
spring-boot-starter-actuator
-
+
doctor
doctor-common-security
-
+
-
+
${project.artifactId}
@@ -70,5 +70,5 @@
-
+
diff --git a/doctor-auth/src/main/java/doctor/auth/DoctorAuthApplication.java b/doctor-auth/src/main/java/doctor/DoctorAuthApplication.java
similarity index 98%
rename from doctor-auth/src/main/java/doctor/auth/DoctorAuthApplication.java
rename to doctor-auth/src/main/java/doctor/DoctorAuthApplication.java
index bde90a1..81acc94 100644
--- a/doctor-auth/src/main/java/doctor/auth/DoctorAuthApplication.java
+++ b/doctor-auth/src/main/java/doctor/DoctorAuthApplication.java
@@ -1,4 +1,4 @@
-package doctor.auth;
+package doctor;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/doctor-auth/src/main/java/doctor/auth/controller/HealthController.java b/doctor-auth/src/main/java/doctor/auth/controller/HealthController.java
index e8432be..f85c60e 100644
--- a/doctor-auth/src/main/java/doctor/auth/controller/HealthController.java
+++ b/doctor-auth/src/main/java/doctor/auth/controller/HealthController.java
@@ -1,13 +1,30 @@
package doctor.auth.controller;
import doctor.auth.service.HealthService;
+import doctor.auth.vo.DoctorUserVo;
+import doctor.common.core.domain.R;
+import doctor.common.security.service.TokenService;
+import doctor.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import java.util.Map;
+
@RestController
+@RequestMapping("/doctor/v1")
public class HealthController {
-// @Autowired
-// private HealthService healthService;
+
+ @Autowired
+ private HealthService healthService;
+
+ @PostMapping("/login")
+ public R> login(@RequestParam String email,String pwd) {
+ DoctorUserVo userInfo = healthService.login(email,pwd);
+ return R.ok(userInfo);
+ }
}
diff --git a/doctor-auth/src/main/java/doctor/auth/form/DoctorUserBody.java b/doctor-auth/src/main/java/doctor/auth/form/DoctorUserBody.java
new file mode 100644
index 0000000..d0a3550
--- /dev/null
+++ b/doctor-auth/src/main/java/doctor/auth/form/DoctorUserBody.java
@@ -0,0 +1,5 @@
+package doctor.auth.form;
+
+public class DoctorUserBody {
+
+}
diff --git a/doctor-auth/src/main/java/doctor/auth/service/HealthService.java b/doctor-auth/src/main/java/doctor/auth/service/HealthService.java
index 2700339..0166629 100644
--- a/doctor-auth/src/main/java/doctor/auth/service/HealthService.java
+++ b/doctor-auth/src/main/java/doctor/auth/service/HealthService.java
@@ -1,4 +1,47 @@
package doctor.auth.service;
+import doctor.auth.util.RSAUtils;
+import doctor.auth.util.RsaKey;
+import doctor.auth.vo.DoctorUserVo;
+import doctor.common.core.domain.R;
+import doctor.common.security.service.TokenService;
+import doctor.system.api.RemoteDoctorService;
+import doctor.system.api.model.LoginUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+@Component
public class HealthService {
+ @Autowired
+ private RemoteDoctorService remoteDoctorService;
+ @Autowired
+ private TokenService tokenService;
+
+ public DoctorUserVo login(String email, String pwd) {
+ DoctorUserVo doctorUserVo = new DoctorUserVo();
+ R userResult = remoteDoctorService.getDoctorUserInfo(email);
+ LoginUser data = userResult.getData();
+ String s="";
+ try {
+ s = RSAUtils.rsaDecrypt(pwd, RsaKey.PRIVATE_KEY);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ Map token = tokenService.createToken(data);
+ String accessToken = (String) token.get("access_token");
+ doctorUserVo.setSessionId(accessToken);
+ doctorUserVo.setEmail(data.getSysUser().getEmail());
+ doctorUserVo.setUserId(data.getSysUser().getUserId().intValue());
+ doctorUserVo.setUserName(data.getSysUser().getUserName());
+ doctorUserVo.setNickName(data.getSysUser().getNickName());
+ doctorUserVo.setJiGuangPwd(s);
+ if (data.getSysUser().getSex()=="男"){
+ doctorUserVo.setSex(0);
+ }else {
+ doctorUserVo.setSex(1);
+ }
+ return doctorUserVo;
+ }
}
diff --git a/doctor-auth/src/main/java/doctor/auth/util/RSAUtils.java b/doctor-auth/src/main/java/doctor/auth/util/RSAUtils.java
new file mode 100644
index 0000000..b6c65ad
--- /dev/null
+++ b/doctor-auth/src/main/java/doctor/auth/util/RSAUtils.java
@@ -0,0 +1,133 @@
+package doctor.auth.util;
+import org.apache.commons.codec.binary.Base64;
+
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.NoSuchPaddingException;
+import java.security.*;
+import java.security.interfaces.RSAPrivateKey;
+import java.security.interfaces.RSAPublicKey;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.security.spec.X509EncodedKeySpec;
+import java.util.*;
+
+
+/**
+ * RSA工具类 生成秘钥 加解密
+ * @author : WangZhanpeng
+ * @date : 2024/1/9 15:13
+ */
+public class RSAUtils {
+
+
+ private static Map keyMap = new HashMap();
+
+ public static void getKey() throws NoSuchAlgorithmException {
+ genKeyPair();
+ System.out.println("公钥===:"+keyMap.get(0));
+ System.out.println("私钥===:"+keyMap.get(1));
+ }
+ /**
+ * 随机生成密钥对
+ *
+ * @throws NoSuchAlgorithmException
+ */
+ public static void genKeyPair() throws NoSuchAlgorithmException {
+ // KeyPairGenerator类用于生成公钥和私钥对,基于RSA算法生成对象
+ KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
+ // 初始化密钥对生成器,密钥大小为96-1024位
+ keyPairGen.initialize(1024, new SecureRandom());
+ // 生成一个密钥对,保存在keyPair中
+ KeyPair keyPair = keyPairGen.generateKeyPair();
+ // 得到私钥
+ RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
+ // 得到公钥
+ RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
+ String publicKeyString = new String(Base64.encodeBase64(publicKey.getEncoded()));
+ // 得到私钥字符串
+ String privateKeyString = new String(Base64.encodeBase64((privateKey.getEncoded())));
+ // 将公钥和私钥保存到Map
+ //0表示公钥
+ keyMap.put(0, publicKeyString);
+ //1表示私钥
+ keyMap.put(1, privateKeyString);
+ }
+
+ /**
+ * RSA私钥解密
+ * @param str 解密字符串
+ * @param privateKey 私钥
+ * @return 明文
+ */
+ public static String rsaDecrypt(String str, String privateKey) throws Exception {
+ //base64编码的私钥
+ byte[] decoded = Base64.decodeBase64(privateKey);
+ RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded));
+ //RSA解密
+ Cipher cipher = Cipher.getInstance("RSA");
+ cipher.init(Cipher.DECRYPT_MODE, priKey);
+ byte[] inputArray = Base64.decodeBase64(str.getBytes("UTF-8"));
+ int inputLength = inputArray.length;
+ // 最大加密字节数,超出最大字节数需要分组加密
+ int MAX_ENCRYPT_BLOCK = 128;
+ // 标识
+ int offSet = 0;
+ byte[] resultBytes = {};
+ byte[] cache;
+ while (inputLength - offSet > 0) {
+ if (inputLength - offSet > MAX_ENCRYPT_BLOCK) {
+ cache = cipher.doFinal(inputArray, offSet, MAX_ENCRYPT_BLOCK);
+ offSet += MAX_ENCRYPT_BLOCK;
+ } else {
+ cache = cipher.doFinal(inputArray, offSet, inputLength - offSet);
+ offSet = inputLength;
+ }
+ resultBytes = Arrays.copyOf(resultBytes, resultBytes.length + cache.length);
+ System.arraycopy(cache, 0, resultBytes, resultBytes.length - cache.length, cache.length);
+ }
+ String outStr = new String(resultBytes);
+ return outStr;
+ }
+
+ /**
+ * RSA公钥加密
+ * @param input 需要加密的字符串
+ * @param rsaPublicKey 公钥
+ * @return 密文
+ * @throws Exception 加密过程中的异常信息
+ */
+ public static List rsaEncrypt(String input, String rsaPublicKey) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
+ String result = "";
+ // 将Base64编码后的公钥转换成PublicKey对象
+ byte[] buffer = Base64.decodeBase64(rsaPublicKey);
+ KeyFactory keyFactory = KeyFactory.getInstance("RSA");
+ X509EncodedKeySpec keySpec = new X509EncodedKeySpec(buffer);
+ PublicKey publicKey = keyFactory.generatePublic(keySpec);
+ // 加密
+ Cipher cipher = Cipher.getInstance("RSA");
+ cipher.init(Cipher.ENCRYPT_MODE, publicKey);
+ byte[] inputArray = input.getBytes();
+ int inputLength = inputArray.length;
+ System.out.println("加密字节数:" + inputLength);
+ // 最大加密字节数,超出最大字节数需要分组加密
+ int MAX_ENCRYPT_BLOCK = 117;
+ // 标识
+ int offSet = 0;
+ List results=new ArrayList<>();
+ byte[] cache;
+ while (inputLength - offSet > 0) {
+ if (inputLength - offSet > MAX_ENCRYPT_BLOCK) {
+ cache = cipher.doFinal(inputArray, offSet, MAX_ENCRYPT_BLOCK);
+ offSet += MAX_ENCRYPT_BLOCK;
+ } else {
+ cache = cipher.doFinal(inputArray, offSet, inputLength - offSet);
+ offSet = inputLength;
+ }
+ results.add(Base64.encodeBase64String(cache));
+ }
+ return results;
+ }
+
+}
diff --git a/doctor-auth/src/main/java/doctor/auth/util/RsaKey.java b/doctor-auth/src/main/java/doctor/auth/util/RsaKey.java
new file mode 100644
index 0000000..52d5f89
--- /dev/null
+++ b/doctor-auth/src/main/java/doctor/auth/util/RsaKey.java
@@ -0,0 +1,20 @@
+package doctor.auth.util;
+
+/**
+ * 存放RSA 公钥和私钥
+ * @author : WangZhanpeng
+ * @date : 2024/1/9 15:49
+ */
+public class RsaKey {
+
+ /**
+ * 公钥
+ */
+ public static final String PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7xkwklONlHn8TGmTH6yyvv7Bv9AcxXgpkAhuPxpOCVHgkpGGJUJVc8JCMOAhmqI4zdJRqTJa1aOk1glcOaOWja28o6lqNzxn3X3fqdkcWoF/L9Znw1MSDK7oFeSsHqubc9wA2GKb4EFt2TWuaFB+dWfPUhFeJ1GoZhpjjgZLO9QIDAQAB";
+ /**
+ * 私钥
+ */
+ public static final String PRIVATE_KEY = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALvGTCSU42UefxMaZMfrLK+/sG/0BzFeCmQCG4/Gk4JUeCSkYYlQlVzwkIw4CGaojjN0lGpMlrVo6TWCVw5o5aNrbyjqWo3PGfdfd+p2RxagX8v1mfDUxIMrugV5Kweq5tz3ADYYpvgQW3ZNa5oUH51Z89SEV4nUahmGmOOBks71AgMBAAECgYAQNJTts0vMtk0RQP3hoxJAOLLpdo4IXK1Y5DWsut6QKOoVf3pLd4DsfHZ9I3jWI0XievU0F1gKX/uAerc4ryTiR6dxHRyKQxhAamLCFqAgTd6GQf6nl7LlKJkHOKZ1/Un0l245zSLoUzNYxzLZhXfOX8lMNfnXpznfZV43nJJMIQJBAPEeKpEzK8/lEJCszBCXgAH75Qcwu+J/LjZFXChsEqx0ubbhg9orgwg+z5Z2uLXVbeScTkBIi+yY6Jd5RUbyhTsCQQDHXUUcylpo0vo9z/xMPTcd5m5UqTm6ZVacdnrkOQtGJJCKOLYTLhWGUPmE0s+cgn9/24H0H8FjOM/ta8tdTPmPAkEAyV5lNICk7WojzH/TqWOtb3q8yqWDtGR85qxEjCm96rNNSpPKt1ExjJhQbBvYpVuK/KshmwQ7f6wwTBjmp5rxcwJAVbJPAggtgr+l16ourmrl5VFm/bdcXDYxW8JGIxIuOXGAPBoSkf4OPJVUHHctzP3/Zmtp2hFIZKlIH6tlWG69GwJAUcnD0XMH8+h9mYUFdwgD0JtaEbeY3ofkO+RymFdcYO//ZjwnVWyGRIhi/lJ5URPiiDzt2MmX5G2a0NJPwP60Lg==";
+
+
+}
diff --git a/doctor-auth/src/main/java/doctor/auth/vo/DoctorUserVo.java b/doctor-auth/src/main/java/doctor/auth/vo/DoctorUserVo.java
new file mode 100644
index 0000000..fc6f292
--- /dev/null
+++ b/doctor-auth/src/main/java/doctor/auth/vo/DoctorUserVo.java
@@ -0,0 +1,130 @@
+package doctor.auth.vo;
+
+public class DoctorUserVo {
+ private Integer userId;
+ private String sessionId;
+ private String nickName;
+ private String userName;
+ private String jiGuangPwd;
+ private String headPic;
+ private Integer sex;
+ private Integer age;
+ private Integer height;
+ private Integer weight;
+ private String email;
+ private Integer whetherBingWeChat;
+ private String invitationCode;
+ private Integer faceFlag;
+
+ public Integer getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Integer userId) {
+ this.userId = userId;
+ }
+
+ public String getSessionId() {
+ return sessionId;
+ }
+
+ public void setSessionId(String sessionId) {
+ this.sessionId = sessionId;
+ }
+
+ public String getNickName() {
+ return nickName;
+ }
+
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getJiGuangPwd() {
+ return jiGuangPwd;
+ }
+
+ public void setJiGuangPwd(String jiGuangPwd) {
+ this.jiGuangPwd = jiGuangPwd;
+ }
+
+ public String getHeadPic() {
+ return headPic;
+ }
+
+ public void setHeadPic(String headPic) {
+ this.headPic = headPic;
+ }
+
+ public Integer getSex() {
+ return sex;
+ }
+
+ public void setSex(Integer sex) {
+ this.sex = sex;
+ }
+
+ public Integer getAge() {
+ return age;
+ }
+
+ public void setAge(Integer age) {
+ this.age = age;
+ }
+
+ public Integer getHeight() {
+ return height;
+ }
+
+ public void setHeight(Integer height) {
+ this.height = height;
+ }
+
+ public Integer getWeight() {
+ return weight;
+ }
+
+ public void setWeight(Integer weight) {
+ this.weight = weight;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public Integer getWhetherBingWeChat() {
+ return whetherBingWeChat;
+ }
+
+ public void setWhetherBingWeChat(Integer whetherBingWeChat) {
+ this.whetherBingWeChat = whetherBingWeChat;
+ }
+
+ public String getInvitationCode() {
+ return invitationCode;
+ }
+
+ public void setInvitationCode(String invitationCode) {
+ this.invitationCode = invitationCode;
+ }
+
+ public Integer getFaceFlag() {
+ return faceFlag;
+ }
+
+ public void setFaceFlag(Integer faceFlag) {
+ this.faceFlag = faceFlag;
+ }
+}
diff --git a/doctor-common/doctor-common-core/pom.xml b/doctor-common/doctor-common-core/pom.xml
index a16ea3a..32f7577 100644
--- a/doctor-common/doctor-common-core/pom.xml
+++ b/doctor-common/doctor-common-core/pom.xml
@@ -10,7 +10,7 @@
4.0.0
doctor-common-core
-
+
doctor-common-core核心模块
@@ -22,7 +22,7 @@
org.springframework.cloud
spring-cloud-starter-openfeign
-
+
org.springframework.cloud
@@ -113,6 +113,7 @@
swagger-annotations
+
diff --git a/doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/ServiceNameConstants.java b/doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/ServiceNameConstants.java
index 4f2f846..229a55d 100644
--- a/doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/ServiceNameConstants.java
+++ b/doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/ServiceNameConstants.java
@@ -2,7 +2,7 @@ package doctor.common.core.constant;
/**
* 服务名称
- *
+ *
* @author ruoyi
*/
public class ServiceNameConstants
@@ -21,4 +21,5 @@ public class ServiceNameConstants
* 文件服务的serviceid
*/
public static final String FILE_SERVICE = "doctor-file";
+ public static final String FILE_DOCTOR = "doctor-health";
}
diff --git a/doctor-modules/doctor-health/src/main/java/doctor/controller/SysDoctorController.java b/doctor-modules/doctor-health/src/main/java/doctor/controller/SysDoctorController.java
new file mode 100644
index 0000000..6f9f27b
--- /dev/null
+++ b/doctor-modules/doctor-health/src/main/java/doctor/controller/SysDoctorController.java
@@ -0,0 +1,40 @@
+package doctor.controller;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import doctor.common.core.domain.R;
+import doctor.domain.entity.DoctorUser;
+import doctor.service.IDoctorUserService;
+import doctor.system.api.domain.SysUser;
+import doctor.system.api.model.LoginUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/doctor")
+@DS("slave")
+public class SysDoctorController {
+
+ @Autowired
+ private IDoctorUserService iDoctorUserService;
+
+ @PostMapping("/getUser")
+ public R getUser(String email) {
+ DoctorUser user = iDoctorUserService.getUser(email);
+ LoginUser loginUser = new LoginUser();
+ SysUser sysUser = new SysUser();
+ sysUser.setUserId(Long.valueOf(user.getId()));
+ sysUser.setNickName(user.getNickName());
+ sysUser.setUserName(user.getUserName());
+ sysUser.setPhonenumber(user.getPhone());
+ sysUser.setPassword(user.getPwd());
+ if (user.getSex()==0){
+ sysUser.setSex("男");
+ }else {
+ sysUser.setSex("女");
+ }
+ loginUser.setSysUser(sysUser);
+ return R.ok(loginUser);
+ }
+}
diff --git a/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorUser.java b/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorUser.java
new file mode 100644
index 0000000..acc8ce3
--- /dev/null
+++ b/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorUser.java
@@ -0,0 +1,133 @@
+package doctor.domain.entity;
+
+import java.security.Timestamp;
+
+public class DoctorUser {
+
+ private int id;
+ private String phone;
+ private String pwd;
+ private String email;
+ private String nickName;
+ private String userName;
+ private String headPic;
+ private int sex;
+ private int age;
+ private int height;
+ private int weight;
+ private String invitationCode;
+ private Timestamp updateTime;
+ private Timestamp createTime;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getPwd() {
+ return pwd;
+ }
+
+ public void setPwd(String pwd) {
+ this.pwd = pwd;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getNickName() {
+ return nickName;
+ }
+
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getHeadPic() {
+ return headPic;
+ }
+
+ public void setHeadPic(String headPic) {
+ this.headPic = headPic;
+ }
+
+ public int getSex() {
+ return sex;
+ }
+
+ public void setSex(int sex) {
+ this.sex = sex;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+
+ public int getHeight() {
+ return height;
+ }
+
+ public void setHeight(int height) {
+ this.height = height;
+ }
+
+ public int getWeight() {
+ return weight;
+ }
+
+ public void setWeight(int weight) {
+ this.weight = weight;
+ }
+
+ public String getInvitationCode() {
+ return invitationCode;
+ }
+
+ public void setInvitationCode(String invitationCode) {
+ this.invitationCode = invitationCode;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public Timestamp getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Timestamp createTime) {
+ this.createTime = createTime;
+ }
+}
diff --git a/doctor-modules/doctor-health/src/main/java/doctor/mapper/IDoctorUserMapper.java b/doctor-modules/doctor-health/src/main/java/doctor/mapper/IDoctorUserMapper.java
new file mode 100644
index 0000000..8d7f5e3
--- /dev/null
+++ b/doctor-modules/doctor-health/src/main/java/doctor/mapper/IDoctorUserMapper.java
@@ -0,0 +1,10 @@
+package doctor.mapper;
+
+import doctor.domain.entity.DoctorUser;
+import org.apache.ibatis.annotations.Param;
+import org.mybatis.spring.annotation.MapperScan;
+
+@MapperScan
+public interface IDoctorUserMapper {
+ DoctorUser selectDoctorUserByEmail(@Param("email") String email);
+}
diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/IDoctorUserService.java b/doctor-modules/doctor-health/src/main/java/doctor/service/IDoctorUserService.java
new file mode 100644
index 0000000..b967765
--- /dev/null
+++ b/doctor-modules/doctor-health/src/main/java/doctor/service/IDoctorUserService.java
@@ -0,0 +1,8 @@
+package doctor.service;
+
+import doctor.domain.entity.DoctorUser;
+import doctor.system.api.model.LoginUser;
+
+public interface IDoctorUserService {
+ DoctorUser getUser(String email);
+}
diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/IDoctorUserServiceImpl.java b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/IDoctorUserServiceImpl.java
new file mode 100644
index 0000000..193c931
--- /dev/null
+++ b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/IDoctorUserServiceImpl.java
@@ -0,0 +1,19 @@
+package doctor.service.impl;
+
+import doctor.mapper.IDoctorUserMapper;
+import doctor.domain.entity.DoctorUser;
+import doctor.service.IDoctorUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IDoctorUserServiceImpl implements IDoctorUserService {
+ @Autowired
+ private IDoctorUserMapper iDoctorUserMapper;
+
+ @Override
+ public DoctorUser getUser(String email) {
+ DoctorUser doctorUser = iDoctorUserMapper.selectDoctorUserByEmail(email);
+ return doctorUser;
+ }
+}
diff --git a/doctor-modules/doctor-health/src/main/resources/mapper/doctor/IDoctorUserServiceMapper.xml b/doctor-modules/doctor-health/src/main/resources/mapper/doctor/IDoctorUserServiceMapper.xml
new file mode 100644
index 0000000..41b82ff
--- /dev/null
+++ b/doctor-modules/doctor-health/src/main/resources/mapper/doctor/IDoctorUserServiceMapper.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/doctor-modules/doctor-system/pom.xml b/doctor-modules/doctor-system/pom.xml
index b22571b..56b9211 100644
--- a/doctor-modules/doctor-system/pom.xml
+++ b/doctor-modules/doctor-system/pom.xml
@@ -8,70 +8,70 @@
3.6.3
4.0.0
-
+
doctor-modules-system
doctor-modules-system系统模块
-
+
-
+
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
-
+
doctor
doctor-common-datasource
-
+
doctor
doctor-common-datascope
-
+
doctor
doctor-common-log
-
+
doctor
@@ -96,5 +96,5 @@
-
-
\ No newline at end of file
+
+