Subversion Repositories SmartDukaan

Rev

Rev 35635 | Rev 35647 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35635 Rev 35639
Line 1839... Line 1839...
1839
        }
1839
        }
1840
        return lastActivityMap;
1840
        return lastActivityMap;
1841
    }
1841
    }
1842
 
1842
 
1843
    @Override
1843
    @Override
-
 
1844
    public Map<Integer, Activity> getLastMessageActivitiesForTickets(List<Integer> ticketIds) {
-
 
1845
        Map<Integer, Activity> lastMessageMap = new HashMap<>();
-
 
1846
        if (ticketIds == null || ticketIds.isEmpty()) {
-
 
1847
            return lastMessageMap;
-
 
1848
        }
-
 
1849
        Set<ActivityType> messageTypes = EnumSet.of(
-
 
1850
                ActivityType.COMMUNICATION_IN, ActivityType.COMMUNICATION_OUT,
-
 
1851
                ActivityType.COMMUNICATION_INTERNAL, ActivityType.OPENED);
-
 
1852
        List<Activity> allActivities = activityRepository.selectAll(ticketIds);
-
 
1853
        Map<Integer, List<Activity>> groupedByTicket = allActivities.stream()
-
 
1854
                .filter(a -> messageTypes.contains(a.getType()))
-
 
1855
                .collect(Collectors.groupingBy(Activity::getTicketId));
-
 
1856
        for (Map.Entry<Integer, List<Activity>> entry : groupedByTicket.entrySet()) {
-
 
1857
            Activity lastMessage = entry.getValue().stream()
-
 
1858
                    .max(Comparator.comparingInt(Activity::getId))
-
 
1859
                    .orElse(null);
-
 
1860
            if (lastMessage != null) {
-
 
1861
                lastMessageMap.put(entry.getKey(), lastMessage);
-
 
1862
            }
-
 
1863
        }
-
 
1864
        return lastMessageMap;
-
 
1865
    }
-
 
1866
 
-
 
1867
    @Override
1844
    public void notifyPartnerOfExternalCommunication(Ticket ticket, Activity activity) {
1868
    public void notifyPartnerOfExternalCommunication(Ticket ticket, Activity activity) {
1845
        try {
1869
        try {
1846
            CustomRetailer partner = retailerService.getFofoRetailer(ticket.getFofoId());
1870
            CustomRetailer partner = retailerService.getFofoRetailer(ticket.getFofoId());
1847
            if (partner == null || partner.getEmail() == null) {
1871
            if (partner == null || partner.getEmail() == null) {
1848
                return;
1872
                return;