Merge branch 'feature/202504' into feature/202504-1

This commit is contained in:
曹鹏飞 2025-04-30 17:09:11 +08:00
commit d1f0d2f42c
3 changed files with 21 additions and 6 deletions

View File

@ -25,7 +25,7 @@ public interface TicketMapper extends BaseMapper<Ticket> {
IPage<TicketVO> searchFollow(IPage<?> page, TicketSearchRequest request, Integer userId,String language);
IPage<TicketVO> searchArea(IPage<?> page, TicketSearchRequest request, List<Integer> companyIds, Integer userId,String language);
IPage<TicketVO> searchArea(IPage<?> page, TicketSearchRequest request, String companyId, Integer userId,String language,Boolean isPrimary,String companyCode);
IPage<AdminTicketVO> searchFromAdmin(AdminTicketSearchRequest request, Integer userId, IPage<?> page);

View File

@ -59,6 +59,9 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> 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<TicketMapper, Ticket> 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;
}

View File

@ -123,10 +123,14 @@
LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2
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
<foreach collection="companyIds" item="companyId" open="(" separator="," close=")">
#{companyId}
</foreach>
LEFT JOIN v_device vd ON t.device_no=vd.device_no
WHERE t.state!=4
<if test="request.isPrimary==false">
AND FIND_IN_SET(#{companyId},u.company_id) AND vd.agent_code=#{companyCode}
</if>
<if test="request.isPrimary==true">
AND (u.id=#{userId} OR FIND_IN_SET(u.company_id,#{companyId}))
</if>
<include refid="searchWhereCondition"/>
ORDER BY t.id DESC
</select>