Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.web.v2.controller;import com.spice.profitmandi.common.enumuration.ActivationType;import com.spice.profitmandi.dao.enumuration.dtr.CommunicationType;import com.spice.profitmandi.dao.enumuration.dtr.FranchiseeActivityStatus;import com.spice.profitmandi.dao.enumuration.dtr.FranchiseeVisitStatus;import com.spice.profitmandi.dao.enumuration.dtr.LeadStatus;import com.spice.profitmandi.dao.enumuration.dtr.VisitStatus;import com.spice.profitmandi.dao.model.CreateRefferalRequest;import com.spice.profitmandi.dao.model.PartnerTargetAchievementModel;import com.spice.profitmandi.web.controller.LeadController;import com.spice.profitmandi.web.req.CreateFranchiseeRequest;import com.spice.profitmandi.web.req.RbmSalesRatingRequest;import com.spice.profitmandi.web.v2.response.ApiResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.format.annotation.DateTimeFormat;import org.springframework.http.ResponseEntity;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.*;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;import java.time.LocalDateTime;@RestController@RequestMapping("/v2")public class V2LeadController extends V2BaseController {@Autowiredprivate LeadController leadController;@PostMapping("/lead")public ResponseEntity<ApiResponse<?>> LeadUser(@RequestBody CreateRefferalRequest createRefferalRequest) throws Throwable {return wrapResponse(leadController.LeadUser(createRefferalRequest));}@GetMapping("/lead-description")public ResponseEntity<ApiResponse<?>> leadDescription(HttpServletRequest request,@RequestParam(name = "gmailId") String gmailId,@RequestParam(name = "status") LeadStatus status) throws Throwable {return wrapResponse(leadController.leadDescription(request, gmailId, status));}@GetMapping("/getlead")public ResponseEntity<ApiResponse<?>> getLead(HttpServletRequest request,@RequestParam(name = "id") int id) throws Throwable {return wrapResponse(leadController.getLead(request, id));}@GetMapping("/check-existing-lead")public ResponseEntity<ApiResponse<?>> getLeadByMobile(HttpServletRequest request,@RequestParam(name = "mobile") String mobile) throws Throwable {return wrapResponse(leadController.getLeadByMobile(request, mobile));}@PostMapping("/leadUpdate")public ResponseEntity<ApiResponse<?>> leadUpdate(HttpServletRequest request,@RequestParam(name = "id") int id,@RequestParam(name = "status") LeadStatus status,@RequestParam(name = "colorCheck") Boolean colorCheck,@RequestParam(name = "remark") String remark,@RequestParam(name = "reason") String reason,@RequestParam(name = "schelduleTimestamp") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime schelduleTimestamp,@RequestParam(name = "closureTimestamp") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime closureTimestamp,@RequestParam(name = "communicationType") CommunicationType communicationType) throws Throwable {return wrapResponse(leadController.leadUpdate(request, id, status, colorCheck, remark, reason, schelduleTimestamp, closureTimestamp, communicationType));}@PostMapping("/newLead")public ResponseEntity<ApiResponse<?>> newLead(HttpServletRequest request,@RequestBody CreateRefferalRequest createRefferalRequest) throws Throwable {return wrapResponse(leadController.newLead(request, createRefferalRequest));}@GetMapping("/getPartnersList")public ResponseEntity<ApiResponse<?>> getPartners(HttpServletRequest request,@RequestParam(name = "gmailId") String gmailId) throws Throwable {return wrapResponse(leadController.getPartners(request, gmailId));}@PostMapping("/franchise-first-visit")public ResponseEntity<ApiResponse<?>> FranchiseFirstVisit(HttpServletRequest request,@RequestBody CreateFranchiseeRequest createFranchiseeRequest) throws Throwable {return wrapResponse(leadController.FranchiseFirstVisit(request, createFranchiseeRequest));}@PostMapping("/franchise-visit")public ResponseEntity<ApiResponse<?>> FranchiseVisit(HttpServletRequest request,@RequestBody CreateFranchiseeRequest createFranchiseeRequest) throws Throwable {return wrapResponse(leadController.FranchiseVisit(request, createFranchiseeRequest));}@GetMapping("/getFranchiseVisit")public ResponseEntity<ApiResponse<?>> getFranchiseVisit(HttpServletRequest request,@RequestParam(name = "gmailId") String gmailId,@RequestParam(name = "status") FranchiseeVisitStatus status,@RequestParam(name = "offset", defaultValue = "0") int offset,@RequestParam(name = "limit", defaultValue = "10") int limit) throws Throwable {return wrapResponse(leadController.getFranchiseVisit(request, gmailId, status, offset, limit));}@GetMapping("/getFranchiseActivity")public ResponseEntity<ApiResponse<?>> getFranchiseActivity(HttpServletRequest request,@RequestParam(name = "id") int id) throws Throwable {return wrapResponse(leadController.getFranchiseActivity(request, id));}@GetMapping("/getFranchiseeInfo")public ResponseEntity<ApiResponse<?>> getFranchiseeInfo(HttpServletRequest request,@RequestParam(name = "id") int id) throws Throwable {return wrapResponse(leadController.getFranchiseeInfo(request, id));}@PostMapping("/franchise-visit-update")public ResponseEntity<ApiResponse<?>> franchiseVisitUpdate(HttpServletRequest request,@RequestParam(name = "id") int id,@RequestParam(name = "action") FranchiseeActivityStatus action,@RequestParam(name = "resolution") String resolution,@RequestParam(name = "schelduleTimestamp") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime schelduleTimestamp) throws Throwable {return wrapResponse(leadController.franchiseVisitUpdate(request, id, action, resolution, schelduleTimestamp));}@GetMapping("/onBoardingTimelineStatus")public ResponseEntity<ApiResponse<?>> onBoardingTimelineStatus(HttpServletRequest request, Model model) throws Throwable {return wrapResponse(leadController.onBoardingTimelineStatus(request, model));}@GetMapping("/purchaseExist")public ResponseEntity<ApiResponse<?>> purchaseExist(HttpServletRequest request) throws Throwable {return wrapResponse(leadController.purchaseExist(request));}@GetMapping("/onBoardingTimelineVisibility")public ResponseEntity<ApiResponse<?>> onBoardingTimelineVisibility(HttpServletRequest request, Model model) throws Throwable {return wrapResponse(leadController.onBoardingTimelineVisibility(request, model));}@GetMapping("/getPartnerTarget")public ResponseEntity<ApiResponse<?>> getPartnerTarget(HttpServletRequest request,@RequestParam String gmailId,@RequestParam String dayValue,@RequestParam ActivationType activationType) throws Throwable {return wrapResponse(leadController.getPartnerTarget(request, gmailId, dayValue, activationType));}@GetMapping("/getInactivePartnerTarget")public ResponseEntity<ApiResponse<?>> getInactivePartnerTarget(HttpServletRequest request,@RequestParam String gmailId,@RequestParam String dayValue,@RequestParam ActivationType activationType) throws Throwable {return wrapResponse(leadController.getInactivePartnerTarget(request, gmailId, dayValue, activationType));}@PostMapping("/target")public ResponseEntity<ApiResponse<?>> createPartnerTarget(HttpServletRequest request,@RequestBody PartnerTargetAchievementModel ptam) throws Throwable {return wrapResponse(leadController.createPartnerTarget(request, ptam));}@PostMapping("/uploadFranchiseeVisit")public ResponseEntity<ApiResponse<?>> readCsvFileAndSetLead(HttpServletRequest request,@RequestPart MultipartFile multipartFile) throws Throwable {return wrapResponse(leadController.readCsvFileAndSetLead(request, multipartFile));}@GetMapping("/downloadFranchiseeVisitTemplate")public ResponseEntity<?> downloadFranchiseeVisitTemplate(HttpServletRequest request) throws Throwable {// Returns byte[] with CSV headers - pass through directly, cannot wrapreturn leadController.downloadFranchiseeVisitTemplate(request);}@PostMapping("/markVisitAttendance")public ResponseEntity<ApiResponse<?>> markVisitAttendance(HttpServletRequest request,@RequestParam(name = "id") int id) throws Throwable {return wrapResponse(leadController.markVisitAttendance(request, id));}@GetMapping("/getVisitRequests")public ResponseEntity<ApiResponse<?>> getVisitRequests(HttpServletRequest request,@RequestParam(name = "gmailId") String gmailId,Model model) throws Throwable {return wrapResponse(leadController.getVisitRequests(request, gmailId, model));}@PostMapping("/visitRequest")public ResponseEntity<ApiResponse<?>> visitRequest(HttpServletRequest request,@RequestParam(name = "gmailId") String gmailId,@RequestParam(name = "visitId") int visitId,@RequestParam(name = "status") VisitStatus status,Model model) throws Throwable {return wrapResponse(leadController.visitRequest(request, gmailId, visitId, status, model));}@PostMapping("/rbmRating")public ResponseEntity<ApiResponse<?>> rbmRating(HttpServletRequest request,@RequestBody RbmSalesRatingRequest rbmSalesRatingRequest,Model model) throws Throwable {return wrapResponse(leadController.rbmRating(request, rbmSalesRatingRequest, model));}}