Subversion Repositories SmartDukaan

Rev

Rev 5168 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * 
 */
package in.shop2020.crm.handler;

import in.shop2020.crm.domain.SearchFilter;
import in.shop2020.crm.domain.Ticket;
import in.shop2020.crm.persistence.TicketMapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Handler for CRUD operations on tickets in database.
 *
 * @author mandeep
 */
@Service
public class TicketHandler {
    @Autowired
    TicketMapper ticketMapper;

    public List<Ticket> getTickets(SearchFilter searchFilter) {
        return ticketMapper.getTickets(searchFilter);
    }

    public void updateTicket(Ticket ticket) {
        ticketMapper.updateTicket(ticket);
    }

    public long insertTicket(Ticket ticket) {
        ticketMapper.insertTicket(ticket);
        return ticket.getId();
    }

    public List<Ticket> getUnassignedTickets() {
        return ticketMapper.getUnassignedTickets();
    }
    
    public void unassignAgentTickets(int assigneeId) {
        ticketMapper.unassignAgentTickets(assigneeId);
    }
    
    public int getOpenTicketCountForAgent(long agentId) {
        return ticketMapper.getOpenTicketCountForAgent(agentId);
    }

        public Map<String, Long> getOpenTicketsMap() {
                Map<String,Long> ticketCategoryCountMap = new HashMap<String, Long>();
                Map<String, Long> resultMap =  ticketMapper.getOpenTicketsMap();
                for(String category : resultMap.keySet()) {
                        Object obj = resultMap.get(category);
                        Map<String, Long> temp = (Map<String, Long>) obj;
                        ticketCategoryCountMap.put(category, temp.get("count"));
                }
                return ticketCategoryCountMap;
        }
}