| 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 |
}
|