15 Commits

Author SHA1 Message Date
8e11dde7c0 feat(deptManage): 添加医生排班管理API接口
- 实现添加医生排班功能接口
- 实现删除医生排班功能接口
- 实现批量保存医生排班功能接口
- 集成统一请求处理工具
- 添加详细的函数注释说明
- 完善参数类型和返回值定义
2025-12-30 09:31:43 +08:00
e8f24ee290 `` refactor(config): 更新开发环境数据库和Redis配置为内网地址`` 2025-12-30 09:27:12 +08:00
a1e07a204b ``` refactor(db): 移除SQL语句中的public schema前缀 2025-12-30 00:02:59 +08:00
a080b4294c ```
feat(invoice): 添加发票分页查询权限过滤功能

- 移除未使用的Supplier导入
- 新增selectInvoicePage方法支持用户角色权限过滤
- 非管理员用户只能查看自己创建的发票
- 优化发票新增逻辑,使用count查询替代list查询提升性能
- 添加事务注解确保数据一致性
- 异常处理改进,抛出ServiceException替代返回null
```
2025-12-27 22:53:39 +08:00
0827ce2908 ```
refactor(invoice): 移除发票服务中的权限过滤功能

移除发票服务接口中的分页查询权限过滤方法,简化发票新增逻辑,
移除异常抛出改为返回null,更新分页查询方法实现

- 移除 IInvoiceService 中的 selectInvoicePage 方法
- 移除 InvoiceServiceImpl 中的权限过滤逻辑
- 移除发票新增时的异常抛出,改为返回null
- 移除多余的import和注释
- 简化发票编码存在性检查逻辑

refactor(outpatient): 修复门诊记录服务中的方法注解

为门诊记录服务中的 getDoctorNames 方法添加 @Override 注解,
移除多余的空行

- 在 OutpatientRecordServiceImpl 中添加 @Override 注解
- 移除 PatientManageMapper 导入前的多余空行
```
2025-12-27 22:53:32 +08:00
5f600209b8 ```
refactor(core): 优化DelFlag枚举值比较逻辑

- 修改DelFlag.getValue()调用为直接访问value字段
- 提升代码性能和可读性
```
2025-12-27 22:45:20 +08:00
79ea4ed4f7 提交merge1.3 2025-12-27 15:31:06 +08:00
cbd3e7f981 提交merge1.3 2025-12-27 15:30:48 +08:00
3c497417dc 提交merge1.3 2025-12-27 15:30:40 +08:00
088861f66e 提交merge1.3 2025-12-27 15:30:25 +08:00
8c607c8749 ```
feat(common): 添加core-common依赖

新增core-common依赖项,用于提供通用功能支持,
移除core-admin的版本号配置
```
2025-12-26 22:45:08 +08:00
3115e38cc4 Revert "```"
This reverts commit abc0674531.
2025-12-26 22:21:21 +08:00
ae6c486114 Revert "```"
This reverts commit 85fcb7c2e2.
2025-12-26 22:20:01 +08:00
a41ffa4cfc pgsql脚本 2025-12-25 14:28:44 +08:00
b1f74161f8 检验项目设置-套餐设置前后端及数据库基本完成 2025-12-25 14:25:35 +08:00
516 changed files with 114463 additions and 85260 deletions

1
.gitignore vendored
View File

@@ -62,3 +62,4 @@ public.sql
发版记录/2025-11-12/~$S-管理系统-调价管理.docx 发版记录/2025-11-12/~$S-管理系统-调价管理.docx
发版记录/2025-11-12/发版日志.docx 发版记录/2025-11-12/发版日志.docx
.gitignore .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

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.openhis</groupId> <groupId>com.openhis</groupId>
<artifactId>openhis-server</artifactId> <artifactId>openhis-server</artifactId>
@@ -41,7 +41,6 @@
<dependency> <dependency>
<groupId>io.swagger</groupId> <groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId> <artifactId>swagger-models</artifactId>
<version>1.6.2</version>
</dependency> </dependency>
<!-- Mysql驱动包 --> <!-- Mysql驱动包 -->
@@ -77,9 +76,8 @@
<dependency> <dependency>
<groupId>com.core</groupId> <groupId>com.core</groupId>
<artifactId>core-common</artifactId> <artifactId>core-common</artifactId>
<scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -1,18 +1,5 @@
package com.core.web.controller.common; 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.config.CoreConfig;
import com.core.common.constant.CacheConstants; import com.core.common.constant.CacheConstants;
import com.core.common.constant.Constants; 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.common.utils.uuid.IdUtils;
import com.core.system.service.ISysConfigService; import com.core.system.service.ISysConfigService;
import com.google.code.kaptcha.Producer; 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; package com.core.web.controller.common;
import java.util.ArrayList; import com.core.common.config.CoreConfig;
import java.util.List; import com.core.common.constant.Constants;
import com.core.common.core.domain.AjaxResult;
import javax.servlet.http.HttpServletRequest; import com.core.common.utils.StringUtils;
import javax.servlet.http.HttpServletResponse; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import com.core.common.config.CoreConfig; import javax.servlet.http.HttpServletRequest;
import com.core.common.constant.Constants; import javax.servlet.http.HttpServletResponse;
import com.core.common.core.domain.AjaxResult; import java.util.ArrayList;
import com.core.common.utils.StringUtils; import java.util.List;
import com.core.common.utils.file.FileUploadUtils;
import com.core.common.utils.file.FileUtils;
import com.core.framework.config.ServerConfig;
/** /**
* 通用请求处理 * 通用请求处理

View File

@@ -1,13 +1,5 @@
package com.core.web.controller.common; 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.annotation.Anonymous;
import com.core.common.config.CoreConfig; import com.core.common.config.CoreConfig;
import com.core.common.core.domain.AjaxResult; 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.FileUploadUtils;
import com.core.common.utils.file.FileUtils; import com.core.common.utils.file.FileUtils;
import com.core.framework.config.ServerConfig; 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 @RestController
@RequestMapping("/file") @RequestMapping("/file")

View File

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

View File

@@ -1,13 +1,12 @@
package com.core.web.controller.monitor; 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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; 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; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.framework.web.service.SysPasswordService;
import com.core.system.domain.SysLogininfor; import com.core.system.domain.SysLogininfor;
import com.core.system.service.ISysLogininforService; 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 * @author system
*/ */
@RestController @RestController
@RequestMapping("/monitor/logininfor") @RequestMapping("/monitor/logininfor")
public class SysLogininforController extends BaseController { public class SysLogininforController extends BaseController {
@Autowired @Autowired
private ISysLogininforService logininforService; private ISysLogininforService logininforService;

View File

@@ -1,13 +1,5 @@
package com.core.web.controller.monitor; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.common.utils.poi.ExcelUtil;
import com.core.system.domain.SysOperLog; import com.core.system.domain.SysOperLog;
import com.core.system.service.ISysOperLogService; 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; 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.annotation.Log;
import com.core.common.constant.CacheConstants; import com.core.common.constant.CacheConstants;
import com.core.common.core.controller.BaseController; 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.common.utils.StringUtils;
import com.core.system.domain.SysUserOnline; import com.core.system.domain.SysUserOnline;
import com.core.system.service.ISysUserOnlineService; 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; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.common.utils.poi.ExcelUtil;
import com.core.system.domain.SysConfig; import com.core.system.domain.SysConfig;
import com.core.system.service.ISysConfigService; 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; 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.annotation.Log;
import com.core.common.constant.UserConstants; import com.core.common.constant.UserConstants;
import com.core.common.core.controller.BaseController; 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.enums.BusinessType;
import com.core.common.utils.StringUtils; import com.core.common.utils.StringUtils;
import com.core.system.service.ISysDeptService; 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; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.common.utils.poi.ExcelUtil;
import com.core.system.service.ISysDictDataService; import com.core.system.service.ISysDictDataService;
import com.core.system.service.ISysDictTypeService; 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; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.enums.BusinessType;
import com.core.common.utils.poi.ExcelUtil; import com.core.common.utils.poi.ExcelUtil;
import com.core.system.service.ISysDictTypeService; 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; 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.config.CoreConfig;
import com.core.common.utils.StringUtils; 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; 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.constant.Constants;
import com.core.common.core.domain.AjaxResult; import com.core.common.core.domain.AjaxResult;
import com.core.common.core.domain.entity.SysMenu; 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.SysPermissionService;
import com.core.framework.web.service.TokenService; import com.core.framework.web.service.TokenService;
import com.core.system.service.ISysMenuService; 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; 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.annotation.Log;
import com.core.common.constant.UserConstants; import com.core.common.constant.UserConstants;
import com.core.common.core.controller.BaseController; 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.enums.BusinessType;
import com.core.common.utils.StringUtils; import com.core.common.utils.StringUtils;
import com.core.system.service.ISysMenuService; 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; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.common.enums.BusinessType;
import com.core.system.domain.SysNotice; import com.core.system.domain.SysNotice;
import com.core.system.service.ISysNoticeService; 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; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.common.utils.poi.ExcelUtil;
import com.core.system.domain.SysPost; import com.core.system.domain.SysPost;
import com.core.system.service.ISysPostService; 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; 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.annotation.Log;
import com.core.common.config.CoreConfig; import com.core.common.config.CoreConfig;
import com.core.common.core.controller.BaseController; 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.common.utils.file.MimeTypeUtils;
import com.core.framework.web.service.TokenService; import com.core.framework.web.service.TokenService;
import com.core.system.service.ISysUserService; 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; 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.controller.BaseController;
import com.core.common.core.domain.AjaxResult; import com.core.common.core.domain.AjaxResult;
import com.core.common.core.domain.model.RegisterBody; import com.core.common.core.domain.model.RegisterBody;
import com.core.common.utils.StringUtils; import com.core.common.utils.StringUtils;
import com.core.framework.web.service.SysRegisterService; import com.core.framework.web.service.SysRegisterService;
import com.core.system.service.ISysConfigService; 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; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.ISysDeptService;
import com.core.system.service.ISysRoleService; import com.core.system.service.ISysRoleService;
import com.core.system.service.ISysUserService; 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; 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.baomidou.mybatisplus.core.metadata.IPage;
import com.core.common.annotation.Anonymous; import com.core.common.annotation.Anonymous;
import com.core.common.core.controller.BaseController; 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.common.core.domain.entity.SysUser;
import com.core.system.domain.SysTenant; import com.core.system.domain.SysTenant;
import com.core.system.service.ISysTenantService; 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 * 租户信息controller

View File

@@ -1,16 +1,15 @@
package com.core.web.controller.system; 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.controller.BaseController;
import com.core.common.core.domain.R; import com.core.common.core.domain.R;
import com.core.system.domain.dto.SaveTenantOptionDetailDto; import com.core.system.domain.dto.SaveTenantOptionDetailDto;
import com.core.system.domain.dto.TenantOptionDto; import com.core.system.domain.dto.TenantOptionDto;
import com.core.system.service.ISysTenantOptionService; 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 * 租户配置项信息controller

View File

@@ -1,17 +1,5 @@
package com.core.web.controller.system; 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.annotation.Log;
import com.core.common.core.controller.BaseController; import com.core.common.core.controller.BaseController;
import com.core.common.core.domain.AjaxResult; 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.ISysPostService;
import com.core.system.service.ISysRoleService; import com.core.system.service.ISysRoleService;
import com.core.system.service.ISysUserService; 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; 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.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; 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 用户测试方法 * swagger 用户测试方法
* *

View File

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

View File

@@ -16,6 +16,31 @@
common通用工具 common通用工具
</description> </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> <dependencies>
<!-- mybatis-plus 增强CRUD --> <!-- mybatis-plus 增强CRUD -->
@@ -54,6 +79,12 @@
<artifactId>pagehelper-spring-boot-starter</artifactId> <artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency> </dependency>
<!-- jsr250 annotations -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
</dependency>
<!-- 自定义验证注解 --> <!-- 自定义验证注解 -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
@@ -144,11 +175,6 @@
<artifactId>gson</artifactId> <artifactId>gson</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

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

View File

@@ -1,16 +1,15 @@
package com.core.common.annotation; 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.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import java.math.BigDecimal; 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数据注解 * 自定义导出Excel数据注解
* *

View File

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

View File

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

View File

@@ -1,15 +1,15 @@
package com.core.common.annotation; 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.config.serializer.SensitiveJsonSerializer;
import com.core.common.enums.DesensitizedType; import com.core.common.enums.DesensitizedType;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; 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; package com.core.common.config.serializer;
import java.io.IOException;
import java.util.Objects;
import com.core.common.annotation.Sensitive; import com.core.common.annotation.Sensitive;
import com.core.common.core.domain.model.LoginUser; import com.core.common.core.domain.model.LoginUser;
import com.core.common.enums.DesensitizedType; 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.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer; 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; package com.core.common.constant;
import java.util.Locale;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import java.util.Locale;
/** /**
* 通用常量信息 * 通用常量信息
* *

View File

@@ -1,14 +1,5 @@
package com.core.common.core.controller; 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.constant.HttpStatus;
import com.core.common.core.domain.AjaxResult; import com.core.common.core.domain.AjaxResult;
import com.core.common.core.domain.model.LoginUser; 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.core.common.utils.sql.SqlUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; 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层通用数据处理 * web层通用数据处理

View File

@@ -1,11 +1,11 @@
package com.core.common.core.domain; package com.core.common.core.domain;
import java.util.HashMap;
import java.util.Objects;
import com.core.common.constant.HttpStatus; import com.core.common.constant.HttpStatus;
import com.core.common.utils.StringUtils; 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; 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.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/** /**
* Entity基类 * Entity基类
* *

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,15 +1,14 @@
package com.core.common.core.domain.entity; 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;
import com.core.common.annotation.Excel.ColumnType; import com.core.common.annotation.Excel.ColumnType;
import com.core.common.constant.UserConstants; import com.core.common.constant.UserConstants;
import com.core.common.core.domain.BaseEntity; 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 * 字典数据表 sys_dict_data

View File

@@ -1,15 +1,14 @@
package com.core.common.core.domain.entity; 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;
import com.core.common.annotation.Excel.ColumnType; import com.core.common.annotation.Excel.ColumnType;
import com.core.common.core.domain.BaseEntity; 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 * 字典类型表 sys_dict_type

View File

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

View File

@@ -1,17 +1,15 @@
package com.core.common.core.domain.entity; 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;
import com.core.common.annotation.Excel.ColumnType; import com.core.common.annotation.Excel.ColumnType;
import com.core.common.core.domain.BaseEntity; 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 * 角色表 sys_role

View File

@@ -1,16 +1,8 @@
package com.core.common.core.domain.entity; package com.core.common.core.domain.entity;
import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType;
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.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.core.common.annotation.Excel; import com.core.common.annotation.Excel;
import com.core.common.annotation.Excel.ColumnType; import com.core.common.annotation.Excel.ColumnType;
import com.core.common.annotation.Excel.Type; 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.core.common.xss.Xss;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; 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 * 用户对象 sys_user
@@ -32,6 +31,7 @@ public class SysUser extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 用户ID */ /** 用户ID */
@TableId(type = IdType.ASSIGN_ID)
@Excel(name = "用户序号", type = Type.EXPORT, cellType = ColumnType.NUMERIC, prompt = "用户编号") @Excel(name = "用户序号", type = Type.EXPORT, cellType = ColumnType.NUMERIC, prompt = "用户编号")
private Long userId; private Long userId;

View File

@@ -1,20 +1,18 @@
package com.core.common.core.domain.model; 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.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; 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; package com.core.common.core.redis;
import java.util.*;
import java.util.concurrent.TimeUnit;
import com.core.common.exception.UtilException; import com.core.common.exception.UtilException;
import org.springframework.beans.factory.annotation.Autowired; 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 org.springframework.stereotype.Component;
import java.util.*;
import java.util.concurrent.TimeUnit;
/** /**
* spring redis 工具类 * spring redis 工具类
* *

View File

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

View File

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

View File

@@ -33,10 +33,23 @@ public enum DelFlag {
return null; return null;
} }
for (DelFlag val : values()) { for (DelFlag val : values()) {
if (val.getValue().equals(value)) { if (val.value.equals(value)) {
return val; return val;
} }
} }
return null; return null;
} }
// 手动添加 getter 方法以解决 Lombok 兼容性问题
public Integer getValue() {
return value;
}
public String getCode() {
return code;
}
public String getInfo() {
return info;
}
} }

View File

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

View File

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

View File

@@ -11,7 +11,6 @@ public enum TenantOptionDict {
* 医院名称 * 医院名称
*/ */
YB_HOSPITAL_NAME("hospitalName", "医保-医院名称", 0), YB_HOSPITAL_NAME("hospitalName", "医保-医院名称", 0),
/** /**
* 医保-医疗机构等级(3101接口) * 医保-医疗机构等级(3101接口)
*/ */
@@ -24,37 +23,30 @@ public enum TenantOptionDict {
* 电子发票appid * 电子发票appid
*/ */
EINVOICE_APP_ID("app_id", "电子发票-appid", 3), EINVOICE_APP_ID("app_id", "电子发票-appid", 3),
/** /**
* 电子发票key * 电子发票key
*/ */
EINVOICE_KEY("key", "电子发票-key", 4), EINVOICE_KEY("key", "电子发票-key", 4),
/** /**
* 电子发票url * 电子发票url
*/ */
EINVOICE_URL("url", "电子发票-url", 5), EINVOICE_URL("url", "电子发票-url", 5),
/** /**
* 医保开关 * 医保开关
*/ */
YB_SWITCH("yb_switch", "医保开关", 6), YB_SWITCH("yb_switch", "医保开关", 6),
/** /**
* 电子地址 * 电子地址
*/ */
ELE_ADDRESS("eleAddress", "电子处方-请求地址", 22), ELE_ADDRESS("eleAddress", "电子处方-请求地址", 22),
/** /**
* 服务地址 * 服务地址
*/ */
ADDRESS("address", "服务地址", 23), ADDRESS("address", "服务地址", 23),
/** /**
* 超时时间 * 超时时间
*/ */
TIME("time", "超时时间", 24), TIME("time", "超时时间", 24),
/** /**
* 是否加密 * 是否加密
*/ */
@@ -63,32 +55,26 @@ public enum TenantOptionDict {
* 医保区划 * 医保区划
*/ */
YB_INSUPLC_ADMDVS("insuplc_admdvs", "医保-区划", 26), YB_INSUPLC_ADMDVS("insuplc_admdvs", "医保-区划", 26),
/** /**
* 电子处方appId * 电子处方appId
*/ */
ELE_PRE_APP_ID("pre_app_id", "电子处方-appId", 27), ELE_PRE_APP_ID("pre_app_id", "电子处方-appId", 27),
/** /**
* 电子处方appSecret * 电子处方appSecret
*/ */
ELE_PRE_APP_SECRET("pre_app_secret", "电子处方-appSecret", 28), ELE_PRE_APP_SECRET("pre_app_secret", "电子处方-appSecret", 28),
/** /**
* 电子处方私钥 * 电子处方私钥
*/ */
ELE_APP_PRVKEY("APP_PRVKEY", "电子处方-私钥", 29), ELE_APP_PRVKEY("APP_PRVKEY", "电子处方-私钥", 29),
/** /**
* 电子处方公钥 * 电子处方公钥
*/ */
ELE_PLAF_PUBKEY("PLAF_PUBKEY", "电子处方-公钥", 30), ELE_PLAF_PUBKEY("PLAF_PUBKEY", "电子处方-公钥", 30),
/** /**
* 医院等级 * 医院等级
*/ */
EINVOICE_HOSPITAL_LV("hospital_lv", "电子发票-医院等级", 39), EINVOICE_HOSPITAL_LV("hospital_lv", "电子发票-医院等级", 39),
/** /**
* 无视LIS&PACS报错 * 无视LIS&PACS报错
*/ */
@@ -161,12 +147,10 @@ public enum TenantOptionDict {
* 电子发票开关 * 电子发票开关
*/ */
INVOICE_SWITCH("invoiceSwitch", "电子发票开关", 56), INVOICE_SWITCH("invoiceSwitch", "电子发票开关", 56),
/** /**
* 医嘱定价来源 * 医嘱定价来源
*/ */
ORDER_PRICING_SOURCE("orderPricingSource", "定价来源 batchSellingPrice/retailPrice", 57), ORDER_PRICING_SOURCE("orderPricingSource", "定价来源 batchSellingPrice/retailPrice", 57),
/** /**
* 三方支付(签到) * 三方支付(签到)
*/ */
@@ -199,7 +183,6 @@ public enum TenantOptionDict {
* 三方支付(消费) * 三方支付(消费)
*/ */
THREE_PART_PAY_MAPPING_METHOD("threePartPayMappingMethod", "三方支付【消费】请求方式", 65), THREE_PART_PAY_MAPPING_METHOD("threePartPayMappingMethod", "三方支付【消费】请求方式", 65),
/** /**
* 三方支付(退费) * 三方支付(退费)
*/ */
@@ -216,7 +199,6 @@ public enum TenantOptionDict {
* 三方支付(退费) * 三方支付(退费)
*/ */
THREE_PART_RETURN_MAPPING_METHOD("threePartReturnMappingMethod", "三方支付【退费】请求方式", 69), THREE_PART_RETURN_MAPPING_METHOD("threePartReturnMappingMethod", "三方支付【退费】请求方式", 69),
/** /**
* 三方支付(隔天退费) * 三方支付(隔天退费)
*/ */
@@ -233,7 +215,6 @@ public enum TenantOptionDict {
* 三方支付(隔天退费) * 三方支付(隔天退费)
*/ */
THREE_PART_NEXT_DAY_RETURN_MAPPING_METHOD("threePartNextDayReturnMappingMethod", "三方支付【隔天退费】请求方式", 73), THREE_PART_NEXT_DAY_RETURN_MAPPING_METHOD("threePartNextDayReturnMappingMethod", "三方支付【隔天退费】请求方式", 73),
/** /**
* 三方支付路径(支付结果查询) * 三方支付路径(支付结果查询)
*/ */
@@ -250,7 +231,6 @@ public enum TenantOptionDict {
* 三方支付(支付结果查询) * 三方支付(支付结果查询)
*/ */
THREE_PART_PAY_QUERY_MAPPING_METHOD("threePartPayQueryMappingMethod", "三方支付【支付结果查询】请求方式", 77), THREE_PART_PAY_QUERY_MAPPING_METHOD("threePartPayQueryMappingMethod", "三方支付【支付结果查询】请求方式", 77),
/** /**
* 三方支付路径(退费结果查询) * 三方支付路径(退费结果查询)
*/ */
@@ -267,7 +247,6 @@ public enum TenantOptionDict {
* 三方支付(退费结果查询) * 三方支付(退费结果查询)
*/ */
THREE_PART_RETURN_QUERY_MAPPING_METHOD("threePartReturnQueryMappingMethod", "三方支付【退费结果查询】请求方式", 81), THREE_PART_RETURN_QUERY_MAPPING_METHOD("threePartReturnQueryMappingMethod", "三方支付【退费结果查询】请求方式", 81),
/** /**
* 三方支付路径(隔天退费结果查询) * 三方支付路径(隔天退费结果查询)
*/ */
@@ -284,8 +263,7 @@ public enum TenantOptionDict {
* 三方支付(隔天退费结果查询) * 三方支付(隔天退费结果查询)
*/ */
THREE_PART_NEXT_DAY_RETURN_QUERY_MAPPING_METHOD("threePartNextDayReturnQueryMappingMethod", "三方支付【隔天退费结果查询】请求方式", THREE_PART_NEXT_DAY_RETURN_QUERY_MAPPING_METHOD("threePartNextDayReturnQueryMappingMethod", "三方支付【隔天退费结果查询】请求方式",
85), 85),
/** /**
* 三方支付(签出) * 三方支付(签出)
*/ */
@@ -302,27 +280,22 @@ public enum TenantOptionDict {
* 三方支付(签出) * 三方支付(签出)
*/ */
THREE_PART_SIGN_OUT_MAPPING_METHOD("threePartSignOutMappingMethod", "三方支付【签出】请求方式", 89), THREE_PART_SIGN_OUT_MAPPING_METHOD("threePartSignOutMappingMethod", "三方支付【签出】请求方式", 89),
/** /**
* 三方支付(签出) * 三方支付(签出)
*/ */
YB_INPATIENT_SETTLEMENT_UP_URL("ybInpatientSetlUp", "选填4101或4101A", 90), YB_INPATIENT_SETTLEMENT_UP_URL("ybInpatientSetlUp", "选填4101或4101A", 90),
/** /**
* PACS查看报告地址 * PACS查看报告地址
*/ */
PACS_REPORT_URL("pacsReportUrl", "PACS查看报告地址", 91), PACS_REPORT_URL("pacsReportUrl", "PACS查看报告地址", 91),
/** /**
* LIS查看报告地址 * LIS查看报告地址
*/ */
LIS_REPORT_URL("lisReportUrl", "LIS查看报告地址", 92), LIS_REPORT_URL("lisReportUrl", "LIS查看报告地址", 92),
/** /**
* 开药时药房允许多选开关 * 开药时药房允许多选开关
*/ */
PHARMACY_MULTIPLE_CHOICE_SWITCH("pharmacyMultipleChoiceSwitch", "开药时药房允许多选开关", 93), PHARMACY_MULTIPLE_CHOICE_SWITCH("pharmacyMultipleChoiceSwitch", "开药时药房允许多选开关", 93),
/** /**
* PEIS服务地址 * PEIS服务地址
*/ */

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,14 +1,14 @@
package com.core.common.utils; package com.core.common.utils;
import java.util.Collection;
import java.util.List;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.core.common.constant.CacheConstants; import com.core.common.constant.CacheConstants;
import com.core.common.core.domain.entity.SysDictData; import com.core.common.core.domain.entity.SysDictData;
import com.core.common.core.redis.RedisCache; import com.core.common.core.redis.RedisCache;
import com.core.common.utils.spring.SpringUtils; 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; package com.core.common.utils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import org.apache.commons.lang3.exception.ExceptionUtils;
/** /**
* 错误信息处理类。 * 错误信息处理类。
* *

View File

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

View File

@@ -1,18 +1,19 @@
package com.core.common.utils; package com.core.common.utils;
import java.io.*; import com.core.common.annotation.Excel;
import java.lang.reflect.Field; import com.core.common.annotation.Excel.ColumnType;
import java.lang.reflect.Method; import com.core.common.annotation.Excel.Type;
import java.lang.reflect.ParameterizedType; import com.core.common.annotation.ExcelExtra;
import java.math.BigDecimal; import com.core.common.annotation.Excels;
import java.text.DecimalFormat; import com.core.common.config.CoreConfig;
import java.time.LocalDate; import com.core.common.core.domain.AjaxResult;
import java.time.LocalDateTime; import com.core.common.core.text.Convert;
import java.util.*; import com.core.common.exception.UtilException;
import java.util.stream.Collectors; import com.core.common.utils.file.FileTypeUtils;
import com.core.common.utils.file.FileUtils;
import javax.servlet.http.HttpServletResponse; import com.core.common.utils.file.ImageUtils;
import com.core.common.utils.poi.ExcelHandlerAdapter;
import com.core.common.utils.reflect.ReflectUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.RegExUtils; import org.apache.commons.lang3.RegExUtils;
import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.commons.lang3.reflect.FieldUtils;
@@ -29,20 +30,17 @@ import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.core.common.annotation.Excel; import javax.servlet.http.HttpServletResponse;
import com.core.common.annotation.Excel.ColumnType; import java.io.*;
import com.core.common.annotation.Excel.Type; import java.lang.reflect.Field;
import com.core.common.annotation.ExcelExtra; import java.lang.reflect.Method;
import com.core.common.annotation.Excels; import java.lang.reflect.ParameterizedType;
import com.core.common.config.CoreConfig; import java.math.BigDecimal;
import com.core.common.core.domain.AjaxResult; import java.text.DecimalFormat;
import com.core.common.core.text.Convert; import java.time.LocalDate;
import com.core.common.exception.UtilException; import java.time.LocalDateTime;
import com.core.common.utils.file.FileTypeUtils; import java.util.*;
import com.core.common.utils.file.FileUtils; import java.util.stream.Collectors;
import com.core.common.utils.file.ImageUtils;
import com.core.common.utils.poi.ExcelHandlerAdapter;
import com.core.common.utils.reflect.ReflectUtils;
/** /**
* Excel相关处理 * Excel相关处理

View File

@@ -1,19 +1,18 @@
package com.core.common.utils; 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.Constants;
import com.core.common.constant.HttpStatus; import com.core.common.constant.HttpStatus;
import com.core.common.core.domain.entity.SysRole; import com.core.common.core.domain.entity.SysRole;
import com.core.common.core.domain.model.LoginUser; import com.core.common.core.domain.model.LoginUser;
import com.core.common.exception.ServiceException; 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; 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.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
@@ -8,18 +18,6 @@ import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; 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; package com.core.common.utils;
import java.util.*;
import org.springframework.util.AntPathMatcher;
import com.core.common.constant.Constants; import com.core.common.constant.Constants;
import com.core.common.core.text.StrFormatter; 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; package com.core.common.utils;
import java.util.concurrent.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.concurrent.*;
/** /**
* 线程相关工具类. * 线程相关工具类.
* *

View File

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

View File

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

View File

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

View File

@@ -1,13 +1,5 @@
package com.core.common.utils.file; 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.config.CoreConfig;
import com.core.common.constant.Constants; import com.core.common.constant.Constants;
import com.core.common.exception.file.FileNameLengthLimitExceededException; 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.DateUtils;
import com.core.common.utils.StringUtils; import com.core.common.utils.StringUtils;
import com.core.common.utils.uuid.Seq; 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; 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.config.CoreConfig;
import com.core.common.utils.DateUtils; import com.core.common.utils.DateUtils;
import com.core.common.utils.StringUtils; import com.core.common.utils.StringUtils;
import com.core.common.utils.uuid.IdUtils; 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; 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.ByteArrayInputStream;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
@@ -7,14 +14,6 @@ import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.util.Arrays; 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; 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.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets; 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工具封装 * 通用http工具封装
* *

View File

@@ -1,5 +1,11 @@
package com.core.common.utils.http; 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.io.*;
import java.net.ConnectException; import java.net.ConnectException;
import java.net.SocketTimeoutException; import java.net.SocketTimeoutException;
@@ -8,14 +14,6 @@ import java.net.URLConnection;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.security.cert.X509Certificate; 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发送方法 * 通用http发送方法
* *

View File

@@ -1,14 +1,13 @@
package com.core.common.utils.ip; package com.core.common.utils.ip;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.core.common.config.CoreConfig; import com.core.common.config.CoreConfig;
import com.core.common.constant.Constants; import com.core.common.constant.Constants;
import com.core.common.utils.StringUtils; import com.core.common.utils.StringUtils;
import com.core.common.utils.http.HttpUtils; 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; 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.ServletUtils;
import com.core.common.utils.StringUtils; import com.core.common.utils.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.UnknownHostException;
/** /**
* 获取IP方法 * 获取IP方法
* *

View File

@@ -1,33 +1,5 @@
package com.core.common.utils.poi; 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;
import com.core.common.annotation.Excel.ColumnType; import com.core.common.annotation.Excel.ColumnType;
import com.core.common.annotation.Excel.Type; 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.FileUtils;
import com.core.common.utils.file.ImageUtils; import com.core.common.utils.file.ImageUtils;
import com.core.common.utils.reflect.ReflectUtils; 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相关处理 * Excel相关处理

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -116,37 +116,40 @@ public class MybatisPlusConfig {
* 获取当前租户 ID * 获取当前租户 ID
*/ */
private Integer getCurrentTenantId() { private Integer getCurrentTenantId() {
Integer result = null;
// 首先尝试从线程局部变量中获取租户ID适用于定时任务等场景 // 首先尝试从线程局部变量中获取租户ID适用于定时任务等场景
Integer threadLocalTenantId = TenantContext.getCurrentTenant(); Integer threadLocalTenantId = TenantContext.getCurrentTenant();
if (threadLocalTenantId != null) { if (threadLocalTenantId != null) {
return threadLocalTenantId; result = threadLocalTenantId;
} } else {
// 获取当前登录用户的租户ID优先使用SecurityUtils中储存的LoginUser的租户ID
// 获取当前登录用户的租户ID优先使用SecurityUtils中储存的LoginUser的租户ID try {
try { if (SecurityUtils.getAuthentication() != null) {
if (SecurityUtils.getAuthentication() != null) { result = SecurityUtils.getLoginUser().getTenantId();
return SecurityUtils.getLoginUser().getTenantId(); }
} catch (Exception e) {
result = 1; // 默认租户ID
} }
} catch (Exception e) {
return 1; // 默认租户ID
}
// 尝试从请求头中获取租户ID if (result == null) {
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); // 尝试从请求头中获取租户ID
if (attributes != null) { ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest(); if (attributes != null) {
// 从请求头获取租户ID假设header名称为"X-Tenant-ID" ; 登录接口前端把租户id放到请求头里 HttpServletRequest request = attributes.getRequest();
String tenantIdHeader = request.getHeader("X-Tenant-ID"); // 从请求头获取租户ID假设header名称为"X-Tenant-ID" ; 登录接口前端把租户id放到请求头里
String requestMethodName = request.getHeader("Request-Method-Name"); String tenantIdHeader = request.getHeader("X-Tenant-ID");
// 登录 String requestMethodName = request.getHeader("Request-Method-Name");
if ("login".equals(requestMethodName)) { // 登录
if (tenantIdHeader != null && !tenantIdHeader.isEmpty()) { if ("login".equals(requestMethodName)) {
return Integer.parseInt(tenantIdHeader); if (tenantIdHeader != null && !tenantIdHeader.isEmpty()) {
result = Integer.parseInt(tenantIdHeader);
}
}
} }
} }
} }
return 1; // 默认租户ID return result != null ? result : 1; // 默认租户ID
} }
} }

View File

@@ -7,7 +7,7 @@ import org.springframework.http.HttpMethod;
import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.ProviderManager; import org.springframework.security.authentication.ProviderManager;
import org.springframework.security.authentication.dao.DaoAuthenticationProvider; import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UserDetailsService;
@@ -27,7 +27,7 @@ import com.core.framework.security.handle.LogoutSuccessHandlerImpl;
* *
* @author system * @author system
*/ */
@EnableMethodSecurity(prePostEnabled = true, securedEnabled = true) @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
@Configuration @Configuration
public class SecurityConfig { public class SecurityConfig {
/** /**

View File

@@ -2,12 +2,17 @@ package com.core.framework.handler;
import java.util.Date; import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.ibatis.reflection.MetaObject; import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component; 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.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.core.common.core.domain.model.LoginUser; import com.core.common.core.domain.model.LoginUser;
import com.core.common.utils.SecurityUtils; import com.core.common.utils.SecurityUtils;
import com.core.framework.config.TenantContext;
@Component @Component
public class MybastisColumnsHandler implements MetaObjectHandler { public class MybastisColumnsHandler implements MetaObjectHandler {
@@ -47,10 +52,40 @@ public class MybastisColumnsHandler implements MetaObjectHandler {
* 获取当前租户 ID * 获取当前租户 ID
*/ */
private Integer getCurrentTenantId() { private Integer getCurrentTenantId() {
// 获取当前登录用户的租户 ID Integer result = null;
if (SecurityUtils.getAuthentication() != null) {
return SecurityUtils.getLoginUser().getTenantId(); // 首先尝试从线程局部变量中获取租户ID适用于定时任务等场景
Integer threadLocalTenantId = TenantContext.getCurrentTenant();
if (threadLocalTenantId != null) {
result = threadLocalTenantId;
} else {
// 获取当前登录用户的租户ID优先使用SecurityUtils中储存的LoginUser的租户ID
try {
if (SecurityUtils.getAuthentication() != null) {
result = SecurityUtils.getLoginUser().getTenantId();
}
} 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 0;
return result != null ? result : 1; // 默认租户ID
} }
} }

View File

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

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.openhis</groupId> <groupId>com.openhis</groupId>
<artifactId>openhis-server</artifactId> <artifactId>openhis-server</artifactId>
@@ -16,6 +16,11 @@
system系统模块 system系统模块
</description> </description>
<properties>
<fastjson2.version>2.0.43</fastjson2.version>
<pinyin4j.version>2.5.1</pinyin4j.version>
</properties>
<dependencies> <dependencies>
<!-- 通用工具--> <!-- 通用工具-->
@@ -29,6 +34,28 @@
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
</dependency> </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> <dependency>
<groupId>io.swagger</groupId> <groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId> <artifactId>swagger-annotations</artifactId>
@@ -40,11 +67,6 @@
<groupId>org.postgresql</groupId> <groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId> <artifactId>postgresql</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>

View File

@@ -76,4 +76,12 @@ public class SysTenant implements Serializable {
*/ */
private String remark; private String remark;
// 手动添加 getter 方法以解决 Lombok 兼容性问题
public String getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(String deleteFlag) {
this.deleteFlag = deleteFlag;
}
} }

View File

@@ -25,7 +25,6 @@
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- Spring 配置 --> <!-- Spring 配置 -->
@@ -35,21 +34,18 @@
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<!-- 领域--> <!-- 领域-->
<dependency> <dependency>
<groupId>com.openhis</groupId> <groupId>com.openhis</groupId>
<artifactId>openhis-domain</artifactId> <artifactId>openhis-domain</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency> </dependency>
<!-- liteflow--> <!-- liteflow-->
<dependency> <dependency>
<groupId>com.yomahub</groupId> <groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId> <artifactId>liteflow-spring-boot-starter</artifactId>
<version>2.12.4.1</version>
</dependency> </dependency>
<!-- junit--> <!-- junit-->
@@ -58,10 +54,11 @@
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba.fastjson2</groupId> <groupId>com.alibaba</groupId>
<artifactId>fastjson2</artifactId> <artifactId>fastjson</artifactId>
<version>2.0.43</version>
<scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
@@ -80,6 +77,7 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.15</version>
<configuration> <configuration>
<fork>true</fork> <!-- 如果没有该配置devtools不会生效 --> <fork>true</fork> <!-- 如果没有该配置devtools不会生效 -->
</configuration> </configuration>
@@ -94,12 +92,22 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId> <artifactId>maven-war-plugin</artifactId>
<version>${maven-war-plugin.version}</version> <version>3.1.0</version>
<configuration> <configuration>
<failOnMissingWebXml>false</failOnMissingWebXml> <failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${project.artifactId}</warName> <warName>${project.artifactId}</warName>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins> </plugins>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>
</build> </build>

View File

@@ -13,6 +13,7 @@ import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableAsync;
import com.openhis.web.ybmanage.config.YbServiceConfig; import com.openhis.web.ybmanage.config.YbServiceConfig;
import com.openhis.administration.domain.Instrument;
/** /**
* 启动程序 * 启动程序
@@ -25,6 +26,14 @@ import com.openhis.web.ybmanage.config.YbServiceConfig;
public class OpenHisApplication { public class OpenHisApplication {
public static void main(String[] args) throws UnknownHostException { public static void main(String[] args) throws UnknownHostException {
// System.setProperty("spring.devtools.restart.enabled", "false"); // System.setProperty("spring.devtools.restart.enabled", "false");
// 测试 Instrument 类加载
// try {
// Class.forName("com.openhis.administration.domain.Instrument");
// System.out.println("Instrument class loaded successfully");
// } catch (ClassNotFoundException e) {
// System.err.println("Failed to load Instrument class: " + e.getMessage());
// }
ConfigurableApplicationContext application = SpringApplication.run(OpenHisApplication.class, args); ConfigurableApplicationContext application = SpringApplication.run(OpenHisApplication.class, args);
Environment env = application.getEnvironment(); Environment env = application.getEnvironment();
String ip = InetAddress.getLocalHost().getHostAddress(); String ip = InetAddress.getLocalHost().getHostAddress();

View File

@@ -1,5 +1,6 @@
package com.openhis.web.basicmanage.controller; package com.openhis.web.basicmanage.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R; import com.core.common.core.domain.R;
import com.core.common.utils.SecurityUtils; import com.core.common.utils.SecurityUtils;
@@ -48,6 +49,7 @@ public class InvoiceController {
// 分页查询发票列表 // 分页查询发票列表
Page<Invoice> page = new Page<>(pageNo, pageSize); Page<Invoice> page = new Page<>(pageNo, pageSize);
return R.ok(invoiceService.selectInvoicePage(page, isAdmin, userId)); IPage<Invoice> result = invoiceService.selectInvoicePage(page, isAdmin, userId);
return R.ok(result);
} }
} }

View File

@@ -53,7 +53,8 @@ public class PatientCardRenewalServiceImpl implements PatientCardRenewalService
// 3. 直接使用患者ID作为查询条件 // 3. 直接使用患者ID作为查询条件
Long patientId = Long.parseLong(request.getPatientId()); Long patientId = Long.parseLong(request.getPatientId());
// 4. 通过患者ID查询现有标识信息 // 4. 通过患者ID查询现有标识信息
PatientIdentifier patientIdentifier = patientIdentifierService.selectByPatientId(patientId); List<PatientIdentifier> patientIdentifiers = patientIdentifierService.selectByPatientId(patientId);
PatientIdentifier patientIdentifier = patientIdentifiers.isEmpty() ? null : patientIdentifiers.get(0);
if (patientIdentifier != null) { if (patientIdentifier != null) {
// 5. 只更新就诊卡号这一个参数 // 5. 只更新就诊卡号这一个参数

View File

@@ -3,6 +3,9 @@
*/ */
package com.openhis.web.chargemanage.appservice.impl; package com.openhis.web.chargemanage.appservice.impl;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
@@ -26,6 +29,7 @@ import com.openhis.common.enums.AdministrativeGender;
import com.openhis.common.enums.ChargeItemContext; import com.openhis.common.enums.ChargeItemContext;
import com.openhis.common.enums.ChargeItemStatus; import com.openhis.common.enums.ChargeItemStatus;
import com.openhis.common.enums.EncounterClass; import com.openhis.common.enums.EncounterClass;
import com.openhis.common.enums.ybenums.YbPayment;
import com.openhis.common.utils.EnumUtils; import com.openhis.common.utils.EnumUtils;
import com.openhis.common.utils.HisQueryUtils; import com.openhis.common.utils.HisQueryUtils;
import com.openhis.web.chargemanage.appservice.IOutpatientChargeAppService; import com.openhis.web.chargemanage.appservice.IOutpatientChargeAppService;
@@ -61,11 +65,11 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi
OutpatientInitDto initDto = new OutpatientInitDto(); OutpatientInitDto initDto = new OutpatientInitDto();
List<OutpatientInitDto.chargeItemStatusOption> chargeItemStatusOptions = new ArrayList<>(); List<OutpatientInitDto.chargeItemStatusOption> chargeItemStatusOptions = new ArrayList<>();
chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.PLANNED.getValue(), chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.PLANNED.getValue(),
ChargeItemStatus.PLANNED.getInfo())); ChargeItemStatus.PLANNED.getInfo()));
chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.BILLABLE.getValue(), chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.BILLABLE.getValue(),
ChargeItemStatus.BILLABLE.getInfo())); ChargeItemStatus.BILLABLE.getInfo()));
chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.BILLED.getValue(), chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.BILLED.getValue(),
ChargeItemStatus.BILLED.getInfo())); ChargeItemStatus.BILLED.getInfo()));
initDto.setChargeItemStatusOptions(chargeItemStatusOptions); initDto.setChargeItemStatusOptions(chargeItemStatusOptions);
return R.ok(initDto); return R.ok(initDto);
} }
@@ -82,17 +86,17 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi
*/ */
@Override @Override
public R<?> getEncounterPatientPage(EncounterPatientPageParam encounterPatientPageParam, String searchKey, public R<?> getEncounterPatientPage(EncounterPatientPageParam encounterPatientPageParam, String searchKey,
Integer pageNo, Integer pageSize, HttpServletRequest request) { Integer pageNo, Integer pageSize, HttpServletRequest request) {
// 构建查询条件 // 构建查询条件
QueryWrapper<EncounterPatientPageParam> queryWrapper = HisQueryUtils.buildQueryWrapper( QueryWrapper<EncounterPatientPageParam> queryWrapper = HisQueryUtils.buildQueryWrapper(
encounterPatientPageParam, searchKey, encounterPatientPageParam, searchKey,
new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr, new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr,
CommonConstants.FieldName.PatientName, CommonConstants.FieldName.PatientBusNo, CommonConstants.FieldName.PatientName, CommonConstants.FieldName.PatientBusNo,
CommonConstants.FieldName.EncounterBusNo, CommonConstants.FieldName.IdCard)), CommonConstants.FieldName.EncounterBusNo, CommonConstants.FieldName.IdCard)),
request); request);
// 就诊患者分页列表 // 就诊患者分页列表
Page<EncounterPatientPageDto> encounterPatientPage = outpatientChargeAppMapper Page<EncounterPatientPageDto> encounterPatientPage = outpatientChargeAppMapper
.selectEncounterPatientPage(new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.AMB.getValue()); .selectEncounterPatientPage(new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.AMB.getValue());
encounterPatientPage.getRecords().forEach(e -> { encounterPatientPage.getRecords().forEach(e -> {
// 性别枚举 // 性别枚举
@@ -113,13 +117,13 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi
*/ */
@Override @Override
public List<EncounterPatientPrescriptionDto> getEncounterPatientPrescription(Long encounterId) { public List<EncounterPatientPrescriptionDto> getEncounterPatientPrescription(Long encounterId) {
List<EncounterPatientPrescriptionDto> prescriptionDtoList = List<EncounterPatientPrescriptionDto> prescriptionDtoList
outpatientChargeAppMapper.selectEncounterPatientPrescription(encounterId, = outpatientChargeAppMapper.selectEncounterPatientPrescription(encounterId,
ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.MEDICATION.getValue(),
ChargeItemContext.DEVICE.getValue(), ChargeItemContext.REGISTER.getValue(), ChargeItemContext.DEVICE.getValue(), ChargeItemContext.REGISTER.getValue(),
ChargeItemStatus.PLANNED.getValue(), ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.PLANNED.getValue(), ChargeItemStatus.BILLABLE.getValue(),
ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDING.getValue(), ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDING.getValue(),
ChargeItemStatus.REFUNDED.getValue(), ChargeItemStatus.PART_REFUND.getValue()); ChargeItemStatus.REFUNDED.getValue(), ChargeItemStatus.PART_REFUND.getValue());
prescriptionDtoList.forEach(e -> { prescriptionDtoList.forEach(e -> {
// 收费状态枚举 // 收费状态枚举
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(ChargeItemStatus.class, e.getStatusEnum())); e.setStatusEnum_enumText(EnumUtils.getInfoByValue(ChargeItemStatus.class, e.getStatusEnum()));
@@ -138,7 +142,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi
// 获取就诊患者的自费账户id // 获取就诊患者的自费账户id
Long accountId = accountService.getSelfPayAccount(encounterId); Long accountId = accountService.getSelfPayAccount(encounterId);
if (accountId == null) { if (accountId == null) {
return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[] {"自费账户"})); return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[]{"自费账户"}));
} }
// 医保转自费 // 医保转自费
boolean result = chargeItemService.updateAccountType(encounterId, accountId); boolean result = chargeItemService.updateAccountType(encounterId, accountId);
@@ -159,7 +163,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi
// 获取就诊患者的医保账户id // 获取就诊患者的医保账户id
Long accountId = accountService.getMedicalInsuranceAccount(encounterId); Long accountId = accountService.getMedicalInsuranceAccount(encounterId);
if (accountId == null) { if (accountId == null) {
return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[] {"医保账户"})); return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[]{"医保账户"}));
} }
// 自费转医保 // 自费转医保
boolean result = chargeItemService.updateAccountType(encounterId, accountId); boolean result = chargeItemService.updateAccountType(encounterId, accountId);
@@ -180,7 +184,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi
// 获取就诊患者的学生自费账户id // 获取就诊患者的学生自费账户id
Long accountId = accountService.getStudentSelfAccount(encounterId); Long accountId = accountService.getStudentSelfAccount(encounterId);
if (accountId == null) { if (accountId == null) {
return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[] {"医保账户"})); return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[]{"医保账户"}));
} }
// 自费转医保 // 自费转医保
boolean result = chargeItemService.updateAccountType(encounterId, accountId); boolean result = chargeItemService.updateAccountType(encounterId, accountId);
@@ -201,7 +205,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi
// 获取就诊患者的学生医保账户id // 获取就诊患者的学生医保账户id
Long accountId = accountService.getStudentYbAccount(encounterId); Long accountId = accountService.getStudentYbAccount(encounterId);
if (accountId == null) { if (accountId == null) {
return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[] {"医保账户"})); return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[]{"医保账户"}));
} }
// 自费转医保 // 自费转医保
boolean result = chargeItemService.updateAccountType(encounterId, accountId); boolean result = chargeItemService.updateAccountType(encounterId, accountId);
@@ -210,4 +214,67 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi
} }
return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)); return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null));
} }
/**
* 根据就诊id查询患者处方列表并新增字段应收金额实收金额优惠金额折扣率
*
* @param encounterId 就诊id
* @return 患者处方列表
*/
@Override
public List<EncounterPatientPrescriptionDto> getEncounterPatientPrescriptionWithPrice(Long encounterId) {
List<EncounterPatientPrescriptionDto> prescriptionDtoList = outpatientChargeAppMapper
.selectEncounterPatientPrescriptionWithPrice(encounterId, ChargeItemContext.ACTIVITY.getValue(),
ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(),
ChargeItemContext.REGISTER.getValue(), ChargeItemStatus.PLANNED.getValue(),
ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(),
ChargeItemStatus.REFUNDING.getValue(), ChargeItemStatus.REFUNDED.getValue(),
ChargeItemStatus.PART_REFUND.getValue(), YbPayment.DISCOUNT_PAY.getValue(),
YbPayment.SELF_CASH_VALUE.getValue(), YbPayment.SELF_CASH_VX_VALUE.getValue(),
YbPayment.SELF_CASH_ALI_VALUE.getValue(), YbPayment.SELF_CASH_UNION_VALUE.getValue());
prescriptionDtoList.forEach(e -> {
// 应收金额
BigDecimal receivableAmount = e.getReceivableAmount();
// 实收金额
BigDecimal receivedAmount = e.getReceivedAmount();
// 计算折扣率
BigDecimal discountRate = BigDecimal.ONE;
if (receivableAmount.compareTo(BigDecimal.ZERO) > 0 && receivedAmount.compareTo(BigDecimal.ZERO) > 0
&& receivableAmount.compareTo(receivedAmount) > 0) {
discountRate = receivedAmount.divide(receivableAmount, 2, RoundingMode.HALF_UP);
}
e.setDiscountRate(this.returnDiscountRate(discountRate));
// 收费状态枚举
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(ChargeItemStatus.class, e.getStatusEnum()));
});
return prescriptionDtoList;
}
/**
* 调整折扣率
*
* @param discountRate 折扣率
* @return 调整后的折扣率0.05的倍数)
*
*/
private String returnDiscountRate(BigDecimal discountRate) {
BigDecimal compareValue = BigDecimal.valueOf(0.05);
BigDecimal remainder = discountRate.remainder(compareValue);
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(0);
df.setMaximumFractionDigits(2);
// 比较余数若为0则数据为0.05倍数,否则需要再次四舍五入
if (remainder.compareTo(BigDecimal.ZERO) == 0) {
return df.format(discountRate);
} else {
// 再次四舍五入
BigDecimal reActuarial = BigDecimal.ZERO;
if (remainder.compareTo(BigDecimal.valueOf(CommonConstants.UtilMethodConstant.THRESHOLD_VALUE)) > 0) {
reActuarial = discountRate.add(compareValue.subtract(remainder));
} else {
reActuarial = discountRate.subtract(remainder);
}
return df.format(reActuarial);
}
}
} }

View File

@@ -16,7 +16,9 @@ import lombok.experimental.Accessors;
@Accessors(chain = true) @Accessors(chain = true)
public class CurrentDayEncounterDto { public class CurrentDayEncounterDto {
/** 租户ID */ /**
* 租户ID
*/
private Integer tenantId; private Integer tenantId;
/** /**
@@ -135,39 +137,4 @@ public class CurrentDayEncounterDto {
*/ */
private String phone; private String phone;
/**
* 退号日期/时间
*/
private Date returnDate;
/**
* 退号原因
*/
private String returnReason;
/**
* 退号操作人
*/
private String operatorName;
/**
* 退号操作工号(用户账号)
*/
private String operatorId;
/**
* 退款金额
*/
private BigDecimal refundAmount;
/**
* 合同编码(费用性质代码)
*/
private String contractNo;
/**
* 退款方式(多个支付方式用逗号分隔)
*/
private String refundMethod;
} }

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