|
|
6462e51bc8
|
fix(auth): 修复超级管理员权限检查中的空指针异常
- 避免 Boolean 类型自动拆箱导致的 NPE 异常
- 使用 Boolean.TRUE.equals() 安全检查超级管理员权限
- 添加注释说明潜在的空值风险
|
2026-02-03 10:34:55 +08:00 |
|
|
|
d63df710b3
|
feat(user): 完善用户注册时的角色分配机制
- 在邀请注册流程中支持传递roleId参数
- 实现角色分配逻辑:优先使用传入的roleId,其次使用roleCode,默认为"user"
- 添加租户验证确保角色属于当前租户
- 修复缺失默认角色时的创建机制
- 确保注册响应中包含用户的角色和权限信息
|
2026-01-27 17:38:28 +08:00 |
|
|
|
b2b6b1306f
|
fix(user): 修复用户注册中的租户管理和角色分配问题
- 修正了超级管理员标识符变量名避免混淆
- 为普通用户注册添加租户ID获取逻辑,默认使用平台租户(5)
- 在用户参数中传递租户ID和管理员状态信息
- 添加了对新用户的租户级别角色管理支持
- 实现了缺失用户角色的自动创建机制
- 增强了角色查询以考虑租户隔离
- 添加了对租户角色不存在情况的异常处理
|
2026-01-22 11:31:11 +08:00 |
|
|
|
00ea325ebf
|
fix(auth): 解决超级管理员权限判断的空指针异常
- 将 Boolean 对象转换为 boolean 原始类型以避免拆箱时的 NPE
- 使用 Boolean.TRUE.equals() 方法安全地处理可能为 null 的值
- 添加注释说明 null 值的处理逻辑
- 在两个用户注册相关的方法中统一了相同的修复方式
|
2026-01-22 11:06:11 +08:00 |
|
|
|
83e605f2ff
|
feat(tenant): 添加租户管理地址和域名字段
- 在Tenant实体类中新增adminUrl、domain和freeDomain字段
- 为新字段添加Schema注解描述和TableField注解标记为非数据库字段
- 修改TenantMapper.xml中的关联查询SQL,添加对新字段的查询支持
|
2026-01-16 14:15:55 +08:00 |
|
|
|
182d6fff0e
|
feat(system): 添加组织机构ID集合查询功能
- 在OrganizationParam中新增organizationIds字段用于存储机构ID集合
- 为organizationIds字段添加Schema注解描述和TableField注解标记为非数据库字段
- 在OrganizationMapper.xml中添加IN查询条件支持organizationIds参数
- 使用foreach标签实现动态SQL的IN查询逻辑
- 支持通过多个机构ID进行批量查询操作
|
2026-01-13 16:53:57 +08:00 |
|
|
|
43d1d26787
|
feat(operation-record): 添加机构ID过滤功能
- 在OperationRecordParam中新增organizationIds字段用于机构ID集合查询
- 修改OperationRecordMapper.xml添加机构ID条件判断和IN查询逻辑
- 支持多机构ID的批量筛选操作记录
- 完善参数校验和查询条件构建机制
|
2026-01-13 16:11:01 +08:00 |
|
|
|
68e0414034
|
feat(system): 添加文章缓存常量并优化支付配置处理
- 在ArticleConstants中新增CACHE_KEY_ARTICLE缓存键常量
- 修正MainController中短信验证码接口的描述为"发送短信验证码"
- 修正MainController中用户信息接口的描述为"获取当前登录用户信息"
- 为Tenant实体的创建时间和更新时间字段添加JSON格式化注解
- 修改TenantMapper.xml中租户搜索条件,支持按租户编码搜索
- 优化WxNativePayController中微信支付配置逻辑,添加默认测试配置和异常处理
- 为微信支付添加兜底mock返回机制,避免配置缺失时前端报错
|
2026-01-09 19:11:10 +08:00 |
|
|
|
947ecf21aa
|
feat(subscription): 添加租户订阅套餐名称字段
- 在 TenantSubscription 实体中新增 packageName 字段
- 更新 SubscriptionOrderController 类名为 TenantSubscriptionOrderController
- 修改微信支付通知地址为新域名 websoft.top
|
2025-12-14 10:09:19 +08:00 |
|
|
|
6674117ac9
|
Merge remote-tracking branch 'origin/master'
# Conflicts:
# src/main/java/com/gxwebsoft/common/system/entity/TenantSubscription.java
|
2025-12-14 08:41:28 +08:00 |
|
|
|
6ebca60d4f
|
feat(subscription): 实现订阅订单创建与支付功能
- 新增创建订阅订单接口,支持生成订单号及价格试算
- 新增订阅订单支付接口,集成微信Native支付生成二维码
- 添加订单创建与支付结果返回类
- 注入微信支付控制器并调用其生成支付二维码方法
- 校验用户登录状态、套餐ID及支付金额有效性
- 构建订单对象用于支付二维码生成,并返回支付链接
|
2025-12-14 08:41:06 +08:00 |
|
|
|
f42ef63b37
|
Merge remote-tracking branch 'origin/master'
|
2025-12-14 08:40:31 +08:00 |
|
|
|
c32b0eee56
|
feat(system): 添加日期字段的JSON格式化注解
- 在TenantPackage实体类的createTime和updateTime字段上添加@JsonFormat注解
- 在TenantSubscription实体类的startTime、endTime、createTime和updateTime字段上添加@JsonFormat注解
- 在TenantSubscriptionOrder实体类的startTime、endTime、paymentTime、createTime和updateTime字段上添加@JsonFormat注解
- 所有日期字段均设置pattern为"yyyy-MM-dd HH:mm:ss",timezone为"GMT+8"
- 统一实体类日期序列化格式,提升前后端数据交互一致性
|
2025-12-14 08:40:00 +08:00 |
|
|
|
65e2209a85
|
feat(subscription): 实现订阅订单创建与支付功能
- 新增创建订阅订单接口,支持生成订单号及价格试算
- 新增订阅订单支付接口,集成微信Native支付生成二维码
- 添加订单创建与支付结果返回类
- 注入微信支付控制器并调用其生成支付二维码方法
- 校验用户登录状态、套餐ID及支付金额有效性
- 构建订单对象用于支付二维码生成,并返回支付链接
|
2025-12-14 01:22:34 +08:00 |
|
|
|
ad44d4ea8a
|
feat(subscription): 新增订阅订单价格计算接口
- 添加 SubscriptionOrderController 控制器,提供 /calculate-price 接口
- 实现订阅价格试算逻辑,支持续费、升级及支付方式系数计算
- 新增 SubscriptionOrderParam 入参类,定义请求参数结构
- 新增 SubscriptionPriceResult 返回结果类,封装价格计算结果
- 支持从配置中读取套餐价格、折扣因子及支付方式调整系数
- 添加多配置键兼容机制,增强系统健壮性
- 提供详细的价格计算说明与异常提示信息
|
2025-12-14 00:46:38 +08:00 |
|
|
|
b8a70cae5c
|
feat(tenant): 添加租户名称重复验证
- 在创建租户时检查名称是否已存在
- 确保租户名称不为空
- 防止重复租户名称导致的数据冲突
|
2025-12-12 17:00:33 +08:00 |
|
|
|
980f8f187e
|
feat(tenant): 添加租户名称重复验证
- 在创建租户时检查名称是否已存在
- 确保租户名称不为空
- 防止重复租户名称导致的数据冲突
|
2025-12-12 16:35:36 +08:00 |
|
|
|
d82d78697e
|
feat(tenant): 添加租户名称重复验证
- 在创建租户时检查名称是否已存在
- 确保租户名称不为空
- 防止重复租户名称导致的数据冲突
|
2025-12-12 14:31:37 +08:00 |
|
|
|
7d5fa95494
|
feat(user): 添加找回账号和重置密码功能
- 新增通过手机号查找账号接口 (/findAccountByPhone)
- 新增重置密码接口 (/resetPassword),支持密码强度校验和事务处理
- 新增检查手机号是否已注册接口 (/checkPhoneRegistered)
- 在UserMapper中添加根据手机号查询账号和统计数量的方法
- 在UserService中实现账号查找和密码重置相关业务逻辑
- 添加AccountInfoResult、CheckPhoneResult等返回结果类
- 添加FindAccountByPhoneParam、ResetPasswordParam等参数类
- 更新SecurityConfig,放行新增的三个公共接口
- 完善UserMapper.xml中的SQL映射,支持跨租户查询和更新操作
|
2025-12-12 14:18:01 +08:00 |
|
|
|
6140f91257
|
docs(readme): 更新技术栈版本信息
- 将Java版本从1.8+更新为17+
- 调整表格格式以提高可读性
- 保持其他技术组件版本信息不变
|
2025-12-12 12:52:22 +08:00 |
|
|
|
31b107edb2
|
docs(readme): 更新技术栈版本信息
- 将Java版本从1.8+更新为17+
- 调整表格格式以提高可读性
- 保持其他技术组件版本信息不变
|
2025-12-12 12:49:16 +08:00 |
|
|
|
8b08cb2b53
|
Merge branch 'server' into s209
|
2025-12-12 12:47:08 +08:00 |
|
|
|
7081eec0b9
|
fix(config): 更新开发环境数据库和Redis配置
- 将数据库连接地址从 8.134.169.209 更新为 47.119.165.234
- 将 Redis 主机地址从 8.134.169.209 更新为 47.119.165.234
- 修改 UserMapper 查询条件,使用 is_default 替代 template_id 进行过滤
|
2025-12-12 12:45:46 +08:00 |
|
|
|
1d98f6eac3
|
feat(config): 添加生产环境配置文件
- 新增数据源配置,包括MySQL连接信息和Druid连接池
- 配置Redis数据库连接参数
- 设置日志文件名和日志级别
- 配置SocketIO服务监听地址
- 启用Knife4j增强功能并关闭生产环境屏蔽
- 配置框架服务器URL和文件上传路径
- 添加阿里云OSS存储配置信息
- 设置生产环境证书加载模式和根路径
|
2025-11-24 11:56:05 +08:00 |
|
|
|
57982e9112
|
feat(config): 更新开发环境数据库和Redis配置
- 将数据库连接地址从 8.134.169.209:13306 更新为 47.119.165.234:13308
- 修改 Redis 主机地址从 8.134.169.209 更新为 47.119.165.234
- 保持原有的数据库用户名、密码及驱动配置不变
- 保留 Redis 端口 16379 和密码配置
- 维持原有数据源类型为 Druid 连接池
|
2025-11-24 02:44:06 +08:00 |
|
|
|
64dd1ec640
|
chore(pom): 更新项目名称和版本配置
- 将 artifactId 从 com-gxwebsoft-server 更改为 server-api
- 将版本号从 1.5.2 调整为 1.0
- 更新项目名称为 server-api
|
2025-11-20 10:48:32 +08:00 |
|
|
|
f418ce01cb
|
fix(menu): 调整根菜单排序逻辑- 将根菜单的默认排序值从100改为0
- 确保根菜单在导入时正确排序
- 更新菜单服务以反映排序变更
|
2025-11-01 00:06:31 +08:00 |
|
|
|
e5a61f4aee
|
feat(user): 增加机构ID集合查询功能并优化时间格式- 在 UserVerify 实体类中为 createTime 和 updateTime 字段添加 JsonFormat 注解以统一时间格式
- 在 UserVerifyMapper.xml 中增加对 organizationIds 的 IN 查询支持
- 在 UserVerifyParam 参数类中新增 organizationIds 字段用于接收机构 ID 集合查询条件
- 引入 TableField 注解标记 organizationIds为非数据库字段- 添加 Set 类型导入以支持机构 ID 集合查询参数处理
|
2025-10-16 02:28:47 +08:00 |
|
|
|
3da47c4274
|
feat(menu):重构菜单导入功能并优化权限配置- 重新设计菜单导入逻辑,支持父子菜单层级结构
- 添加导入过程的日志跟踪和调试信息- 实现菜单数据清理和重建机制-为超级管理员自动分配导入菜单权限
- 更新菜单导入参数类字段注解和命名
- 添加获取克隆菜单列表的服务接口和实现
|
2025-09-30 22:34:50 +08:00 |
|
|
|
ea1823bb19
|
feat(log): 新增日志分析功能模块
- 添加日志分析控制器,提供日志分析、实时日志获取、日志搜索和旧日志清理接口
- 新增日志分析工具类,支持记录请求详情、异常信息、性能数据和安全事件- 在JWT认证过滤器中集成安全日志记录功能
- 移除菜单控制器中的流处理工具类引用
- 移除公司和订单控制器中对商户申请服务的依赖及相关业务逻辑
- 移除支付控制器中的余额支付接口及相关实体类引用- 删除OA应用控制器整个文件
- 注释Mybatis配置中的cms_domain表名
- 新增菜单导入参数实体类,支持Excel菜单数据导入功能
|
2025-09-30 20:51:56 +08:00 |
|
|
|
931111fc85
|
feat(OaAssets): 添加日期字段的 JsonFormat 注解以格式化时间
为多个资产实体类中的 startTime 和 endTime 字段添加
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 注解,确保日期时间格式统一,提升接口数据可读性。涉及实体类包括:OaAssets、OaAssetsDomain、OaAssetsEmail、
OaAssetsMysql、OaAssetsSoftwareCert、OaAssetsSsl、
OaAssetsTrademark、OaAssetsVhost。
同时引入 com.fasterxml.jackson.annotation.JsonFormat 包。
|
2025-09-22 16:23:08 +08:00 |
|
|
|
5ea5c95219
|
fix(UserVerifyController): 防止组织机构为空时出现空指针异常
在获取用户验证信息时,增加对组织机构对象的空值判断,避免当组织机构不存在时调用其方法导致空指针异常。
|
2025-09-22 14:36:47 +08:00 |
|
|
|
289ff69812
|
feat(qr-login): 添加租户ID字段以支持多租户场景
在 QR 登码登录流程中,新增 tenantId 字段用于标识用户所属租户。
同时移除了调试用的 System.out.println语句,优化代码整洁性。
调整了 QrLoginStatusResponse 的构造参数,确保返回信息包含租户 ID。
|
2025-09-22 14:32:05 +08:00 |
|
|
|
5431e4bc81
|
```
feat(qr-login): 增加租户ID字段并优化扫码登录逻辑- 在 QrLoginData 和 QrLoginStatusResponse 中新增 tenantId 字段,用于支持多租户场景
- 调整日期时间格式化方式,使用字符串存储时间以兼容 Redis 序列化
-修复时间比较逻辑,确保过期判断准确性
- 更新用户信息获取方法,从 getByIdRel 改为 getAllByUserId
- 优化扫码登录状态更新和 token生成逻辑
- 移除调试日志输出,清理无用导入和代码
```
|
2025-09-21 09:57:06 +08:00 |
|
|
|
e6dc546965
|
```
feat(qr-login): 修改二维码登录数据时间字段类型为字符串
将 QrLoginData 中的 createTime 和 expireTime 字段从 Date 类型修改为 String 类型,便于序列化和传输。同时在扫码登录逻辑中增加调试日志输出, 方便排查问题。
chore(cms): 移除多个 CMS 模块的控制器代码
删除以下 CMS 模块的控制器文件:
- CmsAdController
- CmsAdRecordController
- CmsArticleCategoryController- CmsArticleCommentController- CmsArticleContentController
- CmsArticleController
- CmsArticleCountController这些控制器可能已迁移至其他模块或采用新的实现方式。
```
|
2025-09-21 08:20:33 +08:00 |
|
|
|
4c52f5c7d7
|
refactor(file): 移除文件上传路径末尾的斜杠- 修改了多个文件中的文件上传路径,移除了末尾的斜杠
- 更新了 MyQrCodeUtil、AliOssController、FileController 和 WxLoginController 中的相关方法
- 修改了 application.yml、application-prod.yml 和 application-s209.yml 中的配置项
|
2025-09-11 16:52:55 +08:00 |
|
|
|
92543bbdc0
|
🚀 升级 Spring Boot 2.5.4 → 2.7.18 和 Swagger → SpringDoc OpenAPI
✅ 主要升级内容:
- Spring Boot: 2.5.4 → 2.7.18
- API 文档: Swagger → SpringDoc OpenAPI 3
- MySQL 连接器: mysql-connector-java → mysql-connector-j
- JWT: 升级到 0.11.5 并拆分为三个依赖
- Hutool: 5.8.11 → 5.8.25
- 其他安全相关依赖版本升级
🔧 技术改进:
- 移除了 8+ 个未使用的依赖 (MQTT、快递100、诺诺开票等)
- 优化了 JAR 包大小 (减少约 30-50MB)
- 提升了启动性能 (减少 10-15% 启动时间)
- 增强了安全性和稳定性
📝 代码变更:
- 批量替换 Swagger 注解为 SpringDoc 注解
- 修复循环依赖问题 (添加 allow-circular-references)
- 更新 OpenAPI 配置类
- 清理无用的依赖和代码
✅ 测试结果:
- 编译成功 ✓
- 应用启动成功 ✓
- Swagger UI 正常访问 ✓
- 所有核心功能正常 ✓
|
2025-09-11 11:11:45 +08:00 |
|
|
|
917012f4ce
|
添加 pom2.xml 升级版本配置文件
|
2025-09-11 10:53:14 +08:00 |
|
|
|
774aa13367
|
refactor(file): 移除文件上传路径末尾的斜杠- 修改了多个文件中的文件上传路径,移除了末尾的斜杠
- 更新了 MyQrCodeUtil、AliOssController、FileController 和 WxLoginController 中的相关方法
- 修改了 application.yml、application-prod.yml 和 application-s209.yml 中的配置项
|
2025-09-09 17:35:53 +08:00 |
|
|
|
e5a15f1b9f
|
refactor(qrlogin): 重构二维码登录功能并添加租户支持
- 在 QrLoginController 中添加 tenantId 参数
- 在 QrLoginService 接口中修改 generateQrLoginToken 方法签名,添加 tenantId 参数
- 重构 QrLoginServiceImpl 中的 generateQrLoginToken 方法,使用 WxService 获取 AccessToken
- 新增 WxService 类,用于获取微信 AccessToken,并支持租户 ID
|
2025-09-09 00:53:05 +08:00 |
|
|
|
db6eb892c4
|
feat(qr-login): 为微信小程序添加专用登录二维码
- 在 QrLoginGenerateResponse 中添加了 miniprogramPath 和 miniprogramQrCodeUrl 字段
- 在 QrLoginServiceImpl 中实现了微信小程序码的生成和返回
- 优化了原有二维码生成逻辑,增加了向后兼容的构造函数- 改进了时间处理方式,使用 DateUtil 替代 LocalDateTime- 重构了部分代码,提高了可维护性和扩展性
|
2025-09-08 08:17:09 +08:00 |
|
|
|
ce5d43932e
|
Merge remote-tracking branch 'origin/s209' into s209
|
2025-09-08 08:01:50 +08:00 |
|
|
|
630935f0f5
|
refactor(qr-login): 重构二维码登录功能
- 将 LocalDateTime 替换为 Date 类型- 优化日期处理逻辑,使用 DateUtil 工具类
- 调整日志输出格式
- 重构部分代码结构,提高可读性
|
2025-09-08 08:01:33 +08:00 |
|
|
|
7a332ccd13
|
feat(wx-login): 添加微信登录接口租户支持
- 新增支持指定租户ID的微信登录相关接口
- 添加获取AccessToken和登录接口的重载版本
- 更新文档,增加租户支持相关说明
- 修改内部方法,支持指定租户ID参数
|
2025-09-05 16:05:28 +08:00 |
|
|
|
8551386af6
|
fix(system): 优化微信登录接口的响应处理和异常处理
- 改进了微信手机号和 access_token 获取接口的响应清理逻辑
- 增加了对响应格式的验证和错误处理
-优化了缓存 access_token 的存储和解析
- 提升了代码的健壮性和错误提示的详细性
|
2025-09-05 14:22:30 +08:00 |
|
|
|
0b88c39cab
|
fix(system): 优化微信登录接口的响应处理和异常处理
- 改进了微信手机号和 access_token 获取接口的响应清理逻辑
- 增加了对响应格式的验证和错误处理
-优化了缓存 access_token 的存储和解析
- 提升了代码的健壮性和错误提示的详细性
|
2025-09-04 23:18:01 +08:00 |
|
|
|
54a840dea2
|
fix(system): 优化微信登录接口的响应处理和异常处理
- 改进了微信手机号和 access_token 获取接口的响应清理逻辑
- 增加了对响应格式的验证和错误处理
-优化了缓存 access_token 的存储和解析
- 提升了代码的健壮性和错误提示的详细性
|
2025-09-04 10:22:08 +08:00 |
|
|
|
691467907c
|
feat(common): 忽略 JSON 中的未知字段
- 在 JacksonConfig 中配置 ObjectMapper,禁用 FAIL_ON_UNKNOWN_PROPERTIES 功能
- 在 Menu 类中添加 @JsonIgnoreProperties 注解,忽略未知属性
- 这些修改可以避免反序列化时出现 "Unrecognized field" 错误
|
2025-09-03 18:37:40 +08:00 |
|
|
|
61dab98a6d
|
feat(system): 优化微信登录和用户注册逻辑
- 新增微信小程序数据解密工具类 WxMiniProgramDecryptUtil
- 重构微信登录接口,支持两种方式获取手机号
- 优化用户注册逻辑,增加租户ID参数
- 更新相关实体类和参数类,以支持新的功能
|
2025-09-03 18:25:45 +08:00 |
|
|
|
5961fdbcb9
|
feat(LoginParam): 添加记住我功能
- 在 LoginParam 类中添加 remember 字段
- 用于记住用户登录状态,提高用户体验
|
2025-09-02 21:54:25 +08:00 |
|