Subversion Repositories SmartDukaan

Rev

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

Rev 11890 Rev 14882
Line 20... Line 20...
20
import java.io.File;
20
import java.io.File;
21
import java.io.FileOutputStream;
21
import java.io.FileOutputStream;
22
import java.io.IOException;
22
import java.io.IOException;
23
import java.io.InputStream;
23
import java.io.InputStream;
24
import java.text.ParseException;
24
import java.text.ParseException;
-
 
25
import java.util.ArrayList;
-
 
26
import java.util.Arrays;
25
import java.util.Calendar;
27
import java.util.Calendar;
26
import java.util.Date;
28
import java.util.Date;
27
import java.util.GregorianCalendar;
29
import java.util.GregorianCalendar;
28
import java.util.List;
30
import java.util.List;
29
import java.util.regex.Matcher;
31
import java.util.regex.Matcher;
30
import java.util.regex.Pattern;
32
import java.util.regex.Pattern;
31
 
33
 
-
 
34
import javax.mail.Address;
32
import javax.mail.BodyPart;
35
import javax.mail.BodyPart;
33
import javax.mail.Message;
36
import javax.mail.Message;
-
 
37
import javax.mail.Message.RecipientType;
34
import javax.mail.MessagingException;
38
import javax.mail.MessagingException;
35
import javax.mail.Multipart;
39
import javax.mail.Multipart;
36
import javax.mail.Part;
40
import javax.mail.Part;
37
 
41
 
38
import net.htmlparser.jericho.Source;
42
import net.htmlparser.jericho.Source;
39
 
43
 
-
 
44
import org.apache.commons.lang.xwork.StringUtils;
40
import org.apache.commons.logging.Log;
45
import org.apache.commons.logging.Log;
41
import org.apache.commons.logging.LogFactory;
46
import org.apache.commons.logging.LogFactory;
42
import org.apache.thrift.TException;
47
import org.apache.thrift.TException;
43
import org.apache.thrift.transport.TTransportException;
48
import org.apache.thrift.transport.TTransportException;
44
 
49
 
Line 93... Line 98...
93
                + CRMConstants.CRM_SUBJECT_PREFIX_FOR_TICKET_ID
98
                + CRMConstants.CRM_SUBJECT_PREFIX_FOR_TICKET_ID
94
                + "(\\d+).*$");
99
                + "(\\d+).*$");
95
        Matcher m = p.matcher(stringToSearch);
100
        Matcher m = p.matcher(stringToSearch);
96
        if (m.matches()) {
101
        if (m.matches()) {
97
            return Long.parseLong(m.group(1));
102
            return Long.parseLong(m.group(1));
-
 
103
        } else{
-
 
104
        	p = Pattern.compile("(?s).*"
-
 
105
                    + CRMConstants.PROFIT_MANDI_SUBJECT_PREFIX_FOR_TICKET_ID
-
 
106
                    + "(\\d+).*$");
-
 
107
        	m = p.matcher(stringToSearch);
-
 
108
        	if(m.matches()) {
-
 
109
        		return Long.parseLong(m.group(1));
-
 
110
        	}
98
        }
111
        }
99
        return null;
112
        return null;
100
    }
113
    }
101
 
114
 
102
    public Date getLastProcessedTimestamp() throws ParseException, TException {
115
    public Date getLastProcessedTimestamp() throws ParseException, TException {
Line 162... Line 175...
162
    private void createTicket(Message message) throws MessagingException,
175
    private void createTicket(Message message) throws MessagingException,
163
    IOException, TException, UserContextException {
176
    IOException, TException, UserContextException {
164
        String description = convertMessageToText(message);
177
        String description = convertMessageToText(message);
165
        Ticket ticket = new Ticket();
178
        Ticket ticket = new Ticket();
166
        ticket.setCreatorId(CRMConstants.ADMIN_AGENT_ID);
179
        ticket.setCreatorId(CRMConstants.ADMIN_AGENT_ID);
-
 
180
        
-
 
181
        Address[] recipients = message.getRecipients(RecipientType.TO);
-
 
182
    	List<String> emailToIds = new ArrayList<String>();
-
 
183
    	for(Address address: recipients){
-
 
184
    		emailToIds.add(address.toString());
-
 
185
    	}        
167
        if (getEmailType().equalsIgnoreCase("BulkEmail")){
186
        if (getEmailType().equalsIgnoreCase("BulkEmail")){
168
            ticket.setCategory(TicketCategory.Bulk_Order_ENQUIRY);
187
            ticket.setCategory(TicketCategory.Bulk_Order_ENQUIRY);
169
        }
188
        }
170
        else{
189
        else{
-
 
190
        	if(emailToIds.contains("help@profitmandi.com")){
-
 
191
        		ticket.setCategory(TicketCategory.PROFITMANDI_OTHER);
-
 
192
        	} else {
171
            ticket.setCategory(TicketCategory.OTHER);
193
        		ticket.setCategory(TicketCategory.OTHER);
-
 
194
        	}
172
        }
195
        }
173
        String customerEmailId = parseEmailId(message.getFrom()[0].toString());
196
        String customerEmailId = parseEmailId(message.getFrom()[0].toString());
174
 
197
 
175
        in.shop2020.model.v1.user.UserContextService.Client userClient = new UserClient()
198
        in.shop2020.model.v1.user.UserContextService.Client userClient = new UserClient()
176
        .getClient();
199
        .getClient();
Line 180... Line 203...
180
            ticket.setCustomerEmailId(customerEmailId);
203
            ticket.setCustomerEmailId(customerEmailId);
181
        } else {
204
        } else {
182
            ticket.setCustomerId(user.getUserId());
205
            ticket.setCustomerId(user.getUserId());
183
        }
206
        }
184
 
207
 
-
 
208
        if(emailToIds.contains("help@profitmandi.com")){
-
 
209
        	ticket.setCustomerEmailId(customerEmailId);
-
 
210
        	if(user != null && user.getUserId() != -1)
-
 
211
        		ticket.setCustomerId(user.getUserId());
-
 
212
        }
185
        ticket.setDescription(description);
213
        ticket.setDescription(description);
186
        ticket.setPriority(TicketPriority.MEDIUM);
214
        ticket.setPriority(TicketPriority.MEDIUM);
187
        ticket.setStatus(TicketStatus.OPEN);
215
        ticket.setStatus(TicketStatus.OPEN);
188
 
216
 
189
        log.info("Creating activity!");
217
        log.info("Creating activity!");