feat: 会议材料上传/发票OCR识别/用户管理增强 + 日志降噪 + 薪亿通接口规范
- 会议/劳务材料支持直接上传与提交审核 (BizMeetingMaterial 等) - 发票 OCR 识别增强 (InvoiceOcrService) - 现场照片/证书批量导入覆盖式回填 (ExcelUtil/AttendeeImportVo/CameraQrUpload) - 用户管理增强、超级管理员校验与权限拒绝处理 (SuperManagerChecker/AccessDeniedHandlerImpl) - 日志级别调整为 info/warn (生产降噪) - 新增薪亿通·个人票税接口规范文档 (自然人开票服务分册 + 轻量化对接分册) - .gitignore 排除 key.txt/*.rdb/*.key/tmp/opt 等敏感与本地文件 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -239,6 +239,16 @@ public interface ISysUserService
|
||||
*/
|
||||
public int updateRoleType(Long userId, String roleType);
|
||||
|
||||
/**
|
||||
* 切换合规人员(manager)的「全局管理员」标记 (复用 account_type: MAIN=全局管理员可见全量 / SUB=普通合规员只看本人创建).
|
||||
* 仅对 role_type=manager 生效, 其它角色抛异常 (executor/sponsor 的 account_type 走「更换管理员」流程).
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param accountType 'MAIN' / 'SUB'
|
||||
* @return 影响行数
|
||||
*/
|
||||
public int updateManagerAdmin(Long userId, String accountType);
|
||||
|
||||
/**
|
||||
* 导入用户数据
|
||||
*
|
||||
|
||||
+22
@@ -231,6 +231,28 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
return userMapper.updateRoleType(userId, roleType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 切换合规人员(manager)的「全局管理员」标记 (复用 account_type).
|
||||
* 仅 manager 可切; parent_user_id 保持 NULL (manager 的 SUB 只是「受限」标记, 非真子账号).
|
||||
* null 相当于 SUB (普通合规员), 兼容历史 null 数据.
|
||||
*/
|
||||
@Override
|
||||
public int updateManagerAdmin(Long userId, String accountType)
|
||||
{
|
||||
SysUser target = userMapper.selectUserById(userId);
|
||||
if (target == null)
|
||||
{
|
||||
throw new ServiceException("用户不存在");
|
||||
}
|
||||
if (!"manager".equals(target.getRoleType()))
|
||||
{
|
||||
throw new ServiceException("仅合规人员可切换全局管理员");
|
||||
}
|
||||
// 仅 MAIN 视为全局管理员; 其余 (null / SUB / '') 一律归一为 SUB
|
||||
String effective = "MAIN".equals(accountType) ? "MAIN" : "SUB";
|
||||
return userMapper.updateAccountType(userId, effective, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验手机号是否已注册
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user