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.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());
|
||||||
|
|||||||
Reference in New Issue
Block a user