| Line 301... |
Line 301... |
| 301 |
}
|
301 |
}
|
| 302 |
return "response";
|
302 |
return "response";
|
| 303 |
}
|
303 |
}
|
| 304 |
|
304 |
|
| 305 |
@GetMapping(value = "/cs/createTicket")
|
305 |
@GetMapping(value = "/cs/createTicket")
|
| 306 |
public String createTicket(HttpServletRequest request, Model model) {
|
306 |
public String createTicket(HttpServletRequest request, Model model) throws ProfitMandiBusinessException {
|
| - |
|
307 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
| 307 |
List<TicketCategory> ticketCategories = csService.getAllTicketCategotyFromSubCategory();
|
308 |
List<TicketCategory> ticketCategories = csService.getAllTicketCategotyFromSubCategory();
|
| - |
|
309 |
model.addAttribute("roleType", roleManager.isAdmin(loginDetails.getRoleIds()));
|
| 308 |
model.addAttribute("ticketCategories", ticketCategories);
|
310 |
model.addAttribute("ticketCategories", ticketCategories);
|
| 309 |
return "create-ticket";
|
311 |
return "create-ticket";
|
| 310 |
}
|
312 |
}
|
| 311 |
|
313 |
|
| 312 |
@GetMapping(value = "/cs/getSubCategoriesByCategoryId")
|
314 |
@GetMapping(value = "/cs/getSubCategoriesByCategoryId")
|
| Line 377... |
Line 379... |
| 377 |
searchTerm, offset, limit);
|
379 |
searchTerm, offset, limit);
|
| 378 |
size = ticketRepository.selectAllCountByAssignee(authUser.getId(),
|
380 |
size = ticketRepository.selectAllCountByAssignee(authUser.getId(),
|
| 379 |
Optional.of(TicketStatus.OPENED.equals(ticketStatus)), ticketSearchType, searchTerm);
|
381 |
Optional.of(TicketStatus.OPENED.equals(ticketStatus)), ticketSearchType, searchTerm);
|
| 380 |
}
|
382 |
}
|
| 381 |
}
|
383 |
}
|
| 382 |
//LOGGER.info(size + "size");
|
384 |
// LOGGER.info(size + "size");
|
| 383 |
if (tickets.size() > 0) {
|
385 |
if (tickets.size() > 0) {
|
| 384 |
ticketAssigneds = ticketAssignedRepository
|
386 |
ticketAssigneds = ticketAssignedRepository
|
| 385 |
.selectByTicketIds(tickets.stream().map(x -> x.getId()).collect(Collectors.toList()));
|
387 |
.selectByTicketIds(tickets.stream().map(x -> x.getId()).collect(Collectors.toList()));
|
| 386 |
authUserIdAndAuthUserMap = csService.getAuthUserIdAndAuthUserMap(ticketAssigneds);
|
388 |
authUserIdAndAuthUserMap = csService.getAuthUserIdAndAuthUserMap(ticketAssigneds);
|
| 387 |
Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
|
389 |
Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = csService.getPartnerByFofoIds(tickets);
|
| Line 432... |
Line 434... |
| 432 |
@RequestParam(name = "limit", defaultValue = "10") int limit, Model model)
|
434 |
@RequestParam(name = "limit", defaultValue = "10") int limit, Model model)
|
| 433 |
throws ProfitMandiBusinessException {
|
435 |
throws ProfitMandiBusinessException {
|
| 434 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
436 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
| 435 |
List<Ticket> tickets = null;
|
437 |
List<Ticket> tickets = null;
|
| 436 |
List<TicketAssigned> ticketAssigneds = null;
|
438 |
List<TicketAssigned> ticketAssigneds = null;
|
| 437 |
|
439 |
|
| 438 |
Map<Integer, AuthUser> authUserIdAndAuthUserMap = null;
|
440 |
Map<Integer, AuthUser> authUserIdAndAuthUserMap = null;
|
| 439 |
|
441 |
|
| 440 |
if (roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds()))) {
|
442 |
if (roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds()))) {
|
| 441 |
AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
|
443 |
AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
|
| 442 |
if (ticketSearchType == null) {
|
444 |
if (ticketSearchType == null) {
|
| 443 |
if (ticketStatus.equals(TicketStatus.RESOLVED)) {
|
445 |
if (ticketStatus.equals(TicketStatus.RESOLVED)) {
|
| 444 |
tickets = ticketRepository.selectAllByAssignee(authUser.getId(), Optional.empty(), sortOrder, null,
|
446 |
tickets = ticketRepository.selectAllByAssignee(authUser.getId(), Optional.empty(), sortOrder, null,
|
| Line 483... |
Line 485... |
| 483 |
}
|
485 |
}
|
| 484 |
|
486 |
|
| 485 |
@GetMapping(value = "/cs/getActivities")
|
487 |
@GetMapping(value = "/cs/getActivities")
|
| 486 |
public String getActivity(HttpServletRequest request,
|
488 |
public String getActivity(HttpServletRequest request,
|
| 487 |
@RequestParam(name = "ticketId", defaultValue = "0") int ticketId, Model model) throws Exception {
|
489 |
@RequestParam(name = "ticketId", defaultValue = "0") int ticketId, Model model) throws Exception {
|
| 488 |
List<Activity> activities = activityRepository.selectAll(ticketId);
|
490 |
List<Activity> allactivities = activityRepository.selectAll(ticketId);
|
| - |
|
491 |
List<Activity> activities = null;
|
| 489 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
492 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
| 490 |
if (roleManager.isAdmin(loginDetails.getRoleIds())) {
|
493 |
if (roleManager.isAdmin(loginDetails.getRoleIds())) {
|
| 491 |
Set<Integer> authUserIds = activities.stream().map(x -> x.getCreatedBy()).collect(Collectors.toSet());
|
494 |
Set<Integer> authUserIds = allactivities.stream().map(x -> x.getCreatedBy()).collect(Collectors.toSet());
|
| 492 |
List<AuthUser> users = authRepository.selectAllAuthUserByIds(new ArrayList<>(authUserIds));
|
495 |
List<AuthUser> users = authRepository.selectAllAuthUserByIds(new ArrayList<>(authUserIds));
|
| 493 |
Map<Integer, String> authUserNameMap = users.stream()
|
496 |
Map<Integer, String> authUserNameMap = users.stream()
|
| 494 |
.collect(Collectors.toMap(AuthUser::getId, x -> x.getFirstName() + " " + x.getLastName()));
|
497 |
.collect(Collectors.toMap(AuthUser::getId, x -> x.getFirstName() + " " + x.getLastName()));
|
| 495 |
activities.stream().forEach(x -> x.setName(authUserNameMap.get(x.getCreatedBy())));
|
498 |
allactivities.stream().forEach(x -> x.setName(authUserNameMap.get(x.getCreatedBy())));
|
| - |
|
499 |
activities = allactivities;
|
| - |
|
500 |
} else {
|
| - |
|
501 |
activities = allactivities.stream().filter(x -> !x.getType().equals(ActivityType.COMMUNICATION_INTERNAL))
|
| - |
|
502 |
.collect(Collectors.toList());
|
| 496 |
}
|
503 |
}
|
| 497 |
if (activities == null) {
|
504 |
if (activities == null) {
|
| 498 |
throw new ProfitMandiBusinessException("Activity", ticketId, "No Activity Found");
|
505 |
throw new ProfitMandiBusinessException("Activity", ticketId, "No Activity Found");
|
| 499 |
}
|
506 |
}
|
| 500 |
model.addAttribute("response", mvcResponseSender.createResponseString(activities));
|
507 |
model.addAttribute("response", mvcResponseSender.createResponseString(activities));
|
| Line 504... |
Line 511... |
| 504 |
|
511 |
|
| 505 |
@PostMapping(value = "/cs/createActivity")
|
512 |
@PostMapping(value = "/cs/createActivity")
|
| 506 |
public String createActivity(HttpServletRequest request,
|
513 |
public String createActivity(HttpServletRequest request,
|
| 507 |
@RequestParam(name = "ticketId", defaultValue = "0") int ticketId,
|
514 |
@RequestParam(name = "ticketId", defaultValue = "0") int ticketId,
|
| 508 |
@RequestParam(name = "assigneeId", defaultValue = "0") int assigneeId,
|
515 |
@RequestParam(name = "assigneeId", defaultValue = "0") int assigneeId,
|
| - |
|
516 |
@RequestParam(name = "internal", defaultValue = "true") boolean internal,
|
| 509 |
@RequestParam(name = "message", defaultValue = "") String message, Model model) throws Exception {
|
517 |
@RequestParam(name = "message", defaultValue = "") String message, Model model) throws Exception {
|
| 510 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
518 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
| 511 |
Ticket ticket = ticketRepository.selectById(ticketId);
|
519 |
Ticket ticket = ticketRepository.selectById(ticketId);
|
| 512 |
if (ticket.getCloseTimestamp() == null) {
|
520 |
if (ticket.getCloseTimestamp() == null) {
|
| 513 |
if (!roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds()))) {
|
521 |
if (!roleManager.isAdmin(new HashSet<>(loginDetails.getRoleIds()))) {
|
| Line 520... |
Line 528... |
| 520 |
AuthUser authUser = authRepository.selectById(ticket.getL1AuthUser());
|
528 |
AuthUser authUser = authRepository.selectById(ticket.getL1AuthUser());
|
| 521 |
String subject = String.format(ACTIVITY_SUBJECT, ticket.getId());
|
529 |
String subject = String.format(ACTIVITY_SUBJECT, ticket.getId());
|
| 522 |
String[] cc = { authRepository.selectById(ticket.getL2AuthUser()).getEmailId(),
|
530 |
String[] cc = { authRepository.selectById(ticket.getL2AuthUser()).getEmailId(),
|
| 523 |
authRepository.selectById(ticket.getL3AuthUser()).getEmailId() };
|
531 |
authRepository.selectById(ticket.getL3AuthUser()).getEmailId() };
|
| 524 |
// LOGGER.info(authUser.getEmailId()+" "+cc+" "+subject+" "+message);
|
532 |
// LOGGER.info(authUser.getEmailId()+" "+cc+" "+subject+" "+message);
|
| 525 |
this.activityRelatedMail(authUser.getEmailId(), cc, subject, message);
|
533 |
// this.activityRelatedMail(authUser.getEmailId(), cc, subject, message);
|
| 526 |
model.addAttribute("response", mvcResponseSender.createResponseString(authUser));
|
534 |
model.addAttribute("response", mvcResponseSender.createResponseString(authUser));
|
| 527 |
} else {
|
535 |
} else {
|
| 528 |
AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
|
536 |
AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
|
| 529 |
Activity activity = new Activity();
|
537 |
Activity activity = new Activity();
|
| 530 |
activity.setMessage(message);
|
538 |
activity.setMessage(message);
|
| 531 |
activity.setCreatedBy(authUser.getId());
|
539 |
activity.setCreatedBy(authUser.getId());
|
| 532 |
activity.setCreateTimestamp(LocalDateTime.now());
|
540 |
activity.setCreateTimestamp(LocalDateTime.now());
|
| - |
|
541 |
if (internal) {
|
| - |
|
542 |
activity.setType(ActivityType.COMMUNICATION_INTERNAL);
|
| - |
|
543 |
|
| - |
|
544 |
} else {
|
| - |
|
545 |
|
| 533 |
activity.setType(ActivityType.COMMUNICATION_OUT);
|
546 |
activity.setType(ActivityType.COMMUNICATION_OUT);
|
| - |
|
547 |
String subject = String.format(ACTIVITY_SUBJECT, ticket.getId());
|
| - |
|
548 |
this.activityRelatedMail(retailerService.getFofoRetailer(ticket.getFofoId()).getEmail(), null,
|
| - |
|
549 |
subject, message);
|
| - |
|
550 |
}
|
| 534 |
csService.addActivity(ticketId, activity);
|
551 |
csService.addActivity(ticketId, activity);
|
| 535 |
String subject = String.format(ACTIVITY_SUBJECT, ticket.getId());
|
- |
|
| - |
|
552 |
|
| 536 |
//LOGGER.info(authUser.getEmailId() + " " + subject + " " + message);
|
553 |
// LOGGER.info(authUser.getEmailId() + " " + subject + " " + message);
|
| 537 |
this.activityRelatedMail(retailerService.getFofoRetailer(ticket.getFofoId()).getEmail(), null, subject,
|
- |
|
| 538 |
message);
|
554 |
|
| 539 |
model.addAttribute("response", mvcResponseSender.createResponseString(authUser));
|
555 |
model.addAttribute("response", mvcResponseSender.createResponseString(authUser));
|
| 540 |
}
|
556 |
}
|
| 541 |
} else {
|
557 |
} else {
|
| 542 |
throw new ProfitMandiBusinessException("Ticket", ticket.getId(), "Already closed ticket");
|
558 |
throw new ProfitMandiBusinessException("Ticket", ticket.getId(), "Already closed ticket");
|
| 543 |
}
|
559 |
}
|