| Line 42... |
Line 42... |
| 42 |
import com.spice.profitmandi.dao.entity.dtr.InsuranceProvider;
|
42 |
import com.spice.profitmandi.dao.entity.dtr.InsuranceProvider;
|
| 43 |
import com.spice.profitmandi.dao.entity.fofo.Customer;
|
43 |
import com.spice.profitmandi.dao.entity.fofo.Customer;
|
| 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.PaymentOption;
|
48 |
import com.spice.profitmandi.dao.entity.fofo.PaymentOption;
|
| 48 |
import com.spice.profitmandi.dao.entity.user.Address;
|
49 |
import com.spice.profitmandi.dao.entity.user.Address;
|
| 49 |
import com.spice.profitmandi.dao.enumuration.fofo.PaymentOptionType;
|
- |
|
| 50 |
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
|
50 |
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
|
| 51 |
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
|
51 |
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
|
| 52 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
|
52 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
|
| 53 |
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
|
53 |
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
|
| 54 |
import com.spice.profitmandi.dao.repository.fofo.CustomerRepository;
|
54 |
import com.spice.profitmandi.dao.repository.fofo.CustomerRepository;
|
| 55 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
|
55 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
|
| - |
|
56 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderPaymentOptionRepository;
|
| 56 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
|
57 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
|
| - |
|
58 |
import com.spice.profitmandi.dao.repository.fofo.FofoPartnerPaymentOptionRepository;
|
| 57 |
import com.spice.profitmandi.dao.repository.fofo.PaymentOptionRepository;
|
59 |
import com.spice.profitmandi.dao.repository.fofo.PaymentOptionRepository;
|
| 58 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
60 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
| 59 |
import com.spice.profitmandi.service.inventory.OrderService;
|
61 |
import com.spice.profitmandi.service.order.OrderService;
|
| 60 |
import com.spice.profitmandi.service.pricing.PricingService;
|
62 |
import com.spice.profitmandi.service.pricing.PricingService;
|
| 61 |
import com.spice.profitmandi.web.model.LoginDetails;
|
63 |
import com.spice.profitmandi.web.model.LoginDetails;
|
| 62 |
import com.spice.profitmandi.web.util.CookiesProcessor;
|
64 |
import com.spice.profitmandi.web.util.CookiesProcessor;
|
| 63 |
|
65 |
|
| 64 |
@Controller
|
66 |
@Controller
|
| Line 102... |
Line 104... |
| 102 |
|
104 |
|
| 103 |
@Autowired
|
105 |
@Autowired
|
| 104 |
private AddressRepository addressRepository;
|
106 |
private AddressRepository addressRepository;
|
| 105 |
|
107 |
|
| 106 |
@Autowired
|
108 |
@Autowired
|
| - |
|
109 |
private FofoOrderPaymentOptionRepository fofoOrderPaymentOptionRepository;
|
| - |
|
110 |
|
| - |
|
111 |
@Autowired
|
| - |
|
112 |
private FofoPartnerPaymentOptionRepository fofoPartnerPaymentOptionRepository;
|
| - |
|
113 |
|
| - |
|
114 |
@Autowired
|
| 107 |
private ResponseSender<?> responseSender;
|
115 |
private ResponseSender<?> responseSender;
|
| 108 |
|
116 |
|
| 109 |
@RequestMapping(value = "/order")
|
117 |
@RequestMapping(value = "/order")
|
| 110 |
public String orderIndex(HttpServletRequest request, @RequestParam(name = "cartData") String cartData, Model model) throws ProfitMandiBusinessException{
|
118 |
public String orderIndex(HttpServletRequest request, @RequestParam(name = "cartData") String cartData, Model model) throws ProfitMandiBusinessException{
|
| 111 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);;
|
119 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);;
|
| Line 117... |
Line 125... |
| 117 |
Set<Integer> itemIds = new HashSet<>();
|
125 |
Set<Integer> itemIds = new HashSet<>();
|
| 118 |
for(CartFofo cartFofo : cartItems){
|
126 |
for(CartFofo cartFofo : cartItems){
|
| 119 |
itemIds.add(cartFofo.getItemId());
|
127 |
itemIds.add(cartFofo.getItemId());
|
| 120 |
}
|
128 |
}
|
| 121 |
Map<Integer, PriceModel> mopPriceMap = pricingService.getPurchasePriceMopPriceNotFound(itemIds, loginDetails.getFofoId());
|
129 |
Map<Integer, PriceModel> mopPriceMap = pricingService.getPurchasePriceMopPriceNotFound(itemIds, loginDetails.getFofoId());
|
| - |
|
130 |
List<Integer> paymentOptionIds = fofoPartnerPaymentOptionRepository.selectPaymentOptionIdsByFofoId(loginDetails.getFofoId());
|
| - |
|
131 |
List<PaymentOption> paymentOptions = paymentOptionRepository.selectByIds(new HashSet<>(paymentOptionIds));
|
| 122 |
LOGGER.info("mopPriceMap {}", mopPriceMap);
|
132 |
LOGGER.info("mopPriceMap {}", mopPriceMap);
|
| 123 |
model.addAttribute("stateNames", Utils.getAllStateNames());
|
133 |
model.addAttribute("stateNames", Utils.getAllStateNames());
|
| 124 |
model.addAttribute("retailerStateName", address.getState());
|
134 |
model.addAttribute("retailerStateName", address.getState());
|
| 125 |
model.addAttribute("cartObj", cartItems);
|
135 |
model.addAttribute("cartObj", cartItems);
|
| 126 |
model.addAttribute("mopPriceMap", mopPriceMap);
|
136 |
model.addAttribute("mopPriceMap", mopPriceMap);
|
| 127 |
model.addAttribute("paymentOptionTypes", PaymentOptionType.values());
|
137 |
model.addAttribute("paymentOptions", paymentOptions);
|
| 128 |
return "order-index";
|
138 |
return "order-index";
|
| 129 |
}
|
139 |
}
|
| 130 |
|
140 |
|
| 131 |
|
141 |
|
| 132 |
@RequestMapping(value = "/insurancePrices", method = RequestMethod.GET)
|
142 |
@RequestMapping(value = "/insurancePrices", method = RequestMethod.GET)
|
| Line 144... |
Line 154... |
| 144 |
FofoOrder fofoOrder = fofoOrderRepository.selectByFofoIdAndOrderId(fofoDetails.getFofoId(), orderId);
|
154 |
FofoOrder fofoOrder = fofoOrderRepository.selectByFofoIdAndOrderId(fofoDetails.getFofoId(), orderId);
|
| 145 |
List<FofoOrderItem> fofoLineItems = fofoLineItemRepository.selectByOrderId(fofoOrder.getId());
|
155 |
List<FofoOrderItem> fofoLineItems = fofoLineItemRepository.selectByOrderId(fofoOrder.getId());
|
| 146 |
CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
|
156 |
CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
|
| 147 |
Customer customer = customerRepository.selectById(fofoOrder.getCustomerId());
|
157 |
Customer customer = customerRepository.selectById(fofoOrder.getCustomerId());
|
| 148 |
customerAddress.setPhoneNumber(customer.getMobileNumber());
|
158 |
customerAddress.setPhoneNumber(customer.getMobileNumber());
|
| 149 |
List<PaymentOption> paymentOptions = paymentOptionRepository.selectByOrderId(fofoOrder.getId());
|
159 |
List<FofoOrderPaymentOption> fofoOrderPaymentOptions = fofoOrderPaymentOptionRepository.selectByFofoOrderId(fofoOrder.getId());
|
| - |
|
160 |
Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = this.paymentOptionIdPaymentOptionMap(fofoOrderPaymentOptions);
|
| 150 |
List<InsurancePolicy> insurancePolicies = insurancePolicyRepository.selectByRetailerIdInvoiceNumber(fofoOrder.getFofoId(), fofoOrder.getInvoiceNumber());
|
161 |
List<InsurancePolicy> insurancePolicies = insurancePolicyRepository.selectByRetailerIdInvoiceNumber(fofoOrder.getFofoId(), fofoOrder.getInvoiceNumber());
|
| 151 |
this.addInsuranceProvider(insurancePolicies);
|
162 |
this.addInsuranceProvider(insurancePolicies);
|
| 152 |
model.addAttribute("fofoOrder", fofoOrder);
|
163 |
model.addAttribute("fofoOrder", fofoOrder);
|
| 153 |
model.addAttribute("fofoLineItems", fofoLineItems);
|
164 |
model.addAttribute("fofoLineItems", fofoLineItems);
|
| 154 |
model.addAttribute("customerBillingAddress", orderService.getBillingAddress(customerAddress));
|
165 |
model.addAttribute("customerBillingAddress", orderService.getBillingAddress(customerAddress));
|
| 155 |
model.addAttribute("customerBillingAddressObj", customerAddress);
|
166 |
model.addAttribute("customerBillingAddressObj", customerAddress);
|
| 156 |
model.addAttribute("paymentOptions", paymentOptions);
|
167 |
model.addAttribute("fofoOrderPaymentOptions", fofoOrderPaymentOptions);
|
| - |
|
168 |
model.addAttribute("paymentOptionIdPaymentOptionMap", paymentOptionIdPaymentOptionMap);
|
| 157 |
model.addAttribute("insurancePolicies", insurancePolicies);
|
169 |
model.addAttribute("insurancePolicies", insurancePolicies);
|
| 158 |
return "order-details";
|
170 |
return "order-details";
|
| 159 |
}
|
171 |
}
|
| 160 |
|
172 |
|
| 161 |
private Map<Integer, InsuranceProvider> toInsuranceProviderIdInsuranceProvider(List<InsuranceProvider> insuranceProviders){
|
173 |
private Map<Integer, InsuranceProvider> toInsuranceProviderIdInsuranceProvider(List<InsuranceProvider> insuranceProviders){
|
| Line 188... |
Line 200... |
| 188 |
LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
|
200 |
LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
|
| 189 |
|
201 |
|
| 190 |
FofoOrder fofoOrder = fofoOrderRepository.selectByFofoIdAndOrderId(fofoDetails.getFofoId(), orderId);
|
202 |
FofoOrder fofoOrder = fofoOrderRepository.selectByFofoIdAndOrderId(fofoDetails.getFofoId(), orderId);
|
| 191 |
List<FofoOrderItem> fofoLineItems = fofoLineItemRepository.selectByOrderId(fofoOrder.getId());
|
203 |
List<FofoOrderItem> fofoLineItems = fofoLineItemRepository.selectByOrderId(fofoOrder.getId());
|
| 192 |
CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
|
204 |
CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
|
| 193 |
List<PaymentOption> paymentOptions = paymentOptionRepository.selectByOrderId(fofoOrder.getId());
|
205 |
List<FofoOrderPaymentOption> fofoOrderPaymentOptions = fofoOrderPaymentOptionRepository.selectByFofoOrderId(fofoOrder.getId());
|
| - |
|
206 |
Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = this.paymentOptionIdPaymentOptionMap(fofoOrderPaymentOptions);
|
| 194 |
List<InsurancePolicy> insurancePolicies = insurancePolicyRepository.selectByRetailerIdInvoiceNumber(fofoOrder.getFofoId(), fofoOrder.getInvoiceNumber());
|
207 |
List<InsurancePolicy> insurancePolicies = insurancePolicyRepository.selectByRetailerIdInvoiceNumber(fofoOrder.getFofoId(), fofoOrder.getInvoiceNumber());
|
| 195 |
this.addInsuranceProvider(insurancePolicies);
|
208 |
this.addInsuranceProvider(insurancePolicies);
|
| 196 |
model.addAttribute("fofoOrder", fofoOrder);
|
209 |
model.addAttribute("fofoOrder", fofoOrder);
|
| 197 |
model.addAttribute("fofoLineItems", fofoLineItems);
|
210 |
model.addAttribute("fofoLineItems", fofoLineItems);
|
| 198 |
model.addAttribute("customerBillingAddress", orderService.getBillingAddress(customerAddress));
|
211 |
model.addAttribute("customerBillingAddress", orderService.getBillingAddress(customerAddress));
|
| 199 |
model.addAttribute("customerBillingAddressObj", customerAddress);
|
212 |
model.addAttribute("customerBillingAddressObj", customerAddress);
|
| 200 |
model.addAttribute("paymentOptions", paymentOptions);
|
213 |
model.addAttribute("fofoOrderPaymentOptions", fofoOrderPaymentOptions);
|
| - |
|
214 |
model.addAttribute("paymentOptionIdPaymentOptionMap", paymentOptionIdPaymentOptionMap);
|
| 201 |
model.addAttribute("insurancePolicies", insurancePolicies);
|
215 |
model.addAttribute("insurancePolicies", insurancePolicies);
|
| 202 |
return "sale-details";
|
216 |
return "sale-details";
|
| 203 |
}
|
217 |
}
|
| 204 |
|
218 |
|
| - |
|
219 |
private Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap(List<FofoOrderPaymentOption> fofoOrderPaymentOptions){
|
| - |
|
220 |
Set<Integer> paymentOptionIds = new HashSet<>();
|
| - |
|
221 |
for(FofoOrderPaymentOption fofoOrderPaymentOption : fofoOrderPaymentOptions) {
|
| - |
|
222 |
paymentOptionIds.add(fofoOrderPaymentOption.getPaymentOptionId());
|
| - |
|
223 |
}
|
| - |
|
224 |
List<PaymentOption> paymentOptions = paymentOptionRepository.selectByIds(paymentOptionIds);
|
| - |
|
225 |
Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = new HashMap<>();
|
| - |
|
226 |
for(PaymentOption paymentOption : paymentOptions) {
|
| - |
|
227 |
paymentOptionIdPaymentOptionMap.put(paymentOption.getId(), paymentOption);
|
| - |
|
228 |
}
|
| - |
|
229 |
return paymentOptionIdPaymentOptionMap;
|
| - |
|
230 |
}
|
| - |
|
231 |
|
| 205 |
|
232 |
|
| 206 |
@RequestMapping(value = "/create-order", method = RequestMethod.POST)
|
233 |
@RequestMapping(value = "/create-order", method = RequestMethod.POST)
|
| 207 |
public String createOrder(HttpServletRequest request, @RequestBody CreateOrderRequest createOrderRequest, Model model) throws ProfitMandiBusinessException{
|
234 |
public String createOrder(HttpServletRequest request, @RequestBody CreateOrderRequest createOrderRequest, Model model) throws ProfitMandiBusinessException{
|
| 208 |
LOGGER.info("request at uri {} body {}", request.getRequestURI(), createOrderRequest);
|
235 |
LOGGER.info("request at uri {} body {}", request.getRequestURI(), createOrderRequest);
|
| 209 |
LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
|
236 |
LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
|