Subversion Repositories SmartDukaan

Rev

Rev 23784 | Rev 23798 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 23784 Rev 23786
Line 17... Line 17...
17
import javax.servlet.http.HttpServletResponse;
17
import javax.servlet.http.HttpServletResponse;
18
 
18
 
19
import org.apache.logging.log4j.LogManager;
19
import org.apache.logging.log4j.LogManager;
20
import org.apache.logging.log4j.Logger;
20
import org.apache.logging.log4j.Logger;
21
import org.springframework.beans.factory.annotation.Autowired;
21
import org.springframework.beans.factory.annotation.Autowired;
22
import org.springframework.beans.factory.annotation.Qualifier;
-
 
23
import org.springframework.core.io.InputStreamResource;
22
import org.springframework.core.io.InputStreamResource;
24
import org.springframework.http.HttpHeaders;
23
import org.springframework.http.HttpHeaders;
25
import org.springframework.http.HttpStatus;
24
import org.springframework.http.HttpStatus;
26
import org.springframework.http.MediaType;
25
import org.springframework.http.MediaType;
27
import org.springframework.http.ResponseEntity;
26
import org.springframework.http.ResponseEntity;
Line 50... Line 49...
50
import com.spice.profitmandi.common.web.util.ResponseSender;
49
import com.spice.profitmandi.common.web.util.ResponseSender;
51
import com.spice.profitmandi.dao.entity.catalog.Item;
50
import com.spice.profitmandi.dao.entity.catalog.Item;
52
import com.spice.profitmandi.dao.entity.dtr.InsurancePolicy;
51
import com.spice.profitmandi.dao.entity.dtr.InsurancePolicy;
53
import com.spice.profitmandi.dao.entity.dtr.InsuranceProvider;
52
import com.spice.profitmandi.dao.entity.dtr.InsuranceProvider;
54
import com.spice.profitmandi.dao.entity.dtr.PaymentOptionTransaction;
53
import com.spice.profitmandi.dao.entity.dtr.PaymentOptionTransaction;
55
import com.spice.profitmandi.dao.entity.dtr.Role;
-
 
56
import com.spice.profitmandi.dao.entity.fofo.Customer;
54
import com.spice.profitmandi.dao.entity.fofo.Customer;
57
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
55
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
58
import com.spice.profitmandi.dao.entity.fofo.CustomerCreditNote;
56
import com.spice.profitmandi.dao.entity.fofo.CustomerCreditNote;
59
import com.spice.profitmandi.dao.entity.fofo.CustomerReturnItem;
57
import com.spice.profitmandi.dao.entity.fofo.CustomerReturnItem;
60
import com.spice.profitmandi.dao.entity.fofo.FofoLineItem;
58
import com.spice.profitmandi.dao.entity.fofo.FofoLineItem;
Line 68... Line 66...
68
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
66
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
69
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
67
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
70
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
68
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
71
import com.spice.profitmandi.dao.repository.dtr.PaymentOptionTransactionRepository;
69
import com.spice.profitmandi.dao.repository.dtr.PaymentOptionTransactionRepository;
72
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
70
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
73
import com.spice.profitmandi.dao.repository.dtr.RoleRepository;
-
 
74
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
71
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
75
import com.spice.profitmandi.dao.repository.fofo.CustomerRepository;
72
import com.spice.profitmandi.dao.repository.fofo.CustomerRepository;
76
import com.spice.profitmandi.dao.repository.fofo.CustomerReturnItemRepository;
73
import com.spice.profitmandi.dao.repository.fofo.CustomerReturnItemRepository;
77
import com.spice.profitmandi.dao.repository.fofo.FofoLineItemRepository;
74
import com.spice.profitmandi.dao.repository.fofo.FofoLineItemRepository;
78
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
75
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
Line 83... Line 80...
83
import com.spice.profitmandi.dao.repository.user.AddressRepository;
80
import com.spice.profitmandi.dao.repository.user.AddressRepository;
84
import com.spice.profitmandi.service.order.OrderService;
81
import com.spice.profitmandi.service.order.OrderService;
85
import com.spice.profitmandi.service.pricing.PricingService;
82
import com.spice.profitmandi.service.pricing.PricingService;
86
import com.spice.profitmandi.web.model.LoginDetails;
83
import com.spice.profitmandi.web.model.LoginDetails;
87
import com.spice.profitmandi.web.util.CookiesProcessor;
84
import com.spice.profitmandi.web.util.CookiesProcessor;
-
 
85
import com.spice.profitmandi.web.util.RoleManager;
88
 
86
 
89
@Controller
87
@Controller
90
@Transactional(rollbackFor=Throwable.class)
88
@Transactional(rollbackFor=Throwable.class)
91
public class OrderController {
89
public class OrderController {
92
 
90
 
Line 94... Line 92...
94
 
92
 
95
	@Autowired
93
	@Autowired
96
	private CustomerRepository customerRepository;
94
	private CustomerRepository customerRepository;
97
 
95
 
98
	@Autowired
96
	@Autowired
-
 
97
	private RoleManager roleManager;
-
 
98
	
-
 
99
	@Autowired
99
	private CustomerReturnItemRepository customerReturnItemRepository;
100
	private CustomerReturnItemRepository customerReturnItemRepository;
100
	
101
	
101
	@Autowired
102
	@Autowired
102
	private FofoOrderItemRepository fofoOrderItemRepository;
103
	private FofoOrderItemRepository fofoOrderItemRepository;
103
	
104
	
Line 106... Line 107...
106
 
107
 
107
	@Autowired
108
	@Autowired
108
	private PaymentOptionRepository paymentOptionRepository;
109
	private PaymentOptionRepository paymentOptionRepository;
109
	
110
	
110
	@Autowired
111
	@Autowired
111
	@Qualifier("catalogItemRepository")
-
 
112
	private ItemRepository itemRepository;
112
	private ItemRepository itemRepository;
113
 
113
 
114
	@Autowired
114
	@Autowired
115
	private FofoOrderRepository fofoOrderRepository;
115
	private FofoOrderRepository fofoOrderRepository;
116
 
116
 
Line 146... Line 146...
146
	
146
	
147
	@Autowired
147
	@Autowired
148
	private PrebookingOrderItemRepository prebookingOrderItemRepository;
148
	private PrebookingOrderItemRepository prebookingOrderItemRepository;
149
	
149
	
150
	@Autowired
150
	@Autowired
151
	private RoleRepository roleRepository;
-
 
152
	
-
 
153
	@Autowired
-
 
154
	private ResponseSender<?> responseSender;
151
	private ResponseSender<?> responseSender;
155
	
152
	
156
	@RequestMapping(value = "/order")
153
	@RequestMapping(value = "/order")
157
	public String orderIndex(HttpServletRequest request, @RequestParam(name = "cartData") String cartData, Model model) throws ProfitMandiBusinessException{
154
	public String orderIndex(HttpServletRequest request, @RequestParam(name = "cartData") String cartData, Model model) throws ProfitMandiBusinessException{
158
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);;
155
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);;
Line 413... Line 410...
413
	@RequestMapping(value = "/generateInvoice")
410
	@RequestMapping(value = "/generateInvoice")
414
	public ResponseEntity<?> generateInvoice(HttpServletRequest request, HttpServletResponse response, @RequestParam(name = ProfitMandiConstants.ORDER_ID) int orderId) throws ProfitMandiBusinessException{
411
	public ResponseEntity<?> generateInvoice(HttpServletRequest request, HttpServletResponse response, @RequestParam(name = ProfitMandiConstants.ORDER_ID) int orderId) throws ProfitMandiBusinessException{
415
		LOGGER.info("Request received at url {} with params [{}={}] ", request.getRequestURI(), ProfitMandiConstants.ORDER_ID, orderId);
412
		LOGGER.info("Request received at url {} with params [{}={}] ", request.getRequestURI(), ProfitMandiConstants.ORDER_ID, orderId);
416
		LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
413
		LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
417
		PdfModel pdfModel = null;
414
		PdfModel pdfModel = null;
418
		Role role = roleRepository.selectByName(RoleType.FOFO_ADMIN.toString());
-
 
419
		if(fofoDetails.getRoleIds().contains(role.getId())) {
415
		if(roleManager.isAdmin(fofoDetails.getRoleIds())) {
420
			pdfModel = orderService.getInvoicePdfModel(orderId);
416
			pdfModel = orderService.getInvoicePdfModel(orderId);
421
		}else {
417
		}else {
422
			pdfModel = orderService.getInvoicePdfModel(fofoDetails.getFofoId(), orderId);
418
			pdfModel = orderService.getInvoicePdfModel(fofoDetails.getFofoId(), orderId);
423
		}
419
		}
424
		ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
420
		ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();