From cf3afe65edcd777ddc7b324023ae02d44d59f620 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=86=AF=E5=87=AF?= <371894675@qq.com>
Date: Wed, 18 Oct 2023 18:56:01 +0800
Subject: [PATCH] add dockerfile
---
Dockerfile | 18 ++++
base-system-common/pom.xml | 11 ++-
.../system/common/domain/Department.java | 19 ++++
.../com/health/system/common/domain/User.java | 70 ++++++++++++++
base-system-server/pom.xml | 5 +
.../server/controller/SysUserController.java | 23 +++++
.../system/server/mapper/SysUserMapper.java | 11 +++
.../server/mapper/SysUserPostMapper.java | 3 +
.../server/service/ISysUserService.java | 8 ++
.../service/impl/SysUserServiceImpl.java | 67 ++++++++++++-
.../src/main/resources/bootstrap.yml | 5 +
.../src/main/resources/logback.xml | 2 +-
.../mapper/system/SysConfigMapper.xml | 10 +-
.../resources/mapper/system/SysDeptMapper.xml | 8 +-
.../mapper/system/SysDictDataMapper.xml | 10 +-
.../mapper/system/SysDictTypeMapper.xml | 8 +-
.../mapper/system/SysLogininforMapper.xml | 6 +-
.../resources/mapper/system/SysMenuMapper.xml | 12 +--
.../mapper/system/SysNoticeMapper.xml | 8 +-
.../mapper/system/SysOperLogMapper.xml | 6 +-
.../resources/mapper/system/SysPostMapper.xml | 8 +-
.../mapper/system/SysRoleDeptMapper.xml | 2 +-
.../resources/mapper/system/SysRoleMapper.xml | 8 +-
.../mapper/system/SysRoleMenuMapper.xml | 2 +-
.../resources/mapper/system/SysUserMapper.xml | 95 ++++++++++++++++---
.../mapper/system/SysUserPostMapper.xml | 5 +-
.../mapper/system/SysUserRoleMapper.xml | 4 +-
27 files changed, 369 insertions(+), 65 deletions(-)
create mode 100644 Dockerfile
create mode 100644 base-system-common/src/main/java/com/health/system/common/domain/Department.java
create mode 100644 base-system-common/src/main/java/com/health/system/common/domain/User.java
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..83ada2f
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,18 @@
+#起始镜像
+FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:17-8.6
+#暴露端口号
+EXPOSE 9201
+#挂载目录的位置
+VOLUME /home/logs/health-system
+#构建复制外部文件到docker
+COPY base-system-server/target/base-system-server.jar /home/app.jar
+#工作目录 exec -it 进入容器内部后的默认的起始目录
+WORKDIR /home
+ENV TIME_ZONE Asia/Shanghai
+#指定东八区
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+#启动java 程序
+ENTRYPOINT ["java","-Dfile.encoding=UTF-8","-jar","/home/app.jar"]
+
+
diff --git a/base-system-common/pom.xml b/base-system-common/pom.xml
index 8141182..c2b2d95 100644
--- a/base-system-common/pom.xml
+++ b/base-system-common/pom.xml
@@ -22,7 +22,14 @@
health-common-core
-
-
+
+ org.projectlombok
+ lombok
+
+
+ cn.hutool
+ hutool-all
+ 4.5.16
+
diff --git a/base-system-common/src/main/java/com/health/system/common/domain/Department.java b/base-system-common/src/main/java/com/health/system/common/domain/Department.java
new file mode 100644
index 0000000..72d916a
--- /dev/null
+++ b/base-system-common/src/main/java/com/health/system/common/domain/Department.java
@@ -0,0 +1,19 @@
+package com.health.system.common.domain;
+
+import lombok.Data;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description: 科室实体类
+ * @date 2023/10/18 8:44
+ */
+@Data
+public class Department {
+
+ private Integer departmentId;
+
+ private String departmentName;
+
+ private Integer parentId;
+}
diff --git a/base-system-common/src/main/java/com/health/system/common/domain/User.java b/base-system-common/src/main/java/com/health/system/common/domain/User.java
new file mode 100644
index 0000000..60b5e12
--- /dev/null
+++ b/base-system-common/src/main/java/com/health/system/common/domain/User.java
@@ -0,0 +1,70 @@
+package com.health.system.common.domain;
+
+import lombok.Data;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description: 用户实体类
+ * @date 2023/10/18 8:35
+ */
+@Data
+public class User {
+
+ /*
+ 用户id
+ */
+ private Integer userId;
+
+ /*
+ 医院名称
+ */
+ private String hospitalName;
+
+ /*
+ 部门id
+ */
+ private Long departmentId;
+
+ /*
+ 头衔id
+ */
+ private Long titleId;
+
+ /*
+ 邮箱账户
+ */
+ private String emailCount;
+
+ /*
+ 验证码
+ */
+ private String code;
+
+ /*
+ 密码
+ */
+ private String password;
+
+ private String userName;
+ /*
+ 确认密码
+ */
+ private String finalPassword;
+
+ /*
+ 个人简介
+ */
+ private String userIntroduce;
+ /*
+ 个人擅长领域
+ */
+ private String skilledArea;
+
+ private Long roleId;
+
+ private Integer status;
+
+ public void setCreateBy(String username) {
+ }
+}
diff --git a/base-system-server/pom.xml b/base-system-server/pom.xml
index b365d59..53bd8e1 100644
--- a/base-system-server/pom.xml
+++ b/base-system-server/pom.xml
@@ -32,6 +32,11 @@
+
+
+ org.springframework.boot
+ spring-boot-starter-mail
+
com.health
base-file-remote
diff --git a/base-system-server/src/main/java/com/health/system/server/controller/SysUserController.java b/base-system-server/src/main/java/com/health/system/server/controller/SysUserController.java
index 9f27a9c..be68ca4 100644
--- a/base-system-server/src/main/java/com/health/system/server/controller/SysUserController.java
+++ b/base-system-server/src/main/java/com/health/system/server/controller/SysUserController.java
@@ -13,6 +13,7 @@ import com.health.common.security.utils.SecurityUtils;
import com.health.system.common.domain.SysDept;
import com.health.system.common.domain.SysRole;
import com.health.system.common.domain.SysUser;
+import com.health.system.common.domain.User;
import com.health.system.common.domain.model.LoginUser;
import com.health.system.server.service.*;
import org.apache.commons.lang3.ArrayUtils;
@@ -140,6 +141,26 @@ public class SysUserController extends BaseController
return Result.success(userService.registerUser(sysUser));
}
+ //-------------------------------------------------------------------
+ //获取邮箱验证码
+ @GetMapping("/get/email/code/{emailCount}")
+ public Result getEmailCode(@PathVariable String emailCount){
+
+ return userService.getEmailCode(emailCount);
+ }
+
+ //注册
+ @PostMapping("/register/user")
+ public Result registerUser(@RequestBody User user){
+ String userName = user.getUserName();
+ if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
+ {
+ return Result.error("当前系统没有开启注册功能!");
+ }
+ Boolean b = userService.registerNewUser(user);
+ return Result.success(b);
+ }
+
/**
* 获取用户信息
*
@@ -206,7 +227,9 @@ public class SysUserController extends BaseController
{
return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
+ //获取当前用户
user.setCreateBy(SecurityUtils.getUsername());
+ //进行密码加密
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
return toAjax(userService.insertUser(user));
}
diff --git a/base-system-server/src/main/java/com/health/system/server/mapper/SysUserMapper.java b/base-system-server/src/main/java/com/health/system/server/mapper/SysUserMapper.java
index 4f8b514..5f3a210 100644
--- a/base-system-server/src/main/java/com/health/system/server/mapper/SysUserMapper.java
+++ b/base-system-server/src/main/java/com/health/system/server/mapper/SysUserMapper.java
@@ -1,6 +1,7 @@
package com.health.system.server.mapper;
import com.health.system.common.domain.SysUser;
+import com.health.system.common.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -127,4 +128,14 @@ public interface SysUserMapper
* @return 结果
*/
public SysUser checkEmailUnique(String email);
+
+ void insertUserRole(SysUser sysUser);
+
+ int registerNewUser(User user);
+
+ //注册医生
+ int registerNewDoctor(User user);
+
+ //注册患者
+ int registerNewPatient(User user);
}
diff --git a/base-system-server/src/main/java/com/health/system/server/mapper/SysUserPostMapper.java b/base-system-server/src/main/java/com/health/system/server/mapper/SysUserPostMapper.java
index c1911ad..a55fdea 100644
--- a/base-system-server/src/main/java/com/health/system/server/mapper/SysUserPostMapper.java
+++ b/base-system-server/src/main/java/com/health/system/server/mapper/SysUserPostMapper.java
@@ -45,4 +45,7 @@ public interface SysUserPostMapper
* @return 结果
*/
public int batchUserPost(List userPostList);
+
+ void addUserPost(Integer userId, Integer departmentId);
+
}
diff --git a/base-system-server/src/main/java/com/health/system/server/service/ISysUserService.java b/base-system-server/src/main/java/com/health/system/server/service/ISysUserService.java
index f4f656c..b38561b 100644
--- a/base-system-server/src/main/java/com/health/system/server/service/ISysUserService.java
+++ b/base-system-server/src/main/java/com/health/system/server/service/ISysUserService.java
@@ -1,7 +1,10 @@
package com.health.system.server.service;
import java.util.List;
+
+import com.health.common.core.domain.Result;
import com.health.system.common.domain.SysUser;
+import com.health.system.common.domain.User;
/**
* 用户 业务层
@@ -203,4 +206,9 @@ public interface ISysUserService
* @return 结果
*/
public String importUser(List userList, Boolean isUpdateSupport, String operName);
+
+ Boolean registerNewUser(User user);
+
+
+ Result getEmailCode(String emailCount);
}
diff --git a/base-system-server/src/main/java/com/health/system/server/service/impl/SysUserServiceImpl.java b/base-system-server/src/main/java/com/health/system/server/service/impl/SysUserServiceImpl.java
index 192eb7d..a93ddcb 100644
--- a/base-system-server/src/main/java/com/health/system/server/service/impl/SysUserServiceImpl.java
+++ b/base-system-server/src/main/java/com/health/system/server/service/impl/SysUserServiceImpl.java
@@ -1,6 +1,8 @@
package com.health.system.server.service.impl;
+import cn.hutool.core.util.RandomUtil;
import com.health.common.core.constant.UserConstants;
+import com.health.common.core.domain.Result;
import com.health.common.core.exception.ServiceException;
import com.health.common.core.utils.SpringUtils;
import com.health.common.core.utils.StringUtils;
@@ -11,13 +13,21 @@ import com.health.system.common.domain.*;
import com.health.system.server.mapper.*;
import com.health.system.server.service.ISysConfigService;
import com.health.system.server.service.ISysUserService;
+import io.swagger.models.auth.In;
+import org.apache.commons.lang3.RandomUtils;
+import org.bouncycastle.pqc.math.linearalgebra.RandUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.mail.javamail.JavaMailSender;
+import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
import javax.validation.Validator;
import java.util.ArrayList;
import java.util.List;
@@ -33,6 +43,10 @@ public class SysUserServiceImpl implements ISysUserService
{
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
+ @Autowired
+ private RedisTemplate redisTemplate;
+ @Autowired
+ private JavaMailSender javaMailSender;
@Autowired
private SysUserMapper userMapper;
@@ -252,7 +266,7 @@ public class SysUserServiceImpl implements ISysUserService
// 新增用户信息
int rows = userMapper.insertUser(user);
// 新增用户岗位关联
- insertUserPost(user);
+// insertUserPost(user);
// 新增用户与角色管理
insertUserRole(user);
return rows;
@@ -267,6 +281,7 @@ public class SysUserServiceImpl implements ISysUserService
@Override
public boolean registerUser(SysUser user)
{
+
return userMapper.insertUser(user) > 0;
}
@@ -288,7 +303,7 @@ public class SysUserServiceImpl implements ISysUserService
// 删除用户与岗位关联
userPostMapper.deleteUserPostByUserId(userId);
// 新增用户与岗位管理
- insertUserPost(user);
+// insertUserPost(user);
return userMapper.updateUser(user);
}
@@ -375,7 +390,7 @@ public class SysUserServiceImpl implements ISysUserService
*/
public void insertUserRole(SysUser user)
{
- this.insertUserRole(user.getUserId(), user.getRoleIds());
+ this.insertUserRole(user);
}
/**
@@ -383,6 +398,11 @@ public class SysUserServiceImpl implements ISysUserService
*
* @param user 用户对象
*/
+// public void insertUserPost(SysUser user){
+// Long deptId = user.getDeptId();
+// user.getUserId();
+// userPostMapper.addUserPost(userId,departmentId);
+// }
public void insertUserPost(SysUser user)
{
Long[] posts = user.getPostIds();
@@ -535,4 +555,45 @@ public class SysUserServiceImpl implements ISysUserService
return successMsg.toString();
}
+ @Override
+ public Boolean registerNewUser(User user) {
+ Long roleId = user.getRoleId();
+ String code = user.getCode();
+ String emailCode = redisTemplate.opsForValue().get(user.getEmailCount());
+ if (StringUtils.isNull(emailCode)){
+ return false;
+ }
+ if (!code.equals(emailCode)){
+ return false;
+ }
+ //如果roleId==1证明是注册医生
+ if (roleId==1){
+
+ return userMapper.registerNewDoctor(user)>0;
+ }
+ //注册患者
+ if (roleId==2){
+ return userMapper.registerNewPatient(user)>0;
+ }
+ return null;
+ }
+
+ @Override
+ public Result getEmailCode(String emailCount) {
+ String emailCode = RandomUtil.randomNumbers(4);
+ MimeMessage mimeMessage = javaMailSender.createMimeMessage();
+ try {
+ MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
+ mimeMessageHelper.setFrom("371894675@qq.com");
+ mimeMessageHelper.setTo(emailCount);
+ mimeMessageHelper.setSubject("邮箱验证码");
+ mimeMessageHelper.setText("验证码为:"+emailCode);
+
+ } catch (MessagingException e) {
+ throw new RuntimeException(e);
+ }
+ redisTemplate.opsForValue().set(emailCount,emailCode);
+ return Result.success(emailCode,"邮箱验证码发送成功");
+ }
+
}
diff --git a/base-system-server/src/main/resources/bootstrap.yml b/base-system-server/src/main/resources/bootstrap.yml
index b941dd9..7b5f146 100644
--- a/base-system-server/src/main/resources/bootstrap.yml
+++ b/base-system-server/src/main/resources/bootstrap.yml
@@ -23,3 +23,8 @@ spring:
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ mail:
+ host: smtp.qq.com
+ port: 587
+ username: 371894675@qq.com
+ password: abkabckjtgmgcafb
diff --git a/base-system-server/src/main/resources/logback.xml b/base-system-server/src/main/resources/logback.xml
index 7f2b31a..0b5cfca 100644
--- a/base-system-server/src/main/resources/logback.xml
+++ b/base-system-server/src/main/resources/logback.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/base-system-server/src/main/resources/mapper/system/SysConfigMapper.xml b/base-system-server/src/main/resources/mapper/system/SysConfigMapper.xml
index fc83ddf..357c7ab 100644
--- a/base-system-server/src/main/resources/mapper/system/SysConfigMapper.xml
+++ b/base-system-server/src/main/resources/mapper/system/SysConfigMapper.xml
@@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
+
@@ -33,12 +33,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-