Subversion Repositories SmartDukaan

Rev

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

Rev 24575 Rev 24620
Line 12... Line 12...
12
import javax.servlet.http.HttpServletRequest;
12
import javax.servlet.http.HttpServletRequest;
13
 
13
 
14
import org.apache.logging.log4j.LogManager;
14
import org.apache.logging.log4j.LogManager;
15
import org.apache.logging.log4j.Logger;
15
import org.apache.logging.log4j.Logger;
16
import org.springframework.beans.factory.annotation.Autowired;
16
import org.springframework.beans.factory.annotation.Autowired;
-
 
17
import org.springframework.mail.javamail.JavaMailSender;
17
import org.springframework.stereotype.Controller;
18
import org.springframework.stereotype.Controller;
18
import org.springframework.transaction.annotation.Transactional;
19
import org.springframework.transaction.annotation.Transactional;
19
import org.springframework.ui.Model;
20
import org.springframework.ui.Model;
20
import org.springframework.web.bind.annotation.DeleteMapping;
21
import org.springframework.web.bind.annotation.DeleteMapping;
21
import org.springframework.web.bind.annotation.GetMapping;
22
import org.springframework.web.bind.annotation.GetMapping;
Line 23... Line 24...
23
import org.springframework.web.bind.annotation.RequestBody;
24
import org.springframework.web.bind.annotation.RequestBody;
24
import org.springframework.web.bind.annotation.RequestParam;
25
import org.springframework.web.bind.annotation.RequestParam;
25
 
26
 
26
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
27
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
27
import com.spice.profitmandi.common.model.CustomRetailer;
28
import com.spice.profitmandi.common.model.CustomRetailer;
-
 
29
import com.spice.profitmandi.common.util.Utils;
28
import com.spice.profitmandi.dao.entity.auth.AuthUser;
30
import com.spice.profitmandi.dao.entity.auth.AuthUser;
29
import com.spice.profitmandi.dao.entity.cs.Activity;
31
import com.spice.profitmandi.dao.entity.cs.Activity;
30
import com.spice.profitmandi.dao.entity.cs.Position;
32
import com.spice.profitmandi.dao.entity.cs.Position;
31
import com.spice.profitmandi.dao.entity.cs.Region;
33
import com.spice.profitmandi.dao.entity.cs.Region;
32
import com.spice.profitmandi.dao.entity.cs.Ticket;
34
import com.spice.profitmandi.dao.entity.cs.Ticket;
Line 56... Line 58...
56
@Transactional(rollbackFor = Throwable.class)
58
@Transactional(rollbackFor = Throwable.class)
57
public class CsController {
59
public class CsController {
58
 
60
 
59
	private static final Logger LOGGER = LogManager.getLogger(CsController.class);
61
	private static final Logger LOGGER = LogManager.getLogger(CsController.class);
60
 
62
 
-
 
63
	private static final String ACTIVITY_SUBJECT = "Message related ticketId#%s";
-
 
64
	private static final String PARTNER_RESOLVED_TICKET_MAIL="Dear Partner , we have resolved your ticket # %s , request to kindly accept the same. In case you still have any concerns regarding the same pls click on %s so that we can help you.Regards\nSmartdukaan";
-
 
65
	private static final String PARTNER_REOPEN="Dear Partner , Your ticket # %s has been re-opened as per your confirmation & we are committed to resolve it on priority.Regards\nSmartdukaan";
-
 
66
	private static final String INTERNAL_REOPEN_MAIL="Hi, Pls note that the ticket # %s has been re-opened by %s , pls respond on priority.";
-
 
67
	private static final String INTERNAL_REOPEN_ACTIVITY_MESSAGE="Hi,My ticket is not resolved yet,so I am reopenning ticket";
-
 
68
	
-
 
69
	@Autowired
-
 
70
	JavaMailSender mailSender;
-
 
71
 
61
	@Autowired
72
	@Autowired
62
	private CsService csService;
73
	private CsService csService;
63
 
74
 
64
	@Autowired
75
	@Autowired
65
	private CookiesProcessor cookiesProcessor;
76
	private CookiesProcessor cookiesProcessor;
Line 307... Line 318...
307
	@PostMapping(value = "/cs/createTicket")
318
	@PostMapping(value = "/cs/createTicket")
308
	public String createTicket(HttpServletRequest request, @RequestParam(name = "categoryId") int categoryId,
319
	public String createTicket(HttpServletRequest request, @RequestParam(name = "categoryId") int categoryId,
309
			@RequestParam(name = "subCategoryId") int subCategoryId, @RequestParam(name = "message") String message,
320
			@RequestParam(name = "subCategoryId") int subCategoryId, @RequestParam(name = "message") String message,
310
			Model model) throws Exception {
321
			Model model) throws Exception {
311
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
322
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
-
 
323
		List<Ticket> tickets = ticketRepository.selectAllByCreator(loginDetails.getFofoId(), Optional.of(true), 0, 10);
-
 
324
		if (tickets.size() > 3 || tickets.size() == 3) {
-
 
325
			model.addAttribute("response", mvcResponseSender.createResponseString(false));
-
 
326
		} else {
312
		csService.createTicket(loginDetails.getFofoId(), categoryId, subCategoryId, message);
327
			csService.createTicket(loginDetails.getFofoId(), categoryId, subCategoryId, message);
313
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
328
			model.addAttribute("response", mvcResponseSender.createResponseString(true));
-
 
329
		}
314
		return "response";
330
		return "response";
315
	}
331
	}
316
 
332
 
317
	@GetMapping(value = "/cs/myticket")
333
	@GetMapping(value = "/cs/myticket")
318
	public String getMyTicket(HttpServletRequest request, @RequestParam(name = "offset", defaultValue = "0") int offset,
334
	public String getMyTicket(HttpServletRequest request, @RequestParam(name = "offset", defaultValue = "0") int offset,
Line 329... Line 345...
329
			AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
345
			AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
330
			ticketAssigneds = ticketAssignedRepository.selectByAssigneeId(authUser.getId(), offset, limit);
346
			ticketAssigneds = ticketAssignedRepository.selectByAssigneeId(authUser.getId(), offset, limit);
331
			ticketIds = ticketAssigneds.stream().map(x -> x.getTicketId()).collect(Collectors.toList());
347
			ticketIds = ticketAssigneds.stream().map(x -> x.getTicketId()).collect(Collectors.toList());
332
			tickets = ticketRepository.selectAllByTicketIds(ticketIds);
348
			tickets = ticketRepository.selectAllByTicketIds(ticketIds);
333
			size = ticketAssignedRepository.selectCountByAssigneeId(authUser.getId());
349
			size = ticketAssignedRepository.selectCountByAssigneeId(authUser.getId());
334
			LOGGER.info(size +"size");
350
			LOGGER.info(size + "size");
335
			authUserIdAndAuthUserMap = csService.getAuthUserIdAndAuthUserMap(ticketAssigneds);
351
			authUserIdAndAuthUserMap = csService.getAuthUserIdAndAuthUserMap(ticketAssigneds);
336
				Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
352
			Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
337
				model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
353
			model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
338
			
354
 
339
		} else {
355
		} else {
340
			tickets = ticketRepository.selectAllByCreator(loginDetails.getFofoId(), Optional.empty(), offset, limit);
356
			tickets = ticketRepository.selectAllByCreator(loginDetails.getFofoId(), Optional.empty(), offset, limit);
341
			authUserIdAndAuthUserMap = csService.getTicketIdAndAuthUserMapUsingTickets(tickets);
357
			authUserIdAndAuthUserMap = csService.getTicketIdAndAuthUserMapUsingTickets(tickets);
342
			size = ticketRepository.selectAllCountByCreator(loginDetails.getFofoId(), Optional.empty());
358
			size = ticketRepository.selectAllCountByCreator(loginDetails.getFofoId(), Optional.empty());
343
 
359
 
Line 351... Line 367...
351
		model.addAttribute("size", size);
367
		model.addAttribute("size", size);
352
		model.addAttribute("roleType", roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds())));
368
		model.addAttribute("roleType", roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds())));
353
		Map<Integer, TicketSubCategory> subCategoryIdAndSubCategoryMap = csService
369
		Map<Integer, TicketSubCategory> subCategoryIdAndSubCategoryMap = csService
354
				.getSubCategoryIdAndSubCategoryMap(tickets);
370
				.getSubCategoryIdAndSubCategoryMap(tickets);
355
		model.addAttribute("tickets", tickets);
371
		model.addAttribute("tickets", tickets);
-
 
372
		model.addAttribute("resolved", ActivityType.RESOLVED);
-
 
373
		model.addAttribute("resolved-accepted", ActivityType.RESOLVED_ACCEPTED);
-
 
374
		model.addAttribute("resolved-rejected", ActivityType.RESOLVED_REJECTED);
356
		model.addAttribute("authUserIdAndAuthUserMap", authUserIdAndAuthUserMap);
375
		model.addAttribute("authUserIdAndAuthUserMap", authUserIdAndAuthUserMap);
357
		model.addAttribute("subCategoryIdAndSubCategoryMap", subCategoryIdAndSubCategoryMap);
376
		model.addAttribute("subCategoryIdAndSubCategoryMap", subCategoryIdAndSubCategoryMap);
358
		return "ticket";
377
		return "ticket";
359
	}
378
	}
360
 
379
 
Line 370... Line 389...
370
		Map<Integer, AuthUser> authUserIdAndAuthUserMap = null;
389
		Map<Integer, AuthUser> authUserIdAndAuthUserMap = null;
371
		// LOGGER.info(roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds()))));
390
		// LOGGER.info(roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds()))));
372
		if (roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds()))) {
391
		if (roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds()))) {
373
			AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
392
			AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
374
			ticketAssigneds = ticketAssignedRepository.selectByAssigneeId(authUser.getId(), offset, limit);
393
			ticketAssigneds = ticketAssignedRepository.selectByAssigneeId(authUser.getId(), offset, limit);
375
				ticketIds = ticketAssigneds.stream().map(x -> x.getTicketId()).collect(Collectors.toList());
394
			ticketIds = ticketAssigneds.stream().map(x -> x.getTicketId()).collect(Collectors.toList());
376
				tickets = ticketRepository.selectAllByTicketIds(ticketIds);
395
			tickets = ticketRepository.selectAllByTicketIds(ticketIds);
377
				authUserIdAndAuthUserMap = csService.getAuthUserIdAndAuthUserMap(ticketAssigneds);
396
			authUserIdAndAuthUserMap = csService.getAuthUserIdAndAuthUserMap(ticketAssigneds);
378
				Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
397
			Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
379
				model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
398
			model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
380
		} else {
399
		} else {
381
			tickets = ticketRepository.selectAllByCreator(loginDetails.getFofoId(), Optional.empty(), offset, limit);
400
			tickets = ticketRepository.selectAllByCreator(loginDetails.getFofoId(), Optional.empty(), offset, limit);
382
			authUserIdAndAuthUserMap = csService.getTicketIdAndAuthUserMapUsingTickets(tickets);
401
			authUserIdAndAuthUserMap = csService.getTicketIdAndAuthUserMapUsingTickets(tickets);
383
		}
402
		}
384
		model.addAttribute("roleType", roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds())));
403
		model.addAttribute("roleType", roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds())));
Line 393... Line 412...
393
	@GetMapping(value = "/cs/getActivities")
412
	@GetMapping(value = "/cs/getActivities")
394
	public String getActivity(HttpServletRequest request,
413
	public String getActivity(HttpServletRequest request,
395
			@RequestParam(name = "ticketId", defaultValue = "0") int ticketId, Model model) throws Exception {
414
			@RequestParam(name = "ticketId", defaultValue = "0") int ticketId, Model model) throws Exception {
396
		List<Activity> activities = activityRepository.selectAll(ticketId);
415
		List<Activity> activities = activityRepository.selectAll(ticketId);
397
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
416
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
398
		if(roleManager.isAdmin(loginDetails.getRoleIds())) {
417
		if (roleManager.isAdmin(loginDetails.getRoleIds())) {
399
			Set<Integer> authUserIds = activities.stream().map(x->x.getCreatedBy()).collect(Collectors.toSet());
418
			Set<Integer> authUserIds = activities.stream().map(x -> x.getCreatedBy()).collect(Collectors.toSet());
400
			List<AuthUser> users = authRepository.selectAllAuthUserByIds(new ArrayList<>(authUserIds));
419
			List<AuthUser> users = authRepository.selectAllAuthUserByIds(new ArrayList<>(authUserIds));
-
 
420
			Map<Integer, String> authUserNameMap = users.stream()
401
			Map<Integer, String> authUserNameMap = users.stream().collect(Collectors.toMap(AuthUser::getId, x->x.getFirstName() + " "+  x.getLastName()));
421
					.collect(Collectors.toMap(AuthUser::getId, x -> x.getFirstName() + " " + x.getLastName()));
402
			activities.stream().forEach(x->x.setName(authUserNameMap.get(x.getCreatedBy())));
422
			activities.stream().forEach(x -> x.setName(authUserNameMap.get(x.getCreatedBy())));
403
		}
423
		}
404
		if (activities == null) {
424
		if (activities == null) {
405
			throw new ProfitMandiBusinessException("Activity", ticketId, "No Activity Found");
425
			throw new ProfitMandiBusinessException("Activity", ticketId, "No Activity Found");
406
		}
426
		}
407
		model.addAttribute("response", mvcResponseSender.createResponseString(activities));
427
		model.addAttribute("response", mvcResponseSender.createResponseString(activities));
Line 422... Line 442...
422
				activity.setMessage(message);
442
				activity.setMessage(message);
423
				activity.setCreatedBy(0);
443
				activity.setCreatedBy(0);
424
				activity.setCreateTimestamp(LocalDateTime.now());
444
				activity.setCreateTimestamp(LocalDateTime.now());
425
				activity.setType(ActivityType.COMMUNICATION_IN);
445
				activity.setType(ActivityType.COMMUNICATION_IN);
426
				csService.addActivity(ticketId, activity);
446
				csService.addActivity(ticketId, activity);
427
				AuthUser authUser = authRepository.selectById(assigneeId);
447
				AuthUser authUser = authRepository.selectById(ticket.getL1AuthUser());
-
 
448
				String subject = String.format(ACTIVITY_SUBJECT, ticket.getId());
-
 
449
				String[] cc = { authRepository.selectById(ticket.getL2AuthUser()).getEmailId(),
-
 
450
						authRepository.selectById(ticket.getL3AuthUser()).getEmailId() };
-
 
451
				// LOGGER.info(authUser.getEmailId()+" "+cc+" "+subject+" "+message);
-
 
452
				this.activityRelatedMail(authUser.getEmailId(), cc, subject, message);
428
				model.addAttribute("response", mvcResponseSender.createResponseString(authUser));
453
				model.addAttribute("response", mvcResponseSender.createResponseString(authUser));
429
			} else {
454
			} else {
430
				AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
455
				AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
431
				Activity activity = new Activity();
456
				Activity activity = new Activity();
432
				activity.setMessage(message);
457
				activity.setMessage(message);
433
				activity.setCreatedBy(authUser.getId());
458
				activity.setCreatedBy(authUser.getId());
434
				activity.setCreateTimestamp(LocalDateTime.now());
459
				activity.setCreateTimestamp(LocalDateTime.now());
435
				activity.setType(ActivityType.COMMUNICATION_OUT);
460
				activity.setType(ActivityType.COMMUNICATION_OUT);
436
				csService.addActivity(ticketId, activity);
461
				csService.addActivity(ticketId, activity);
-
 
462
				String subject = String.format(ACTIVITY_SUBJECT, ticket.getId());
-
 
463
				LOGGER.info(authUser.getEmailId() + " " + subject + " " + message);
-
 
464
				this.activityRelatedMail(retailerService.getFofoRetailer(ticket.getFofoId()).getEmail(), null, subject,
-
 
465
						message);
437
				model.addAttribute("response", mvcResponseSender.createResponseString(authUser));
466
				model.addAttribute("response", mvcResponseSender.createResponseString(authUser));
438
			}
467
			}
439
		} else {
468
		} else {
440
			throw new ProfitMandiBusinessException("Ticket", ticket.getId(), "Already closed ticket");
469
			throw new ProfitMandiBusinessException("Ticket", ticket.getId(), "Already closed ticket");
441
		}
470
		}
442
		return "response";
471
		return "response";
443
	}
472
	}
444
 
473
 
-
 
474
	private void activityRelatedMail(String to, String[] cc, String subject, String message)
-
 
475
			throws ProfitMandiBusinessException {
-
 
476
		try {
-
 
477
			Utils.sendMailWithAttachments(mailSender, to, cc, subject, message, null);
-
 
478
		} catch (Exception e) {
-
 
479
			throw new ProfitMandiBusinessException("Ticket Activity", to, "Could not send ticket activity mail");
-
 
480
		}
-
 
481
	}
-
 
482
 
445
	@PostMapping(value = "/cs/closeTicket")
483
	@PostMapping(value = "/cs/closeTicket")
446
	public String closeTicket(HttpServletRequest request,
484
	public String closeTicket(HttpServletRequest request,
447
			@RequestParam(name = "ticketId", defaultValue = "0") int ticketId,
485
			@RequestParam(name = "ticketId", defaultValue = "0") int ticketId,
448
			@RequestParam(name = "happyCode") String happyCode, Model model) throws Exception {
486
			@RequestParam(name = "happyCode") String happyCode, Model model) throws Exception {
449
		Ticket ticket = ticketRepository.selectById(ticketId);
487
		Ticket ticket = ticketRepository.selectById(ticketId);
Line 467... Line 505...
467
		AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
505
		AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
468
		List<Ticket> tickets = null;
506
		List<Ticket> tickets = null;
469
		Map<Integer, List<AuthUser>> authUserListMap = null;
507
		Map<Integer, List<AuthUser>> authUserListMap = null;
470
		if (loginDetails.getEmailId().equals("amandeep.singh@smartdukaan.com")) {
508
		if (loginDetails.getEmailId().equals("amandeep.singh@smartdukaan.com")) {
471
			tickets = ticketRepository.selectAll(offset, limit, Optional.empty());
509
			tickets = ticketRepository.selectAll(offset, limit, Optional.empty());
472
			authUserListMap = csService.getAuthUserList(tickets,authUser);
510
			authUserListMap = csService.getAuthUserList(tickets, authUser);
473
			size = ticketRepository.selectAllCount();
511
			size = ticketRepository.selectAllCount();
474
		} else {
512
		} else {
475
			tickets=ticketRepository.selectAllByEscalatedUserType(authUser.getId(), offset, limit);
513
			tickets = ticketRepository.selectAllByEscalatedUserType(authUser.getId(), offset, limit);
476
			authUserListMap = csService.getAuthUserList(tickets,authUser);
514
			authUserListMap = csService.getAuthUserList(tickets, authUser);
477
			size=ticketRepository.selectAllCountByEscalatedUserType(authUser.getId());
515
			size = ticketRepository.selectAllCountByEscalatedUserType(authUser.getId());
478
			if(tickets.size()>0)
516
			if (tickets.size() > 0) {
479
			{
-
 
480
			Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
517
				Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
481
			model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
518
				model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
482
			}
519
			}
483
		}
520
		}
484
		if (size < limit) {
521
		if (size < limit) {
485
			model.addAttribute("end", offset + size);
522
			model.addAttribute("end", offset + size);
486
		} else {
523
		} else {
Line 507... Line 544...
507
		AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
544
		AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
508
		Map<Integer, List<AuthUser>> authUserListMap = null;
545
		Map<Integer, List<AuthUser>> authUserListMap = null;
509
		List<Ticket> tickets = null;
546
		List<Ticket> tickets = null;
510
		if (loginDetails.getEmailId().equals("amandeep.singh@smartdukaan.com")) {
547
		if (loginDetails.getEmailId().equals("amandeep.singh@smartdukaan.com")) {
511
			tickets = ticketRepository.selectAll(offset, limit, Optional.empty());
548
			tickets = ticketRepository.selectAll(offset, limit, Optional.empty());
512
			authUserListMap = csService.getAuthUserList(tickets,authUser);
549
			authUserListMap = csService.getAuthUserList(tickets, authUser);
513
		} else {
550
		} else {
514
			
551
 
515
			tickets=ticketRepository.selectAllByEscalatedUserType(authUser.getId(), offset, limit);
552
			tickets = ticketRepository.selectAllByEscalatedUserType(authUser.getId(), offset, limit);
516
			authUserListMap = csService.getAuthUserList(tickets,authUser);
553
			authUserListMap = csService.getAuthUserList(tickets, authUser);
517
				if(tickets.size()>0)
554
			if (tickets.size() > 0) {
518
				{
-
 
519
				Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
555
				Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
520
				model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
556
				model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
521
				}
557
			}
522
		}
558
		}
523
		model.addAttribute("tickets", tickets);
559
		model.addAttribute("tickets", tickets);
524
		Map<Integer, TicketSubCategory> subCategoryIdAndSubCategoryMap = csService
560
		Map<Integer, TicketSubCategory> subCategoryIdAndSubCategoryMap = csService
525
				.getSubCategoryIdAndSubCategoryMap(tickets);
561
				.getSubCategoryIdAndSubCategoryMap(tickets);
526
		model.addAttribute("tickets", tickets);
562
		model.addAttribute("tickets", tickets);
Line 582... Line 618...
582
			@RequestParam(name = "positionId", defaultValue = "0") int positionId, Model model) throws Exception {
618
			@RequestParam(name = "positionId", defaultValue = "0") int positionId, Model model) throws Exception {
583
		positionRepository.delete(positionId);
619
		positionRepository.delete(positionId);
584
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
620
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
585
		return "response";
621
		return "response";
586
	}
622
	}
-
 
623
 
-
 
624
	@PostMapping(value = "/cs/create-last-activity")
-
 
625
	public String createlastActivity(HttpServletRequest request, @RequestParam(name = "ticketId") int ticketId,
-
 
626
			@RequestParam(name = "lastactivity") ActivityType lastActivity, Model model) throws Exception {
-
 
627
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
-
 
628
		Ticket ticket = ticketRepository.selectById(ticketId);
-
 
629
		Activity activity = new Activity();
-
 
630
		String subject = String.format(ACTIVITY_SUBJECT, ticket.getId());
-
 
631
		if (roleManager.isAdmin(loginDetails.getRoleIds())) {
-
 
632
			ticket.setLastActivity(lastActivity);
-
 
633
			String to = retailerService.getFofoRetailer(ticket.getFofoId()).getEmail();
-
 
634
			String message = String.format(PARTNER_RESOLVED_TICKET_MAIL,ticketId,"REJECT");
-
 
635
			activity.setMessage(message);
-
 
636
			activity.setCreatedBy(authRepository.selectByEmailOrMobile(loginDetails.getEmailId()).getId());
-
 
637
			activity.setTicketId(ticketId);
-
 
638
			activity.setCreateTimestamp(LocalDateTime.now());
-
 
639
			activity.setType(ActivityType.COMMUNICATION_OUT);
-
 
640
			//this.activityRelatedMail(to, null, subject, message);
-
 
641
		} else {
-
 
642
			if (ActivityType.RESOLVED_ACCEPTED == lastActivity) {
-
 
643
				ticket.setLastActivity(lastActivity);
-
 
644
				ticket.setCloseTimestamp(LocalDateTime.now());
-
 
645
				activity.setMessage(ActivityType.RESOLVED.toString());
-
 
646
				activity.setCreatedBy(0);
-
 
647
				activity.setTicketId(ticketId);
-
 
648
				activity.setType(ActivityType.COMMUNICATION_IN);
-
 
649
				activity.setCreateTimestamp(LocalDateTime.now());
-
 
650
			} else {
-
 
651
				String message = String.format(INTERNAL_REOPEN_MAIL,ticketId,retailerService.getFofoRetailer(loginDetails.getFofoId()).getBusinessName());
-
 
652
				String to = authRepository.selectById(ticket.getL1AuthUser()).getEmailId();
-
 
653
				String cc[] = { authRepository.selectById(ticket.getL2AuthUser()).getEmailId(),
-
 
654
						authRepository.selectById(ticket.getL3AuthUser()).getEmailId() };
-
 
655
				ticket.setLastActivity(lastActivity);
-
 
656
				activity.setMessage(INTERNAL_REOPEN_ACTIVITY_MESSAGE);
-
 
657
				activity.setCreatedBy(0);
-
 
658
				activity.setTicketId(ticketId);
-
 
659
				activity.setType(ActivityType.COMMUNICATION_IN);
-
 
660
				activity.setCreateTimestamp(LocalDateTime.now());
-
 
661
				//this.activityRelatedMail(to, cc, subject, message);
-
 
662
				//this.activityRelatedMail(retailerService.getFofoRetailer(loginDetails.getFofoId()).getEmail(), null, subject, String.format(PARTNER_REOPEN, ticketId));
-
 
663
			}
-
 
664
 
-
 
665
		}
-
 
666
		ticketRepository.persist(ticket);
-
 
667
		activityRepository.persist(activity);
-
 
668
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
-
 
669
		return "response";
-
 
670
	}
-
 
671
 
587
}
672
}