Subversion Repositories SmartDukaan

Rev

Rev 32887 | Rev 33247 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
22981 ashik.ali 1
package com.spice.profitmandi.web.controller;
2
 
23494 ashik.ali 3
import com.spice.profitmandi.common.enumuration.ContentType;
23955 govind 4
import com.spice.profitmandi.common.enumuration.CounterSize;
28825 tejbeer 5
import com.spice.profitmandi.common.enumuration.FofoType;
22981 ashik.ali 6
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
30017 amit.gupta 7
import com.spice.profitmandi.common.model.*;
28024 tejbeer 8
import com.spice.profitmandi.common.util.Utils;
23330 ashik.ali 9
import com.spice.profitmandi.common.web.util.ResponseSender;
27231 tejbeer 10
import com.spice.profitmandi.dao.entity.auth.AuthUser;
30017 amit.gupta 11
import com.spice.profitmandi.dao.entity.dtr.*;
12
import com.spice.profitmandi.dao.entity.fofo.*;
24159 tejbeer 13
import com.spice.profitmandi.dao.entity.user.Location;
14
import com.spice.profitmandi.dao.entity.user.Promoter;
24123 tejbeer 15
import com.spice.profitmandi.dao.entity.user.User;
32887 shampa 16
import com.spice.profitmandi.dao.entity.warehouse.Supplier;
27231 tejbeer 17
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
18
import com.spice.profitmandi.dao.repository.cs.CsService;
28272 tejbeer 19
import com.spice.profitmandi.dao.repository.cs.RetailerBrandsLimitService;
30017 amit.gupta 20
import com.spice.profitmandi.dao.repository.dtr.*;
27797 tejbeer 21
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeRepository;
22
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
28381 tejbeer 23
import com.spice.profitmandi.dao.repository.fofo.PincodePartnerRepository;
24123 tejbeer 24
import com.spice.profitmandi.dao.repository.user.LocationRepository;
24159 tejbeer 25
import com.spice.profitmandi.dao.repository.user.PromoterRepository;
24123 tejbeer 26
import com.spice.profitmandi.dao.repository.user.UserRepository;
24349 amit.gupta 27
import com.spice.profitmandi.service.PartnerInvestmentService;
32731 ranu 28
import com.spice.profitmandi.service.catalog.BrandsService;
24159 tejbeer 29
import com.spice.profitmandi.service.inventory.InventoryService;
22981 ashik.ali 30
import com.spice.profitmandi.service.user.RetailerService;
28908 tejbeer 31
import com.spice.profitmandi.service.user.StoreTimelineTatService;
25276 amit.gupta 32
import com.spice.profitmandi.web.model.LoginDetails;
33
import com.spice.profitmandi.web.util.CookiesProcessor;
24123 tejbeer 34
import com.spice.profitmandi.web.util.MVCResponseSender;
30017 amit.gupta 35
import org.apache.logging.log4j.LogManager;
36
import org.apache.logging.log4j.Logger;
37
import org.json.JSONObject;
38
import org.springframework.beans.factory.annotation.Autowired;
39
import org.springframework.beans.factory.annotation.Qualifier;
40
import org.springframework.core.io.InputStreamResource;
41
import org.springframework.http.HttpHeaders;
42
import org.springframework.http.HttpStatus;
43
import org.springframework.http.ResponseEntity;
44
import org.springframework.stereotype.Controller;
45
import org.springframework.ui.Model;
46
import org.springframework.web.bind.annotation.*;
22981 ashik.ali 47
 
30017 amit.gupta 48
import javax.servlet.http.HttpServletRequest;
49
import javax.transaction.Transactional;
50
import java.io.File;
51
import java.io.FileInputStream;
52
import java.io.FileNotFoundException;
53
import java.time.LocalDate;
54
import java.time.LocalDateTime;
55
import java.util.*;
56
import java.util.stream.Collectors;
57
 
22981 ashik.ali 58
@Controller
25277 amit.gupta 59
@Transactional(rollbackOn = Throwable.class)
22981 ashik.ali 60
public class RetailerController {
61
 
23568 govind 62
	private static final Logger LOGGER = LogManager.getLogger(RetailerController.class);
24124 govind 63
 
22981 ashik.ali 64
	@Autowired
65
	private RetailerService retailerService;
24124 govind 66
 
32667 raveendra. 67
 
23330 ashik.ali 68
	@Autowired
28832 tejbeer 69
	private RetailerRepository retailerRepository;
70
 
23494 ashik.ali 71
	@Autowired
32751 amit.gupta 72
	private PincodePartnerRepository pincodePartnerRepository;
28832 tejbeer 73
 
28381 tejbeer 74
	@Autowired
28272 tejbeer 75
	private BrandLimitRepository brandLimitRepository;
76
 
77
	@Autowired
78
	private RetailerBrandsLimitService retailerBrandsLimitService;
79
 
80
	@Autowired
81
	private RetailerBrandsLimitRepository retailerBrandsLimitRepository;
82
 
83
	@Autowired
23494 ashik.ali 84
	private ShopRepository shopRepository;
24124 govind 85
 
23494 ashik.ali 86
	@Autowired
28024 tejbeer 87
	private RetailerBlockBrandsRepository retailerBlockBrandsRepository;
88
 
89
	@Autowired
24124 govind 90
	private FofoStoreRepository fofoStoreRepository;
91
 
92
	@Autowired
23494 ashik.ali 93
	private DocumentRepository documentRepository;
24124 govind 94
 
23494 ashik.ali 95
	@Autowired
25276 amit.gupta 96
	private CookiesProcessor cookiesProcessor;
97
 
98
	@Autowired
24159 tejbeer 99
	@Qualifier("userUserRepository")
24123 tejbeer 100
	private UserRepository userRepository;
24124 govind 101
 
24123 tejbeer 102
	@Autowired
27231 tejbeer 103
	private AuthRepository authRepository;
104
 
105
	@Autowired
106
	private CsService csService;
107
 
108
	@Autowired
24123 tejbeer 109
	private LocationRepository locationRepository;
24124 govind 110
 
24123 tejbeer 111
	@Autowired
23330 ashik.ali 112
	private ResponseSender<?> responseSender;
24124 govind 113
 
24123 tejbeer 114
	@Autowired
115
	private MVCResponseSender mvcResponseSender;
24124 govind 116
 
24159 tejbeer 117
	@Autowired
118
	private InventoryService inventoryService;
119
 
120
	@Autowired
121
	private PromoterRepository promoterRepository;
122
 
123
	@Autowired
24349 amit.gupta 124
	private PartnerInvestmentService partnerInvestmentService;
125
 
126
	@Autowired
24159 tejbeer 127
	private Mongo mongoClient;
128
 
27797 tejbeer 129
	@Autowired
130
	private PartnerTypeChangeService partnerTypeChangeService;
131
 
132
	@Autowired
133
	private PartnerTypeChangeRepository partnerTypeChangeRepository;
134
 
28908 tejbeer 135
	@Autowired
136
	PartnerOnBoardingPanelRepository partnerOnBoardingPanelRepository;
137
 
138
	@Autowired
139
	private StoreTimelineTatService storeTimelineTatService;
140
 
23784 ashik.ali 141
	@RequestMapping(value = "/retailerDetails", method = RequestMethod.GET)
24124 govind 142
	public String retailerInfoByEmailIdOrMobileNumber(HttpServletRequest request,
30426 tejbeer 143
			@RequestParam(name = ProfitMandiConstants.EMAIL_ID_OR_MOBILE_NUMBER) String emailIdOrMobileNumber,
144
			Model model) throws ProfitMandiBusinessException {
24124 govind 145
		LOGGER.info("Request Received at url {} with emailIdOrMobileNumber {}", request.getRequestURI(),
146
				emailIdOrMobileNumber);
28071 tejbeer 147
 
148
		Map<String, Object> map = retailerService.getByEmailIdOrMobileNumber(emailIdOrMobileNumber);
149
 
26771 amit.gupta 150
		model.addAllAttributes(map);
28071 tejbeer 151
 
23955 govind 152
		model.addAttribute("counterSizes", CounterSize.values());
26209 tejbeer 153
		Map<Integer, String> warehouseMap = ProfitMandiConstants.WAREHOUSE_MAP;
28825 tejbeer 154
 
26209 tejbeer 155
		LOGGER.info("warehouseMap", warehouseMap);
156
		model.addAttribute("warehouses", warehouseMap);
28825 tejbeer 157
		model.addAttribute("fofoTypes", FofoType.values());
26771 amit.gupta 158
		if (map.containsKey("retailer")) {
159
			Retailer retailer = (Retailer) map.get("retailer");
160
			User user = userRepository.selectById(retailer.getId());
161
			if (user.getLocation() != null) {
162
				Location location = locationRepository.selectById(user.getLocation());
163
				model.addAttribute("locationdetail", location);
164
				LOGGER.info("location" + location);
165
			}
166
		}
22981 ashik.ali 167
		return "retailer-details";
168
	}
24124 govind 169
 
23026 ashik.ali 170
	@RequestMapping(value = "/retailerDetails", method = RequestMethod.PUT)
24124 govind 171
	public String updateRetailerDetails(HttpServletRequest request,
30426 tejbeer 172
			@RequestBody UpdateRetailerRequest updateRetailerRequest, Model model) throws ProfitMandiBusinessException {
23026 ashik.ali 173
		LOGGER.info("Request Received at url {} with body {}", request.getRequestURI(), updateRetailerRequest);
174
		Map<String, Object> map = retailerService.updateRetailerDetails(updateRetailerRequest);
32667 raveendra. 175
		//retailerService.up
28071 tejbeer 176
 
23026 ashik.ali 177
		model.addAllAttributes(map);
23955 govind 178
		model.addAttribute("counterSizes", CounterSize.values());
26209 tejbeer 179
		Map<Integer, String> warehouseMap = ProfitMandiConstants.WAREHOUSE_MAP;
180
		LOGGER.info("warehouseMap", warehouseMap);
181
		model.addAttribute("warehouses", warehouseMap);
28832 tejbeer 182
		model.addAttribute("fofoTypes", FofoType.values());
23026 ashik.ali 183
		return "retailer-details";
184
	}
22981 ashik.ali 185
 
32667 raveendra. 186
	@RequestMapping(value = "/retailer/update-email", method = RequestMethod.POST)
187
	public String updateRetailerEmail(@RequestParam("newEmail") String newEmail, @RequestParam("fofoID") int fofoID) throws ProfitMandiBusinessException {
188
		retailerService.updateRetailerEmail(fofoID, newEmail);
189
		return "retailer-details";
190
	}
191
 
22981 ashik.ali 192
	@RequestMapping(value = "/retailerInfo", method = RequestMethod.GET)
24124 govind 193
	public String retailerInfo(HttpServletRequest request) throws Exception {
22981 ashik.ali 194
		return "retailer-info";
195
	}
24124 govind 196
 
23330 ashik.ali 197
	@RequestMapping(value = "/district/all/stateName", method = RequestMethod.GET)
24124 govind 198
	public ResponseEntity<?> getAllDistrict(@RequestParam(name = "stateName") String stateName) {
23330 ashik.ali 199
		return responseSender.ok(retailerService.getAllDistrictMaster(stateName));
200
	}
24124 govind 201
 
23494 ashik.ali 202
	@RequestMapping(value = "/retailerDocument/documentId", method = RequestMethod.GET)
24124 govind 203
	public ResponseEntity<?> retailerDocumentById(HttpServletRequest request,
30426 tejbeer 204
			@RequestParam(name = ProfitMandiConstants.DOCUMENT_ID) int documentId,
205
			@RequestParam(name = ProfitMandiConstants.RETAILER_ID) int retailerId) throws ProfitMandiBusinessException {
23494 ashik.ali 206
		Document document = documentRepository.selectById(documentId);
23499 ashik.ali 207
		Retailer retailer = retailerRepository.selectById(retailerId);
24124 govind 208
 
209
		if (retailer.getDocumentId() == null) {
23494 ashik.ali 210
			throw new ProfitMandiBusinessException(ProfitMandiConstants.RETAILER_ID, retailer.getId(), "RTLR_1012");
211
		}
24124 govind 212
		if (retailer.getDocumentId() != documentId) {
23494 ashik.ali 213
			throw new ProfitMandiBusinessException(ProfitMandiConstants.DOCUMENT_ID, documentId, "RTLR_1014");
214
		}
215
		return responseSender.ok(document);
216
	}
24124 govind 217
 
23494 ashik.ali 218
	@RequestMapping(value = "/retailerDocument/download", method = RequestMethod.GET)
24124 govind 219
	public ResponseEntity<?> downloadRetailerDocument(HttpServletRequest request,
30426 tejbeer 220
			@RequestParam(name = ProfitMandiConstants.RETAILER_ID) int retailerId, Model model)
24124 govind 221
			throws ProfitMandiBusinessException {
222
 
23499 ashik.ali 223
		Retailer retailer = retailerRepository.selectById(retailerId);
24124 govind 224
 
225
		if (retailer.getDocumentId() == null) {
23494 ashik.ali 226
			throw new ProfitMandiBusinessException(ProfitMandiConstants.RETAILER_ID, retailer.getId(), "RTLR_1012");
227
		}
24124 govind 228
 
23494 ashik.ali 229
		Document document = documentRepository.selectById(retailer.getDocumentId());
24124 govind 230
 
23494 ashik.ali 231
		FileInputStream file = null;
232
		try {
233
			file = new FileInputStream(document.getPath() + File.separator + document.getName());
234
		} catch (FileNotFoundException e) {
235
			LOGGER.error("Retailer Document file not found : ", e);
236
			throw new ProfitMandiBusinessException(ProfitMandiConstants.DOCUMENT_ID, document.getId(), "RTLR_1013");
237
		}
24159 tejbeer 238
		// ByteArrayOutputStream byteArrayOutputStream = new
239
		// ByteArrayOutputStream();
24124 govind 240
		// ExcelUtils.writeSchemeModels(schemeModels, byteArrayOutputStream);
241
 
242
		final HttpHeaders headers = new HttpHeaders();
23494 ashik.ali 243
		String contentType = "";
24124 govind 244
		if (document.getContentType() == ContentType.JPEG) {
23494 ashik.ali 245
			contentType = "image/jpeg";
24124 govind 246
		} else if (document.getContentType() == ContentType.PNG) {
23494 ashik.ali 247
			contentType = "image/png";
24124 govind 248
		} else if (document.getContentType() == ContentType.PDF) {
23494 ashik.ali 249
			contentType = "application/pdf";
250
		}
24124 govind 251
		headers.set("Content-Type", contentType);
252
		headers.set("Content-disposition", "inline; filename=" + document.getName());
253
		headers.setContentLength(document.getSize());
254
		final InputStreamResource inputStreamResource = new InputStreamResource(file);
255
		return new ResponseEntity<InputStreamResource>(inputStreamResource, headers, HttpStatus.OK);
256
 
24159 tejbeer 257
		// return
258
		// responseSender.ok(ResponseCodeHolder.getMessage("ITM_AGNG_OK_1000"));
23494 ashik.ali 259
	}
24124 govind 260
 
23494 ashik.ali 261
	@RequestMapping(value = "/retailerShopDocument/shopId", method = RequestMethod.GET)
24124 govind 262
	public ResponseEntity<?> retailerShopDocumentById(HttpServletRequest request,
30426 tejbeer 263
			@RequestParam(name = ProfitMandiConstants.SHOP_ID) int shopId,
264
			@RequestParam(name = ProfitMandiConstants.RETAILER_ID) int retailerId) throws ProfitMandiBusinessException {
23494 ashik.ali 265
		Shop shop = shopRepository.selectById(shopId);
24124 govind 266
 
267
		if (shop.getRetailerId() != retailerId) {
23494 ashik.ali 268
			throw new ProfitMandiBusinessException(ProfitMandiConstants.SHOP_ID, shop.getId(), "SHP_1004");
269
		}
24124 govind 270
 
271
		if (shop.getDocumentId() == null) {
23494 ashik.ali 272
			throw new ProfitMandiBusinessException(ProfitMandiConstants.RETAILER_ID, shop.getId(), "SHP_1005");
273
		}
24124 govind 274
 
23494 ashik.ali 275
		Document document = documentRepository.selectById(shop.getDocumentId());
276
		return responseSender.ok(document);
277
	}
24124 govind 278
 
23494 ashik.ali 279
	@RequestMapping(value = "/retailerShopDocument/download", method = RequestMethod.GET)
24124 govind 280
	public ResponseEntity<?> downloadRetailerShopDocument(HttpServletRequest request,
30426 tejbeer 281
			@RequestParam(name = ProfitMandiConstants.SHOP_ID) int shopId,
282
			@RequestParam(name = ProfitMandiConstants.RETAILER_ID) int retailerId, Model model)
24124 govind 283
			throws ProfitMandiBusinessException {
284
 
23494 ashik.ali 285
		Shop shop = shopRepository.selectById(shopId);
24124 govind 286
 
287
		if (shop.getRetailerId() != retailerId) {
23494 ashik.ali 288
			throw new ProfitMandiBusinessException(ProfitMandiConstants.SHOP_ID, shop.getId(), "SHP_1004");
289
		}
24124 govind 290
 
291
		if (shop.getDocumentId() == null) {
23494 ashik.ali 292
			throw new ProfitMandiBusinessException(ProfitMandiConstants.RETAILER_ID, shop.getId(), "SHP_1005");
293
		}
24124 govind 294
 
23494 ashik.ali 295
		Document document = documentRepository.selectById(shop.getDocumentId());
24124 govind 296
 
23494 ashik.ali 297
		FileInputStream file = null;
298
		try {
299
			file = new FileInputStream(document.getPath() + File.separator + document.getName());
300
		} catch (FileNotFoundException e) {
301
			LOGGER.error("Retailer Document file not found : ", e);
302
			throw new ProfitMandiBusinessException(ProfitMandiConstants.DOCUMENT_ID, document.getId(), "RTLR_1013");
303
		}
24159 tejbeer 304
		// ByteArrayOutputStream byteArrayOutputStream = new
305
		// ByteArrayOutputStream();
24124 govind 306
		// ExcelUtils.writeSchemeModels(schemeModels, byteArrayOutputStream);
307
 
308
		final HttpHeaders headers = new HttpHeaders();
23494 ashik.ali 309
		String contentType = "";
24124 govind 310
		if (document.getContentType() == ContentType.JPEG) {
23494 ashik.ali 311
			contentType = "image/jpeg";
24124 govind 312
		} else if (document.getContentType() == ContentType.PNG) {
23494 ashik.ali 313
			contentType = "image/png";
24124 govind 314
		} else if (document.getContentType() == ContentType.PDF) {
23494 ashik.ali 315
			contentType = "application/pdf";
316
		}
24124 govind 317
		headers.set("Content-Type", contentType);
318
		headers.set("Content-disposition", "inline; filename=" + document.getName());
319
		headers.setContentLength(document.getSize());
320
		final InputStreamResource inputStreamResource = new InputStreamResource(file);
321
		return new ResponseEntity<InputStreamResource>(inputStreamResource, headers, HttpStatus.OK);
322
 
24159 tejbeer 323
		// return
324
		// responseSender.ok(ResponseCodeHolder.getMessage("ITM_AGNG_OK_1000"));
23494 ashik.ali 325
	}
30017 amit.gupta 326
 
29267 manish 327
	@GetMapping(value = "/getstore")
328
	public String getstore(HttpServletRequest request, Model model) {
30017 amit.gupta 329
 
29267 manish 330
		List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().map(x -> x.getId())
331
				.collect(Collectors.toList());
30426 tejbeer 332
 
333
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
334
 
335
		Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = fofoIds.stream().map(x -> customRetailerMap.get(x))
336
				.filter(x -> x != null).collect(Collectors.toList()).stream()
337
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
338
 
33083 amit.gupta 339
		//LOGGER.info("fofoIds" + fofoIds);
29267 manish 340
		model.addAttribute("fofoIdsAndCustomRetailer", fofoIdsAndCustomRetailer);
33083 amit.gupta 341
		//LOGGER.info("fofoIdsAndCustomRetailer" + fofoIdsAndCustomRetailer);
29267 manish 342
		model.addAttribute("fofoIds", fofoIds);
24124 govind 343
 
29267 manish 344
		return "store";
345
 
346
	}
30017 amit.gupta 347
 
32207 amit.gupta 348
	private static final List<String> CHANGE_PARTNER_CATEGORY_PERMISSIONS = Arrays.asList("tarun.verma@smartdukaan.com", "kamini.sharma@smartdukaan.com", "shankar.mushra@smartdukaan.com");
349
 
29267 manish 350
	@RequestMapping(value = "/getPartnerinfo")
30426 tejbeer 351
	public String getPartnerinfo(HttpServletRequest request, @RequestBody SelectStorePartnerInfo selectStorePartnerInfo,
32207 amit.gupta 352
								 Model model) throws ProfitMandiBusinessException {
353
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
33083 amit.gupta 354
		//LOGGER.info("selectStorePartnerInfo" + selectStorePartnerInfo.getUserIds());
29267 manish 355
		List<FofoStore> fofoStores = fofoStoreRepository.selectByRetailerIds(selectStorePartnerInfo.getUserIds());
33083 amit.gupta 356
		//LOGGER.info("fofoStoresInfo" + fofoStores);
29267 manish 357
		Map<Integer, Boolean> investments = new HashMap<>();
358
 
359
		for (FofoStore fofoStore : fofoStores) {
360
			boolean isOk = false;
361
			if (fofoStore.getGraceDate() != null && fofoStore.getGraceDate().isAfter(LocalDate.now())) {
362
				isOk = true;
363
			} else {
364
				try {
31521 amit.gupta 365
					isOk = partnerInvestmentService.isInvestmentOk(fofoStore.getId(), ProfitMandiConstants.MIN_INVESTMENT_PERCENTAGE,
29267 manish 366
							ProfitMandiConstants.CUTOFF_INVESTMENT);
367
					if (fofoStore.getGraceCount() > 0) {
368
						fofoStore.setGraceDate(null);
369
						fofoStore.setGraceCount(0);
370
					}
371
				} catch (ProfitMandiBusinessException e) {
30017 amit.gupta 372
				}
29267 manish 373
			}
374
			investments.put(fofoStore.getId(), isOk);
375
		}
376
 
377
		Map<Integer, CustomRetailer> customRetailers = retailerService.getFofoRetailers(false);
378
		model.addAttribute("fofoStores", fofoStores);
379
		model.addAttribute("investments", investments);
380
		model.addAttribute("customRetailers", customRetailers);
32207 amit.gupta 381
		boolean canChangeCategory = CHANGE_PARTNER_CATEGORY_PERMISSIONS.contains(loginDetails.getEmailId());
382
		model.addAttribute("canChangeCategory", canChangeCategory);
29267 manish 383
 
384
		return "store-investment";
385
 
386
	}
30017 amit.gupta 387
 
24124 govind 388
	@GetMapping(value = "/getAllStores")
32207 amit.gupta 389
	public String getAllStores(HttpServletRequest request, Model model) throws Exception {
24124 govind 390
 
25276 amit.gupta 391
		List<FofoStore> fofoStores = fofoStoreRepository.selectAll().stream().filter(x -> x.isActive())
392
				.collect(Collectors.toList());
24349 amit.gupta 393
		Map<Integer, Boolean> investments = new HashMap<>();
24124 govind 394
 
24349 amit.gupta 395
		for (FofoStore fofoStore : fofoStores) {
396
			boolean isOk = false;
397
			if (fofoStore.getGraceDate() != null && fofoStore.getGraceDate().isAfter(LocalDate.now())) {
398
				isOk = true;
399
			} else {
400
				try {
31521 amit.gupta 401
					isOk = partnerInvestmentService.isInvestmentOk(fofoStore.getId(), ProfitMandiConstants.MIN_INVESTMENT_PERCENTAGE,
25276 amit.gupta 402
							ProfitMandiConstants.CUTOFF_INVESTMENT);
403
					if (fofoStore.getGraceCount() > 0) {
24349 amit.gupta 404
						fofoStore.setGraceDate(null);
405
						fofoStore.setGraceCount(0);
406
					}
407
				} catch (ProfitMandiBusinessException e) {
408
				}
409
			}
410
			investments.put(fofoStore.getId(), isOk);
411
		}
24124 govind 412
 
26963 amit.gupta 413
		Map<Integer, CustomRetailer> customRetailers = retailerService.getFofoRetailers(false);
24124 govind 414
		model.addAttribute("fofoStores", fofoStores);
24349 amit.gupta 415
		model.addAttribute("investments", investments);
24124 govind 416
		model.addAttribute("customRetailers", customRetailers);
417
 
32207 amit.gupta 418
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
419
		boolean canChangeCategory = CHANGE_PARTNER_CATEGORY_PERMISSIONS.contains(loginDetails.getEmailId());
420
		model.addAttribute("canChangeCategory", canChangeCategory);
421
 
29267 manish 422
		return "store-investment";
24124 govind 423
 
424
	}
425
 
27797 tejbeer 426
	@GetMapping(value = "/getPartnerCategory")
427
	public String getPartnerCategory(HttpServletRequest request, @RequestParam int fofoId, Model model) {
428
 
429
		PartnerType partnerType = partnerTypeChangeService.getTypeOnDate(fofoId, LocalDate.now());
430
		List<PartnerType> partnerTypes = partnerType.nextPartnerTypes();
431
		LOGGER.info("partnerType" + partnerTypes);
432
		model.addAttribute("partnerTypes", partnerTypes);
433
		model.addAttribute("fofoId", fofoId);
434
		return "partner-category";
435
	}
436
 
437
	@PostMapping(value = "/updatePartnerCategory")
438
	public String updatePartnerCategory(HttpServletRequest request, @RequestParam(name = "fofoId") int fofoId,
30426 tejbeer 439
			@RequestParam(name = "partnerType") PartnerType partnerType, Model model) throws Exception {
27797 tejbeer 440
 
441
		PartnerTypeChange ptc = new PartnerTypeChange();
442
		ptc.setFofoId(fofoId);
443
		ptc.setPartnerType(partnerType);
444
		ptc.setCreateTimestamp(LocalDate.now().atStartOfDay().plusDays(1));
445
		partnerTypeChangeRepository.persist(ptc);
31238 amit.gupta 446
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
27797 tejbeer 447
 
448
		return "response";
449
	}
450
 
24349 amit.gupta 451
	@GetMapping(value = "/partners")
452
	public String getStoreName(HttpServletRequest request, Model model, @RequestParam String query) throws Exception {
31321 tejbeer 453
		model.addAttribute("response1",
454
				mvcResponseSender.createResponseString(retailerService.getFofoRetailers(false).values().stream()
31238 amit.gupta 455
						.filter(x -> x.getDisplayName().toLowerCase().matches(".*?" + query.toLowerCase() + ".*?"))
456
						.collect(Collectors.toList())));
24349 amit.gupta 457
		return "response";
458
	}
459
 
24124 govind 460
	@PostMapping(value = "/deactivateStore")
461
	public String deActivateStore(HttpServletRequest request,
30426 tejbeer 462
			@RequestParam(name = ProfitMandiConstants.FOFO_ID) int fofoId, Model model) throws Exception {
24124 govind 463
		FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
25276 amit.gupta 464
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
30964 tejbeer 465
		if (!Arrays
466
				.asList("kamini.sharma@smartdukaan.com", "tarun.verma@smartdukaan.com", "amit.gupta@smartdukaan.com",
31321 tejbeer 467
						"rahul.katyal@smartdukaan.com", "tejbeer.kaur@smartdukaan.com", "sm@smartdukaan.com")
30964 tejbeer 468
				.contains(loginDetails.getEmailId())) {
26131 tejbeer 469
			throw new ProfitMandiBusinessException("Access Denied", "Unauthorised Access",
470
					"You are not authorise to deactivate retailer");
25276 amit.gupta 471
		}
24843 govind 472
		fofoStore.setActive(false);
24124 govind 473
		LOGGER.info("inserted into InActiveFofoStore successfully");
31238 amit.gupta 474
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
24124 govind 475
		return "response";
476
	}
28825 tejbeer 477
 
28710 amit.gupta 478
	@PostMapping(value = "/activateStoreForever")
479
	public String activateStoreForever(HttpServletRequest request,
30426 tejbeer 480
			@RequestParam(name = ProfitMandiConstants.FOFO_ID) int fofoId, Model model) throws Exception {
28710 amit.gupta 481
		FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
482
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
30964 tejbeer 483
		if (!Arrays.asList("kamini.sharma@smartdukaan.com", "tarun.verma@smartdukaan.com", "amit.gupta@smartdukaan.com",
31321 tejbeer 484
				"rahul.katyal@smartdukaan.com", "sm@smartdukaan.com").contains(loginDetails.getEmailId())) {
28710 amit.gupta 485
			throw new ProfitMandiBusinessException("Access Denied", "Unauthorised Access",
486
					"You are not authorise to activate retailer");
487
		}
488
		fofoStore.setActive(true);
489
		LOGGER.info("inserted into ActiveFofoStore successfully");
31238 amit.gupta 490
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
28710 amit.gupta 491
		return "response";
492
	}
28825 tejbeer 493
 
28710 amit.gupta 494
	@PostMapping(value = "/activateStoreTemporary")
495
	public String activateStoreTemporary(HttpServletRequest request,
30426 tejbeer 496
			@RequestParam(name = ProfitMandiConstants.FOFO_ID) int fofoId,
497
			@RequestParam(name = "days", required = true) int days, Model model) throws Exception {
28825 tejbeer 498
 
28710 amit.gupta 499
		FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
500
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
30964 tejbeer 501
		if (!Arrays.asList("kamini.sharma@smartdukaan.com", "tarun.verma@smartdukaan.com", "amit.gupta@smartdukaan.com",
31321 tejbeer 502
				"rahul.katyal@smartdukaan.com", "sm@smartdukaan.com").contains(loginDetails.getEmailId())) {
28710 amit.gupta 503
			throw new ProfitMandiBusinessException("Access Denied", "Unauthorised Access",
504
					"You are not authorise to deactivate retailer");
505
		}
28825 tejbeer 506
 
507
		LocalDateTime currentDate = LocalDate.now().atStartOfDay();
508
 
28710 amit.gupta 509
		LocalDateTime EndDate = currentDate.plusDays(days);
510
		fofoStore.setActiveTimeStamp(EndDate);
28825 tejbeer 511
 
512
		LOGGER.info("EndDate" + EndDate);
513
		LOGGER.info("getActiveTimeStamp" + fofoStore.getActiveTimeStamp());
514
 
515
		if (currentDate.isBefore(fofoStore.getActiveTimeStamp())) {
516
			fofoStore.setActive(true);
517
			LOGGER.info("inserted into InActiveFofoStore successfully");
28710 amit.gupta 518
		}
28825 tejbeer 519
 
31238 amit.gupta 520
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
28710 amit.gupta 521
		return "response";
522
	}
25276 amit.gupta 523
 
524
	@GetMapping(value = "/getAllInactiveStores")
525
	public String getInactiveStores(HttpServletRequest request, Model model) {
526
		List<FofoStore> inActiveFofoStores = fofoStoreRepository.selectInActiveStore();
30426 tejbeer 527
 
30431 tejbeer 528
		LOGGER.info("inActiveFofoStores {}", inActiveFofoStores);
30426 tejbeer 529
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
530
 
30431 tejbeer 531
		List<Integer> fofoIds = inActiveFofoStores.stream().map(x -> x.getId()).collect(Collectors.toList());
532
 
533
		Map<Integer, CustomRetailer> customRetailers = fofoIds.stream().map(x -> customRetailerMap.get(x))
30426 tejbeer 534
				.filter(x -> x != null).collect(Collectors.toList()).stream()
535
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
30431 tejbeer 536
		LOGGER.info("customRetailers {}", customRetailers);
30426 tejbeer 537
 
24680 govind 538
		model.addAttribute("inActiveFofoStores", inActiveFofoStores);
539
		model.addAttribute("customRetailers", customRetailers);
540
		return "inactive-stores";
541
	}
25276 amit.gupta 542
 
543
	// Extend billing for 2 days
24349 amit.gupta 544
	@PostMapping(value = "/extendBilling")
545
	public String extendBilling(HttpServletRequest request,
30426 tejbeer 546
			@RequestParam(name = ProfitMandiConstants.FOFO_ID) int fofoId, Model model) throws Exception {
24349 amit.gupta 547
		FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
25276 amit.gupta 548
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
30963 tejbeer 549
		if (Arrays.asList("kamini.sharma@smartdukaan.com", "tarun.verma@smartdukaan.com", "amit.gupta@smartdukaan.com",
32190 amit.gupta 550
				"rahul.katyal@smartdukaan.com", "sm@smartdukaan.com", "mohit.gulati@smartdukaan.com").contains(loginDetails.getEmailId())) {
25276 amit.gupta 551
			fofoStore.setGraceDate(LocalDate.now().plusDays(2));
552
			fofoStore.setGraceCount(fofoStore.getGraceCount() + 1);
31238 amit.gupta 553
			model.addAttribute("response1", mvcResponseSender.createResponseString(fofoStore.getGraceCount()));
25276 amit.gupta 554
		} else {
26131 tejbeer 555
			throw new ProfitMandiBusinessException("Access Denied", "Unauthorised Access",
556
					"You are not authorise to extend billing");
25276 amit.gupta 557
		}
24349 amit.gupta 558
		return "response";
25276 amit.gupta 559
 
24124 govind 560
	}
561
 
24159 tejbeer 562
	@RequestMapping(value = "/getPromoterInfo", method = RequestMethod.GET)
32887 shampa 563
 
564
	public String getShowPromoterInfo(HttpServletRequest request,
30426 tejbeer 565
			@RequestParam(name = "offset", defaultValue = "0") int offset,
566
			@RequestParam(name = "limit", defaultValue = "10") int limit,
567
			@RequestParam(name = "fofoId", required = false, defaultValue = "0") int fofoId, Model model)
27489 tejbeer 568
			throws Exception {
32887 shampa 569
		//LOGGER.info("requested url : " + request.getRequestURL().toString());
24159 tejbeer 570
		List<Promoter> promoterInfo = null;
32887 shampa 571
		long size = 0;
24159 tejbeer 572
 
32887 shampa 573
		List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().map(x -> x.getId())
574
				.collect(Collectors.toList());
575
 
576
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
577
 
578
		Map<Integer, CustomRetailer> customRetailersMap = fofoIds.stream().map(x -> customRetailerMap.get(x))
579
				.filter(x -> x != null).collect(Collectors.toList()).stream()
580
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
581
		String customRetailers = JSONObject.valueToString(customRetailersMap.values());
582
		Set<String> brands = inventoryService.getAllTagListingBrands(ProfitMandiConstants.MOBILE_CATEGORY_ID);
583
		brands.add("Airtel");
584
		brands.add("Vodafone");
585
		brands.add("Idea");
586
		LOGGER.info("brands" + brands);
587
		model.addAttribute("customRetailers", customRetailers);
588
		model.addAttribute("brands", brands);
589
 
590
		if (fofoId != 0) {
591
			promoterInfo = promoterRepository.selectAllPromoterByFofoIdStatus(fofoId, offset, limit,true);
592
 
593
			//size = promoterRepository.selectPromoterCount(fofoId);
594
			size = promoterInfo.size();
595
		} else {
596
			//rkb
597
			promoterInfo = promoterRepository.selectAllPromoterStatus(offset, limit,true);
598
 
599
			//size = promoterRepository.selectAllCount();
600
			size = promoterInfo.size();
601
		}
602
		if (!promoterInfo.isEmpty()) {
603
			Set<Integer> partnerIds = new HashSet<>();
604
 
605
			for (Promoter promoterdetail : promoterInfo) {
606
				partnerIds.add(promoterdetail.getRetailerId());
607
			}
608
			Map<Integer, CustomRetailer> partnersMap = null;
609
			if (!partnerIds.equals(null)) {
610
				LOGGER.info("partnerIds" + partnerIds);
611
 
612
				partnersMap = partnerIds.stream().map(x -> customRetailerMap.get(x)).filter(x -> x != null)
613
						.collect(Collectors.toList()).stream().collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
614
 
615
			}
616
 
617
			LOGGER.info("partnerIds" + partnersMap);
618
			model.addAttribute("promoterInfo", promoterInfo);
619
			model.addAttribute("partnersMap", partnersMap);
620
			model.addAttribute("start", offset + 1);
621
			model.addAttribute("size", size);
622
			model.addAttribute("url", "/getPaginatedPromoterInfo");
623
 
624
			if (promoterInfo.size() < limit) {
625
				model.addAttribute("end", offset + promoterInfo.size());
626
			} else {
627
				model.addAttribute("end", offset + limit);
628
			}
629
		} else {
630
			model.addAttribute("promoterInfo", promoterInfo);
631
			model.addAttribute("size", size);
632
		}
633
		return "promoter-info";
634
 
635
	}
636
 
637
 
638
 
639
	@RequestMapping(value = "/getPromoterInactive", method = RequestMethod.GET)
640
 
641
	public String getShowPromoterInactiveInfo(HttpServletRequest request,
642
									  @RequestParam(name = "offset", defaultValue = "0") int offset,
643
									  @RequestParam(name = "limit", defaultValue = "10") int limit,
644
									  @RequestParam(name = "fofoId", required = false, defaultValue = "0") int fofoId, Model model)
645
			throws Exception {
646
		//LOGGER.info("requested url : " + request.getRequestURL().toString());
647
		List<Promoter> promoterInfo = null;
24159 tejbeer 648
		long size = 0;
27489 tejbeer 649
 
24159 tejbeer 650
		List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().map(x -> x.getId())
651
				.collect(Collectors.toList());
30426 tejbeer 652
 
653
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
654
 
655
		Map<Integer, CustomRetailer> customRetailersMap = fofoIds.stream().map(x -> customRetailerMap.get(x))
656
				.filter(x -> x != null).collect(Collectors.toList()).stream()
657
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
24159 tejbeer 658
		String customRetailers = JSONObject.valueToString(customRetailersMap.values());
24986 tejbeer 659
		Set<String> brands = inventoryService.getAllTagListingBrands(ProfitMandiConstants.MOBILE_CATEGORY_ID);
660
		brands.add("Airtel");
661
		brands.add("Vodafone");
662
		brands.add("Idea");
25276 amit.gupta 663
		LOGGER.info("brands" + brands);
24159 tejbeer 664
		model.addAttribute("customRetailers", customRetailers);
25276 amit.gupta 665
		model.addAttribute("brands", brands);
24159 tejbeer 666
 
27489 tejbeer 667
		if (fofoId != 0) {
32887 shampa 668
			promoterInfo = promoterRepository.selectAllPromoterByFofoIdStatus(fofoId, offset, limit,false);
24159 tejbeer 669
 
32887 shampa 670
			//size = promoterRepository.selectPromoterCount(fofoId);
671
			size = promoterInfo.size();
27489 tejbeer 672
 
673
		} else {
32667 raveendra. 674
			//rkb
32887 shampa 675
			promoterInfo = promoterRepository.selectAllPromoterStatus(offset, limit,false);
27489 tejbeer 676
 
32887 shampa 677
			//size = promoterRepository.selectAllCount();
678
			size = promoterInfo.size();
27489 tejbeer 679
 
680
		}
24159 tejbeer 681
		if (!promoterInfo.isEmpty()) {
30944 tejbeer 682
			Set<Integer> partnerIds = new HashSet<>();
24159 tejbeer 683
 
684
			for (Promoter promoterdetail : promoterInfo) {
685
				partnerIds.add(promoterdetail.getRetailerId());
686
			}
687
			Map<Integer, CustomRetailer> partnersMap = null;
24349 amit.gupta 688
			if (!partnerIds.equals(null)) {
24159 tejbeer 689
				LOGGER.info("partnerIds" + partnerIds);
30426 tejbeer 690
 
691
				partnersMap = partnerIds.stream().map(x -> customRetailerMap.get(x)).filter(x -> x != null)
692
						.collect(Collectors.toList()).stream().collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
693
 
24159 tejbeer 694
			}
24349 amit.gupta 695
 
24159 tejbeer 696
			LOGGER.info("partnerIds" + partnersMap);
697
			model.addAttribute("promoterInfo", promoterInfo);
698
			model.addAttribute("partnersMap", partnersMap);
699
			model.addAttribute("start", offset + 1);
700
			model.addAttribute("size", size);
32887 shampa 701
			model.addAttribute("url", "/getPaginatedPromoterInactiveInfo");
24159 tejbeer 702
 
703
			if (promoterInfo.size() < limit) {
704
				model.addAttribute("end", offset + promoterInfo.size());
705
			} else {
706
				model.addAttribute("end", offset + limit);
707
			}
708
		} else {
709
			model.addAttribute("promoterInfo", promoterInfo);
710
			model.addAttribute("size", size);
711
		}
32887 shampa 712
		return "promoter-inactive";
24159 tejbeer 713
 
714
	}
24349 amit.gupta 715
 
32887 shampa 716
 
24159 tejbeer 717
	@RequestMapping(value = "/getPaginatedPromoterInfo", method = RequestMethod.GET)
718
	public String getPaginatedPromoterInfo(HttpServletRequest request,
30426 tejbeer 719
			@RequestParam(name = "offset", defaultValue = "0") int offset,
720
			@RequestParam(name = "limit", defaultValue = "10") int limit,
721
			@RequestParam(name = "fofoId", required = false, defaultValue = "0") int fofoId, Model model)
24159 tejbeer 722
			throws ProfitMandiBusinessException {
723
		LOGGER.info("requested offset=[{}], limit = [{}]", offset, limit);
724
		List<Promoter> promoterInfo = null;
27489 tejbeer 725
		if (fofoId != 0) {
32887 shampa 726
			promoterInfo = promoterRepository.selectAllPromoterByFofoIdStatus(fofoId, offset, limit,true);
27489 tejbeer 727
		} else {
32887 shampa 728
			promoterInfo = promoterRepository.selectAllPromoterStatus(offset, limit,true);
27489 tejbeer 729
		}
24159 tejbeer 730
		LOGGER.info("promoterInfo" + promoterInfo);
731
		if (!promoterInfo.isEmpty()) {
30945 tejbeer 732
			Set<Integer> partnerIds = new HashSet<>();
24159 tejbeer 733
 
734
			for (Promoter promoterdetail : promoterInfo) {
735
				partnerIds.add(promoterdetail.getRetailerId());
736
			}
737
			Map<Integer, CustomRetailer> partnersMap = null;
24349 amit.gupta 738
			if (!partnerIds.equals(null)) {
24159 tejbeer 739
				LOGGER.info("partnerIds" + partnerIds);
30426 tejbeer 740
 
741
				Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
742
 
743
				partnersMap = partnerIds.stream().map(x -> customRetailerMap.get(x)).filter(x -> x != null)
744
						.collect(Collectors.toList()).stream().collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
745
 
24159 tejbeer 746
			}
24349 amit.gupta 747
 
24159 tejbeer 748
			LOGGER.info("partnerIds" + partnersMap);
749
			model.addAttribute("promoterInfo", promoterInfo);
750
			model.addAttribute("partnersMap", partnersMap);
751
			model.addAttribute("url", "/getPaginatedPromoterInfo");
752
		} else {
753
			model.addAttribute("promoterInfo", promoterInfo);
754
 
755
		}
756
 
757
		return "promoter-info-paginated";
758
	}
32887 shampa 759
	@RequestMapping(value = "/getPaginatedPromoterInactiveInfo", method = RequestMethod.GET)
760
	public String getPaginatedPromoterInactiveInfo(HttpServletRequest request,
761
										   @RequestParam(name = "offset", defaultValue = "0") int offset,
762
										   @RequestParam(name = "limit", defaultValue = "10") int limit,
763
										   @RequestParam(name = "fofoId", required = false, defaultValue = "0") int fofoId, Model model)
764
			throws ProfitMandiBusinessException {
765
		LOGGER.info("requested offset=[{}], limit = [{}]", offset, limit);
766
		List<Promoter> promoterInfo = null;
767
		if (fofoId != 0) {
768
			promoterInfo = promoterRepository.selectAllPromoterByFofoIdStatus(fofoId, offset, limit,false);
769
		} else {
770
			promoterInfo = promoterRepository.selectAllPromoterStatus(offset, limit,false);
771
		}
772
		LOGGER.info("promoterInfo" + promoterInfo);
773
		if (!promoterInfo.isEmpty()) {
774
			Set<Integer> partnerIds = new HashSet<>();
24159 tejbeer 775
 
32887 shampa 776
			for (Promoter promoterdetail : promoterInfo) {
777
				partnerIds.add(promoterdetail.getRetailerId());
778
			}
779
			Map<Integer, CustomRetailer> partnersMap = null;
780
			if (!partnerIds.equals(null)) {
781
				LOGGER.info("partnerIds" + partnerIds);
782
 
783
				Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
784
 
785
				partnersMap = partnerIds.stream().map(x -> customRetailerMap.get(x)).filter(x -> x != null)
786
						.collect(Collectors.toList()).stream().collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
787
 
788
			}
789
 
790
			LOGGER.info("partnerIds" + partnersMap);
791
			model.addAttribute("promoterInfo", promoterInfo);
792
			model.addAttribute("partnersMap", partnersMap);
793
			model.addAttribute("url", "/getPaginatedPromoterInactiveInfo");
794
		} else {
795
			model.addAttribute("promoterInfo", promoterInfo);
796
 
797
		}
798
 
799
		return "promoter-inactive-info-paginated";
800
	}
801
 
24159 tejbeer 802
	@RequestMapping(value = "/createPromoter", method = RequestMethod.POST)
803
	public String createPromoter(HttpServletRequest request, @RequestBody PromoterDetailModel promoterdetailModel,
30426 tejbeer 804
			Model model) throws Exception {
24159 tejbeer 805
		LOGGER.info("requested url : " + request.getRequestURL().toString());
806
		LOGGER.info("requested url : " + promoterdetailModel);
26131 tejbeer 807
		Promoter promoter = promoterRepository.selectById(promoterdetailModel.getId());
808
		if (promoter == null) {
809
			promoter = new Promoter();
24159 tejbeer 810
			promoter.setBrand(promoterdetailModel.getBrand());
811
			promoter.setRetailerId(promoterdetailModel.getRetailerId());
812
			promoter.setCreatedTimestamp(LocalDateTime.now());
28996 amit.gupta 813
			promoter.setEmail(promoterdetailModel.getEmail());
814
			promoter.setName(promoterdetailModel.getName());
815
			promoter.setMobile(promoterdetailModel.getMobile());
816
			promoter.setSdPortalAccess(promoterdetailModel.isSdPortalAccess());
817
			promoter.setStatus(promoterdetailModel.isStatus());
28908 tejbeer 818
			promoterRepository.persist(promoter);
26131 tejbeer 819
 
28908 tejbeer 820
			List<Promoter> promoters = promoterRepository.selectAllByRetailer(promoterdetailModel.getRetailerId());
821
			if (!promoters.isEmpty()) {
28970 tejbeer 822
				FofoStore fs = fofoStoreRepository.selectByRetailerId(promoterdetailModel.getRetailerId());
28908 tejbeer 823
				PartnerOnBoardingPanel pobp = partnerOnBoardingPanelRepository.selectByCode(fs.getCode());
824
				if (pobp != null) {
825
					storeTimelineTatService.promoterComplete(pobp.getId());
826
				}
827
			}
828
 
28996 amit.gupta 829
		} else {
830
			promoter.setEmail(promoterdetailModel.getEmail());
831
			promoter.setName(promoterdetailModel.getName());
832
			promoter.setMobile(promoterdetailModel.getMobile());
833
			promoter.setSdPortalAccess(promoterdetailModel.isSdPortalAccess());
834
			promoter.setStatus(promoterdetailModel.isStatus());
24159 tejbeer 835
		}
27489 tejbeer 836
		LOGGER.info("sdport" + promoterdetailModel.isStatus());
24159 tejbeer 837
 
31238 amit.gupta 838
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
24159 tejbeer 839
 
840
		return "response";
841
 
842
	}
32887 shampa 843
	@RequestMapping(value = "/setPromoterInActive", method = RequestMethod.POST)
844
	public String PromoterInActive(HttpServletRequest request, @RequestParam(name = "id", required = true, defaultValue = "0") int id, Model model) throws Exception {
24159 tejbeer 845
 
32887 shampa 846
		Promoter promoter = promoterRepository.selectById(id);
847
 
848
		promoter.setStatus(false);
849
 
850
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
851
 
852
		return "response";
853
	}
854
 
855
 
24159 tejbeer 856
	@RequestMapping(value = "/removePromoterfromPartnerStore", method = RequestMethod.POST)
857
	public String removePromoterfromPartnerStore(HttpServletRequest request,
30426 tejbeer 858
			@RequestParam(name = "id", defaultValue = "0") int id, Model model) throws Exception {
24159 tejbeer 859
 
860
		Promoter promoter = promoterRepository.selectById(id);
26131 tejbeer 861
		promoter.setStatus(false);
32887 shampa 862
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
24159 tejbeer 863
 
32887 shampa 864
		return "response";
865
	}
866
	@RequestMapping(value = "/activePromoterfromPartnerStore", method = RequestMethod.POST)
867
	public String activePromoterfromPartnerStore(HttpServletRequest request,
868
												 @RequestParam(name = "id", defaultValue = "0") int id, Model model) throws Exception {
869
 
870
		Promoter promoter = promoterRepository.selectById(id);
871
		promoter.setStatus(true);
31238 amit.gupta 872
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
24159 tejbeer 873
 
874
		return "response";
875
	}
876
 
877
	@RequestMapping(value = "/addLocation", method = RequestMethod.POST)
878
	public String addLocation(HttpServletRequest request, @RequestBody AddLocationModel addLocationModel, Model model)
879
			throws Exception {
880
 
881
		Location location = new Location();
882
		location.setName(addLocationModel.getName());
883
		location.setLine1(addLocationModel.getLine1());
884
		location.setLine2(addLocationModel.getLine2());
885
		location.setCity(addLocationModel.getCity());
886
		location.setState(addLocationModel.getState());
887
		location.setPin(addLocationModel.getPin());
888
 
889
		LOGGER.info("PostLocation" + location);
890
		locationRepository.persist(location);
891
 
892
		User user = userRepository.selectById(addLocationModel.getUserId());
893
		user.setLocation(location.getId());
894
		userRepository.persist(user);
895
 
31238 amit.gupta 896
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
24159 tejbeer 897
		return "response";
898
 
899
	}
900
 
901
	@RequestMapping(value = "/updateLocation", method = RequestMethod.POST)
902
	public String updateLocation(HttpServletRequest request, @RequestBody AddLocationModel addLocationModel,
30426 tejbeer 903
			Model model) throws Exception {
24159 tejbeer 904
 
905
		Location userlocation = locationRepository.selectById(addLocationModel.getUserId());
906
 
907
		userlocation.setName(addLocationModel.getName());
908
		userlocation.setCity(addLocationModel.getCity());
909
		userlocation.setLine1(addLocationModel.getLine1());
910
		userlocation.setLine2(addLocationModel.getLine2());
911
		userlocation.setPin(addLocationModel.getPin());
912
		userlocation.setState(addLocationModel.getState());
913
 
914
		locationRepository.persist(userlocation);
915
 
31238 amit.gupta 916
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
24159 tejbeer 917
		return "response";
918
 
919
	}
920
 
27231 tejbeer 921
	@RequestMapping(value = "/getPartnerReadonlyInfo")
922
	public String getPartnerReadonlyInfo(HttpServletRequest request, Model model) throws Exception {
923
 
924
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
925
		AuthUser authUser = authRepository.selectByEmailOrMobile(loginDetails.getEmailId());
926
 
927
		Map<Integer, List<Integer>> pp = csService.getAuthUserIdPartnerIdMapping();
928
 
29633 amit.gupta 929
		Set<Integer> fofoIds = new HashSet<>(pp.get(authUser.getId()));
27231 tejbeer 930
 
30017 amit.gupta 931
		Map<Integer, CustomRetailer> customRetailersMap = fofoIds.stream().map(x -> {
29604 amit.gupta 932
			try {
933
				return retailerService.getFofoRetailer(x);
934
			} catch (ProfitMandiBusinessException e) {
935
				// TODO Auto-generated catch block
936
				return null;
937
			}
30017 amit.gupta 938
		}).filter(x -> x != null).collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
27231 tejbeer 939
 
940
		model.addAttribute("customRetailersMap", customRetailersMap);
27243 tejbeer 941
 
27231 tejbeer 942
		return "partner-readonly-info";
943
 
944
	}
945
 
28071 tejbeer 946
	@RequestMapping(value = "/getBlockBrandMapping")
947
	public String getBlockBrandMapping(HttpServletRequest request, Model model) throws Exception {
948
 
949
		int fofoId = Utils.SYSTEM_PARTNER_ID;
950
		Set<String> brands = null;
951
 
952
		brands = mongoClient.getMongoBrands(fofoId, null, 3).stream().map(x -> (String) x.get("name"))
953
				.collect(Collectors.toSet());
954
 
955
		LOGGER.info("brands" + brands);
956
		model.addAttribute("brands", brands);
957
 
958
		return "block-brand-mapping";
959
 
960
	}
961
 
962
	@RequestMapping(value = "/getBlockBrand")
963
	public String getBlockBrand(HttpServletRequest request,
30426 tejbeer 964
			@RequestParam(name = "brand", required = true, defaultValue = "0") String brand, Model model)
28071 tejbeer 965
			throws Exception {
966
 
967
		List<RetailerBlockBrands> retailerBlockBrands = retailerBlockBrandsRepository.selectAllByBrands(brand);
968
 
969
		List<Integer> blockBrandPartners = retailerBlockBrands.stream().map(x -> x.getFofoId())
970
				.collect(Collectors.toList());
971
		Map<Integer, CustomRetailer> customRetailers = retailerService.getFofoRetailers(true);
28272 tejbeer 972
 
28071 tejbeer 973
		LOGGER.info("retailerBlockBrands" + retailerBlockBrands);
974
		model.addAttribute("blockBrandPartners", blockBrandPartners);
975
		model.addAttribute("retailerBlockBrands", retailerBlockBrands);
976
		model.addAttribute("customRetailers", customRetailers);
977
 
978
		return "retailer-block-brand";
979
 
980
	}
981
 
982
	@RequestMapping(value = "/getRetailerBlockBrandMappping", method = RequestMethod.POST)
983
	public String getBlockBrandMappping(HttpServletRequest request,
30426 tejbeer 984
			@RequestParam(name = "brand", required = true, defaultValue = "0") String brand,
985
			@RequestParam(name = "fofoIds", required = true, defaultValue = "0") List<Integer> fofoIds, Model model)
28071 tejbeer 986
			throws Exception {
987
		List<RetailerBlockBrands> retailerBlockBrands = retailerBlockBrandsRepository.selectAllByBrands(brand);
988
		if (!retailerBlockBrands.isEmpty()) {
989
			retailerBlockBrandsRepository.deleteAllbyBrands(brand);
990
		}
991
 
992
		for (int id : fofoIds) {
993
			RetailerBlockBrands retailerBlockBrand = new RetailerBlockBrands();
994
			retailerBlockBrand.setFofoId(id);
995
			retailerBlockBrand.setBlockBrands(brand);
996
			retailerBlockBrandsRepository.persist(retailerBlockBrand);
997
 
998
		}
31238 amit.gupta 999
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
28071 tejbeer 1000
 
1001
		return "response";
1002
	}
1003
 
32731 ranu 1004
	@Autowired
1005
	BrandsService brandsService;
1006
 
28272 tejbeer 1007
	@RequestMapping(value = "/getBrandslimit", method = RequestMethod.GET)
1008
	public String getBrandslimit(HttpServletRequest request, Model model) throws Exception {
1009
 
1010
		int fofoId = Utils.SYSTEM_PARTNER_ID;
1011
 
32731 ranu 1012
		List<String> brands = brandsService.getBrandsToDisplay(3).stream().map(x -> x.getName()).collect(Collectors.toList());
28272 tejbeer 1013
		model.addAttribute("brands", brands);
1014
 
1015
		return "brands-limit";
1016
 
1017
	}
1018
 
1019
	@RequestMapping(value = "/setUpdateLimit", method = RequestMethod.POST)
1020
	public String getUpdateLimit(HttpServletRequest request,
30028 manish 1021
			@RequestParam(name = "brand", required = true, defaultValue = "0") String brand,
1022
			@RequestParam(name = "fofoId", required = true, defaultValue = "0") int fofoId,
1023
			@RequestParam(name = "limit", required = true, defaultValue = "0") float limit,
1024
			@RequestParam(name = "minStockLimit", required = true, defaultValue = "0") float minStockLimit,
1025
			@RequestParam(name = "preLimit", required = true, defaultValue = "0") float preLimit,
1026
			@RequestParam(name = "preStockLimit", required = true, defaultValue = "0") float preStockLimit, Model model)
28272 tejbeer 1027
			throws Exception {
1028
 
1029
		CustomRetailer cr = retailerService.getFofoRetailer(fofoId);
28277 tejbeer 1030
 
1031
		Map.Entry<Integer, CustomRetailer> customRetailers = new AbstractMap.SimpleEntry(cr.getPartnerId(), cr);
1032
 
1033
		// Map<Integer, CustomRetailer> customRetailers =
1034
		// retailerService.getFofoRetailers(true);
30028 manish 1035
 
28272 tejbeer 1036
		RetailerBrandsLimit retailerBrands = retailerBrandsLimitRepository.selectLimitByBrandAndFofoId(fofoId, brand);
28277 tejbeer 1037
 
28272 tejbeer 1038
		if (retailerBrands == null) {
1039
			retailerBrands = new RetailerBrandsLimit();
32736 ranu 1040
			retailerBrands.setMinStockLimit(minStockLimit);
1041
			retailerBrands.setBrandLimit(limit);
28272 tejbeer 1042
			retailerBrands.setIsUpdate(1);
1043
			retailerBrands.setCreatedTimestamp(LocalDateTime.now());
1044
			retailerBrands.setPartnerId(fofoId);
1045
			retailerBrands.setBrandName(brand);
1046
			retailerBrands.setUpdatedTimestamp(LocalDateTime.now());
1047
			retailerBrandsLimitRepository.persist(retailerBrands);
30028 manish 1048
		} else {
32736 ranu 1049
			retailerBrands.setMinStockLimit(minStockLimit);
1050
			retailerBrands.setBrandLimit(limit);
28272 tejbeer 1051
			retailerBrands.setIsUpdate(1);
1052
			retailerBrands.setUpdatedTimestamp(LocalDateTime.now());
1053
			retailerBrandsLimitRepository.persist(retailerBrands);
1054
 
1055
		}
1056
		retailerBrands = retailerBrandsLimitRepository.selectLimitByBrandAndFofoId(fofoId, brand);
1057
 
1058
		Map<Integer, RetailerBrandsLimit> retailerBrandsLimitMap = new HashMap<>();
1059
 
1060
		retailerBrandsLimitMap.put(retailerBrands.getPartnerId(), retailerBrands);
1061
 
1062
		BrandLimit brandLimit = brandLimitRepository.setLimitByBrands(brand);
1063
 
1064
		model.addAttribute("retailerBrandsLimitMap", retailerBrandsLimitMap);
1065
		model.addAttribute("brandLimit", brandLimit);
1066
		model.addAttribute("customRetailers", customRetailers);
28277 tejbeer 1067
 
1068
		model.addAttribute("brand", brand);
28272 tejbeer 1069
		return "brands-limit-row-mapping";
1070
 
1071
	}
1072
 
1073
	@RequestMapping(value = "/getRetailerBrandslimitMapping", method = RequestMethod.GET)
1074
	public String getRetailerBrandslimit(HttpServletRequest request,
30426 tejbeer 1075
			@RequestParam(name = "brand", required = true, defaultValue = "0") String brand, Model model)
28272 tejbeer 1076
			throws Exception {
1077
 
1078
		Map<Integer, CustomRetailer> customRetailers = retailerService.getFofoRetailers(true);
32751 amit.gupta 1079
		List<RetailerBrandsLimit> retailerBrandsLimit = retailerBrandsLimitRepository.setAllLimitByBrand(brand);
28283 tejbeer 1080
		Map<Integer, RetailerBrandsLimit> retailerBrandsLimitMap = retailerBrandsLimit.stream()
1081
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
28272 tejbeer 1082
 
1083
		model.addAttribute("customRetailers", customRetailers);
1084
		model.addAttribute("brand", brand);
28283 tejbeer 1085
		model.addAttribute("retailerBrandsLimitMap", retailerBrandsLimitMap);
28272 tejbeer 1086
 
1087
		BrandLimit brandLimit = brandLimitRepository.setLimitByBrands(brand);
1088
 
1089
		model.addAttribute("brandLimit", brandLimit);
1090
 
1091
		return "brands-limit-mapping";
1092
 
1093
	}
30426 tejbeer 1094
 
28272 tejbeer 1095
	@RequestMapping(value = "/setBrandWiseLimit", method = RequestMethod.POST)
1096
	public String brandwiseLimit(HttpServletRequest request,
30028 manish 1097
			@RequestParam(name = "brands", required = true, defaultValue = "") String brands,
1098
			@RequestParam(name = "limit", required = true, defaultValue = "") float limit, Model model)
28272 tejbeer 1099
			throws Exception {
1100
 
1101
		LOGGER.info("limit" + limit);
1102
 
1103
		BrandLimit brandLimit = brandLimitRepository.setLimitByBrands(brands);
1104
 
32751 amit.gupta 1105
		List<RetailerBrandsLimit> retailerBrandsLimit = retailerBrandsLimitRepository.setAllLimitByBrand(brands);
28272 tejbeer 1106
 
1107
		Map<Integer, RetailerBrandsLimit> retailerBrandsLimitMap = retailerBrandsLimit.stream()
1108
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
1109
 
1110
		Map<Integer, CustomRetailer> customRetailers = retailerService.getFofoRetailers(true);
1111
 
1112
		if (brandLimit == null) {
1113
 
1114
			brandLimit = new BrandLimit();
1115
			brandLimit.setBrandLimit(limit);
1116
			brandLimit.setBrandName(brands);
1117
			brandLimit.setCreatedTimestamp(LocalDateTime.now());
1118
			brandLimit.setUpdatedTimestamp(LocalDateTime.now());
1119
			brandLimitRepository.persist(brandLimit);
1120
 
30028 manish 1121
		}
1122
 
1123
		else {
28272 tejbeer 1124
			brandLimit.setBrandLimit(limit);
1125
 
1126
			brandLimit.setUpdatedTimestamp(LocalDateTime.now());
1127
			brandLimitRepository.persist(brandLimit);
1128
 
1129
		}
1130
		brandLimit = brandLimitRepository.setLimitByBrands(brands);
1131
 
1132
		LOGGER.info("brandLimit" + brandLimit);
28277 tejbeer 1133
		model.addAttribute("brand", brands);
28272 tejbeer 1134
		model.addAttribute("brandLimit", brandLimit);
1135
		model.addAttribute("customRetailers", customRetailers);
1136
		model.addAttribute("retailerBrandsLimitMap", retailerBrandsLimitMap);
1137
		return "brands-limit-mapping";
1138
 
1139
	}
28825 tejbeer 1140
 
30028 manish 1141
	@RequestMapping(value = "/setBrandWiseStockLimit", method = RequestMethod.POST)
1142
	public String setBrandWiseStockLimit(HttpServletRequest request,
1143
			@RequestParam(name = "brands", required = true, defaultValue = "") String brands,
1144
			@RequestParam(name = "stockLimit", required = true, defaultValue = "") float stockLimit, Model model)
1145
			throws Exception {
1146
 
1147
		LOGGER.info("limit" + stockLimit);
1148
 
1149
		BrandLimit brandLimit = brandLimitRepository.setLimitByBrands(brands);
1150
 
32751 amit.gupta 1151
		List<RetailerBrandsLimit> retailerBrandsLimit = retailerBrandsLimitRepository.setAllLimitByBrand(brands);
30028 manish 1152
 
1153
		Map<Integer, RetailerBrandsLimit> retailerBrandsLimitMap = retailerBrandsLimit.stream()
1154
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
1155
 
1156
		Map<Integer, CustomRetailer> customRetailers = retailerService.getFofoRetailers(true);
1157
 
1158
		if (brandLimit == null) {
1159
 
1160
			brandLimit = new BrandLimit();
1161
			brandLimit.setBrandLimit(0);
1162
			brandLimit.setBrandName(brands);
1163
			brandLimit.setStockLimit(stockLimit);
1164
			brandLimit.setCreatedTimestamp(LocalDateTime.now());
1165
			brandLimit.setUpdatedTimestamp(LocalDateTime.now());
1166
			brandLimitRepository.persist(brandLimit);
1167
 
1168
		}
1169
 
1170
		else {
1171
			brandLimit.setStockLimit(stockLimit);
1172
 
1173
			brandLimit.setUpdatedTimestamp(LocalDateTime.now());
1174
			brandLimitRepository.persist(brandLimit);
1175
 
1176
		}
1177
		brandLimit = brandLimitRepository.setLimitByBrands(brands);
1178
 
1179
		model.addAttribute("brand", brands);
1180
		model.addAttribute("brandLimit", brandLimit);
1181
		model.addAttribute("customRetailers", customRetailers);
1182
		model.addAttribute("retailerBrandsLimitMap", retailerBrandsLimitMap);
1183
		return "brands-limit-mapping";
1184
 
1185
	}
1186
 
28381 tejbeer 1187
	@RequestMapping(value = "/setPartnerPincode", method = RequestMethod.POST)
1188
	public String setPartnerPincode(HttpServletRequest request,
30426 tejbeer 1189
			@RequestParam(name = "pincode", required = true, defaultValue = "") String pincode,
1190
			@RequestParam(name = "fofoId", required = true, defaultValue = "") int fofoId, Model model)
28825 tejbeer 1191
			throws Exception {
28272 tejbeer 1192
 
28825 tejbeer 1193
		if (!pincode.equals("")) {
1194
			PincodePartner pinPartner = new PincodePartner();
1195
			pinPartner.setFofoId(fofoId);
1196
			pinPartner.setPincode(pincode);
32751 amit.gupta 1197
			pincodePartnerRepository.perist(pinPartner);
28381 tejbeer 1198
		}
1199
 
32751 amit.gupta 1200
		List<PincodePartner> partnerPincodeList = pincodePartnerRepository.selectByPartnerId(fofoId);
28825 tejbeer 1201
 
1202
		LOGGER.info("partnerPincodeList" + partnerPincodeList);
1203
 
1204
		model.addAttribute("partnerPincodeList", partnerPincodeList);
28381 tejbeer 1205
		return "pincode-partner-index";
1206
 
1207
	}
28825 tejbeer 1208
 
28381 tejbeer 1209
	@RequestMapping(value = "/removePartnerPincode", method = RequestMethod.POST)
28825 tejbeer 1210
	public String removePartnerPincode(HttpServletRequest request, @RequestParam int id,
30426 tejbeer 1211
			@RequestParam(name = "fofoId", required = true, defaultValue = "") int fofoId, Model model)
28825 tejbeer 1212
			throws Exception {
28381 tejbeer 1213
 
32751 amit.gupta 1214
		pincodePartnerRepository.delete(id);
28381 tejbeer 1215
 
32751 amit.gupta 1216
		List<PincodePartner> partnerPincodeList = pincodePartnerRepository.selectByPartnerId(fofoId);
28825 tejbeer 1217
 
1218
		LOGGER.info("partnerPincodeList" + partnerPincodeList);
1219
 
1220
		model.addAttribute("partnerPincodeList", partnerPincodeList);
1221
 
28381 tejbeer 1222
		return "pincode-partner-index";
1223
 
1224
	}
28825 tejbeer 1225
 
28381 tejbeer 1226
	@RequestMapping(value = "/removeSearchPincode", method = RequestMethod.POST)
28825 tejbeer 1227
	public String removeSearchPincode(HttpServletRequest request, @RequestParam int id,
30426 tejbeer 1228
			@RequestParam(name = "pin", required = true, defaultValue = "") String pin,
1229
			@RequestParam(name = "fofoId", required = true, defaultValue = "") int fofoId, Model model)
28825 tejbeer 1230
			throws Exception {
28381 tejbeer 1231
 
32751 amit.gupta 1232
		pincodePartnerRepository.delete(id);
28381 tejbeer 1233
 
32751 amit.gupta 1234
		List<PincodePartner> partnerPincodeList = pincodePartnerRepository.selectPartnersByPincode(pin);
28381 tejbeer 1235
 
28825 tejbeer 1236
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getFofoRetailers(true);
1237
 
1238
		model.addAttribute("customRetailerMap", customRetailerMap);
1239
 
1240
		model.addAttribute("partnerPincodeList", partnerPincodeList);
1241
 
28381 tejbeer 1242
		return "search-pincode-partner";
1243
 
1244
	}
28825 tejbeer 1245
 
28381 tejbeer 1246
	@RequestMapping(value = "/searchPincodePartner", method = RequestMethod.GET)
1247
	public String searchPincodePartner(HttpServletRequest request,
30426 tejbeer 1248
			@RequestParam(name = "pincode", required = true, defaultValue = "") String pincode, Model model)
28825 tejbeer 1249
			throws Exception {
28381 tejbeer 1250
 
32751 amit.gupta 1251
		List<PincodePartner> partnerPincodeList = pincodePartnerRepository.selectPartnersByPincode(pincode);
28825 tejbeer 1252
 
28381 tejbeer 1253
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getFofoRetailers(true);
1254
 
1255
		model.addAttribute("customRetailerMap", customRetailerMap);
28825 tejbeer 1256
 
28381 tejbeer 1257
		model.addAttribute("partnerPincodeList", partnerPincodeList);
28825 tejbeer 1258
 
28381 tejbeer 1259
		return "search-pincode-partner";
28825 tejbeer 1260
 
28381 tejbeer 1261
	}
28825 tejbeer 1262
 
28381 tejbeer 1263
	@RequestMapping(value = "/showPartnerPincode", method = RequestMethod.GET)
1264
	public String showPartnerPincode(HttpServletRequest request,
30426 tejbeer 1265
			@RequestParam(name = "partnerId", required = true, defaultValue = "") int partnerId, Model model)
28825 tejbeer 1266
			throws Exception {
28381 tejbeer 1267
 
32751 amit.gupta 1268
		List<PincodePartner> partnerPincodeList = pincodePartnerRepository.selectByPartnerId(partnerId);
28825 tejbeer 1269
 
28381 tejbeer 1270
		model.addAttribute("partnerPincodeList", partnerPincodeList);
28825 tejbeer 1271
 
28381 tejbeer 1272
		return "pincode-partner-index";
28825 tejbeer 1273
 
28381 tejbeer 1274
	}
28825 tejbeer 1275
 
28381 tejbeer 1276
	@RequestMapping(value = "/getAllPartnerPincode", method = RequestMethod.GET)
28825 tejbeer 1277
	public String getAllPartnerPincode(HttpServletRequest request, Model model) throws Exception {
28381 tejbeer 1278
		return "add-partner-pincode";
1279
	}
32629 amit.gupta 1280
 
32667 raveendra. 1281
 
28272 tejbeer 1282
}