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 |
|
pengjie
|
945c0b46d7
|
@
feat(emergency): 新增腾讯IM验证的群成员列表接口,优化searchEmployee模糊搜索
- 新增 /order/getActualGroupMemberList 接口,先查本地参与人员再调腾讯IM验证,以交集为准
- 新增 GetGroupMemberInfoVO,封装腾讯IM get_group_member_info API响应
- TencentCloudImUtil 新增 getGroupMemberInfo 方法,TXController/IMHelloApi 新增对应端点
- GroupMemberVO 新增 isSelf 字段区分本人 (0/1),默认值 0
- searchEmployee 姓名/工号/手机号改为模糊搜索(* 包装实现)
- 修复 getActualGroupMemberList IM 调用失败时静默返回空列表的 bug,失败时降级使用本地成员
- 接口文档更新变更摘要,标明新接口替换原 /order/getGroupMemberList 地址
Co-Authored-By: Claude <noreply@anthropic.com>
@
|
2026-07-07 09:29:19 +08:00 |
|
pengjie
|
74ecbe6bda
|
docs(emergency): 移动端接口文档顶部新增本次变更摘要,供前端联调
|
2026-07-06 17:16:55 +08:00 |
|
pengjie
|
fd7fd32c8d
|
feat(emergency): 新增急救员建群接口,人员接口返回手机号
- 新增 GET /api/emergency/createGroupMagFirstAider(不发起通话,自动拉关爱/急救员)
- createGroupMag 原始逻辑不受影响,新方法独立实现
- OrderOperator.operatorType 注释同步数据库(新增3/4/5)
- EmergencyProfessionUser/GroupMemberVO 新增 phone 字段
- searchExpert/getGroupMemberList 填充手机号
- API文档-移动端接口.md 同步更新
|
2026-07-06 17:14:48 +08:00 |
|
pengjie
|
4cb3411eca
|
feat(emergency): 新增移动端宣教详情接口,整理移动端API文档
- 新增 FirstAidResourceApiController,提供 GET /api/emergency/firstAid/resource/queryById
- RequestPrefix 新增 FIRST_AID_RESOURCE 路径常量
- API文档-应急群聊拉人.md 合并入新文档 API文档-移动端接口.md(含群聊拉人 + 宣教资源)
- API文档-急救宣教资源管理v3.md 保持管理后台接口
|
2026-07-06 15:45:55 +08:00 |
|
pengjie
|
9a022aa9cc
|
docs(emergency): 补全应急群聊拉人API文档接口地址,添加网关前缀 /health-emergency
|
2026-07-06 15:24:43 +08:00 |
|
lianlonggang
|
ebc3a026d1
|
style(consult): banner图片获取功能调整,每次修改nacos配置代价太大了,改成缓存配置地址
|
2026-07-01 10:59:18 +08:00 |
|
lianlonggang
|
29c2be8856
|
style(watch): 睡眠接口午睡(短睡)兼容问题处理
|
2026-07-01 10:42:14 +08:00 |
|
lianlonggang
|
9713b242e8
|
style(watch): 睡眠接口午睡(短睡)兼容问题处理
|
2026-06-30 16:21:06 +08:00 |
|
 pengjieandClaude
|
bbb0d5b0f8
|
chore(emergency): 修正部署SQL,同步实体字典引用
- STATUS DEFAULT 改为 0(草稿)
- PARENT_ID 注释修正
- 删除 first_aid_resource_status/first_aid_category_type 字典
- 同步移除实体 @Excel 注解中对应 dicCode
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-26 15:38:08 +08:00 |
|
 pengjieandClaude
|
3c5bfc8ad1
|
fix(emergency): 修复宣教模块3个状态机与兼容性缺陷
- auditStatus 新增 insertStrategy=IGNORED,修复新增/复制时存0而非NULL
- submitForReview 增加PENDING重复提交拦截
- recordRead/toggleFavorite 重复键异常catch兼容DM8数据库
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-26 15:09:22 +08:00 |
|
 pengjieandClaude
|
5612fe0752
|
refactor(emergency): 宣教模块代码整理与问题修复
- 修复 GlobalUtils.getLoginUser() NPE 风险(send/approve/reject)
- 批量操作改为前置校验+全量执行(batchPublish/batchTakeDown/batchDeleteResources)
- 新增 deleteResource/batchDeleteResources,已发布资源不可删除
- 标签过滤 SQL 修复边界精确匹配(避免 id=2 误匹配 12/22)
- 收藏/阅读改用 DuplicateKeyException 消除并发竞态
- fillResourceExtras/queryResourceList 批量查询分类名称,避免 N+1
- 新增 validateResource 校验内容类型、分类、标签合法性
- copyResource 补全 effectiveTime/expiryTime、版本记录、校验
- 审核下发/下架/删除增加状态机保护
- send() 使用 REQUIRES_NEW 事务隔离,确保批量推送单条失败互不影响
- 版本历史上限控制 MAX_VERSIONS=20
- 分类/标签树形重构:分类不再嵌套子分类,统一为分类+标签两级
- 清理废弃方法(listCategories/listAllCategoriesAndTags 等)
- 批量删除分类/标签增加 @Transactional 事务保护
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-26 11:23:57 +08:00 |
|
 pengjieandClaude
|
3d8b930d1a
|
chore(emergency): 代码整理
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-25 17:37:17 +08:00 |
|
pengjie
|
8761a965aa
|
feat(emergency): 急救宣教资源推送到应急群聊
|
2026-06-25 15:53:22 +08:00 |
|
pengjie
|
3f63abe1e3
|
Merge remote-tracking branch 'origin/xc' into xc
|
2026-06-25 15:50:57 +08:00 |
|
 pengjieandClaude
|
2cc0668391
|
feat(emergency): 急救宣教资源管理v3 - 审批上架分离、分类标签树形重构
- approve()不再自动发布,需单独调用publish()上架
- publish()增加auditStatus=11前置校验
- batchPublish()跳过未审核通过的资源
- 分类管理支持树形结构(listRoot/listChildren/listAll)
- listAll返回分类+tags嵌套树
- listChildren返回子分类+标签
- 标签parentId改为必填
- 分类删除校验标签存在
- 分页列表填充resourceCount
- 审核记录按审核时间排序
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-25 15:50:24 +08:00 |
|
pengjie
|
c8c3598edd
|
fix(watch): 修复DM8不兼容的睡眠统计SQL函数
WatchStatUserInfoDaySleepMapper.xml 的 insertStat/updateStat 使用了
MySQL 专属的 timediff 和 time_to_sec 函数,DM8 报
"Member access [TIMEDIFF] unresolved"。改用 TIMESTAMPDIFF(SECOND,...)
兼容 DM8。
异常被 DataStepListener.handleStat 吞掉,导致任务显示成功但睡眠
数据从未写入 QH_WAT_STAT_USER_DAY_SLE,且 statCommon 循环中断使
后续 watchNo 的 updateLatestSleep 也不会执行,QH_WAT_DATA(type=4)
长期无值,后台列表睡眠列不显示。
|
2026-06-25 15:39:41 +08:00 |
|
pengjie
|
532041ff8d
|
feat(emergency): 急救宣教资源管理模块多项优化
- 新增版本历史isCurrent标记,编辑/回滚时正确维护当前版本
- 审核记录独立表(QH_EME_FIRST_AID_RESOURCE_AUDIT),保留完整审核轨迹
- 审计表auditStatus沿用10/11/12,资源表保留冗余快照
- 标签挂载到分类下(parentId),同分类内名称唯一
- 分类/标签编辑时校验name唯一性
- 导出状态改用文本(statusText),审核通过+已下架正确显示
- 审核状态/驳回原因支持null更新(FieldStrategy.IGNORED)
- Controller POST接口统一使用@RequestBody接收参数
|
2026-06-24 17:36:44 +08:00 |
|
pengjie
|
c6d12c9c68
|
fix(watch): 添加设备时校验watchNo唯一性,避免数据库唯一约束冲突
|
2026-06-24 11:00:48 +08:00 |
|
pengjie
|
6384021c4d
|
feat(emergency): 急救宣教资源管理模块
新增急救宣教资源管理完整功能,包含6个子模块:
- 分类管理:树形结构,CRUD + 级联删除校验
- 标签管理:扁平结构,CRUD + 引用校验
- 资源管理:CRUD + 状态流转(草稿→审核→发布→下架) + 批量操作 + 阅读去重 + 复制
- 审核管理:待审核/已通过/已驳回列表 + 审核操作 + 审核记录
- 收藏管理:收藏/取消切换 + 状态查询 + 我的收藏列表
- 版本管理:编辑自动保存版本快照 + 回滚 + 差异对比
业务规则:
- 编辑/回滚后自动退回草稿,清除审核状态(方案A)
- 阅读去重:同用户重复阅读不增加计数
- 逻辑删除 + 租户隔离
Co-Authored-By: Claude <noreply@anthropic.com>
@
|
2026-06-23 17:40:30 +08:00 |
|
 lianlonggangandClaude
|
74ebe26a6c
|
feat(watch): 关爱人员统计新增期初未佩戴人数列
新增关爱人员未佩戴人数(仅计入统计日期起期已绑定的人数)列,
通过 bind_date <= 统计起始日期 条件过滤,仅计入统计起期已绑定但未佩戴的关爱人员。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-18 17:25:13 +08:00 |
|
lianlonggang
|
7acee51892
|
style(system): 登录后更新部门信息功能调整
|
2026-06-12 11:49:44 +08:00 |
|
lianlonggang
|
0b6b5856d1
|
style(watch): 关爱人员标记及相关统计功能调整
|
2026-06-12 11:49:00 +08:00 |
|
lianlonggang
|
7775f6eef4
|
提交一次配置文件
|
2026-06-03 10:27:39 +08:00 |
|
lianlonggang
|
99f150be25
|
feat(watch): 手表设备导出新增用户单位和用户部门字段
|
2026-05-25 14:08:23 +08:00 |
|
lianlonggang
|
eb33cc2408
|
fix(watch): 修复DM8不兼容的EXTRACT时间差计算
- WatchDataMapper.xml: insertSleep/updateSleep 替换 EXTRACT(H/M FROM interval) 为 TIMESTAMPDIFF
- WatchDataWorkoutMapper.xml: 4处运动时长计算替换为 TIMESTAMPDIFF(SECOND, ...)
- WatchDeviceMapper.xml: 设备看板运动时长字段替换为 TIMESTAMPDIFF
- WatchMapper.java: getDataSteps 去掉 MAX 聚合避免 GROUP BY 报错
|
2026-05-25 14:07:36 +08:00 |
|