| Line 44... |
Line 44... |
| 44 |
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
|
44 |
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
|
| 45 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
|
45 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
|
| 46 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
46 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
| 47 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderPaymentOption;
|
47 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderPaymentOption;
|
| 48 |
import com.spice.profitmandi.dao.entity.fofo.PaymentOption;
|
48 |
import com.spice.profitmandi.dao.entity.fofo.PaymentOption;
|
| - |
|
49 |
import com.spice.profitmandi.dao.entity.fofo.PrebookingOrderItem;
|
| 49 |
import com.spice.profitmandi.dao.entity.user.Address;
|
50 |
import com.spice.profitmandi.dao.entity.user.Address;
|
| 50 |
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
|
51 |
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
|
| 51 |
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
|
52 |
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
|
| 52 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
|
53 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
|
| 53 |
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
|
54 |
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
|
| Line 55... |
Line 56... |
| 55 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
|
56 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
|
| 56 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderPaymentOptionRepository;
|
57 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderPaymentOptionRepository;
|
| 57 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
|
58 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
|
| 58 |
import com.spice.profitmandi.dao.repository.fofo.FofoPartnerPaymentOptionRepository;
|
59 |
import com.spice.profitmandi.dao.repository.fofo.FofoPartnerPaymentOptionRepository;
|
| 59 |
import com.spice.profitmandi.dao.repository.fofo.PaymentOptionRepository;
|
60 |
import com.spice.profitmandi.dao.repository.fofo.PaymentOptionRepository;
|
| - |
|
61 |
import com.spice.profitmandi.dao.repository.fofo.PrebookingOrderItemRepository;
|
| 60 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
62 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
| 61 |
import com.spice.profitmandi.service.order.OrderService;
|
63 |
import com.spice.profitmandi.service.order.OrderService;
|
| 62 |
import com.spice.profitmandi.service.pricing.PricingService;
|
64 |
import com.spice.profitmandi.service.pricing.PricingService;
|
| 63 |
import com.spice.profitmandi.web.model.LoginDetails;
|
65 |
import com.spice.profitmandi.web.model.LoginDetails;
|
| 64 |
import com.spice.profitmandi.web.util.CookiesProcessor;
|
66 |
import com.spice.profitmandi.web.util.CookiesProcessor;
|
| Line 110... |
Line 112... |
| 110 |
|
112 |
|
| 111 |
@Autowired
|
113 |
@Autowired
|
| 112 |
private FofoPartnerPaymentOptionRepository fofoPartnerPaymentOptionRepository;
|
114 |
private FofoPartnerPaymentOptionRepository fofoPartnerPaymentOptionRepository;
|
| 113 |
|
115 |
|
| 114 |
@Autowired
|
116 |
@Autowired
|
| - |
|
117 |
private PrebookingOrderItemRepository prebookingOrderItemRepository;
|
| - |
|
118 |
|
| - |
|
119 |
@Autowired
|
| 115 |
private ResponseSender<?> responseSender;
|
120 |
private ResponseSender<?> responseSender;
|
| 116 |
|
121 |
|
| 117 |
@RequestMapping(value = "/order")
|
122 |
@RequestMapping(value = "/order")
|
| 118 |
public String orderIndex(HttpServletRequest request, @RequestParam(name = "cartData") String cartData, Model model) throws ProfitMandiBusinessException{
|
123 |
public String orderIndex(HttpServletRequest request, @RequestParam(name = "cartData") String cartData, Model model) throws ProfitMandiBusinessException{
|
| 119 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);;
|
124 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);;
|
| Line 158... |
Line 163... |
| 158 |
customerAddress.setPhoneNumber(customer.getMobileNumber());
|
163 |
customerAddress.setPhoneNumber(customer.getMobileNumber());
|
| 159 |
List<FofoOrderPaymentOption> fofoOrderPaymentOptions = fofoOrderPaymentOptionRepository.selectByFofoOrderId(fofoOrder.getId());
|
164 |
List<FofoOrderPaymentOption> fofoOrderPaymentOptions = fofoOrderPaymentOptionRepository.selectByFofoOrderId(fofoOrder.getId());
|
| 160 |
Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = this.paymentOptionIdPaymentOptionMap(fofoOrderPaymentOptions);
|
165 |
Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = this.paymentOptionIdPaymentOptionMap(fofoOrderPaymentOptions);
|
| 161 |
List<InsurancePolicy> insurancePolicies = insurancePolicyRepository.selectByRetailerIdInvoiceNumber(fofoOrder.getFofoId(), fofoOrder.getInvoiceNumber());
|
166 |
List<InsurancePolicy> insurancePolicies = insurancePolicyRepository.selectByRetailerIdInvoiceNumber(fofoOrder.getFofoId(), fofoOrder.getInvoiceNumber());
|
| 162 |
this.addInsuranceProvider(insurancePolicies);
|
167 |
this.addInsuranceProvider(insurancePolicies);
|
| - |
|
168 |
List<PrebookingOrderItem> prebookingOrderItems = prebookingOrderItemRepository.selectByOrderId(orderId);
|
| - |
|
169 |
Map<Integer, PrebookingOrderItem> itemIdPrebookingOrderItemMap = this.prebookingOrderItemToItemIdPrebookingOrderItem(prebookingOrderItems);
|
| 163 |
model.addAttribute("fofoOrder", fofoOrder);
|
170 |
model.addAttribute("fofoOrder", fofoOrder);
|
| 164 |
model.addAttribute("fofoLineItems", fofoLineItems);
|
171 |
model.addAttribute("fofoLineItems", fofoLineItems);
|
| 165 |
model.addAttribute("customerBillingAddress", orderService.getBillingAddress(customerAddress));
|
172 |
model.addAttribute("customerBillingAddress", orderService.getBillingAddress(customerAddress));
|
| 166 |
model.addAttribute("customerBillingAddressObj", customerAddress);
|
173 |
model.addAttribute("customerBillingAddressObj", customerAddress);
|
| 167 |
model.addAttribute("fofoOrderPaymentOptions", fofoOrderPaymentOptions);
|
174 |
model.addAttribute("fofoOrderPaymentOptions", fofoOrderPaymentOptions);
|
| 168 |
model.addAttribute("paymentOptionIdPaymentOptionMap", paymentOptionIdPaymentOptionMap);
|
175 |
model.addAttribute("paymentOptionIdPaymentOptionMap", paymentOptionIdPaymentOptionMap);
|
| 169 |
model.addAttribute("insurancePolicies", insurancePolicies);
|
176 |
model.addAttribute("insurancePolicies", insurancePolicies);
|
| - |
|
177 |
model.addAttribute("itemIdPrebookingOrderItemMap", itemIdPrebookingOrderItemMap);
|
| 170 |
return "order-details";
|
178 |
return "order-details";
|
| 171 |
}
|
179 |
}
|
| 172 |
|
180 |
|
| - |
|
181 |
@RequestMapping(value = "/generateOtp", method = RequestMethod.POST)
|
| - |
|
182 |
public ResponseEntity<?> generateOtp(@RequestBody Map<Integer, Float> itemIdAdvanceAmount, @RequestParam(name = ProfitMandiConstants.CUSTOMER_EMAIL_ID) String customerEmailId, @RequestParam(name = ProfitMandiConstants.CUSTOMER_MOBILE_NUMBER) String customerMobileNumber)
|
| - |
|
183 |
throws ProfitMandiBusinessException{
|
| - |
|
184 |
|
| - |
|
185 |
int response = orderService.generatePrebookingOrdersOtp(customerEmailId, customerMobileNumber, itemIdAdvanceAmount);
|
| - |
|
186 |
|
| - |
|
187 |
return responseSender.ok(response);
|
| - |
|
188 |
}
|
| - |
|
189 |
|
| - |
|
190 |
@RequestMapping(value = "/validateOtp", method = RequestMethod.GET)
|
| - |
|
191 |
public ResponseEntity<?> validateOtp(@RequestParam(name = ProfitMandiConstants.CUSTOMER_EMAIL_ID) String customerEmailId,
|
| - |
|
192 |
@RequestParam(name = ProfitMandiConstants.CUSTOMER_MOBILE_NUMBER) String customerMobileNumber,
|
| - |
|
193 |
@RequestParam("otpId") int otpId, @RequestParam("otpValue") String otpValue)
|
| - |
|
194 |
throws ProfitMandiBusinessException{
|
| - |
|
195 |
|
| - |
|
196 |
String responseString = orderService.validateOtp(customerEmailId, customerMobileNumber, otpId, otpValue);
|
| - |
|
197 |
|
| - |
|
198 |
return responseSender.ok(responseString);
|
| - |
|
199 |
}
|
| - |
|
200 |
|
| - |
|
201 |
|
| 173 |
private Map<Integer, InsuranceProvider> toInsuranceProviderIdInsuranceProvider(List<InsuranceProvider> insuranceProviders){
|
202 |
private Map<Integer, InsuranceProvider> toInsuranceProviderIdInsuranceProvider(List<InsuranceProvider> insuranceProviders){
|
| 174 |
Map<Integer, InsuranceProvider> insuranceProviderIdInsuranceProviderMap = new HashMap<>();
|
203 |
Map<Integer, InsuranceProvider> insuranceProviderIdInsuranceProviderMap = new HashMap<>();
|
| 175 |
for(InsuranceProvider insuranceProvider : insuranceProviders){
|
204 |
for(InsuranceProvider insuranceProvider : insuranceProviders){
|
| 176 |
insuranceProviderIdInsuranceProviderMap.put(insuranceProvider.getId(), insuranceProvider);
|
205 |
insuranceProviderIdInsuranceProviderMap.put(insuranceProvider.getId(), insuranceProvider);
|
| 177 |
}
|
206 |
}
|
| Line 204... |
Line 233... |
| 204 |
CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
|
233 |
CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
|
| 205 |
List<FofoOrderPaymentOption> fofoOrderPaymentOptions = fofoOrderPaymentOptionRepository.selectByFofoOrderId(fofoOrder.getId());
|
234 |
List<FofoOrderPaymentOption> fofoOrderPaymentOptions = fofoOrderPaymentOptionRepository.selectByFofoOrderId(fofoOrder.getId());
|
| 206 |
Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = this.paymentOptionIdPaymentOptionMap(fofoOrderPaymentOptions);
|
235 |
Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = this.paymentOptionIdPaymentOptionMap(fofoOrderPaymentOptions);
|
| 207 |
List<InsurancePolicy> insurancePolicies = insurancePolicyRepository.selectByRetailerIdInvoiceNumber(fofoOrder.getFofoId(), fofoOrder.getInvoiceNumber());
|
236 |
List<InsurancePolicy> insurancePolicies = insurancePolicyRepository.selectByRetailerIdInvoiceNumber(fofoOrder.getFofoId(), fofoOrder.getInvoiceNumber());
|
| 208 |
this.addInsuranceProvider(insurancePolicies);
|
237 |
this.addInsuranceProvider(insurancePolicies);
|
| - |
|
238 |
List<PrebookingOrderItem> prebookingOrderItems = prebookingOrderItemRepository.selectByOrderId(orderId);
|
| - |
|
239 |
Map<Integer, PrebookingOrderItem> itemIdPrebookingOrderItemMap = this.prebookingOrderItemToItemIdPrebookingOrderItem(prebookingOrderItems);
|
| 209 |
model.addAttribute("fofoOrder", fofoOrder);
|
240 |
model.addAttribute("fofoOrder", fofoOrder);
|
| 210 |
model.addAttribute("fofoLineItems", fofoLineItems);
|
241 |
model.addAttribute("fofoLineItems", fofoLineItems);
|
| 211 |
model.addAttribute("customerBillingAddress", orderService.getBillingAddress(customerAddress));
|
242 |
model.addAttribute("customerBillingAddress", orderService.getBillingAddress(customerAddress));
|
| 212 |
model.addAttribute("customerBillingAddressObj", customerAddress);
|
243 |
model.addAttribute("customerBillingAddressObj", customerAddress);
|
| 213 |
model.addAttribute("fofoOrderPaymentOptions", fofoOrderPaymentOptions);
|
244 |
model.addAttribute("fofoOrderPaymentOptions", fofoOrderPaymentOptions);
|
| 214 |
model.addAttribute("paymentOptionIdPaymentOptionMap", paymentOptionIdPaymentOptionMap);
|
245 |
model.addAttribute("paymentOptionIdPaymentOptionMap", paymentOptionIdPaymentOptionMap);
|
| 215 |
model.addAttribute("insurancePolicies", insurancePolicies);
|
246 |
model.addAttribute("insurancePolicies", insurancePolicies);
|
| - |
|
247 |
model.addAttribute("itemIdPrebookingOrderItemMap", itemIdPrebookingOrderItemMap);
|
| 216 |
return "sale-details";
|
248 |
return "sale-details";
|
| 217 |
}
|
249 |
}
|
| 218 |
|
250 |
|
| 219 |
private Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap(List<FofoOrderPaymentOption> fofoOrderPaymentOptions){
|
251 |
private Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap(List<FofoOrderPaymentOption> fofoOrderPaymentOptions){
|
| 220 |
Set<Integer> paymentOptionIds = new HashSet<>();
|
252 |
Set<Integer> paymentOptionIds = new HashSet<>();
|
| Line 227... |
Line 259... |
| 227 |
paymentOptionIdPaymentOptionMap.put(paymentOption.getId(), paymentOption);
|
259 |
paymentOptionIdPaymentOptionMap.put(paymentOption.getId(), paymentOption);
|
| 228 |
}
|
260 |
}
|
| 229 |
return paymentOptionIdPaymentOptionMap;
|
261 |
return paymentOptionIdPaymentOptionMap;
|
| 230 |
}
|
262 |
}
|
| 231 |
|
263 |
|
| - |
|
264 |
private Map<Integer, PrebookingOrderItem> prebookingOrderItemToItemIdPrebookingOrderItem(List<PrebookingOrderItem> prebookingOrderItems){
|
| - |
|
265 |
Map<Integer, PrebookingOrderItem> itemIdPrebookingOrderItem = new HashMap<>();
|
| - |
|
266 |
for(PrebookingOrderItem prebookingOrderItem : prebookingOrderItems) {
|
| - |
|
267 |
itemIdPrebookingOrderItem.put(prebookingOrderItem.getItemId(), prebookingOrderItem);
|
| - |
|
268 |
}
|
| - |
|
269 |
return itemIdPrebookingOrderItem;
|
| - |
|
270 |
}
|
| - |
|
271 |
|
| 232 |
|
272 |
|
| 233 |
@RequestMapping(value = "/create-order", method = RequestMethod.POST)
|
273 |
@RequestMapping(value = "/create-order", method = RequestMethod.POST)
|
| 234 |
public String createOrder(HttpServletRequest request, @RequestBody CreateOrderRequest createOrderRequest, Model model) throws ProfitMandiBusinessException{
|
274 |
public String createOrder(HttpServletRequest request, @RequestBody CreateOrderRequest createOrderRequest, Model model) throws ProfitMandiBusinessException{
|
| 235 |
LOGGER.info("request at uri {} body {}", request.getRequestURI(), createOrderRequest);
|
275 |
LOGGER.info("request at uri {} body {}", request.getRequestURI(), createOrderRequest);
|
| 236 |
LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
|
276 |
LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
|