Commit Graph
426 Commits
Author SHA1 Message Date
wanghao a835b874ad fix(message): notice_role仅用于菜单可见,列表只可查看本人创建
- applyAdminPermissionFilter 白名单移除 notice_role,使其落入兜底分支
- 兜底过滤字段由 loginUser.getId() 修正为 getUsername(),对齐 createBy 存储
2026-08-10 16:36:30 +08:00
wanghao b6058c5f80 feat(message): 消息通知列表权限白名单加入notice_role + 兜底本人创建可见 2026-08-10 16:03:30 +08:00
pengjie 245cffecb0 fix: 清除因PowerShell Set-Content引入的UTF-8 BOM字符 2026-08-10 10:21:23 +08:00
pengjie b7525d6c7c fix: 修复表重命名脚本语法,改用达梦兼容的 ALTER TABLE RENAME TO 2026-08-10 10:17:16 +08:00
pengjie 1ad322c16a refactor: 缩短急救宣教相关表名 QH_EME_FIRST_AID_* -> QH_EME_FIR_AID_*,解决表名超长问题 2026-08-10 10:14:40 +08:00
lianlonggang d08d20f1ee style(all): 去客户化处理 2026-08-06 17:47:04 +08:00
pengjieandClaude c260b1d79b style: AsyncExportService import合并为通配符
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 09:57:28 +08:00
pengjieandClaude 1028a4e4e1 fix: SysUserServiceImpl注入ISysBaseAPI产生循环依赖,加@Lazy解决
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 09:12:37 +08:00
pengjieandClaude 4a15ebe0d2 feat: 补充IM个人资料同步 + 群成员头像导入修复
1. 在8处头像/名称变更点补充imHelloApi.accountReg()调用,同步更新IM个人资料:
   - SysUserController.updateUserAvatar 用户换头像
   - SysUserController.appEdit 移动端编辑资料
   - SysUserController.edit 后台编辑用户
   - EmergencyProfessionUserServiceImpl.customEdit 应急人员编辑
   - EmergencyCenterAdminServiceImpl.updateAdmin 中心管理员编辑
   - HealthUserEmployeeExServiceImpl.updateUserInfo 员工编辑
   - ConDoctorApiController.update 专家端个人简介修改
   - AsyncExportService.importDoctor 批量导入医生
   所有syncImProfile方法内部try-catch兜底,失败不影响主流程。
2. AddGroupMemberDTO新增memberAvatar字段,TencentCloudImUtil.addGroupMember
   导入IM账号时传递FaceUrl,EmergencyApiServiceImpl.addGroupUser构建头像映射。
3. jeecg-system-biz/pom.xml新增health-im-api依赖。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 20:03:20 +08:00
pengjie 0ae963c4cf Revert "fix(im): 邀请入群时使用真实用户身份调用IM API,系统通知显示真实用户名而非administrator"
This reverts commit 07d6f21fed.
2026-08-04 19:33:13 +08:00
pengjieandClaude 07d6f21fed fix(im): 邀请入群时使用真实用户身份调用IM API,系统通知显示真实用户名而非administrator
- AddGroupMemberDTO 新增 fromAccount 内部字段
- TencentCloudImUtil 新增带 identifier 参数的 getHttpsUrl 重载
- addGroupMember 检测 fromAccount,有则用该用户 UserSig
- EmergencyApiServiceImpl.addGroupUser 传入当前登录用户ID

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 18:58:16 +08:00
pengjieandClaude 26ae76a398 fix(im): 创建应急群聊时群名称固定为"应急求助"
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 16:18:13 +08:00
pengjieandClaude 468314df64 refactor(emergency): searchExpert改为两表合集查询,同时搜索QH_EME_PROFESS_USER和qh_con_doctor
原来只查QH_EME_PROFESS_USER再补充qh_con_doctor字段,导致只在qh_con_doctor
中的专家搜不到。改为:
1. 分别查询两表(各自过滤name/排除已入群)
2. LinkedHashMap按userId去重合并
3. sys_user兜底填充realname/avatar/phone/deptName
4. 对profUsers单独补qh_con_doctor专家字段
5. 内存分页返回

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 11:42:47 +08:00
pengjie 3b7f260103 fix(emergency): myParticipatedOrders接口补充返回当前用户自己发起/被救助的应急工单 2026-08-04 11:41:47 +08:00
pengjie 693749fece Merge remote-tracking branch 'origin/xc' into xc 2026-08-04 11:08:52 +08:00
pengjieandClaude e9360d1ad9 feat(emergency): searchExpert接口返回ConDoctor专家数据 + 修复IM UserSig缓存key未区分secretKey的问题
1. searchExpert新增ConDoctor专家字段:
   - 新增ConDoctorMapper直接查询qh_con_doctor表(同库,避免跨模块依赖)
   - EmergencyProfessionUser新增17个@TableField(exist=false)字段承载专家数据
   - searchExpert方法中批量查询ConDoctor并逐字段填充
   - 用户非专家时ConDoctor字段为null
   - 更新API文档-移动端接口.md

2. IM签名缓存优化:
   - TencentCloudImUtil新增secretKey注入
   - Redis key从 silence:im_user_sig:{sdkAppId}:{id}
     改为 silence:im_user_sig:{hash(sdkAppId+secretKey)}:{id}
   - 解决secretKey变更时旧缓存签名仍被命中导致IM请求失败的问题

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 11:08:03 +08:00
lianlonggang ab0470c04c style(system): 短信查询相关员工电话号码功能修正;安眼健康监测大屏跳转时,获取token方式调整为统一认证直接获取 2026-07-29 11:49:16 +08:00
lianlonggang 05c37fd532 style(system): kafka集成 2026-07-24 14:40:15 +08:00
wanghao 670d82c868 Merge remote-tracking branch 'origin/xc' into xc 2026-07-23 17:12:57 +08:00
pengjie c3afd0adfa feat(emergency): isLiaisonUser改为查EMP_CARE_EMP表FIRST_AIDER_INFO判断急救人员身份
原逻辑硬编码返回true,现查询AYGC_YWK.EMP_CARE_EMP表中FIRST_AIDER_INFO
JSON字段是否包含当前登录用户工号,有则判定为急救人员。
2026-07-23 17:12:41 +08:00
pengjieandClaude 44e8ac7da5 chore(emergency): 简化群成员上限提示文案
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-22 11:24:46 +08:00
pengjieandClaude 1167ac792e fix(emergency): getActualGroupMemberList兜底补拉关爱/急救人员 + addGroupUser加9人上限
- 调用getActualGroupMemberList时先执行addCareUsersToGroup重新查询安眼系统,兜底补拉发起应急时未注册的关爱联络员/急救人员
- addCareUsersToGroup改为public,暴露给EmergencyOrderApiService调用
- addGroupUser增加9人群成员上限校验

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-22 11:13:40 +08:00
pengjieandClaude df41e0c8ce feat(emergency): getActualGroupMemberList自动补拉预设成员 + addGroupUser加9人上限
- getActualGroupMemberList: 查询群成员时自动检查预设成员(被救助人、操作人员、专业人员、紧急联系人、健康联络员),不在群中则自动补拉
- addGroupUser: 邀请前校验群成员总数不超过9人,超限返回提示

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-22 11:01:23 +08:00
pengjieandClaude f6f70ebf32 fix(emergency): insertOrderForFirstAider中将initiatorType从4改为1
急救员场景工单发起类型与应急就医保持一致,统一使用1

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-22 08:56:38 +08:00
pengjie 661079dd3a chore(emergency): isLiaisonUser临时硬编码返回true
联调阶段先放行所有用户,后续切换为急救员判定时再恢复查关爱人员关系表。
2026-07-22 08:53:14 +08:00
pengjie 9111cb40c6 refactor(emergency): 一人一案接口筛选条件由身份证号改为工号
身份证号在 EMP_BASIC_INFO 中非唯一标识,改用工号(EMPLOYEE_NUM)
匹配当前登录用户档案,避免同号多档时取错记录。
2026-07-21 14:27:02 +08:00
pengjieandClaude 3aa16600d8 feat(im): 新增importAccountsWithNames方法,addGroupMember时批量导入账号名称
- 新增 importAccountsWithNames 方法,使用腾讯IM新版 AccountList 格式导入账号及昵称
- addGroupMember 改为调用新方法,一次批量导入账号+名称
- multiAccountImport 旧方法保持不变,不影响其他调用方
- AddGroupMemberDTO.memberName 移除@JsonIgnore,确保Feign跨服务传输

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 17:35:25 +08:00
pengjieandClaude 32d8ad3652 fix(im): 修复addGroupMember时memberName因@JsonIgnore在Feign传输中丢失
移除MemberListDTO.memberName上的@JsonIgnore注解,确保名称能通过Feign跨服务传输。
改为在发送腾讯IM API前手动移除memberName字段,避免发送IM不接受的字段。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 17:21:41 +08:00
pengjieandClaude b5c5251913 feat(IM): 添加群成员时同步导入成员名称
addGroupMember在导入账号后逐个调用accountImport导入成员Nick名称

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 16:59:44 +08:00
pengjieandClaude 38a0aa07dd feat: 合并急救员建群逻辑到createGroupMag,新增参与工单列表接口
1. createGroupMag增加addCareUsersToGroup调用,自动拉入关爱联络员+急救员
2. 废除createGroupMagFirstAider(标记@Deprecated)
3. 新增/myparticipatedOrders接口,app端查询当前登录人参与的应急工单列表

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 15:51:33 +08:00
pengjie be701122ca fix(IM): Redis签名key加入sdkAppId,防止切换AppID后签名不匹配
- key格式: silence:im_user_sig:{sdkAppId}:{identifier}
- 切换IMConfig.sdkAppId后自动缓存miss,重新生成正确签名
- 旧key作为孤儿数据24小时后自然过期
2026-07-20 10:43:07 +08:00
pengjie 1a5a2dcb3f fix(emergency): 修复添加群成员错误提示、成员查询遗漏和日志缺少异常栈
- addGroupUser: IM添加失败时改用友好提示,内部错误记日志
- EmergencyOrderApiServiceImpl: 员工成员查询去掉operatorType过滤,补充兜底覆盖;userId去重
- EmergencyCloudManager: 微服务调用失败日志补充异常栈
2026-07-20 10:26:24 +08:00
pengjie fecfb2a355 fix(IM): addGroupMember前先multiAccountImport,防止账号未注册导致添加失败 2026-07-20 10:25:08 +08:00
lianlonggangandClaude f604d18b32 feat(消息管理): list接口支持按员工电话查询esContent
- queryPageList新增employeePhone参数
- 11位纯数字还原为3~4~4全角波浪线格式后like查询esContent
- 非11位用原值兜底like

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-16 16:25:31 +08:00
pengjieandClaude 145cf89a89 fix(emergency): addCareUsersToGroup改为员工编号匹配,解决手机号不准的TODO
数据流: 安眼手机号 → AYGC_YWK.EMP_BASIC_INFO查EMPLOYEE_NUM → getUserListByWorkNoList → 本系统用户ID

变更:
- LargeScreenDataMapper: 新增selectEmployeeNumsByPhones,INSTR模糊匹配支持多手机号字段
- EmergencyApiServiceImpl: 替换getUserByPhoneList直接匹配,改为两步反查;order_operator匹配同步调整
- 移除旧TODO注释

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-16 09:43:34 +08:00
pengjie d4f1d1a7bd fix(emergency): 修复一人一案接口VARCHAR列映射Double报类型转换异常
达梦库 EMP_PERSON_FILE 表的 BMI/HEIGHT/WEIGHT/WEIGHT_TARGET 等
列为 VARCHAR 类型,MyBatis 映射到 Double 时报类型转换异常,
将对应 VO 字段改为 String,并在 getBmi() 中解析字符串做保留一位小数。
2026-07-14 16:36:55 +08:00
pengjie 2d5198ec3f feat(emergency): 新增大屏一人一案移动端接口
根据当前登录用户身份证号,从安眼库 EMP_PERSON_FILE 关联表
查询最新档案详情,供移动端展示一人一案健康数据。
2026-07-14 16:22:05 +08:00
pengjie e844fec480 feat(emergency): 新增大屏关爱联络员身份判断接口
按当前登录人工号查询关爱关系表是否存在记录,前端用于按联络员
身份差异化展示。原 isLiaisonUser 实现固定返回 false,本次接通
真实查询逻辑。
2026-07-08 17:48:03 +08:00
pengjie 194c3b2134 feat(emergency): 推送IM消息增加resourceId文章ID字段 2026-07-08 09:20:50 +08:00
pengjie a1e5625ca7 fix(emergency): 推送时封面图相对路径拼接jeecg.path.show前缀为全路径 2026-07-07 14:54:22 +08:00
pengjie e16c0c2536 feat(emergency): 推送消息增加封面图字段messageImageUrl,去掉businessId 2026-07-07 14:24:56 +08:00
pengjie 66b77cc231 fix(im): sendGroupMsgArticle补充businessID协议字段,修复客户端显示[自定义消息] 2026-07-07 14:12:03 +08:00
pengjie 9b35cfe9c2 chore(im): 文章推送增加请求参数日志,便于验证businessId等信息 2026-07-07 13:51:58 +08:00
pengjie 4898a63b4b feat(emergency): 宣教推送IM消息改为独立方法sendGroupMsgArticle,不影响已有业务
- 新增 TencentCloudImUtil.sendGroupMsgArticle: From_Account生效、不覆盖businessID、fromAdmin动态判断
- 新增 TXController.sendGroupMsgArticle / IMHelloApi.sendGroupMsgArticle
- FirstAidPushServiceImpl 推送人改为当前登录用户,调用新方法
2026-07-07 13:43:21 +08:00
pengjie 37132eeeb6 fix(im): sendGroupMsgText取消From_Account注释,使fromUserId生效 2026-07-07 12:07:17 +08:00
pengjie 8efc5bbd56 feat(emergency): 移动端宣教详情接口增加阅读记录逻辑 2026-07-07 10:55:57 +08:00
pengjie 3c65f7eb24 fix(emergency): 宣教推送IM消息发送人改为当前登录用户,不再硬编码administrator 2026-07-07 10:39:36 +08:00
pengjieandClaude bb95f1d78f fix(emergency): add接口新增成功后返回主键ID
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-07 10:32:15 +08:00
pengjieandClaude 1484f621bd fix(emergency): addGroupUser 增加本人判断和IM群成员去重
- 过滤当前登录用户,不允许邀请自己入群
- 查询腾讯IM实际群成员,避免重复邀请已在群中的人
- IM查询失败时降级使用本地 order_operator 数据去重
- 去重来源:本地记录 + IM实际成员 取并集

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-07 10:05:04 +08:00
pengjieandClaude f10221e92c feat(emergency): push/send 接入IM消息推送,SendIm 新增 businessId 字段
- SendIm 新增 businessId 字段(String),用于区分业务来源,不影响已有调用
- FirstAidPushServiceImpl.send() 步骤5从日志占位改为实际发送IM群消息
- businessId 固定为 "article",前端可据此识别宣教推送消息
- 工单无 sessionId 时跳过IM发送并 log.warn 告警

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-07 09:48:37 +08:00