Merge branch 'merge_1.3' into develop

This commit is contained in:
2025-12-30 09:38:57 +08:00
1345 changed files with 220529 additions and 98778 deletions

1
.gitignore vendored
View File

@@ -62,3 +62,4 @@ public.sql
发版记录/2025-11-12/~$S-管理系统-调价管理.docx
发版记录/2025-11-12/发版日志.docx
.gitignore
openhis-server-new/openhis-application/src/main/resources/application-dev.yml

File diff suppressed because one or more lines are too long

View File

@@ -43,9 +43,10 @@
<artifactId>swagger-models</artifactId>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 核心模块-->
@@ -75,9 +76,8 @@
<dependency>
<groupId>com.core</groupId>
<artifactId>core-common</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@@ -1,18 +1,5 @@
package com.core.web.controller.common;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.FastByteArrayOutputStream;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.core.common.config.CoreConfig;
import com.core.common.constant.CacheConstants;
import com.core.common.constant.Constants;
@@ -22,6 +9,17 @@ import com.core.common.utils.sign.Base64;
import com.core.common.utils.uuid.IdUtils;
import com.core.system.service.ISysConfigService;
import com.google.code.kaptcha.Producer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.FastByteArrayOutputStream;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
/**
* 验证码操作处理

View File

@@ -1,11 +1,12 @@
package com.core.web.controller.common;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.core.common.config.CoreConfig;
import com.core.common.constant.Constants;
import com.core.common.core.domain.AjaxResult;
import com.core.common.utils.StringUtils;
import com.core.common.utils.file.FileUploadUtils;
import com.core.common.utils.file.FileUtils;
import com.core.framework.config.ServerConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -16,13 +17,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.core.common.config.CoreConfig;
import com.core.common.constant.Constants;
import com.core.common.core.domain.AjaxResult;
import com.core.common.utils.StringUtils;
import com.core.common.utils.file.FileUploadUtils;
import com.core.common.utils.file.FileUtils;
import com.core.framework.config.ServerConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
* 通用请求处理

View File

@@ -1,13 +1,5 @@
package com.core.web.controller.common;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.core.common.annotation.Anonymous;
import com.core.common.config.CoreConfig;
import com.core.common.core.domain.AjaxResult;
@@ -16,6 +8,13 @@ import com.core.common.utils.StringUtils;
import com.core.common.utils.file.FileUploadUtils;
import com.core.common.utils.file.FileUtils;
import com.core.framework.config.ServerConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
@RequestMapping("/file")

View File

@@ -1,17 +1,16 @@
package com.core.web.controller.monitor;
import java.util.*;
import com.core.common.constant.CacheConstants;
import com.core.common.core.domain.AjaxResult;
import com.core.common.utils.StringUtils;
import com.core.system.domain.SysCache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.core.common.constant.CacheConstants;
import com.core.common.core.domain.AjaxResult;
import com.core.common.utils.StringUtils;
import com.core.system.domain.SysCache;
import java.util.*;
/**
* 缓存监控

View File

@@ -1,13 +1,12 @@
package com.core.web.controller.monitor;
import com.core.common.core.domain.AjaxResult;
import com.core.framework.web.domain.Server;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.core.common.core.domain.AjaxResult;
import com.core.framework.web.domain.Server;
/**
* 服务器监控
*

View File

@@ -1,13 +1,5 @@
package com.core.web.controller.monitor;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -17,15 +9,23 @@ import com.core.common.utils.poi.ExcelUtil;
import com.core.framework.web.service.SysPasswordService;
import com.core.system.domain.SysLogininfor;
import com.core.system.service.ISysLogininforService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 系统访问记录
*
*
* @author system
*/
@RestController
@RequestMapping("/monitor/logininfor")
public class SysLogininforController extends BaseController {
@Autowired
private ISysLogininforService logininforService;

View File

@@ -1,13 +1,5 @@
package com.core.web.controller.monitor;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -16,6 +8,12 @@ import com.core.common.enums.BusinessType;
import com.core.common.utils.poi.ExcelUtil;
import com.core.system.domain.SysOperLog;
import com.core.system.service.ISysOperLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 操作日志记录

View File

@@ -1,14 +1,5 @@
package com.core.web.controller.monitor;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.constant.CacheConstants;
import com.core.common.core.controller.BaseController;
@@ -20,6 +11,14 @@ import com.core.common.enums.BusinessType;
import com.core.common.utils.StringUtils;
import com.core.system.domain.SysUserOnline;
import com.core.system.service.ISysUserOnlineService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* 在线用户监控

View File

@@ -1,14 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -17,6 +8,13 @@ import com.core.common.enums.BusinessType;
import com.core.common.utils.poi.ExcelUtil;
import com.core.system.domain.SysConfig;
import com.core.system.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 参数配置 信息操作处理

View File

@@ -1,13 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.constant.UserConstants;
import com.core.common.core.controller.BaseController;
@@ -16,6 +8,13 @@ import com.core.common.core.domain.entity.SysDept;
import com.core.common.enums.BusinessType;
import com.core.common.utils.StringUtils;
import com.core.system.service.ISysDeptService;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 部门信息

View File

@@ -1,15 +1,5 @@
package com.core.web.controller.system;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -20,6 +10,14 @@ import com.core.common.utils.StringUtils;
import com.core.common.utils.poi.ExcelUtil;
import com.core.system.service.ISysDictDataService;
import com.core.system.service.ISysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
* 数据字典信息

View File

@@ -1,14 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -17,6 +8,13 @@ import com.core.common.core.page.TableDataInfo;
import com.core.common.enums.BusinessType;
import com.core.common.utils.poi.ExcelUtil;
import com.core.system.service.ISysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 数据字典信息

View File

@@ -1,11 +1,10 @@
package com.core.web.controller.system;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.core.common.config.CoreConfig;
import com.core.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 首页

View File

@@ -1,14 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.core.common.constant.Constants;
import com.core.common.core.domain.AjaxResult;
import com.core.common.core.domain.entity.SysMenu;
@@ -20,6 +11,14 @@ import com.core.framework.web.service.SysLoginService;
import com.core.framework.web.service.SysPermissionService;
import com.core.framework.web.service.TokenService;
import com.core.system.service.ISysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Set;
/**已评审
* 登录验证

View File

@@ -1,12 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.constant.UserConstants;
import com.core.common.core.controller.BaseController;
@@ -15,6 +8,12 @@ import com.core.common.core.domain.entity.SysMenu;
import com.core.common.enums.BusinessType;
import com.core.common.utils.StringUtils;
import com.core.system.service.ISysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 菜单信息

View File

@@ -1,12 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -14,6 +7,12 @@ import com.core.common.core.page.TableDataInfo;
import com.core.common.enums.BusinessType;
import com.core.system.domain.SysNotice;
import com.core.system.service.ISysNoticeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 公告 信息操作处理

View File

@@ -1,14 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -17,6 +8,13 @@ import com.core.common.enums.BusinessType;
import com.core.common.utils.poi.ExcelUtil;
import com.core.system.domain.SysPost;
import com.core.system.service.ISysPostService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 岗位信息操作处理

View File

@@ -1,9 +1,5 @@
package com.core.web.controller.system;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.core.common.annotation.Log;
import com.core.common.config.CoreConfig;
import com.core.common.core.controller.BaseController;
@@ -17,6 +13,9 @@ import com.core.common.utils.file.FileUploadUtils;
import com.core.common.utils.file.MimeTypeUtils;
import com.core.framework.web.service.TokenService;
import com.core.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
/**
* 个人信息 业务处理

View File

@@ -1,16 +1,15 @@
package com.core.web.controller.system;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
import com.core.common.core.domain.model.RegisterBody;
import com.core.common.utils.StringUtils;
import com.core.framework.web.service.SysRegisterService;
import com.core.system.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
/**
* 注册验证

View File

@@ -1,14 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -26,6 +17,13 @@ import com.core.system.domain.SysUserRole;
import com.core.system.service.ISysDeptService;
import com.core.system.service.ISysRoleService;
import com.core.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 角色信息

View File

@@ -1,11 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.core.common.annotation.Anonymous;
import com.core.common.core.controller.BaseController;
@@ -13,6 +7,11 @@ import com.core.common.core.domain.R;
import com.core.common.core.domain.entity.SysUser;
import com.core.system.domain.SysTenant;
import com.core.system.service.ISysTenantService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 租户信息controller

View File

@@ -1,16 +1,15 @@
package com.core.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.R;
import com.core.system.domain.dto.SaveTenantOptionDetailDto;
import com.core.system.domain.dto.TenantOptionDto;
import com.core.system.service.ISysTenantOptionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 租户配置项信息controller

View File

@@ -1,17 +1,5 @@
package com.core.web.controller.system;
import java.util.List;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.core.common.annotation.Log;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult;
@@ -27,6 +15,16 @@ import com.core.system.service.ISysDeptService;
import com.core.system.service.ISysPostService;
import com.core.system.service.ISysRoleService;
import com.core.system.service.ISysUserService;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.stream.Collectors;
/**
* 用户信息

View File

@@ -1,18 +1,16 @@
package com.core.web.controller.tool;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.R;
import com.core.common.utils.StringUtils;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.*;
import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.R;
import com.core.common.utils.StringUtils;
import io.swagger.annotations.*;
/**
* swagger 用户测试方法
*

View File

@@ -1,17 +1,12 @@
package com.core.web.core.config;
import java.util.ArrayList;
import java.util.List;
import com.core.common.config.CoreConfig;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.core.common.config.CoreConfig;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
@@ -20,6 +15,9 @@ import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import java.util.ArrayList;
import java.util.List;
/**
* Swagger2的接口配置
*

View File

@@ -16,6 +16,31 @@
common通用工具
</description>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- mybatis-plus 增强CRUD -->
@@ -54,6 +79,12 @@
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<!-- jsr250 annotations -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
</dependency>
<!-- 自定义验证注解 -->
<dependency>
<groupId>org.springframework.boot</groupId>
@@ -77,10 +108,6 @@
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<!-- io常用工具类 -->
<dependency>
@@ -140,6 +167,7 @@
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>

View File

@@ -1,9 +1,9 @@
package com.core.common.annotation;
import java.lang.annotation.*;
import com.core.common.enums.DataSourceType;
import java.lang.annotation.*;
/**
* 自定义多数据源切换注解
*

View File

@@ -1,16 +1,15 @@
package com.core.common.annotation;
import com.core.common.utils.poi.ExcelHandlerAdapter;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.math.BigDecimal;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors;
import com.core.common.utils.poi.ExcelHandlerAdapter;
/**
* 自定义导出Excel数据注解
*

View File

@@ -0,0 +1,38 @@
package com.core.common.annotation;
import java.lang.annotation.*;
/**
* Excel额外表头信息注解
*
* @author swb
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ExcelExtra {
/**
* 表头名称
*/
String name();
/**
* 日期格式yyyy-MM-dd HH:mm:ss
*/
String dateFormat() default "";
/**
* 排序(越小越靠前)
*/
int sort() default 0;
/**
* 默认值
*/
String defaultValue() default "";
/**
* 是否导出
*/
boolean isExport() default true;
}

View File

@@ -1,10 +1,10 @@
package com.core.common.annotation;
import java.lang.annotation.*;
import com.core.common.enums.BusinessType;
import com.core.common.enums.OperatorType;
import java.lang.annotation.*;
/**
* 自定义操作日志记录注解
*

View File

@@ -1,10 +1,10 @@
package com.core.common.annotation;
import java.lang.annotation.*;
import com.core.common.constant.CacheConstants;
import com.core.common.enums.LimitType;
import java.lang.annotation.*;
/**
* 限流注解
*

View File

@@ -1,15 +1,15 @@
package com.core.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.core.common.config.serializer.SensitiveJsonSerializer;
import com.core.common.enums.DesensitizedType;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 数据脱敏注解
*

View File

@@ -1,8 +1,5 @@
package com.core.common.config.serializer;
import java.io.IOException;
import java.util.Objects;
import com.core.common.annotation.Sensitive;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.enums.DesensitizedType;
@@ -14,6 +11,9 @@ import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import java.io.IOException;
import java.util.Objects;
/**
* 数据脱敏序列化过滤
*

View File

@@ -1,9 +1,9 @@
package com.core.common.constant;
import java.util.Locale;
import io.jsonwebtoken.Claims;
import java.util.Locale;
/**
* 通用常量信息
*

View File

@@ -1,14 +1,5 @@
package com.core.common.core.controller;
import java.beans.PropertyEditorSupport;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import com.core.common.constant.HttpStatus;
import com.core.common.core.domain.AjaxResult;
import com.core.common.core.domain.model.LoginUser;
@@ -22,6 +13,14 @@ import com.core.common.utils.StringUtils;
import com.core.common.utils.sql.SqlUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import java.beans.PropertyEditorSupport;
import java.util.Date;
import java.util.List;
/**
* web层通用数据处理

View File

@@ -1,11 +1,11 @@
package com.core.common.core.domain;
import java.util.HashMap;
import java.util.Objects;
import com.core.common.constant.HttpStatus;
import com.core.common.utils.StringUtils;
import java.util.HashMap;
import java.util.Objects;
/**
* 操作消息提醒
*

View File

@@ -1,15 +1,15 @@
package com.core.common.core.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* Entity基类
*

View File

@@ -1,16 +1,15 @@
package com.core.common.core.domain;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* Entity基类
*

View File

@@ -1,9 +1,9 @@
package com.core.common.core.domain;
import java.io.Serializable;
import com.core.common.constant.HttpStatus;
import java.io.Serializable;
/**
* 响应信息主体
*

View File

@@ -1,13 +1,13 @@
package com.core.common.core.domain;
import java.io.Serializable;
import java.util.List;
import java.util.stream.Collectors;
import com.core.common.core.domain.entity.SysDept;
import com.core.common.core.domain.entity.SysMenu;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.io.Serializable;
import java.util.List;
import java.util.stream.Collectors;
/**
* Treeselect树结构实体类
*

View File

@@ -1,17 +1,15 @@
package com.core.common.core.domain.entity;
import java.util.ArrayList;
import java.util.List;
import com.core.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.core.common.core.domain.BaseEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 部门表 sys_dept

View File

@@ -1,15 +1,14 @@
package com.core.common.core.domain.entity;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.core.common.annotation.Excel;
import com.core.common.annotation.Excel.ColumnType;
import com.core.common.constant.UserConstants;
import com.core.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* 字典数据表 sys_dict_data

View File

@@ -1,15 +1,14 @@
package com.core.common.core.domain.entity;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.core.common.annotation.Excel;
import com.core.common.annotation.Excel.ColumnType;
import com.core.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
/**
* 字典类型表 sys_dict_type

View File

@@ -1,16 +1,14 @@
package com.core.common.core.domain.entity;
import java.util.ArrayList;
import java.util.List;
import com.core.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.core.common.core.domain.BaseEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 菜单权限表 sys_menu

View File

@@ -1,17 +1,15 @@
package com.core.common.core.domain.entity;
import java.util.Set;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.core.common.annotation.Excel;
import com.core.common.annotation.Excel.ColumnType;
import com.core.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Set;
/**
* 角色表 sys_role

View File

@@ -1,16 +1,8 @@
package com.core.common.core.domain.entity;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.core.common.annotation.Excel;
import com.core.common.annotation.Excel.ColumnType;
import com.core.common.annotation.Excel.Type;
@@ -19,8 +11,15 @@ import com.core.common.core.domain.BaseEntity;
import com.core.common.xss.Xss;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.List;
/**
* 用户对象 sys_user
@@ -32,6 +31,7 @@ public class SysUser extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 用户ID */
@TableId(type = IdType.ASSIGN_ID)
@Excel(name = "用户序号", type = Type.EXPORT, cellType = ColumnType.NUMERIC, prompt = "用户编号")
private Long userId;

View File

@@ -1,20 +1,18 @@
package com.core.common.core.domain.model;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.annotation.JSONField;
import com.core.common.core.domain.entity.SysRole;
import com.core.common.core.domain.entity.SysUser;
import lombok.Data;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.core.common.core.domain.entity.SysRole;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.annotation.JSONField;
import com.core.common.core.domain.entity.SysUser;
import lombok.Data;
/**
* 登录用户身份权限
*

View File

@@ -1,13 +1,16 @@
package com.core.common.core.redis;
import java.util.*;
import java.util.concurrent.TimeUnit;
import com.core.common.exception.UtilException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.*;
import org.springframework.data.redis.core.BoundSetOperations;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Component;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
* spring redis 工具类
*

View File

@@ -1,10 +1,10 @@
package com.core.common.core.text;
import com.core.common.utils.StringUtils;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import com.core.common.utils.StringUtils;
/**
* 字符集工具类
*

View File

@@ -1,5 +1,8 @@
package com.core.common.core.text;
import com.core.common.utils.StringUtils;
import org.apache.commons.lang3.ArrayUtils;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
@@ -8,10 +11,6 @@ import java.nio.charset.Charset;
import java.text.NumberFormat;
import java.util.Set;
import org.apache.commons.lang3.ArrayUtils;
import com.core.common.utils.StringUtils;
/**
* 类型转换器
*

View File

@@ -1,10 +1,13 @@
package com.openhis.common.enums;
package com.core.common.enums;
import lombok.Getter;
/**
* 删除标识
*
* @author system
*/
@Getter
public enum DelFlag {
/**
* 未删除
@@ -25,6 +28,23 @@ public enum DelFlag {
this.info = info;
}
public static DelFlag getByValue(Integer value) {
if (value == null) {
return null;
}
for (DelFlag val : values()) {
if (val.value.equals(value)) {
return val;
}
}
return null;
}
// 手动添加 getter 方法以解决 Lombok 兼容性问题
public Integer getValue() {
return value;
}
public String getCode() {
return code;
}
@@ -32,20 +52,4 @@ public enum DelFlag {
public String getInfo() {
return info;
}
public Integer getValue() {
return value;
}
public static DelFlag getByValue(Integer value) {
if (value == null) {
return null;
}
for (DelFlag val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -1,26 +0,0 @@
package com.core.common.enums;
/**
* 删除标志
*
* @author system
*/
public enum DeleteFlag {
NOT_DELETED("0", "未删除"), DELETED("1", "已删除");
private final String code;
private final String info;
DeleteFlag(String code, String info) {
this.code = code;
this.info = info;
}
public String getCode() {
return code;
}
public String getInfo() {
return info;
}
}

View File

@@ -1,9 +1,9 @@
package com.core.common.enums;
import java.util.function.Function;
import com.core.common.utils.DesensitizedUtil;
import java.util.function.Function;
/**
* 脱敏类型
*

View File

@@ -1,10 +1,10 @@
package com.core.common.enums;
import org.springframework.lang.Nullable;
import java.util.HashMap;
import java.util.Map;
import org.springframework.lang.Nullable;
/**
* 请求方式
*

View File

@@ -11,7 +11,6 @@ public enum TenantOptionDict {
* 医院名称
*/
YB_HOSPITAL_NAME("hospitalName", "医保-医院名称", 0),
/**
* 医保-医疗机构等级(3101接口)
*/
@@ -24,37 +23,30 @@ public enum TenantOptionDict {
* 电子发票appid
*/
EINVOICE_APP_ID("app_id", "电子发票-appid", 3),
/**
* 电子发票key
*/
EINVOICE_KEY("key", "电子发票-key", 4),
/**
* 电子发票url
*/
EINVOICE_URL("url", "电子发票-url", 5),
/**
* 医保开关
*/
YB_SWITCH("yb_switch", "医保开关", 6),
/**
* 电子地址
*/
ELE_ADDRESS("eleAddress", "电子处方-请求地址", 22),
/**
* 服务地址
*/
ADDRESS("address", "服务地址", 23),
/**
* 超时时间
*/
TIME("time", "超时时间", 24),
/**
* 是否加密
*/
@@ -63,32 +55,26 @@ public enum TenantOptionDict {
* 医保区划
*/
YB_INSUPLC_ADMDVS("insuplc_admdvs", "医保-区划", 26),
/**
* 电子处方appId
*/
ELE_PRE_APP_ID("pre_app_id", "电子处方-appId", 27),
/**
* 电子处方appSecret
*/
ELE_PRE_APP_SECRET("pre_app_secret", "电子处方-appSecret", 28),
/**
* 电子处方私钥
*/
ELE_APP_PRVKEY("APP_PRVKEY", "电子处方-私钥", 29),
/**
* 电子处方公钥
*/
ELE_PLAF_PUBKEY("PLAF_PUBKEY", "电子处方-公钥", 30),
/**
* 医院等级
*/
EINVOICE_HOSPITAL_LV("hospital_lv", "电子发票-医院等级", 39),
/**
* 无视LIS&PACS报错
*/
@@ -118,11 +104,11 @@ public enum TenantOptionDict {
*/
PACS_APP_SECRET("pacsAppSecret", "PACSAppSecret", 45),
/**
* PACSAppSecret
* 电子发票-中转服务的路径
*/
INVOICE_FORWARD_URL("invoiceUrl", "电子发票-中转服务的路径", 46),
/**
* PACSAppSecret
* 电子发票-中转服务开关
*/
FORWARD_SWITCH("forwardSwitch", "电子发票-中转服务开关", 47),
/**
@@ -160,51 +146,160 @@ public enum TenantOptionDict {
/**
* 电子发票开关
*/
INVOICE_SWITCH("invoiceSwitch", "电子发票开关 (0:关闭 1:开启)", 56),
INVOICE_SWITCH("invoiceSwitch", "电子发票开关", 56),
/**
* 医嘱定价来源
*/
ORDER_PRICING_SOURCE("orderPricingSource", "定价来源 batchSellingPrice/retailPrice", 57),
/**
* 三方支付(签到)
*/
THREE_PART_SIGN_URL("threePartSignUrl", "三方支付GET请求", 58),
THREE_PART_SIGN_URL("threePartSignUrl", "三方支付【签到】请求路径", 58),
/**
* 三方支付(签到)
*/
THREE_PART_SIGN_STATIC_PARAM("threePartSignStaticParam", "三方支付【签到】固定参数", 59),
/**
* 三方支付(签到)
*/
THREE_PART_SIGN_ACTIVE_PARAM("threePartSignActiveParam", "三方支付【签到】可变参数", 60),
/**
* 三方支付(签到)
*/
THREE_PART_SIGN_MAPPING_METHOD("threePartSignMappingMethod", "三方支付【签到】请求方式", 61),
/**
* 三方支付(消费)
*/
THREE_PART_PAY_URL("threePartPayUrl", "三方支付GET请求", 59),
THREE_PART_PAY_URL("threePartPayUrl", "三方支付【消费】请求路径", 62),
/**
* 三方支付(消费)
*/
THREE_PART_PAY_STATIC_PARAM("threePartPayStaticParam", "三方支付【消费】固定参数", 63),
/**
* 三方支付(消费)
*/
THREE_PART_PAY_ACTIVE_PARAM("threePartPayActiveParam", "三方支付【消费】可变参数", 64),
/**
* 三方支付(消费)
*/
THREE_PART_PAY_MAPPING_METHOD("threePartPayMappingMethod", "三方支付【消费】请求方式", 65),
/**
* 三方支付(退费)
*/
THREE_PART_RETURN_URL("threePartReturnUrl", "三方支付GET请求", 60),
THREE_PART_RETURN_URL("threePartReturnUrl", "三方支付【退费】请求路径", 66),
/**
* 三方支付(退费)
*/
THREE_PART_RETURN_STATIC_PARAM("threePartReturnStaticParam", "三方支付【退费】固定参数", 67),
/**
* 三方支付(退费)
*/
THREE_PART_RETURN_ACTIVE_PARAM("threePartReturnActiveParam", "三方支付【退费】可变参数", 68),
/**
* 三方支付(退费)
*/
THREE_PART_RETURN_MAPPING_METHOD("threePartReturnMappingMethod", "三方支付【退费】请求方式", 69),
/**
* 三方支付(隔天退费)
*/
THREE_PART_NEXT_DAY_RETURN_URL("threePartNextDayReturnUrl", "三方支付GET请求", 61),
THREE_PART_NEXT_DAY_RETURN_URL("threePartNextDayReturnUrl", "三方支付【隔天退费】请求路径", 70),
/**
* 三方支付(隔天退费)
*/
THREE_PART_NEXT_DAY_RETURN_STATIC_PARAM("threePartNextDayReturnStaticParam", "三方支付【隔天退费】固定参数", 71),
/**
* 三方支付(隔天退费)
*/
THREE_PART_NEXT_DAY_RETURN_ACTIVE_PARAM("threePartNextDayReturnActiveParam", "三方支付【隔天退费】可变参数", 72),
/**
* 三方支付(隔天退费)
*/
THREE_PART_NEXT_DAY_RETURN_MAPPING_METHOD("threePartNextDayReturnMappingMethod", "三方支付【隔天退费】请求方式", 73),
/**
* 三方支付路径(支付结果查询)
*/
THREE_PART_PAY_QUERY_URL("threePartPayQueryUrl", "三方支付GET请求", 62),
THREE_PART_PAY_QUERY_URL("threePartPayQueryUrl", "三方支付【支付结果查询】请求路径", 74),
/**
* 三方支付(支付结果查询)
*/
THREE_PART_PAY_QUERY_STATIC_PARAM("threePartPayQueryStaticParam", "三方支付【支付结果查询】固定参数", 75),
/**
* 三方支付(支付结果查询)
*/
THREE_PART_PAY_QUERY_ACTIVE_PARAM("threePartPayQueryActiveParam", "三方支付【支付结果查询】可变参数", 76),
/**
* 三方支付(支付结果查询)
*/
THREE_PART_PAY_QUERY_MAPPING_METHOD("threePartPayQueryMappingMethod", "三方支付【支付结果查询】请求方式", 77),
/**
* 三方支付路径(退费结果查询)
*/
THREE_PART_RETURN_QUERY_URL("threePartReturnQueryUrl", "三方支付GET请求", 63),
THREE_PART_RETURN_QUERY_URL("threePartReturnQueryUrl", "三方支付【退费结果查询】请求路径", 78),
/**
* 三方支付(退费结果查询)
*/
THREE_PART_RETURN_QUERY_STATIC_PARAM("threePartReturnQueryStaticParam", "三方支付【退费结果查询】固定参数", 79),
/**
* 三方支付(退费结果查询)
*/
THREE_PART_RETURN_QUERY_ACTIVE_PARAM("threePartReturnQueryActiveParam", "三方支付【退费结果查询】可变参数", 80),
/**
* 三方支付(退费结果查询)
*/
THREE_PART_RETURN_QUERY_MAPPING_METHOD("threePartReturnQueryMappingMethod", "三方支付【退费结果查询】请求方式", 81),
/**
* 三方支付路径(隔天退费结果查询)
*/
THREE_PART_NEXT_DAY_RETURN_QUERY_URL("threePartNextDayReturnQueryUrl", "三方支付GET请求", 64),
THREE_PART_NEXT_DAY_RETURN_QUERY_URL("threePartNextDayReturnQueryUrl", "三方支付【隔天退费结果查询】请求路径", 82),
/**
* 三方支付参数
* 三方支付(隔天退费结果查询)
*/
THREE_PART_PARAM("threePartParam", "三方支付GET请求", 65);
THREE_PART_NEXT_DAY_RETURN_QUERY_STATIC_PARAM("threePartNextDayReturnQueryStaticParam", "三方支付【隔天退费结果查询】固定参数", 83),
/**
* 三方支付(隔天退费结果查询)
*/
THREE_PART_NEXT_DAY_RETURN_QUERY_ACTIVE_PARAM("threePartNextDayReturnQueryActiveParam", "三方支付【隔天退费结果查询】可变参数", 84),
/**
* 三方支付(隔天退费结果查询)
*/
THREE_PART_NEXT_DAY_RETURN_QUERY_MAPPING_METHOD("threePartNextDayReturnQueryMappingMethod", "三方支付【隔天退费结果查询】请求方式",
85),
/**
* 三方支付(签出)
*/
THREE_PART_SIGN_OUT_URL("threePartSignOutUrl", "三方支付【签出】请求路径", 86),
/**
* 三方支付(签出)
*/
THREE_PART_SIGN_OUT_STATIC_PARAM("threePartSignOutStaticParam", "三方支付【签出】固定参数", 87),
/**
* 三方支付(签出)
*/
THREE_PART_SIGN_OUT_ACTIVE_PARAM("threePartSignOutActiveParam", "三方支付【签出】可变参数", 88),
/**
* 三方支付(签出)
*/
THREE_PART_SIGN_OUT_MAPPING_METHOD("threePartSignOutMappingMethod", "三方支付【签出】请求方式", 89),
/**
* 三方支付(签出)
*/
YB_INPATIENT_SETTLEMENT_UP_URL("ybInpatientSetlUp", "选填4101或4101A", 90),
/**
* PACS查看报告地址
*/
PACS_REPORT_URL("pacsReportUrl", "PACS查看报告地址", 91),
/**
* LIS查看报告地址
*/
LIS_REPORT_URL("lisReportUrl", "LIS查看报告地址", 92),
/**
* 开药时药房允许多选开关
*/
PHARMACY_MULTIPLE_CHOICE_SWITCH("pharmacyMultipleChoiceSwitch", "开药时药房允许多选开关", 93),
/**
* PEIS服务地址
*/
PEIS_SERVER_URL("peisServerUrl", "PEIS服务地址", 94);
private final String code;
private final String name;

View File

@@ -1,13 +1,11 @@
package com.core.common.filter;
import java.io.IOException;
import com.core.common.utils.StringUtils;
import org.springframework.http.MediaType;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import org.springframework.http.MediaType;
import com.core.common.utils.StringUtils;
import java.io.IOException;
/**
* Repeatable 过滤器

View File

@@ -1,18 +1,17 @@
package com.core.common.filter;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import com.core.common.constant.Constants;
import com.core.common.utils.http.HttpHelper;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import com.core.common.constant.Constants;
import com.core.common.utils.http.HttpHelper;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 构建可重复读取inputStream的request

View File

@@ -1,15 +1,14 @@
package com.core.common.filter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.core.common.enums.HttpMethod;
import com.core.common.utils.StringUtils;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.core.common.enums.HttpMethod;
import com.core.common.utils.StringUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* 防止XSS攻击的过滤器

View File

@@ -1,19 +1,17 @@
package com.core.common.filter;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import com.core.common.utils.StringUtils;
import com.core.common.utils.html.EscapeUtil;
import org.apache.commons.io.IOUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import org.apache.commons.io.IOUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import com.core.common.utils.StringUtils;
import com.core.common.utils.html.EscapeUtil;
import java.io.ByteArrayInputStream;
import java.io.IOException;
/**
* XSS过滤处理

View File

@@ -3,16 +3,15 @@
*/
package com.core.common.utils;
import java.util.ArrayList;
import java.util.List;
import com.core.common.constant.CacheConstants;
import com.core.common.core.redis.RedisCache;
import com.core.common.exception.UtilException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import com.core.common.constant.CacheConstants;
import com.core.common.core.redis.RedisCache;
import com.core.common.exception.UtilException;
import java.util.ArrayList;
import java.util.List;
/**
* 排番组件

View File

@@ -1,5 +1,7 @@
package com.core.common.utils;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -9,8 +11,6 @@ import java.time.format.DateTimeParseException;
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
/**
* 时间工具类
*

View File

@@ -1,14 +1,14 @@
package com.core.common.utils;
import java.util.Collection;
import java.util.List;
import com.alibaba.fastjson2.JSONArray;
import com.core.common.constant.CacheConstants;
import com.core.common.core.domain.entity.SysDictData;
import com.core.common.core.redis.RedisCache;
import com.core.common.utils.spring.SpringUtils;
import java.util.Collection;
import java.util.List;
/**
* 字典工具类
*

View File

@@ -1,10 +1,10 @@
package com.core.common.utils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import java.io.PrintWriter;
import java.io.StringWriter;
import org.apache.commons.lang3.exception.ExceptionUtils;
/**
* 错误信息处理类。
*

View File

@@ -1,9 +1,8 @@
package com.core.common.utils;
import com.core.common.utils.spring.SpringUtils;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import com.core.common.utils.spring.SpringUtils;
import org.springframework.lang.Nullable;
import java.util.Locale;

View File

@@ -1,19 +1,18 @@
package com.core.common.utils;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.util.PatternMatchUtils;
import com.core.common.constant.Constants;
import com.core.common.constant.HttpStatus;
import com.core.common.core.domain.entity.SysRole;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.exception.ServiceException;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.util.PatternMatchUtils;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
/**
* 安全服务工具类

View File

@@ -1,5 +1,15 @@
package com.core.common.utils;
import com.core.common.constant.Constants;
import com.core.common.core.text.Convert;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
@@ -8,18 +18,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.core.common.constant.Constants;
import com.core.common.core.text.Convert;
/**
* 客户端工具类
*

View File

@@ -1,11 +1,10 @@
package com.core.common.utils;
import java.util.*;
import org.springframework.util.AntPathMatcher;
import com.core.common.constant.Constants;
import com.core.common.core.text.StrFormatter;
import org.springframework.util.AntPathMatcher;
import java.util.*;
/**
* 字符串工具类

View File

@@ -1,10 +1,10 @@
package com.core.common.utils;
import java.util.concurrent.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.*;
/**
* 线程相关工具类.
*

View File

@@ -1,14 +1,10 @@
package com.core.common.utils;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Calendar;
import java.util.Date;

View File

@@ -1,10 +1,9 @@
package com.core.common.utils.bean;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.Validator;
import java.util.Set;
/**
* bean对象属性验证

View File

@@ -1,9 +1,9 @@
package com.core.common.utils.file;
import java.io.File;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
/**
* 文件类型工具类
*

View File

@@ -1,13 +1,5 @@
package com.core.common.utils.file;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Objects;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;
import com.core.common.config.CoreConfig;
import com.core.common.constant.Constants;
import com.core.common.exception.file.FileNameLengthLimitExceededException;
@@ -16,6 +8,13 @@ import com.core.common.exception.file.InvalidExtensionException;
import com.core.common.utils.DateUtils;
import com.core.common.utils.StringUtils;
import com.core.common.utils.uuid.Seq;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Objects;
/**
* 文件上传工具类

View File

@@ -1,20 +1,18 @@
package com.core.common.utils.file;
import java.io.*;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import com.core.common.config.CoreConfig;
import com.core.common.utils.DateUtils;
import com.core.common.utils.StringUtils;
import com.core.common.utils.uuid.IdUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
/**
* 文件处理工具类

View File

@@ -1,5 +1,12 @@
package com.core.common.utils.file;
import com.core.common.config.CoreConfig;
import com.core.common.constant.Constants;
import com.core.common.utils.StringUtils;
import org.apache.poi.util.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -7,14 +14,6 @@ import java.net.URL;
import java.net.URLConnection;
import java.util.Arrays;
import org.apache.poi.util.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.core.common.config.CoreConfig;
import com.core.common.constant.Constants;
import com.core.common.utils.StringUtils;
/**
* 图片处理工具类
*

View File

@@ -1,17 +1,16 @@
package com.core.common.utils.http;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.ServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import javax.servlet.ServletRequest;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 通用http工具封装
*

View File

@@ -1,5 +1,11 @@
package com.core.common.utils.http;
import com.core.common.constant.Constants;
import com.core.common.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.net.ssl.*;
import java.io.*;
import java.net.ConnectException;
import java.net.SocketTimeoutException;
@@ -8,14 +14,6 @@ import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
import java.security.cert.X509Certificate;
import javax.net.ssl.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.core.common.constant.Constants;
import com.core.common.utils.StringUtils;
/**
* 通用http发送方法
*

View File

@@ -1,14 +1,13 @@
package com.core.common.utils.ip;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.core.common.config.CoreConfig;
import com.core.common.constant.Constants;
import com.core.common.utils.StringUtils;
import com.core.common.utils.http.HttpUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 获取地址类

View File

@@ -1,13 +1,12 @@
package com.core.common.utils.ip;
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.servlet.http.HttpServletRequest;
import com.core.common.utils.ServletUtils;
import com.core.common.utils.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* 获取IP方法
*

View File

@@ -1,33 +1,5 @@
package com.core.common.utils.poi;
import java.io.*;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.RegExUtils;
import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.*;
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.core.common.annotation.Excel;
import com.core.common.annotation.Excel.ColumnType;
import com.core.common.annotation.Excel.Type;
@@ -43,6 +15,32 @@ import com.core.common.utils.file.FileTypeUtils;
import com.core.common.utils.file.FileUtils;
import com.core.common.utils.file.ImageUtils;
import com.core.common.utils.reflect.ReflectUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.RegExUtils;
import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.*;
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
* Excel相关处理

View File

@@ -1,16 +1,15 @@
package com.core.common.utils.reflect;
import java.lang.reflect.*;
import java.util.Date;
import com.core.common.core.text.Convert;
import com.core.common.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.apache.poi.ss.usermodel.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.core.common.core.text.Convert;
import com.core.common.utils.DateUtils;
import java.lang.reflect.*;
import java.util.Date;
/**
* 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.

View File

@@ -1,11 +1,11 @@
package com.core.common.utils.sign;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
/**
* Md5加密方法
*

View File

@@ -1,5 +1,6 @@
package com.core.common.utils.spring;
import com.core.common.utils.StringUtils;
import org.springframework.aop.framework.AopContext;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
@@ -9,8 +10,6 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import com.core.common.utils.StringUtils;
/**
* spring工具类 方便在非spring管理环境中获取bean
*

View File

@@ -1,10 +1,10 @@
package com.core.common.utils.uuid;
import java.util.concurrent.atomic.AtomicInteger;
import com.core.common.utils.DateUtils;
import com.core.common.utils.StringUtils;
import java.util.concurrent.atomic.AtomicInteger;
/**
* @author system 序列生成类
*/

View File

@@ -1,13 +1,13 @@
package com.core.common.utils.uuid;
import com.core.common.exception.UtilException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import com.core.common.exception.UtilException;
/**
* 提供通用唯一识别码universally unique identifierUUID实现
*

View File

@@ -1,13 +1,12 @@
package com.core.common.xss;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;
/**
* 自定义xss校验注解
*

View File

@@ -1,12 +1,11 @@
package com.core.common.xss;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.core.common.utils.StringUtils;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import com.core.common.utils.StringUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 自定义xss校验注解实现

View File

@@ -80,6 +80,7 @@
<dependency>
<groupId>com.googlecode.aviator</groupId>
<artifactId>aviator</artifactId>
<version>5.3.3</version>
</dependency>
</dependencies>

View File

@@ -99,7 +99,7 @@ public class MybatisPlusConfig {
"med_medication_definition", "med_medication_dispense", "med_medication_request",
"wor_activity_definition", "wor_device_dispense", "wor_device_request", "wor_inventory_item",
"wor_service_request", "wor_service_request_detail", "wor_supply_delivery", "wor_supply_request",
"sys_operation_record"));
"sys_operation_record","doc_inventory_item_static"));
@Override
public boolean ignoreTable(String tableName) {
@@ -116,22 +116,23 @@ public class MybatisPlusConfig {
* 获取当前租户 ID
*/
private Integer getCurrentTenantId() {
Integer result = null;
// 首先尝试从线程局部变量中获取租户ID适用于定时任务等场景
Integer threadLocalTenantId = TenantContext.getCurrentTenant();
if (threadLocalTenantId != null) {
return threadLocalTenantId;
}
result = threadLocalTenantId;
} else {
// 获取当前登录用户的租户ID优先使用SecurityUtils中储存的LoginUser的租户ID
try {
if (SecurityUtils.getAuthentication() != null) {
return SecurityUtils.getLoginUser().getTenantId();
result = SecurityUtils.getLoginUser().getTenantId();
}
} catch (Exception e) {
return 1; // 默认租户ID
result = 1; // 默认租户ID
}
if (result == null) {
// 尝试从请求头中获取租户ID
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
if (attributes != null) {
@@ -142,11 +143,13 @@ public class MybatisPlusConfig {
// 登录
if ("login".equals(requestMethodName)) {
if (tenantIdHeader != null && !tenantIdHeader.isEmpty()) {
return Integer.parseInt(tenantIdHeader);
result = Integer.parseInt(tenantIdHeader);
}
}
}
}
}
return 1; // 默认租户ID
return result != null ? result : 1; // 默认租户ID
}
}

View File

@@ -1,9 +1,5 @@
package com.core.framework.config;
import com.core.framework.config.properties.PermitAllUrlProperties;
import com.core.framework.security.filter.JwtAuthenticationTokenFilter;
import com.core.framework.security.handle.AuthenticationEntryPointImpl;
import com.core.framework.security.handle.LogoutSuccessHandlerImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -21,6 +17,11 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
import org.springframework.security.web.authentication.logout.LogoutFilter;
import org.springframework.web.filter.CorsFilter;
import com.core.framework.config.properties.PermitAllUrlProperties;
import com.core.framework.security.filter.JwtAuthenticationTokenFilter;
import com.core.framework.security.handle.AuthenticationEntryPointImpl;
import com.core.framework.security.handle.LogoutSuccessHandlerImpl;
/**
* spring security配置
*

View File

@@ -2,12 +2,17 @@ package com.core.framework.handler;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.utils.SecurityUtils;
import com.core.framework.config.TenantContext;
@Component
public class MybastisColumnsHandler implements MetaObjectHandler {
@@ -47,10 +52,40 @@ public class MybastisColumnsHandler implements MetaObjectHandler {
* 获取当前租户 ID
*/
private Integer getCurrentTenantId() {
// 获取当前登录用户的租户 ID
Integer result = null;
// 首先尝试从线程局部变量中获取租户ID适用于定时任务等场景
Integer threadLocalTenantId = TenantContext.getCurrentTenant();
if (threadLocalTenantId != null) {
result = threadLocalTenantId;
} else {
// 获取当前登录用户的租户ID优先使用SecurityUtils中储存的LoginUser的租户ID
try {
if (SecurityUtils.getAuthentication() != null) {
return SecurityUtils.getLoginUser().getTenantId();
result = SecurityUtils.getLoginUser().getTenantId();
}
return 0;
} catch (Exception e) {
result = 1; // 默认租户ID
}
if (result == null) {
// 尝试从请求头中获取租户ID
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
if (attributes != null) {
HttpServletRequest request = attributes.getRequest();
// 从请求头获取租户ID假设header名称为"X-Tenant-ID" ; 登录接口前端把租户id放到请求头里
String tenantIdHeader = request.getHeader("X-Tenant-ID");
String requestMethodName = request.getHeader("Request-Method-Name");
// 登录
if ("login".equals(requestMethodName)) {
if (tenantIdHeader != null && !tenantIdHeader.isEmpty()) {
result = Integer.parseInt(tenantIdHeader);
}
}
}
}
}
return result != null ? result : 1; // 默认租户ID
}
}

View File

@@ -6,6 +6,7 @@ import java.util.Optional;
import javax.annotation.Resource;
import com.core.common.enums.DelFlag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.BadCredentialsException;
@@ -23,7 +24,6 @@ import com.core.common.core.domain.entity.SysUser;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.core.domain.model.LoginUserExtend;
import com.core.common.core.redis.RedisCache;
import com.core.common.enums.DeleteFlag;
import com.core.common.enums.TenantStatus;
import com.core.common.exception.ServiceException;
import com.core.common.exception.user.*;
@@ -281,7 +281,7 @@ public class SysLoginService {
throw new ServiceException("所属医院停用");
}
// 租户删除状态校验
if (DeleteFlag.DELETED.getCode().equals(currentTenant.getDeleteFlag())) {
if (DelFlag.YES.getCode().equals(currentTenant.getDeleteFlag())) {
throw new ServiceException("所属医院不存在");
}

View File

@@ -52,6 +52,9 @@ public class GenUtils {
case "yb":
genTable.setPackageName(GenConfig.getPackageName() + ".ybcatalog");
break;
case "lab":
genTable.setPackageName(GenConfig.getPackageName() + ".lab");
break;
default:
genTable.setPackageName(GenConfig.getPackageName() + ".errortable");
}

View File

@@ -7,4 +7,4 @@ gen:
# 自动去除表前缀默认是false
autoRemovePre: true
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
tablePrefix: cod_,adm_,cli_,dia_,med_,wor_,fin_,def_,doc_,yb_
tablePrefix: cod_,adm_,cli_,dia_,med_,wor_,fin_,def_,doc_,yb_,lab_

View File

@@ -99,14 +99,15 @@
<select id="selectDbTableList" parameterType="map" resultMap="GenTableResult">
SELECT
T1.table_name,
T2.description AS table_comment
T1.table_name
--,
--T2.description AS table_comment
-- 移除 create_time因为它在 information_schema.tables 中通常不存在
-- 移除 update_time因为它在 information_schema.tables 中通常不存在
FROM information_schema.tables T1
LEFT JOIN pg_description T2
ON T2.objsubid = 0
AND T2.objoid = T1.table_name::regclass::oid
-- LEFT JOIN pg_description T2
-- ON T2.objsubid = 0
--AND T2.objoid = T1.table_name::regclass::oid
WHERE table_schema = current_schema()
AND table_name NOT LIKE 'qrtz\_%'
AND table_name NOT LIKE 'gen\_%'

View File

@@ -1,10 +1,10 @@
package com.core.quartz.util;
import org.quartz.CronExpression;
import java.text.ParseException;
import java.util.Date;
import org.quartz.CronExpression;
/**
* cron表达式工具类
*

View File

@@ -16,6 +16,11 @@
system系统模块
</description>
<properties>
<fastjson2.version>2.0.43</fastjson2.version>
<pinyin4j.version>2.5.1</pinyin4j.version>
</properties>
<dependencies>
<!-- 通用工具-->
@@ -29,9 +34,32 @@
<artifactId>lombok</artifactId>
</dependency>
<!-- FastJSON2 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>${fastjson2.version}</version>
</dependency>
<!-- 如果还需要FastJSON建议移除或替换为FastJSON2 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<!-- pinyin4j -->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>${pinyin4j.version}</version>
</dependency>
<!-- swagger注解 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<scope>compile</scope>
</dependency>
<!-- postgresql -->
@@ -39,11 +67,6 @@
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>

Some files were not shown because too many files have changed in this diff Show More