Commit 5252d3b8 authored by lakshmikommalapati's avatar lakshmikommalapati
Browse files

create new Api for guest user can create ticket

Showing with 172 additions and 4 deletions
+172 -4
package org.upsmf.grievance.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.upsmf.grievance.model.GrievanceRaise;
import org.upsmf.grievance.model.GrievanceTicket;
import org.upsmf.grievance.model.Ticket;
import org.upsmf.grievance.service.GrievanceRaiseService;
import org.upsmf.grievance.util.*;
import javax.annotation.security.PermitAll;
@RestController
@RequestMapping("/grievance")
public class GrievanceRaiseController {
@Autowired
private GrievanceRaiseService service;
@Autowired
private Ticket ticket;
@PostMapping(value ="/grievanceRaise")
public String addGrievance(@RequestBody GrievanceRaise grievance)
throws JsonProcessingException {
GrievanceTicket grievanceTicket = service.addGrievance(grievance);
// validating response
if (grievanceTicket != null) {
// return success response
return ResponseGenerator.successResponse(grievanceTicket);
}
// return error response
return ResponseGenerator.failureResponse();
}
}
package org.upsmf.grievance.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.*;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString(includeFieldNames = true)
public class GrievanceRaise {
private String name;
private String emailId;
@JsonInclude(JsonInclude.Include.NON_NULL)
private String phone;
@JsonInclude(JsonInclude.Include.NON_NULL)
private Long orgId;
@JsonInclude(JsonInclude.Include.NON_NULL)
private Long helpdeskId;
private String description;
private List<String> filePath;
private String appKey;
private Long appId;
private String appName;
}
package org.upsmf.grievance.model;
import lombok.*;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString(includeFieldNames = true)
@Builder
public class GrievanceTicket {
private Long ticketId;
private String date;
}
......@@ -3,6 +3,7 @@ package org.upsmf.grievance.model;
import java.sql.Timestamp;
import java.util.List;
import org.springframework.stereotype.Component;
import org.upsmf.grievance.dto.TicketWorkflowDto;
import lombok.AllArgsConstructor;
......@@ -16,6 +17,7 @@ import lombok.ToString;
@NoArgsConstructor
@AllArgsConstructor
@ToString(includeFieldNames = true)
@Component
public class Ticket {
private Long userId;
......@@ -79,5 +81,8 @@ public class Ticket {
private List<String> attachmentUrl;
private List<String> selectedTags;
private List<Tags> tags;
private String requesterEmail;
private String requesterPhoneNumber;
private String requesterUser;
}
\ No newline at end of file
package org.upsmf.grievance.service;
import org.upsmf.grievance.model.GrievanceRaise;
import org.upsmf.grievance.model.GrievanceTicket;
public interface GrievanceRaiseService {
GrievanceTicket addGrievance(GrievanceRaise grievanceRaise);
}
package org.upsmf.grievance.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.upsmf.grievance.model.GrievanceRaise;
import org.upsmf.grievance.model.GrievanceTicket;
import org.upsmf.grievance.model.Ticket;
import org.upsmf.grievance.service.GrievanceRaiseService;
import org.upsmf.grievance.service.TicketService;
@Service(value = "GrievanceRaiseService")
public class GrievanceRaiseServiceImpl implements GrievanceRaiseService {
@Autowired
private TicketService ticketService;
@Autowired
private Ticket ticket;
@Value("${source_default_request_id}")
private Long sourceId;
@Value("${default_app_name}")
private String appName;
@Value("${default_app_id}")
private Long appId;
@Value("${default_app_key}")
private String appKey;
@Override
public GrievanceTicket addGrievance(GrievanceRaise grievance) {
ticket.setUserName(grievance.getName());
ticket.setHelpdeskId(grievance.getHelpdeskId());
ticket.setSourceId(sourceId);
ticket.setAppKey(appKey);
ticket.setAppId(appId);
ticket.setDescription(grievance.getDescription());
ticket.setAppName(appName);
ticket.setRequesterUser(grievance.getName());
ticket.setRequesterEmail(grievance.getEmailId());
ticket.setRequesterPhoneNumber(grievance.getPhone());
ticket=ticketService.addTicket(ticket);
// checking response
GrievanceTicket grievanceTicket = null;
if(ticket!=null && ticket.getId()>0){
grievanceTicket = GrievanceTicket.builder().ticketId(ticket.getId())
.date(ticket.getCreatedTime().toString()).build();
// send mail to stakeholder i.e. requestor, admins
}
return grievanceTicket;
}
}
......@@ -294,7 +294,7 @@ public final class Sql {
public static final String GET_USER_ID_AND_USER_NAME = "SELECT id,name FROM \"user\" where is_active is true;";
public static final String UPDATE_ALLOW_ALL_USERS = "UPDATE helpdesk SET allow_all_users = ? WHERE id = ?";
public static final String REMOVE_ALL_TICKET_ATTACHMENT = "DELETE FROM ticket_attachment where ticket_id=?";
public static final String GET_HELPDESK_CHANNELS = "SELECT direct, playstore, appstore, aurora_sdk FROM helpdesk where id=? and is_active is true ";
public static final String GET_HELPDESK_CHANNELS = "SELECT direct, playstore, appstore, grievance_sdk FROM helpdesk where id=? and is_active is true ";
public static final String QUERY1 = "SELECT toa.aut_id as id, toa.base_url as name, auth_name as description from organization_auth toa, ";
public static final String QUERY2 = " authentication auth WHERE toa.aut_id = auth.id AND toa.org_id = ";
......
......@@ -13,7 +13,7 @@ spring.jpa.hibernate.ddl-auto=none
spring.datasource.initialization-mode=always
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
urls.whitelist=/,/user/login,/user/logout,/signup,/token/validate,/upload,/user/forgotPassword,/superadmin/getAuthTypes,/tickets/getTemplateVersion,/user/updateEkstepUser,/superadmin/addOrganization,/helpdesk/getPerformanceWithoutAccessControl
urls.whitelist=/,/user/login,/user/logout,/signup,/token/validate,/upload,/user/forgotPassword,/superadmin/getAuthTypes,/tickets/getTemplateVersion,/user/updateEkstepUser,/superadmin/addOrganization,/helpdesk/getPerformanceWithoutAccessControl,/grievance/grievanceRaise
services.esindexer.host=es.rain.idc.tarento.com
services.esindexer.host.name=http://es.rain.idc.tarento.com/
......@@ -32,7 +32,9 @@ elk.data.up=true
image.source.aws=true
image.source.attachment.aws=true
source_default_request_id=3
default_app_name=test app 9
default_app_id=1
default_app_key=26f3847b-74f5-418d-9621-c331b1907131
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment