| Line 1... |
Line 1... |
| 1 |
package com.spice.profitmandi.web.controller;
|
1 |
package com.spice.profitmandi.web.controller;
|
| 2 |
|
2 |
|
| - |
|
3 |
import java.io.StringWriter;
|
| 3 |
import java.time.LocalDateTime;
|
4 |
import java.time.LocalDateTime;
|
| 4 |
import java.time.LocalTime;
|
5 |
import java.time.LocalTime;
|
| 5 |
import java.util.ArrayList;
|
6 |
import java.util.ArrayList;
|
| 6 |
import java.util.Arrays;
|
7 |
import java.util.Arrays;
|
| 7 |
import java.util.Comparator;
|
8 |
import java.util.Comparator;
|
| Line 11... |
Line 12... |
| 11 |
import java.util.Map;
|
12 |
import java.util.Map;
|
| 12 |
import java.util.Optional;
|
13 |
import java.util.Optional;
|
| 13 |
import java.util.Set;
|
14 |
import java.util.Set;
|
| 14 |
import java.util.stream.Collectors;
|
15 |
import java.util.stream.Collectors;
|
| 15 |
|
16 |
|
| - |
|
17 |
import javax.mail.internet.InternetAddress;
|
| - |
|
18 |
import javax.mail.internet.MimeMessage;
|
| 16 |
import javax.servlet.http.HttpServletRequest;
|
19 |
import javax.servlet.http.HttpServletRequest;
|
| 17 |
|
20 |
|
| 18 |
import org.apache.commons.lang3.StringUtils;
|
21 |
import org.apache.commons.lang3.StringUtils;
|
| 19 |
import org.apache.http.conn.HttpHostConnectException;
|
22 |
import org.apache.http.conn.HttpHostConnectException;
|
| 20 |
import org.apache.logging.log4j.LogManager;
|
23 |
import org.apache.logging.log4j.LogManager;
|
| 21 |
import org.apache.logging.log4j.Logger;
|
24 |
import org.apache.logging.log4j.Logger;
|
| - |
|
25 |
import org.apache.velocity.Template;
|
| - |
|
26 |
import org.apache.velocity.VelocityContext;
|
| - |
|
27 |
import org.apache.velocity.app.VelocityEngine;
|
| 22 |
import org.json.JSONArray;
|
28 |
import org.json.JSONArray;
|
| 23 |
import org.json.JSONObject;
|
29 |
import org.json.JSONObject;
|
| 24 |
import org.springframework.beans.factory.annotation.Autowired;
|
30 |
import org.springframework.beans.factory.annotation.Autowired;
|
| 25 |
import org.springframework.beans.factory.annotation.Value;
|
31 |
import org.springframework.beans.factory.annotation.Value;
|
| 26 |
import org.springframework.cache.annotation.Cacheable;
|
32 |
import org.springframework.cache.annotation.Cacheable;
|
| 27 |
import org.springframework.http.MediaType;
|
33 |
import org.springframework.http.MediaType;
|
| 28 |
import org.springframework.http.ResponseEntity;
|
34 |
import org.springframework.http.ResponseEntity;
|
| - |
|
35 |
import org.springframework.mail.javamail.JavaMailSender;
|
| - |
|
36 |
import org.springframework.mail.javamail.MimeMessageHelper;
|
| 29 |
import org.springframework.stereotype.Controller;
|
37 |
import org.springframework.stereotype.Controller;
|
| 30 |
import org.springframework.transaction.annotation.Transactional;
|
38 |
import org.springframework.transaction.annotation.Transactional;
|
| 31 |
import org.springframework.web.bind.annotation.GetMapping;
|
39 |
import org.springframework.web.bind.annotation.GetMapping;
|
| 32 |
import org.springframework.web.bind.annotation.PathVariable;
|
40 |
import org.springframework.web.bind.annotation.PathVariable;
|
| 33 |
import org.springframework.web.bind.annotation.PostMapping;
|
41 |
import org.springframework.web.bind.annotation.PostMapping;
|
| Line 184... |
Line 192... |
| 184 |
private WebProductListingRepository webProductListingRepository;
|
192 |
private WebProductListingRepository webProductListingRepository;
|
| 185 |
|
193 |
|
| 186 |
@Autowired
|
194 |
@Autowired
|
| 187 |
private RoleManager roleManagerService;
|
195 |
private RoleManager roleManagerService;
|
| 188 |
|
196 |
|
| - |
|
197 |
@Autowired
|
| - |
|
198 |
private VelocityEngine velocityEngine;
|
| - |
|
199 |
|
| - |
|
200 |
@Autowired
|
| - |
|
201 |
JavaMailSender mailSender;
|
| - |
|
202 |
|
| 189 |
List<String> filterableParams = Arrays.asList("brand");
|
203 |
List<String> filterableParams = Arrays.asList("brand");
|
| 190 |
|
204 |
|
| 191 |
@ApiImplicitParams({
|
205 |
@ApiImplicitParams({
|
| 192 |
@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
|
206 |
@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
|
| 193 |
@RequestMapping(value = "/store/fofo", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
207 |
@RequestMapping(value = "/store/fofo", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
| Line 439... |
Line 453... |
| 439 |
});
|
453 |
});
|
| 440 |
CartResponse cr = this.validateCart(storeId, cartItems);
|
454 |
CartResponse cr = this.validateCart(storeId, cartItems);
|
| 441 |
if (cr.getCartMessageChanged() > 0 || cr.getTotalAmount() != createPendingOrderRequest.getTotalAmount()) {
|
455 |
if (cr.getCartMessageChanged() > 0 || cr.getTotalAmount() != createPendingOrderRequest.getTotalAmount()) {
|
| 442 |
return responseSender.badRequest("Invalid request");
|
456 |
return responseSender.badRequest("Invalid request");
|
| 443 |
}
|
457 |
}
|
| - |
|
458 |
|
| 444 |
return responseSender.ok(this.pendingOrderService.createPendingOrder(createPendingOrderRequest, cr));
|
459 |
Map<String, String> returnMap = this.pendingOrderService.createPendingOrder(createPendingOrderRequest, cr);
|
| - |
|
460 |
Customer customer = customerRepository.selectById(createPendingOrderRequest.getCustomerId());
|
| - |
|
461 |
Template t = velocityEngine.getTemplate("sms.vm");
|
| - |
|
462 |
VelocityContext context = new VelocityContext();
|
| - |
|
463 |
|
| - |
|
464 |
context.put("customer", customer.getFirstName());
|
| - |
|
465 |
context.put("invoiceNumber", returnMap.get("poid"));
|
| - |
|
466 |
StringWriter writer = new StringWriter();
|
| - |
|
467 |
t.merge(context, writer);
|
| - |
|
468 |
sendMailWithAttachments("Order Confirmation", writer.toString());
|
| - |
|
469 |
return responseSender.ok(returnMap);
|
| - |
|
470 |
|
| - |
|
471 |
}
|
| - |
|
472 |
|
| - |
|
473 |
private void sendMailWithAttachments(String subject, String messageText) throws Exception {
|
| - |
|
474 |
MimeMessage message = mailSender.createMimeMessage();
|
| - |
|
475 |
MimeMessageHelper helper = new MimeMessageHelper(message, true);
|
| - |
|
476 |
String[] email = { "tejbeer.kaur@shop2020.in" };
|
| - |
|
477 |
helper.setSubject(subject);
|
| - |
|
478 |
helper.setText(messageText, true);
|
| - |
|
479 |
helper.setTo(email);
|
| - |
|
480 |
InternetAddress senderAddress = new InternetAddress("noreply@smartdukaan.com", "Smartdukaan Alerts");
|
| - |
|
481 |
helper.setFrom(senderAddress);
|
| - |
|
482 |
mailSender.send(message);
|
| 445 |
|
483 |
|
| 446 |
}
|
484 |
}
|
| 447 |
|
485 |
|
| 448 |
@RequestMapping(value = "/store/address", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
486 |
@RequestMapping(value = "/store/address", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
| 449 |
@ApiImplicitParams({
|
487 |
@ApiImplicitParams({
|
| Line 766... |
Line 804... |
| 766 |
return dealResponse;
|
804 |
return dealResponse;
|
| 767 |
|
805 |
|
| 768 |
}
|
806 |
}
|
| 769 |
|
807 |
|
| 770 |
@GetMapping(value = "store/order-status/{pendingOrderId}")
|
808 |
@GetMapping(value = "store/order-status/{pendingOrderId}")
|
| 771 |
public ResponseEntity<?> orderStatus(HttpServletRequest request, @PathVariable int pendingOrderId) throws Exception {
|
809 |
public ResponseEntity<?> orderStatus(HttpServletRequest request, @PathVariable int pendingOrderId)
|
| - |
|
810 |
throws Exception {
|
| 772 |
PendingOrder pendingOrder = pendingOrderRepository.selectById(pendingOrderId);
|
811 |
PendingOrder pendingOrder = pendingOrderRepository.selectById(pendingOrderId);
|
| 773 |
List<PendingOrderItem> pendingOrderItems = pendingOrderItemRepository.selectByOrderId(pendingOrder.getId());
|
812 |
List<PendingOrderItem> pendingOrderItems = pendingOrderItemRepository.selectByOrderId(pendingOrder.getId());
|
| 774 |
List<Integer> catalogIds = new ArrayList<>();
|
813 |
List<Integer> catalogIds = new ArrayList<>();
|
| 775 |
for(PendingOrderItem pendingOrderItem: pendingOrderItems) {
|
814 |
for (PendingOrderItem pendingOrderItem : pendingOrderItems) {
|
| 776 |
Item item = itemRepository.selectById(pendingOrderItem.getItemId());
|
815 |
Item item = itemRepository.selectById(pendingOrderItem.getItemId());
|
| 777 |
pendingOrderItem.setItemName(item.getItemDescription());
|
816 |
pendingOrderItem.setItemName(item.getItemDescription());
|
| 778 |
catalogIds.add(item.getCatalogItemId());
|
817 |
catalogIds.add(item.getCatalogItemId());
|
| 779 |
}
|
818 |
}
|
| 780 |
Map<Integer, JSONObject> contentMap = commonSolrService.getContentByCatalogIds(catalogIds);
|
819 |
Map<Integer, JSONObject> contentMap = commonSolrService.getContentByCatalogIds(catalogIds);
|
| 781 |
for(PendingOrderItem pendingOrderItem: pendingOrderItems) {
|
820 |
for (PendingOrderItem pendingOrderItem : pendingOrderItems) {
|
| 782 |
Item item = itemRepository.selectById(pendingOrderItem.getItemId());
|
821 |
Item item = itemRepository.selectById(pendingOrderItem.getItemId());
|
| 783 |
JSONObject jsonObj = contentMap.get(item.getCatalogItemId());
|
822 |
JSONObject jsonObj = contentMap.get(item.getCatalogItemId());
|
| 784 |
pendingOrderItem.setImgUrl(jsonObj.getString("imageUrl_s"));
|
823 |
pendingOrderItem.setImgUrl(jsonObj.getString("imageUrl_s"));
|
| 785 |
}
|
824 |
}
|
| 786 |
pendingOrder.setPendingOrderItems(pendingOrderItems);
|
825 |
pendingOrder.setPendingOrderItems(pendingOrderItems);
|