Blame | Last modification | View Log | RSS feed
from shop2020.clients.CRMClient import CRMClientfrom shop2020.clients.UserClient import UserClientfrom shop2020.thriftpy.crm.ttypes import SearchFilter, TicketCategory, Ticket, \Activity, TicketPriority, TicketStatus, ActivityTypefrom dtr.utils.utils import to_java_date,sendCrmProjectMailByDtrdef generateCrmTicket(customerFeedBack):sendCrmProjectMailByDtr(customerFeedBack)crmServiceClient = CRMClient().get_client()userServiceClient = UserClient().get_client()ticket = Ticket()activity = Activity()ticket.creatorId = 1user = userServiceClient.getUserByEmail(customerFeedBack.get('email'))if 'Return or replacement pending' in customerFeedBack.get('subject'):ticket.category = TicketCategory.PROFITMANDI_REFUND_PROBLEMticket.priority = TicketPriority.HIGHelif 'Product Quality issue' in customerFeedBack.get('subject'):ticket.category = TicketCategory.PROFITMANDI_PRODUCT_ISSUEticket.priority = TicketPriority.HIGHelif 'Delayed Delivery' in customerFeedBack.get('subject'):ticket.category = TicketCategory.PROFITMANDI_DELAYED_DELIVERYticket.priority = TicketPriority.HIGHelif 'Technical issue at Profitmandi' in customerFeedBack.get('subject'):ticket.category = TicketCategory.PROFITMANDI_TECHNICAL_PROBLEMticket.priority = TicketPriority.HIGHelse:ticket.category = TicketCategory.PROFITMANDI_OTHERticket.priority = TicketPriority.MEDIUMticket.description = 'User Specified Subject :- '+ customerFeedBack.get('subject') + ' | ' + customerFeedBack.get('message')ticket.customerEmailId = customerFeedBack.get('email')if user is not None and user.userId !=-1:ticket.customerId = user.userIdticket.assigneeId=57ticket.status = TicketStatus.OPENticket.openDate = to_java_date(customerFeedBack.get('created'))ticket.customerMobileNumber = customerFeedBack.get('mobile_number')ticket.customerName = customerFeedBack.get('customer_name')activity.creatorId = 1activity.ticketAssigneeId = ticket.assigneeIdactivity.type = ActivityType.PROFITMANDI_CRM_APP_TICKETactivity.description = 'User Specified Subject :- '+ customerFeedBack.get('subject') + ' | ' + customerFeedBack.get('message')activity.ticketCategory = ticket.categoryactivity.ticketDescription = ticket.descriptionactivity.ticketPriority = ticket.priorityactivity.ticketStatus = ticket.statusactivity.customerEmailId = customerFeedBack.get('email')if user is not None and user.userId !=-1:activity.customerId = user.userIdactivity.customerName = customerFeedBack.get('customer_name')activity.customerMobileNumber = customerFeedBack.get('mobile_number')activity.creationTimestamp = ticket.openDateactivity.customerEmailId= customerFeedBack.get('email')if not crmServiceClient.isAlive():crmServiceClient = CRMClient().get_client()ticketId = crmServiceClient.insertTicket(ticket, activity)if ticketId > 0:return Trueelse:return False