Subversion Repositories SmartDukaan

Rev

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

Rev 25678 Rev 26751
Line 1... Line 1...
1
 
1
 
2
package com.spice.profitmandi.web.controller;
2
package com.spice.profitmandi.web.controller;
3
 
3
 
4
import java.time.LocalDateTime;
4
import java.time.LocalDateTime;
5
import java.util.ArrayList;
5
import java.util.ArrayList;
-
 
6
import java.util.Collection;
6
import java.util.HashMap;
7
import java.util.HashMap;
7
import java.util.List;
8
import java.util.List;
8
import java.util.Map;
9
import java.util.Map;
-
 
10
import java.util.Set;
9
import java.util.stream.Collectors;
11
import java.util.stream.Collectors;
10
 
12
 
11
import javax.servlet.http.HttpServletRequest;
13
import javax.servlet.http.HttpServletRequest;
12
 
14
 
13
import org.apache.logging.log4j.LogManager;
15
import org.apache.logging.log4j.LogManager;
Line 21... Line 23...
21
import org.springframework.web.bind.annotation.RequestMethod;
23
import org.springframework.web.bind.annotation.RequestMethod;
22
import org.springframework.web.bind.annotation.RequestParam;
24
import org.springframework.web.bind.annotation.RequestParam;
23
 
25
 
24
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
26
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
25
import com.spice.profitmandi.common.model.CustomRetailer;
27
import com.spice.profitmandi.common.model.CustomRetailer;
26
import com.spice.profitmandi.common.model.ProfitMandiConstants;
-
 
27
import com.spice.profitmandi.dao.entity.catalog.Item;
-
 
28
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
28
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
29
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
29
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
30
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
30
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
31
import com.spice.profitmandi.dao.entity.fofo.HygieneData;
31
import com.spice.profitmandi.dao.entity.fofo.HygieneData;
32
import com.spice.profitmandi.dao.repository.catalog.HygieneDataModel;
32
import com.spice.profitmandi.dao.repository.catalog.HygieneDataModel;
33
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
33
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
34
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
34
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
35
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
35
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
36
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
36
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
37
import com.spice.profitmandi.dao.repository.fofo.HygieneDataRepository;
37
import com.spice.profitmandi.dao.repository.fofo.HygieneDataRepository;
38
import com.spice.profitmandi.dao.repository.user.AddressRepository;
-
 
39
import com.spice.profitmandi.dao.repository.user.UserRepository;
-
 
40
import com.spice.profitmandi.service.user.RetailerService;
38
import com.spice.profitmandi.service.user.RetailerService;
41
import com.spice.profitmandi.web.util.MVCResponseSender;
39
import com.spice.profitmandi.web.util.MVCResponseSender;
42
 
40
 
43
@Controller
41
@Controller
44
@Transactional(rollbackFor = Throwable.class)
42
@Transactional(rollbackFor = Throwable.class)
Line 65... Line 63...
65
	private MVCResponseSender mvcResponseSender;
63
	private MVCResponseSender mvcResponseSender;
66
	private static final Logger LOGGER = LogManager.getLogger(HygieneController.class);
64
	private static final Logger LOGGER = LogManager.getLogger(HygieneController.class);
67
 
65
 
68
	@RequestMapping(value = "/getHygieneData", method = RequestMethod.GET)
66
	@RequestMapping(value = "/getHygieneData", method = RequestMethod.GET)
69
	public String getHygieneData(HttpServletRequest request, Model model) throws ProfitMandiBusinessException {
67
	public String getHygieneData(HttpServletRequest request, Model model) throws ProfitMandiBusinessException {
70
		List<Integer> OrderIds = hygieneDataRepository.selectByDisposedTimestamp().stream().map(x -> x.getOrderId())
-
 
71
				.collect(Collectors.toList());
-
 
72
		List<HygieneData> hygieneData = hygieneDataRepository.selectByDisposedTimestamp();
68
		List<HygieneData> hygieneData = hygieneDataRepository.selectByDisposedTimestamp();
-
 
69
		List<Integer> orderIds = hygieneData.stream().map(x -> x.getOrderId()).collect(Collectors.toList());
73
		Map<Integer, FofoOrder> fofoOrder = this.getfofoOrderByOrderId(hygieneData);
70
		Map<Integer, FofoOrder> fofoOrdersMap = this.getfofoOrderByOrderId(orderIds);
74
 
-
 
-
 
71
		Set<Integer> fofoIds = fofoOrdersMap.values().stream().map(x->x.getFofoId()).collect(Collectors.toSet());
75
		Map<Integer, CustomerAddress> customerAddress = this.getCustomerAddressByFofoOrder(hygieneData);
72
		Map<Integer, CustomerAddress> customerAddress = this.getCustomerAddressByFofoOrder(fofoOrdersMap.values());
76
 
73
 
77
		Map<Integer, CustomRetailer> partnerAddress = this.getPartnerAddressByFofoOrder(hygieneData);
74
		Map<Integer, CustomRetailer> partnerAddressMap = retailerService.getFofoRetailers(new ArrayList<Integer>(fofoIds));
78
		model.addAttribute("hygieneData", hygieneData);
75
		model.addAttribute("hygieneData", hygieneData)
79
		model.addAttribute("fofoOrder", fofoOrder);
76
			.addAttribute("fofoOrder", fofoOrdersMap)
80
		model.addAttribute("partnerAddress", partnerAddress);
77
			.addAttribute("partnerAddress", partnerAddressMap)
81
		model.addAttribute("customerAddress", customerAddress);
78
			.addAttribute("customerAddress", customerAddress);
82
 
-
 
83
		LOGGER.info("hygieneData" + OrderIds);
-
 
84
		LOGGER.info("fofoOrder" + fofoOrder);
-
 
85
		LOGGER.info("customRetailer" + partnerAddress);
-
 
86
		LOGGER.info("customerAddress" + customerAddress);
-
 
87
 
79
 
88
		return "hygiene";
80
		return "hygiene";
89
	}
81
	}
90
 
82
 
91
	private Map<Integer, FofoOrder> getfofoOrderByOrderId(List<HygieneData> hygienesData)
83
	private Map<Integer, FofoOrder> getfofoOrderByOrderId(List<Integer> fofoOrderIds)
92
			throws ProfitMandiBusinessException {
84
			throws ProfitMandiBusinessException {
93
		Map<Integer, FofoOrder> fofoOrders = new HashMap<>();
-
 
94
		for (HygieneData hygieneData : hygienesData) {
-
 
95
			FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(hygieneData.getOrderId());
85
		Map<Integer, FofoOrder> fofoOrders = fofoOrderRepository.selectAllByOrderIds(fofoOrderIds).stream()
96
 
-
 
97
			fofoOrders.put(hygieneData.getOrderId(), fofoOrder);
86
				.collect(Collectors.toMap(x -> x.getId(), x -> x));
98
 
87
 
99
		}
-
 
100
		return fofoOrders;
88
		return fofoOrders;
101
	}
89
	}
102
 
90
 
103
	private Map<Integer, CustomRetailer> getPartnerAddressByFofoOrder(List<HygieneData> hygieneData)
-
 
104
			throws ProfitMandiBusinessException {
-
 
105
		Map<Integer, CustomRetailer> addressMap = new HashMap<>();
-
 
106
		for (HygieneData hd : hygieneData) {
-
 
107
 
-
 
108
			FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(hd.getOrderId());
-
 
109
			CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoOrder.getFofoId());
-
 
110
			addressMap.put(hd.getFofoId(), customRetailer);
-
 
111
 
-
 
112
		}
-
 
113
		return addressMap;
-
 
114
	}
-
 
115
 
-
 
116
	private Map<Integer, CustomerAddress> getCustomerAddressByFofoOrder(List<HygieneData> hygieneData)
91
	private Map<Integer, CustomerAddress> getCustomerAddressByFofoOrder(Collection<FofoOrder> fofoOrders)
117
			throws ProfitMandiBusinessException {
92
			throws ProfitMandiBusinessException {
118
		Map<Integer, CustomerAddress> customerAddressMap = new HashMap<>();
93
		Map<Integer, CustomerAddress> customerAddressMap = new HashMap<>();
119
		for (HygieneData hd : hygieneData) {
94
		for (FofoOrder fofoOrder : fofoOrders) {
120
			FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(hd.getOrderId());
-
 
121
			CustomerAddress ca = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
95
			CustomerAddress ca = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
122
 
-
 
123
			customerAddressMap.put(fofoOrder.getCustomerAddressId(), ca);
96
			customerAddressMap.put(fofoOrder.getCustomerAddressId(), ca);
124
		}
97
		}
125
		return customerAddressMap;
98
		return customerAddressMap;
126
	}
99
	}
127
 
100