feat(ticket): 使用忽略租户拦截器的方法获取用户信息

- 在工单创建时使用 userService.getByIdIgnoreTenant 替代 getById
- 在工单分配时使用 userService.getByIdIgnoreTenant 替代 getById
- 在回复创建时使用 userService.getByIdIgnoreTenant 替代 getById
- 添加注释说明使用 @InterceptorIgnore 绕过租户拦截器跨库查询
- 确保用户信息获取不受租户隔离限制影响
This commit is contained in:
2026-03-30 14:31:52 +08:00
parent 35fdc2dcfc
commit 44e95a7273

View File

@@ -125,9 +125,9 @@ public class AppTicketServiceImpl extends ServiceImpl<AppTicketMapper, AppTicket
ticket.setCreateTime(LocalDateTime.now()); ticket.setCreateTime(LocalDateTime.now());
ticket.setUpdateTime(LocalDateTime.now()); ticket.setUpdateTime(LocalDateTime.now());
// 从用户服务取昵称/头像冗余存储 // 从用户服务取昵称/头像冗余存储@InterceptorIgnore 绕过租户拦截器跨库查询)
try { try {
User user = userService.getById(userId); User user = userService.getByIdIgnoreTenant(userId);
if (user != null) { if (user != null) {
ticket.setSubmitUserName(user.getNickname() != null ? user.getNickname() : user.getUsername()); ticket.setSubmitUserName(user.getNickname() != null ? user.getNickname() : user.getUsername());
ticket.setSubmitUserAvatar(user.getAvatar()); ticket.setSubmitUserAvatar(user.getAvatar());
@@ -196,7 +196,7 @@ public class AppTicketServiceImpl extends ServiceImpl<AppTicketMapper, AppTicket
// ─── 分配处理人 ─────────────────────────────────────────────── // ─── 分配处理人 ───────────────────────────────────────────────
@Override @Override
public void assign(Long ticketId, Integer assigneeId) { public void assign(Long ticketId, Integer assigneeId) {
User user = userService.getById(assigneeId); User user = userService.getByIdIgnoreTenant(assigneeId);
LambdaUpdateWrapper<AppTicket> wrapper = new LambdaUpdateWrapper<AppTicket>() LambdaUpdateWrapper<AppTicket> wrapper = new LambdaUpdateWrapper<AppTicket>()
.eq(AppTicket::getTicketId, ticketId) .eq(AppTicket::getTicketId, ticketId)
.set(AppTicket::getAssigneeId, assigneeId) .set(AppTicket::getAssigneeId, assigneeId)
@@ -244,9 +244,9 @@ public class AppTicketServiceImpl extends ServiceImpl<AppTicketMapper, AppTicket
reply.setDeleted(0); reply.setDeleted(0);
reply.setCreateTime(LocalDateTime.now()); reply.setCreateTime(LocalDateTime.now());
// 补充用户信息 // 补充用户信息@InterceptorIgnore 绕过租户拦截器跨库查询)
try { try {
User user = userService.getById(userId); User user = userService.getByIdIgnoreTenant(userId);
if (user != null) { if (user != null) {
reply.setUserName(user.getNickname() != null ? user.getNickname() : user.getUsername()); reply.setUserName(user.getNickname() != null ? user.getNickname() : user.getUsername());
reply.setUserAvatar(user.getAvatar()); reply.setUserAvatar(user.getAvatar());