From b3552cf4e74d16a392b664a5b975c1eb26b177a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Wed, 30 Apr 2025 17:08:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ticket):=20=E4=BC=98=E5=8C=96=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E6=90=9C=E7=B4=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/mapper/TicketMapper.java | 2 +- .../repository/service/impl/TicketServiceImpl.java | 13 ++++++++++++- .../src/main/resources/mapper/TicketMapper.xml | 12 ++++++++---- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TicketMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TicketMapper.java index 884f3d49..69ffb302 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TicketMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TicketMapper.java @@ -25,7 +25,7 @@ public interface TicketMapper extends BaseMapper { IPage searchFollow(IPage page, TicketSearchRequest request, Integer userId,String language); - IPage searchArea(IPage page, TicketSearchRequest request, List companyIds, Integer userId,String language); + IPage searchArea(IPage page, TicketSearchRequest request, String companyId, Integer userId,String language,Boolean isPrimary,String companyCode); IPage searchFromAdmin(AdminTicketSearchRequest request, Integer userId, IPage page); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java index cc432a5b..b607b958 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java @@ -59,6 +59,9 @@ public class TicketServiceImpl extends ServiceImpl impleme @Resource private ITicketSolutionService ticketSolutionService; + @Resource + private ITBaseCustomerService customerService; + @Transactional @Override public Ticket add(TicketAddRequest request, Integer userId) { @@ -132,7 +135,15 @@ public class TicketServiceImpl extends ServiceImpl impleme }else if (request.getType()==2){ return baseMapper.searchFollow(new Page<>(request.getPage(), request.getPageSize()), request, user.getId(),language); }else if (request.getType()==3) { - return baseMapper.searchArea(new Page<>(request.getPage(), request.getPageSize()), request, user.getCompanyIds(), user.getId(),language); + String companyCode = ""; + if (!user.getIsPrimary()){ + TBaseCustomer customer=customerService.getById(user.getCompanyIds().get(0)); + if (Objects.nonNull(customer)){ + companyCode = customer.getAgencyCompanyCode(); + } + } + return baseMapper.searchArea(new Page<>(request.getPage(), request.getPageSize()), request + , StrUtil.join(",",user.getCompanyIds()), user.getId(),language,user.getIsPrimary(),companyCode); } return null; } diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml index c3ca22d2..187c7008 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml @@ -114,10 +114,14 @@ LEFT JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=0 LEFT JOIN t_base_part p ON t.component_id=p.id LEFT JOIN t_base_language_data l ON p.id=l.source_id AND l.language_code=#{language} - WHERE t.state!=4 AND u.company_id IN - - #{companyId} - + LEFT JOIN v_device vd ON t.device_no=vd.device_no + WHERE t.state!=4 + + AND FIND_IN_SET(#{companyId},u.company_id) AND vd.agent_code=#{companyCode} + + + AND (u.id=#{userId} OR FIND_IN_SET(u.company_id,#{companyId})) + ORDER BY t.id DESC