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 04a04dcafa3a31d95403fc1449e0673adb3bd775..277b6e648ffc98ca4b02d0fdd24c0535e8d66df0 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 366d6dff8e9cec23c20524bbd1e542dcc9b6ef74..c210838a494ac7554216477b7005264ca7931cfd 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 fa17aded852a7c8ac1fe7b37438d4cd15691a355..dea25cb1fa48cd0519f7908bcce1e0017e1e0290 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 0000000000000000000000000000000000000000..f660e771214de37fbe184d9ba0719b134008123e
--- /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 316f3d24706d6e7a7a2abbab2b1c18626a524a45..66c1dd8cf7461a6adbab42c60883b635cdfa2530 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 d6d2b4bef3ff01bc4e4e5014495f4e85093896c5..cf10b7921c52332d64e55f7480c1604384ef7a34 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 98353a5e3e267c6ba16db26c2959ae81aa506674..fc5944bc9b2197dab267a9fcf8d6d6bda4778e53 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 0000000000000000000000000000000000000000..a1a18e9f443456f60479aad0e9c8b335a0cef046
--- /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 c7f769b23851f60b0dd6a8eecc7f471211c54463..66c1dd8cf7461a6adbab42c60883b635cdfa2530 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 0000000000000000000000000000000000000000..909342451c5bddf6cf2597ee46784daa642bbf56
--- /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 9cc09757473e64b01f1818fbad6753d405478e77..da1564afbee1841d8549fb74f042dfeef292d910 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 a176bb10f2b4fa6cbf359dc48a8ab49b54d47594..7b9fbb9aba21452e98a9c74ca760e74a198a8fb4 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 94a576095f74f36bdf6a0195f852948f120c8820..d1fef38ec6201210ad7bc1d557c6ffac37eda64f 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 aaf1fef51fc531c335f42f9c53481ee3673e411f..d5ccc96322ce49971d43db3489d88bdc76f57072 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 0000000000000000000000000000000000000000..0d4228697cb75a977dc98d4f4ce104fdb1f5f668
--- /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 dbf265a582bf64fb8c5e686ab2124587da04a263..95175abbac5fbc97a3d533dabffdd99a3b2bc64e 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 4cca7f5780d2e66ccc10a44dd94dbf3bc3e4ec0b..8009cbaec232679cb10f302a0be9dd5c16d4dac8 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 26b475a64b90da4abf5ea2c08f41d02418761d39..42d5a6ce3486c1d9db76baad8eb596b7061d6bf0 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 13421e2c52508341c628ca4f08a29e22824b3337..4c034905bf6ee48d49600084fe7b2a23d5f96107 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 315be9d13e6953f9d40de2ad4255a7f1a4d9656e..1ef53276b1be20227f0f2ae21918fa64c274a89f 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 d83fef0b21d6cb770bebe20959256f7aef415017..cc00d25c7e31113510572e56569723fbdb825660 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 7c6ebf705814fd09284425c0e352c525be2f9b5a..1b76f2c3d11ed574ee5b16f216183f8bb9d14cda 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 70009f77f99d27d477a7930c30d6938227d67146..bc603b8c7e16e3c850b6240dff320ef64d7b1a25 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) {