feat(ticket): 使用忽略租户拦截器的方法获取用户信息
- 在工单创建时使用 userService.getByIdIgnoreTenant 替代 getById - 在工单分配时使用 userService.getByIdIgnoreTenant 替代 getById - 在回复创建时使用 userService.getByIdIgnoreTenant 替代 getById - 添加注释说明使用 @InterceptorIgnore 绕过租户拦截器跨库查询 - 确保用户信息获取不受租户隔离限制影响
This commit is contained in:
@@ -125,9 +125,9 @@ public class AppTicketServiceImpl extends ServiceImpl<AppTicketMapper, AppTicket
|
||||
ticket.setCreateTime(LocalDateTime.now());
|
||||
ticket.setUpdateTime(LocalDateTime.now());
|
||||
|
||||
// 从用户服务取昵称/头像冗余存储
|
||||
// 从用户服务取昵称/头像冗余存储(@InterceptorIgnore 绕过租户拦截器跨库查询)
|
||||
try {
|
||||
User user = userService.getById(userId);
|
||||
User user = userService.getByIdIgnoreTenant(userId);
|
||||
if (user != null) {
|
||||
ticket.setSubmitUserName(user.getNickname() != null ? user.getNickname() : user.getUsername());
|
||||
ticket.setSubmitUserAvatar(user.getAvatar());
|
||||
@@ -196,7 +196,7 @@ public class AppTicketServiceImpl extends ServiceImpl<AppTicketMapper, AppTicket
|
||||
// ─── 分配处理人 ───────────────────────────────────────────────
|
||||
@Override
|
||||
public void assign(Long ticketId, Integer assigneeId) {
|
||||
User user = userService.getById(assigneeId);
|
||||
User user = userService.getByIdIgnoreTenant(assigneeId);
|
||||
LambdaUpdateWrapper<AppTicket> wrapper = new LambdaUpdateWrapper<AppTicket>()
|
||||
.eq(AppTicket::getTicketId, ticketId)
|
||||
.set(AppTicket::getAssigneeId, assigneeId)
|
||||
@@ -244,9 +244,9 @@ public class AppTicketServiceImpl extends ServiceImpl<AppTicketMapper, AppTicket
|
||||
reply.setDeleted(0);
|
||||
reply.setCreateTime(LocalDateTime.now());
|
||||
|
||||
// 补充用户信息
|
||||
// 补充用户信息(@InterceptorIgnore 绕过租户拦截器跨库查询)
|
||||
try {
|
||||
User user = userService.getById(userId);
|
||||
User user = userService.getByIdIgnoreTenant(userId);
|
||||
if (user != null) {
|
||||
reply.setUserName(user.getNickname() != null ? user.getNickname() : user.getUsername());
|
||||
reply.setUserAvatar(user.getAvatar());
|
||||
|
||||
Reference in New Issue
Block a user