| Line 1... |
Line 1... |
| 1 |
package com.spice.profitmandi.web.controller;
|
1 |
package com.spice.profitmandi.web.controller;
|
| 2 |
|
2 |
|
| 3 |
import java.io.File;
|
3 |
import java.io.File;
|
| 4 |
import java.io.FileInputStream;
|
4 |
import java.io.FileInputStream;
|
| 5 |
import java.io.FileNotFoundException;
|
5 |
import java.io.FileNotFoundException;
|
| - |
|
6 |
import java.time.LocalDate;
|
| 6 |
import java.time.LocalDateTime;
|
7 |
import java.time.LocalDateTime;
|
| 7 |
import java.util.ArrayList;
|
8 |
import java.util.ArrayList;
|
| - |
|
9 |
import java.util.HashMap;
|
| 8 |
import java.util.List;
|
10 |
import java.util.List;
|
| 9 |
import java.util.Map;
|
11 |
import java.util.Map;
|
| 10 |
import java.util.stream.Collectors;
|
12 |
import java.util.stream.Collectors;
|
| 11 |
|
13 |
|
| 12 |
import javax.servlet.http.HttpServletRequest;
|
14 |
import javax.servlet.http.HttpServletRequest;
|
| Line 53... |
Line 55... |
| 53 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRepository;
|
55 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRepository;
|
| 54 |
import com.spice.profitmandi.dao.repository.dtr.ShopRepository;
|
56 |
import com.spice.profitmandi.dao.repository.dtr.ShopRepository;
|
| 55 |
import com.spice.profitmandi.dao.repository.user.LocationRepository;
|
57 |
import com.spice.profitmandi.dao.repository.user.LocationRepository;
|
| 56 |
import com.spice.profitmandi.dao.repository.user.PromoterRepository;
|
58 |
import com.spice.profitmandi.dao.repository.user.PromoterRepository;
|
| 57 |
import com.spice.profitmandi.dao.repository.user.UserRepository;
|
59 |
import com.spice.profitmandi.dao.repository.user.UserRepository;
|
| - |
|
60 |
import com.spice.profitmandi.service.PartnerInvestmentService;
|
| 58 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
61 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
| 59 |
import com.spice.profitmandi.service.user.RetailerService;
|
62 |
import com.spice.profitmandi.service.user.RetailerService;
|
| 60 |
import com.spice.profitmandi.web.util.MVCResponseSender;
|
63 |
import com.spice.profitmandi.web.util.MVCResponseSender;
|
| 61 |
|
64 |
|
| 62 |
@Controller
|
65 |
@Controller
|
| Line 98... |
Line 101... |
| 98 |
|
101 |
|
| 99 |
@Autowired
|
102 |
@Autowired
|
| 100 |
private PromoterRepository promoterRepository;
|
103 |
private PromoterRepository promoterRepository;
|
| 101 |
|
104 |
|
| 102 |
@Autowired
|
105 |
@Autowired
|
| - |
|
106 |
private PartnerInvestmentService partnerInvestmentService;
|
| - |
|
107 |
|
| - |
|
108 |
@Autowired
|
| 103 |
private Mongo mongoClient;
|
109 |
private Mongo mongoClient;
|
| 104 |
|
110 |
|
| 105 |
@RequestMapping(value = "/retailerDetails", method = RequestMethod.GET)
|
111 |
@RequestMapping(value = "/retailerDetails", method = RequestMethod.GET)
|
| 106 |
public String retailerInfoByEmailIdOrMobileNumber(HttpServletRequest request,
|
112 |
public String retailerInfoByEmailIdOrMobileNumber(HttpServletRequest request,
|
| 107 |
@RequestParam(name = ProfitMandiConstants.EMAIL_ID_OR_MOBILE_NUMBER) String emailIdOrMobileNumber,
|
113 |
@RequestParam(name = ProfitMandiConstants.EMAIL_ID_OR_MOBILE_NUMBER) String emailIdOrMobileNumber,
|
| Line 270... |
Line 276... |
| 270 |
|
276 |
|
| 271 |
@GetMapping(value = "/getAllStores")
|
277 |
@GetMapping(value = "/getAllStores")
|
| 272 |
public String getAllStores(HttpServletRequest request, Model model) {
|
278 |
public String getAllStores(HttpServletRequest request, Model model) {
|
| 273 |
|
279 |
|
| 274 |
List<FofoStore> fofoStores = fofoStoreRepository.selectAll();
|
280 |
List<FofoStore> fofoStores = fofoStoreRepository.selectAll();
|
| - |
|
281 |
Map<Integer, Boolean> investments = new HashMap<>();
|
| 275 |
|
282 |
|
| 276 |
LOGGER.info(this.getFofoIds(fofoStores));
|
283 |
for (FofoStore fofoStore : fofoStores) {
|
| - |
|
284 |
boolean isOk = false;
|
| - |
|
285 |
if (fofoStore.getGraceDate() != null && fofoStore.getGraceDate().isAfter(LocalDate.now())) {
|
| - |
|
286 |
isOk = true;
|
| - |
|
287 |
} else {
|
| - |
|
288 |
try {
|
| - |
|
289 |
isOk = partnerInvestmentService.isInvestmentOk(fofoStore.getId(), 10, 30);
|
| - |
|
290 |
if(fofoStore.getGraceCount() > 0) {
|
| - |
|
291 |
fofoStore.setGraceDate(null);
|
| - |
|
292 |
fofoStore.setGraceCount(0);
|
| - |
|
293 |
fofoStoreRepository.persist(fofoStore);
|
| - |
|
294 |
}
|
| - |
|
295 |
} catch (ProfitMandiBusinessException e) {
|
| - |
|
296 |
}
|
| 277 |
|
297 |
}
|
| 278 |
Map<Integer, CustomRetailer> customRetailers = retailerService.getFofoRetailers(this.getFofoIds(fofoStores));
|
298 |
investments.put(fofoStore.getId(), isOk);
|
| - |
|
299 |
}
|
| 279 |
|
300 |
|
| - |
|
301 |
Map<Integer, CustomRetailer> customRetailers = retailerService.getFofoRetailers();
|
| 280 |
model.addAttribute("fofoStores", fofoStores);
|
302 |
model.addAttribute("fofoStores", fofoStores);
|
| 281 |
|
- |
|
| - |
|
303 |
model.addAttribute("investments", investments);
|
| 282 |
model.addAttribute("customRetailers", customRetailers);
|
304 |
model.addAttribute("customRetailers", customRetailers);
|
| 283 |
|
305 |
|
| 284 |
return "store";
|
306 |
return "store";
|
| 285 |
|
307 |
|
| 286 |
}
|
308 |
}
|
| 287 |
|
309 |
|
| - |
|
310 |
@GetMapping(value = "/partners")
|
| - |
|
311 |
public String getStoreName(HttpServletRequest request, Model model, @RequestParam String query) throws Exception {
|
| - |
|
312 |
model.addAttribute("response", mvcResponseSender
|
| - |
|
313 |
.createResponseString(retailerService.getFofoRetailers().values().stream().filter(x -> {
|
| - |
|
314 |
return x.getDisplayName().toLowerCase().matches(".*?" + query.toLowerCase() + ".*?");
|
| - |
|
315 |
}).collect(Collectors.toList())));
|
| - |
|
316 |
return "response";
|
| - |
|
317 |
}
|
| - |
|
318 |
|
| 288 |
@PostMapping(value = "/deactivateStore")
|
319 |
@PostMapping(value = "/deactivateStore")
|
| 289 |
public String deActivateStore(HttpServletRequest request,
|
320 |
public String deActivateStore(HttpServletRequest request,
|
| 290 |
@RequestParam(name = ProfitMandiConstants.FOFO_ID) int fofoId, Model model) throws Exception {
|
321 |
@RequestParam(name = ProfitMandiConstants.FOFO_ID) int fofoId, Model model) throws Exception {
|
| 291 |
FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
|
322 |
FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
|
| 292 |
|
323 |
|
| Line 312... |
Line 343... |
| 312 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
343 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
| 313 |
|
344 |
|
| 314 |
return "response";
|
345 |
return "response";
|
| 315 |
|
346 |
|
| 316 |
}
|
347 |
}
|
| 317 |
|
348 |
|
| - |
|
349 |
//Extend billing for 2 days
|
| - |
|
350 |
@PostMapping(value = "/extendBilling")
|
| 318 |
private List<Integer> getFofoIds(List<FofoStore> fofoStores) {
|
351 |
public String extendBilling(HttpServletRequest request,
|
| 319 |
|
- |
|
| - |
|
352 |
@RequestParam(name = ProfitMandiConstants.FOFO_ID) int fofoId, Model model) throws Exception {
|
| - |
|
353 |
FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
|
| 320 |
List<Integer> fofoIds = new ArrayList<>();
|
354 |
fofoStore.setGraceDate(LocalDate.now().plusDays(2));
|
| 321 |
|
- |
|
| 322 |
for (FofoStore fofoStore : fofoStores) {
|
355 |
fofoStore.setGraceCount(fofoStore.getGraceCount() + 1);
|
| 323 |
|
- |
|
| 324 |
fofoIds.add(fofoStore.getId());
|
356 |
fofoStoreRepository.persist(fofoStore);
|
| 325 |
|
- |
|
| 326 |
}
|
- |
|
| 327 |
|
- |
|
| - |
|
357 |
model.addAttribute("response", mvcResponseSender.createResponseString(fofoStore.getGraceCount()));
|
| 328 |
return fofoIds;
|
358 |
return "response";
|
| 329 |
|
359 |
|
| 330 |
}
|
360 |
}
|
| 331 |
|
361 |
|
| 332 |
|
- |
|
| 333 |
@RequestMapping(value = "/getPromoterInfo", method = RequestMethod.GET)
|
362 |
@RequestMapping(value = "/getPromoterInfo", method = RequestMethod.GET)
|
| 334 |
public String getPromoterInfo(HttpServletRequest request,
|
363 |
public String getPromoterInfo(HttpServletRequest request,
|
| 335 |
@RequestParam(name = "offset", defaultValue = "0") int offset,
|
364 |
@RequestParam(name = "offset", defaultValue = "0") int offset,
|
| 336 |
@RequestParam(name = "limit", defaultValue = "10") int limit, Model model) throws Exception {
|
365 |
@RequestParam(name = "limit", defaultValue = "10") int limit, Model model) throws Exception {
|
| 337 |
LOGGER.info("requested url : " + request.getRequestURL().toString());
|
366 |
LOGGER.info("requested url : " + request.getRequestURL().toString());
|
| Line 354... |
Line 383... |
| 354 |
|
383 |
|
| 355 |
for (Promoter promoterdetail : promoterInfo) {
|
384 |
for (Promoter promoterdetail : promoterInfo) {
|
| 356 |
partnerIds.add(promoterdetail.getRetailerId());
|
385 |
partnerIds.add(promoterdetail.getRetailerId());
|
| 357 |
}
|
386 |
}
|
| 358 |
Map<Integer, CustomRetailer> partnersMap = null;
|
387 |
Map<Integer, CustomRetailer> partnersMap = null;
|
| 359 |
if(!partnerIds.equals(null)){
|
388 |
if (!partnerIds.equals(null)) {
|
| 360 |
LOGGER.info("partnerIds" + partnerIds);
|
389 |
LOGGER.info("partnerIds" + partnerIds);
|
| 361 |
partnersMap = retailerService.getFofoRetailers(partnerIds);
|
390 |
partnersMap = retailerService.getFofoRetailers(partnerIds);
|
| 362 |
}
|
391 |
}
|
| 363 |
|
392 |
|
| 364 |
LOGGER.info("partnerIds" + partnersMap);
|
393 |
LOGGER.info("partnerIds" + partnersMap);
|
| 365 |
model.addAttribute("promoterInfo", promoterInfo);
|
394 |
model.addAttribute("promoterInfo", promoterInfo);
|
| 366 |
model.addAttribute("partnersMap", partnersMap);
|
395 |
model.addAttribute("partnersMap", partnersMap);
|
| 367 |
model.addAttribute("start", offset + 1);
|
396 |
model.addAttribute("start", offset + 1);
|
| 368 |
model.addAttribute("size", size);
|
397 |
model.addAttribute("size", size);
|
| Line 378... |
Line 407... |
| 378 |
model.addAttribute("size", size);
|
407 |
model.addAttribute("size", size);
|
| 379 |
}
|
408 |
}
|
| 380 |
return "promoter-info";
|
409 |
return "promoter-info";
|
| 381 |
|
410 |
|
| 382 |
}
|
411 |
}
|
| 383 |
|
412 |
|
| 384 |
@RequestMapping(value = "/getPaginatedPromoterInfo", method = RequestMethod.GET)
|
413 |
@RequestMapping(value = "/getPaginatedPromoterInfo", method = RequestMethod.GET)
|
| 385 |
public String getPaginatedPromoterInfo(HttpServletRequest request,
|
414 |
public String getPaginatedPromoterInfo(HttpServletRequest request,
|
| 386 |
@RequestParam(name = "offset", defaultValue = "0") int offset,
|
415 |
@RequestParam(name = "offset", defaultValue = "0") int offset,
|
| 387 |
@RequestParam(name = "limit", defaultValue = "10") int limit, Model model)
|
416 |
@RequestParam(name = "limit", defaultValue = "10") int limit, Model model)
|
| 388 |
throws ProfitMandiBusinessException {
|
417 |
throws ProfitMandiBusinessException {
|
| Line 396... |
Line 425... |
| 396 |
|
425 |
|
| 397 |
for (Promoter promoterdetail : promoterInfo) {
|
426 |
for (Promoter promoterdetail : promoterInfo) {
|
| 398 |
partnerIds.add(promoterdetail.getRetailerId());
|
427 |
partnerIds.add(promoterdetail.getRetailerId());
|
| 399 |
}
|
428 |
}
|
| 400 |
Map<Integer, CustomRetailer> partnersMap = null;
|
429 |
Map<Integer, CustomRetailer> partnersMap = null;
|
| 401 |
if(!partnerIds.equals(null)){
|
430 |
if (!partnerIds.equals(null)) {
|
| 402 |
LOGGER.info("partnerIds" + partnerIds);
|
431 |
LOGGER.info("partnerIds" + partnerIds);
|
| 403 |
partnersMap = retailerService.getFofoRetailers(partnerIds);
|
432 |
partnersMap = retailerService.getFofoRetailers(partnerIds);
|
| 404 |
}
|
433 |
}
|
| 405 |
|
434 |
|
| 406 |
LOGGER.info("partnerIds" + partnersMap);
|
435 |
LOGGER.info("partnerIds" + partnersMap);
|
| 407 |
model.addAttribute("promoterInfo", promoterInfo);
|
436 |
model.addAttribute("promoterInfo", promoterInfo);
|
| 408 |
model.addAttribute("partnersMap", partnersMap);
|
437 |
model.addAttribute("partnersMap", partnersMap);
|
| 409 |
model.addAttribute("url", "/getPaginatedPromoterInfo");
|
438 |
model.addAttribute("url", "/getPaginatedPromoterInfo");
|
| 410 |
} else {
|
439 |
} else {
|
| Line 418... |
Line 447... |
| 418 |
@RequestMapping(value = "/createPromoter", method = RequestMethod.POST)
|
447 |
@RequestMapping(value = "/createPromoter", method = RequestMethod.POST)
|
| 419 |
public String createPromoter(HttpServletRequest request, @RequestBody PromoterDetailModel promoterdetailModel,
|
448 |
public String createPromoter(HttpServletRequest request, @RequestBody PromoterDetailModel promoterdetailModel,
|
| 420 |
Model model) throws Exception {
|
449 |
Model model) throws Exception {
|
| 421 |
LOGGER.info("requested url : " + request.getRequestURL().toString());
|
450 |
LOGGER.info("requested url : " + request.getRequestURL().toString());
|
| 422 |
LOGGER.info("requested url : " + promoterdetailModel);
|
451 |
LOGGER.info("requested url : " + promoterdetailModel);
|
| 423 |
if (promoterdetailModel.getId()==0) {
|
452 |
if (promoterdetailModel.getId() == 0) {
|
| 424 |
Promoter promoter = new Promoter();
|
453 |
Promoter promoter = new Promoter();
|
| 425 |
promoter.setName(promoterdetailModel.getName());
|
454 |
promoter.setName(promoterdetailModel.getName());
|
| 426 |
promoter.setBrand(promoterdetailModel.getBrand());
|
455 |
promoter.setBrand(promoterdetailModel.getBrand());
|
| 427 |
promoter.setEmail(promoterdetailModel.getEmail());
|
456 |
promoter.setEmail(promoterdetailModel.getEmail());
|
| 428 |
promoter.setMobile(promoterdetailModel.getMobile());
|
457 |
promoter.setMobile(promoterdetailModel.getMobile());
|