From 26fc57187511e164c7a45a53fc58612bd607538f Mon Sep 17 00:00:00 2001
From: fshenye <12345678>
Date: Tue, 27 Sep 2022 17:34:40 +0800
Subject: [PATCH] =?UTF-8?q?1.=20=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95?=
=?UTF-8?q?=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6test=202.?=
=?UTF-8?q?=20=E9=87=8D=E8=A6=81=E6=93=8D=E4=BD=9C=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E6=97=A5=E5=BF=97=E6=B3=A8=E8=A7=A3=203.=20=E4=B8=BB=E8=A6=81?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90=E9=99=90?=
=?UTF-8?q?=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../sict/cloud/auth/SictAuthApplication.java | 2 ++
.../auth/config/WebSecurityConfigurer.java | 9 +++--
.../auth/endpoint/SictTokenEndpoint.java | 27 +++++++++++++--
.../src/main/resources/bootstrap-test.yml | 20 +++++++++++
.../src/main/resources/logback-spring.xml | 2 +-
.../gateway/config/GlobalCorsConfig.java | 2 +-
.../feign/SictFeignClientInterceptor.java | 2 +-
.../src/main/resources/bootstrap-test.yml | 23 +++++++++++++
.../src/main/resources/logback-spring.xml | 2 +-
.../controller/feign/LogFeignController.java | 33 +++++++++++++++++++
.../upms/controller/web/HpMenuController.java | 6 ++++
.../upms/controller/web/HpRoleController.java | 7 ++++
.../controller/web/SysUserBaseController.java | 8 +++++
.../service/impl/SysUserBaseServiceImpl.java | 16 +++++++++
.../src/main/resources/bootstrap-test.yml | 20 +++++++++++
smart-health-modules/theme-schema/pom.xml | 5 ++-
.../mobile/HpAppointmentEvaController.java | 2 ++
.../mobile/HpGpIntelligentQAController.java | 2 ++
.../mobile/HpgpLumbarAnswerController.java | 4 ++-
.../controller/mp/AppointmentController.java | 3 ++
.../mp/HpHyIntelligentQAController.java | 2 ++
.../hphy/controller/mp/HphyEvaController.java | 2 ++
.../mp/HphyPatientBaseController.java | 2 ++
23 files changed, 189 insertions(+), 12 deletions(-)
create mode 100644 cloud-auth/src/main/resources/bootstrap-test.yml
create mode 100644 cloud-gateway/src/main/resources/bootstrap-test.yml
create mode 100644 smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/feign/LogFeignController.java
create mode 100644 smart-health-modules/cloud-upms/cloud-upms-biz/src/main/resources/bootstrap-test.yml
diff --git a/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/SictAuthApplication.java b/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/SictAuthApplication.java
index 04a04dc..277b6e6 100644
--- a/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/SictAuthApplication.java
+++ b/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/SictAuthApplication.java
@@ -1,12 +1,14 @@
package cn.sh.stc.sict.cloud.auth;
import cn.sh.stc.sict.cloud.common.security.annotation.EnableSictFeignClients;
+import cn.sh.stc.sict.cloud.common.swagger.annotation.EnableSictSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;
/**
* @author F_xh
*/
+@EnableSictSwagger2
@SpringCloudApplication
@EnableSictFeignClients
public class SictAuthApplication {
diff --git a/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/config/WebSecurityConfigurer.java b/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/config/WebSecurityConfigurer.java
index 366d6df..c210838 100644
--- a/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/config/WebSecurityConfigurer.java
+++ b/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/config/WebSecurityConfigurer.java
@@ -50,10 +50,13 @@ public class WebSecurityConfigurer extends WebSecurityConfigurerAdapter {
.and()
.authorizeRequests()
.antMatchers(
- "/token/**",
+ "/token/**",
+ "/v2/api-docs",
+ "/webjars/**",
+ "/swagger-resources/**",
"/test/**",
- "/actuator/**",
- "/mobile/**").permitAll()
+ "/actuator/**",
+ "/mobile/**").permitAll()
.anyRequest().authenticated()
.and().csrf().disable()
.apply(mobileSecurityConfigurer());
diff --git a/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/endpoint/SictTokenEndpoint.java b/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/endpoint/SictTokenEndpoint.java
index fa17ade..dea25cb 100644
--- a/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/endpoint/SictTokenEndpoint.java
+++ b/cloud-auth/src/main/java/cn/sh/stc/sict/cloud/auth/endpoint/SictTokenEndpoint.java
@@ -7,10 +7,14 @@ import cn.sh.stc.sict.cloud.common.core.constant.PaginationConstants;
import cn.sh.stc.sict.cloud.common.core.constant.RedisCacheConstant;
import cn.sh.stc.sict.cloud.common.core.constant.SecurityConstants;
import cn.sh.stc.sict.cloud.common.core.util.R;
+import cn.sh.stc.sict.cloud.common.security.util.SysLogUtils;
+import cn.sh.stc.sict.cloud.upms.feign.RemoteLogService;
+import cn.sh.stc.sict.cloud.upms.model.SysLog;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.sh.stc.sict.cloud.common.security.annotation.Inner;
import cn.sh.stc.sict.cloud.common.security.service.SictUser;
import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.CacheManager;
import org.springframework.data.redis.core.ConvertingCursor;
import org.springframework.data.redis.core.Cursor;
@@ -26,6 +30,7 @@ import org.springframework.security.oauth2.provider.token.TokenStore;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
+import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -35,6 +40,7 @@ import java.util.Map;
* @Author
* @Date
*/
+@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/token")
@@ -44,6 +50,7 @@ public class SictTokenEndpoint {
private final TokenStore tokenStore;
private final RedisTemplate redisTemplate;
private final CacheManager cacheManager;
+ private final RemoteLogService remoteLogService;
/**
* 认证页面
@@ -61,7 +68,8 @@ public class SictTokenEndpoint {
* @param authHeader Authorization
*/
@DeleteMapping("/logout")
- public R logout(@RequestHeader(value = HttpHeaders.AUTHORIZATION, required = false) String authHeader) {
+ public R logout(HttpServletRequest request,
+ @RequestHeader(value = HttpHeaders.AUTHORIZATION, required = false) String authHeader) {
if (StrUtil.isBlank(authHeader)) {
return R.builder()
.code(Constant.BYTE_NO)
@@ -79,10 +87,23 @@ public class SictTokenEndpoint {
}
OAuth2Authentication auth2Authentication = tokenStore.readAuthentication(accessToken);
- SictUser user = (SictUser) cacheManager.getCache(RedisCacheConstant.USER_DETAILS).get(auth2Authentication.getName()).get();
+ String username = auth2Authentication.getName();
+ SictUser user = (SictUser) cacheManager.getCache(RedisCacheConstant.USER_DETAILS).get(username).get();
cacheManager.getCache(RedisCacheConstant.USER_DETAILS)
- .evict(auth2Authentication.getName());
+ .evict(username);
tokenStore.removeAccessToken(accessToken);
+ SysLog sysLog = SysLogUtils.getSysLog(request, username);
+ sysLog.setTitle(username + "-用户登出");
+ sysLog.setParams(user.getName());
+
+ sysLog.setServiceId(auth2Authentication.getOAuth2Request().getClientId());
+ // 保存退出的token
+ String token = request.getHeader(HttpHeaders.AUTHORIZATION);
+ sysLog.setParams(token);
+
+ remoteLogService.saveLog(sysLog, SecurityConstants.FROM_IN);
+ log.info("用户:{} 退出成功, token:{} 已注销", username, token);
+
return new R<>(Boolean.TRUE);
}
diff --git a/cloud-auth/src/main/resources/bootstrap-test.yml b/cloud-auth/src/main/resources/bootstrap-test.yml
new file mode 100644
index 0000000..f660e77
--- /dev/null
+++ b/cloud-auth/src/main/resources/bootstrap-test.yml
@@ -0,0 +1,20 @@
+server:
+ port: 12254
+
+spring:
+ application:
+ name: @artifactId@
+ main:
+ allow-bean-definition-overriding: true
+ # nacos
+ cloud:
+ nacos:
+ server-addr: 127.0.0.1:8848
+ discovery:
+ namespace: eb001e6c-9c22-421f-8f36-ed92821014d8
+ config:
+ namespace: eb001e6c-9c22-421f-8f36-ed92821014d8
+ file-extension: yml
+ shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
diff --git a/cloud-auth/src/main/resources/logback-spring.xml b/cloud-auth/src/main/resources/logback-spring.xml
index 316f3d2..66c1dd8 100644
--- a/cloud-auth/src/main/resources/logback-spring.xml
+++ b/cloud-auth/src/main/resources/logback-spring.xml
@@ -63,7 +63,7 @@
-
+
diff --git a/cloud-common/cloud-common-gateway/src/main/java/cn/sh/stc/sict/cloud/common/gateway/config/GlobalCorsConfig.java b/cloud-common/cloud-common-gateway/src/main/java/cn/sh/stc/sict/cloud/common/gateway/config/GlobalCorsConfig.java
index d6d2b4b..cf10b79 100644
--- a/cloud-common/cloud-common-gateway/src/main/java/cn/sh/stc/sict/cloud/common/gateway/config/GlobalCorsConfig.java
+++ b/cloud-common/cloud-common-gateway/src/main/java/cn/sh/stc/sict/cloud/common/gateway/config/GlobalCorsConfig.java
@@ -26,7 +26,7 @@ public class GlobalCorsConfig {
*/
private static final String ALLOWED_HEADERS = "x-requested-with, authorization, Content-Type, Authorization, credential, X-XSRF-TOKEN,token,username,client,access-token";
private static final String ALLOWED_METHODS = "*";
- private static final String ALLOWED_ORIGIN = "*";
+ private static final String ALLOWED_ORIGIN = "https://inno.sh-sict.com/, https://hy.hpwjsns.org.cn/";
private static final String ALLOWED_Expose = "*";
private static final String MAX_AGE = "18000L";
diff --git a/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/feign/SictFeignClientInterceptor.java b/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/feign/SictFeignClientInterceptor.java
index 98353a5..fc5944b 100644
--- a/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/feign/SictFeignClientInterceptor.java
+++ b/cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/feign/SictFeignClientInterceptor.java
@@ -54,7 +54,7 @@ public class SictFeignClientInterceptor extends OAuth2FeignRequestInterceptor {
boolean isIngore = false;
if (CollectionUtil.isNotEmpty(permitAllUrlProperties.getIgnoreUrls())) {
for (String ingoreUrl : permitAllUrlProperties.getIgnoreUrls()) {
- if(template.url().startsWith(ingoreUrl.replace("*", ""))){
+ if(template.url().startsWith(ingoreUrl.replace("/**", ""))){
isIngore = true;
break;
}
diff --git a/cloud-gateway/src/main/resources/bootstrap-test.yml b/cloud-gateway/src/main/resources/bootstrap-test.yml
new file mode 100644
index 0000000..a1a18e9
--- /dev/null
+++ b/cloud-gateway/src/main/resources/bootstrap-test.yml
@@ -0,0 +1,23 @@
+server:
+ port: 12998
+
+spring:
+ application:
+ name: @artifactId@
+ # nacos
+ cloud:
+ nacos:
+ server-addr: 127.0.0.1:8848
+ discovery:
+ namespace: eb001e6c-9c22-421f-8f36-ed92821014d8
+ config:
+ namespace: eb001e6c-9c22-421f-8f36-ed92821014d8
+ file-extension: yml
+ shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ profiles:
+ active: dev
+
+logging:
+ config: classpath:logback-spring.xml
+ file:
+ name: ../logs/${spring.application.name}/console.log
diff --git a/cloud-gateway/src/main/resources/logback-spring.xml b/cloud-gateway/src/main/resources/logback-spring.xml
index c7f769b..66c1dd8 100644
--- a/cloud-gateway/src/main/resources/logback-spring.xml
+++ b/cloud-gateway/src/main/resources/logback-spring.xml
@@ -63,7 +63,7 @@
-
+
diff --git a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/feign/LogFeignController.java b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/feign/LogFeignController.java
new file mode 100644
index 0000000..9093424
--- /dev/null
+++ b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/feign/LogFeignController.java
@@ -0,0 +1,33 @@
+package cn.sh.stc.sict.cloud.upms.controller.feign;
+
+
+import cn.sh.stc.sict.cloud.common.core.util.R;
+import cn.sh.stc.sict.cloud.upms.model.SysLog;
+import cn.sh.stc.sict.cloud.upms.service.SysLogService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 系统日志
+ *
+ * @author F_xh。
+ * @date 2020-12-27 11:34:55
+ */
+@Slf4j
+@RestController
+@RequestMapping("/feign/log")
+@AllArgsConstructor
+public class LogFeignController {
+
+ private final SysLogService sysLogService;
+
+ @PostMapping("/save")
+ private R saveLog(@RequestBody SysLog sysLog){
+ sysLogService.save(sysLog);
+ return new R(true);
+ }
+}
diff --git a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/HpMenuController.java b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/HpMenuController.java
index 9cc0975..da1564a 100644
--- a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/HpMenuController.java
+++ b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/HpMenuController.java
@@ -1,11 +1,13 @@
package cn.sh.stc.sict.cloud.upms.controller.web;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.upms.service.HpRoleMenuService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.sh.stc.sict.cloud.common.core.util.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -61,8 +63,10 @@ public class HpMenuController {
* @param hpMenu 系统菜单表
* @return R
*/
+ @SysLog
@ApiOperation("新增系统菜单表")
@PostMapping
+ @PreAuthorize("@pms.hasPermission('ROLE_admin')")
public R save(@RequestBody HpMenu hpMenu) {
hpMenuService.saveOrUpdate(hpMenu);
return new R<>();
@@ -73,8 +77,10 @@ public class HpMenuController {
*
* @return R
*/
+ @SysLog
@ApiOperation("删除系统菜单表")
@DeleteMapping("/{menuId}")
+ @PreAuthorize("@pms.hasPermission('ROLE_admin')")
public R removeById(@PathVariable Long menuId) {
if (hpRoleMenuService.exist(menuId)) {
return new R().error("不可删除!");
diff --git a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/HpRoleController.java b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/HpRoleController.java
index a176bb1..7b9fbb9 100644
--- a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/HpRoleController.java
+++ b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/HpRoleController.java
@@ -1,6 +1,7 @@
package cn.sh.stc.sict.cloud.upms.controller.web;
import cn.sh.stc.sict.cloud.common.core.util.R;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.upms.dto.RoleDTO;
import cn.sh.stc.sict.cloud.upms.model.HpMenu;
import cn.sh.stc.sict.cloud.upms.model.HpRole;
@@ -14,8 +15,10 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -70,15 +73,19 @@ public class HpRoleController {
return new R<>(dto);
}
+ @SysLog
@ApiOperation("新增/修改系统角色")
@PostMapping
+ @PreAuthorize("@pms.hasPermission('ROLE_admin')")
public R save(@RequestBody RoleDTO dto) {
hpRoleService.saveDto(dto);
return new R<>();
}
+ @SysLog
@ApiOperation("删除系统角色表")
@DeleteMapping("/{id}")
+ @PreAuthorize("@pms.hasPermission('ROLE_admin')")
public R removeById(@PathVariable Long id) {
// 判断是否可删除
if(hpUserRoleService.exist(id)){
diff --git a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/SysUserBaseController.java b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/SysUserBaseController.java
index 94a5760..d1fef38 100644
--- a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/SysUserBaseController.java
+++ b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/controller/web/SysUserBaseController.java
@@ -3,6 +3,7 @@ package cn.sh.stc.sict.cloud.upms.controller.web;
import cn.hutool.core.util.StrUtil;
import cn.sh.stc.sict.cloud.common.core.constant.Constant;
import cn.sh.stc.sict.cloud.common.core.util.NumberUtil;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.cloud.upms.dto.UserDTO;
@@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.sh.stc.sict.cloud.common.core.util.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.transaction.annotation.Transactional;
@@ -62,8 +64,10 @@ public class SysUserBaseController {
return new R<>(sysUserBaseService.page(page, Wrappers.query(sysUserBase)));
}
+ @SysLog
@ApiOperation("新增/修改用户")
@PostMapping
+ @PreAuthorize("@pms.hasPermission('ROLE_admin')")
public R save(@RequestBody SysUserBase userBase) {
if (NumberUtil.isNullOrZero(userBase.getId())) {
if(StrUtil.isBlank(userBase.getUserName())){
@@ -114,8 +118,10 @@ public class SysUserBaseController {
}
+ @SysLog
@ApiOperation("设置用户角色信息")
@PostMapping("/role")
+ @PreAuthorize("@pms.hasPermission('ROLE_admin')")
public R saveUserRole(@RequestBody UserDTO dto) {
if (NumberUtil.isNullOrZero(dto.getUser().getId())) {
return new R().error("用户id不可为空!");
@@ -129,8 +135,10 @@ public class SysUserBaseController {
*
* @return R
*/
+ @SysLog
@ApiOperation("删除系统基础用户表")
@DeleteMapping("/{userId}")
+ @PreAuthorize("@pms.hasPermission('ROLE_admin')")
@Transactional(rollbackFor = Exception.class)
public R removeById(@PathVariable Long userId) {
hpUserRoleService.removeByUserId(userId);
diff --git a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/service/impl/SysUserBaseServiceImpl.java b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/service/impl/SysUserBaseServiceImpl.java
index aaf1fef..d5ccc96 100644
--- a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/service/impl/SysUserBaseServiceImpl.java
+++ b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/service/impl/SysUserBaseServiceImpl.java
@@ -1,5 +1,7 @@
package cn.sh.stc.sict.cloud.upms.service.impl;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
@@ -12,7 +14,9 @@ import cn.sh.stc.sict.cloud.common.core.util.SsbUtil;
import cn.sh.stc.sict.cloud.upms.dao.SysUserBaseMapper;
import cn.sh.stc.sict.cloud.upms.dto.UserDTO;
import cn.sh.stc.sict.cloud.upms.dto.UserInfo;
+import cn.sh.stc.sict.cloud.upms.model.HpRole;
import cn.sh.stc.sict.cloud.upms.model.SysUserBase;
+import cn.sh.stc.sict.cloud.upms.service.HpRoleService;
import cn.sh.stc.sict.cloud.upms.service.HpUserRoleService;
import cn.sh.stc.sict.cloud.upms.service.SysUserBaseService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -27,6 +31,9 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
+import java.util.List;
+import java.util.stream.Collectors;
+
@Slf4j
@Service("sysUserBaseService")
@AllArgsConstructor
@@ -35,6 +42,7 @@ public class SysUserBaseServiceImpl extends ServiceImpl roleList = hpRoleService.listByUserId(user.getId());
+ if(CollUtil.isNotEmpty(roleList)){
+ // 设置角色列表 (ID)
+ List roleIds = roleList.stream().map(HpRole::getRoleCode)
+ .collect(Collectors.toList());
+ info.setRoles(ArrayUtil.toArray(roleIds, String.class));
+ }
+
return info;
}
return null;
diff --git a/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/resources/bootstrap-test.yml b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/resources/bootstrap-test.yml
new file mode 100644
index 0000000..0d42286
--- /dev/null
+++ b/smart-health-modules/cloud-upms/cloud-upms-biz/src/main/resources/bootstrap-test.yml
@@ -0,0 +1,20 @@
+server:
+ port: 12256
+
+spring:
+ application:
+ name: @artifactId@
+ main:
+ allow-bean-definition-overriding: true
+ # nacos
+ cloud:
+ nacos:
+ server-addr: 127.0.0.1:8848
+ discovery:
+ namespace: eb001e6c-9c22-421f-8f36-ed92821014d8
+ config:
+ namespace: eb001e6c-9c22-421f-8f36-ed92821014d8
+ file-extension: yml
+ shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ profiles:
+ active: dev
diff --git a/smart-health-modules/theme-schema/pom.xml b/smart-health-modules/theme-schema/pom.xml
index dbf265a..95175ab 100644
--- a/smart-health-modules/theme-schema/pom.xml
+++ b/smart-health-modules/theme-schema/pom.xml
@@ -16,7 +16,10 @@
cn.sh.stc.sict
cloud-common-data
-
+
+ cn.sh.stc.sict
+ cloud-common-log
+
cn.sh.stc.sict
cloud-common-minio
diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpAppointmentEvaController.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpAppointmentEvaController.java
index 4cca7f5..8009cba 100644
--- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpAppointmentEvaController.java
+++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpAppointmentEvaController.java
@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.sh.stc.sict.cloud.common.core.constant.Constant;
import cn.sh.stc.sict.cloud.common.core.util.NumberUtil;
import cn.sh.stc.sict.cloud.common.core.util.R;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.theme.hpgp.model.HpAppointmentEva;
@@ -53,6 +54,7 @@ public class HpAppointmentEvaController {
return new R(page);
}
+ @SysLog
@ApiOperation("评价")
@PostMapping("/eva")
@Transactional(rollbackFor = Exception.class)
diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpGpIntelligentQAController.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpGpIntelligentQAController.java
index 26b475a..42d5a6c 100644
--- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpGpIntelligentQAController.java
+++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpGpIntelligentQAController.java
@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.XmlUtil;
import cn.hutool.http.HttpRequest;
import cn.sh.stc.sict.cloud.common.core.util.R;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.theme.hpgp.vo.IntelligentAnswerVO;
@@ -31,6 +32,7 @@ import java.util.Map;
public class HpGpIntelligentQAController {
private final static String CONTENT = "Content";
+ @SysLog
@ApiOperation("智能问答")
@PostMapping
public R> qa(String question) {
diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpgpLumbarAnswerController.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpgpLumbarAnswerController.java
index 13421e2..4c03490 100644
--- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpgpLumbarAnswerController.java
+++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hpgp/controller/mobile/HpgpLumbarAnswerController.java
@@ -2,6 +2,7 @@ package cn.sh.stc.sict.theme.hpgp.controller.mobile;
import cn.sh.stc.sict.cloud.common.core.util.R;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLumbarAnswer;
@@ -32,7 +33,8 @@ public class HpgpLumbarAnswerController {
return new R().success(this.hpgpLumbarAnswerService.page(page, new QueryWrapper<>(hpgpLumbarAnswer)));
}
- @ApiOperation("新增")
+ @SysLog
+ @ApiOperation("腰椎问卷-新增")
@PostMapping
public R insert(@RequestBody HpgpLumbarAnswer lumbar) {
CurrentUser current = SecurityUtils.getCurrentUser();
diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/AppointmentController.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/AppointmentController.java
index 315be9d..1ef5327 100644
--- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/AppointmentController.java
+++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/AppointmentController.java
@@ -9,6 +9,7 @@ import cn.hutool.json.JSONUtil;
import cn.sh.stc.sict.cloud.common.core.constant.Constant;
import cn.sh.stc.sict.cloud.common.core.util.R;
import cn.sh.stc.sict.cloud.common.core.util.WebUtils;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.theme.hphy.constant.PatientConstant;
@@ -47,6 +48,7 @@ public class AppointmentController {
return new R(cfg);
}
+ @SysLog
@ApiOperation("预约")
@PostMapping("/app")
public R appointment(@RequestBody OrderInfo order) throws Exception {
@@ -153,6 +155,7 @@ public class AppointmentController {
return new R().error("预约失败!");
}
+ @SysLog
@ApiOperation("取消预约")
@PostMapping("/cancel/app")
public R cancelAppointment(@RequestBody CancelOrderInfo order) throws Exception {
diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HpHyIntelligentQAController.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HpHyIntelligentQAController.java
index d83fef0..cc00d25 100644
--- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HpHyIntelligentQAController.java
+++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HpHyIntelligentQAController.java
@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.XmlUtil;
import cn.hutool.http.HttpRequest;
import cn.sh.stc.sict.cloud.common.core.util.R;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -27,6 +28,7 @@ import java.util.Map;
public class HpHyIntelligentQAController {
private final static String CONTENT = "Content";
+ @SysLog
@ApiOperation("智能问答")
@PostMapping
public R qa(String question) {
diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyEvaController.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyEvaController.java
index 7c6ebf7..1b76f2c 100644
--- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyEvaController.java
+++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyEvaController.java
@@ -7,6 +7,7 @@ import cn.hutool.json.JSONUtil;
import cn.sh.stc.sict.cloud.common.core.constant.Constant;
import cn.sh.stc.sict.cloud.common.core.util.NumberUtil;
import cn.sh.stc.sict.cloud.common.core.util.R;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.theme.common.dto.SocketMsg;
import cn.sh.stc.sict.theme.handler.WebSocketServer;
@@ -108,6 +109,7 @@ public class HphyEvaController {
*
* @return
*/
+ @SysLog
@ApiOperation("提交答案并获取下一题")
@PostMapping("/next")
@Transactional(rollbackFor = Exception.class)
diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyPatientBaseController.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyPatientBaseController.java
index 70009f7..bc603b8 100644
--- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyPatientBaseController.java
+++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyPatientBaseController.java
@@ -11,6 +11,7 @@ import cn.sh.stc.sict.cloud.common.core.dto.WDUserInfo;
import cn.sh.stc.sict.cloud.common.core.util.NumberUtil;
import cn.sh.stc.sict.cloud.common.core.util.R;
import cn.sh.stc.sict.cloud.common.core.util.SsbUtil;
+import cn.sh.stc.sict.cloud.common.log.annotation.SysLog;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.theme.hphy.constant.PatientConstant;
@@ -52,6 +53,7 @@ public class HphyPatientBaseController {
* @param patient
* @return
*/
+ @SysLog
@ApiOperation("注册")
@PostMapping("/register")
public R register(@RequestBody HphyPatientBase patient) {
--
2.22.0