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