Subversion Repositories SmartDukaan

Rev

Rev 36439 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 36439 Rev 37102
Line 168... Line 168...
168
    private JavaMailSender googleMailSender;
168
    private JavaMailSender googleMailSender;
169
 
169
 
170
    @Override
170
    @Override
171
    public Map<String, Object> getByEmailIdOrMobileNumber(String emailIdOrMobileNumber) throws ProfitMandiBusinessException {
171
    public Map<String, Object> getByEmailIdOrMobileNumber(String emailIdOrMobileNumber) throws ProfitMandiBusinessException {
172
        User user = null;
172
        User user = null;
173
        int fofoId = Utils.SYSTEM_PARTNER_ID;
-
 
174
 
173
 
175
        try {
174
        try {
176
            user = userRepository.selectByEmailIdOrMobileNumber(emailIdOrMobileNumber);
175
            user = userRepository.selectByEmailIdOrMobileNumber(emailIdOrMobileNumber);
177
        } catch (ProfitMandiBusinessException profitMandiBusinessException) {
176
        } catch (ProfitMandiBusinessException profitMandiBusinessException) {
178
 
177
 
Line 203... Line 202...
203
                int retailerId = userAccountRepository.selectRetailerIdByUserId(user.getId());
202
                int retailerId = userAccountRepository.selectRetailerIdByUserId(user.getId());
204
                Retailer retailer = retailerRepository.selectById(retailerId);
203
                Retailer retailer = retailerRepository.selectById(retailerId);
205
 
204
 
206
                map.put("retailer", retailer);
205
                map.put("retailer", retailer);
207
 
206
 
208
                List<String> retailerBlockBrands = null;
207
                // This screen edits manual brand blocks only. Ineligibility (commitment/DMS) is
209
                Set<String> brands = null;
208
                // derived and enforced at order time, so the dropdown offers every brand.
210
                if (retailer.getId() != fofoId) {
209
                Set<String> brands = brandsService.getBrandsToDisplay(3).stream()
211
                    brands = brandsService.getBrands(retailer.getId(), null, 3).stream().map(BrandCatalog::getName).collect(Collectors.toSet());
210
                        .map(BrandCatalog::getName).collect(Collectors.toSet());
212
                    retailerBlockBrands = brandsService.partnerIneligibleBrands(fofoId);
211
                List<String> retailerBlockBrands = retailerBlockBrandsRepository.selectAllByRetailer(retailer.getId())
213
 
-
 
214
                } else {
-
 
215
                    LOGGER.info("fofoId" + fofoId);
-
 
216
                    brands = brandsService.getBrands(fofoId, null, 3).stream().map(BrandCatalog::getName).collect(Collectors.toSet());
212
                        .stream().map(x -> x.getBlockBrands()).collect(Collectors.toList());
217
                }
-
 
218
                map.put("brands", brands);
213
                map.put("brands", brands);
219
                map.put("retailerBlockBrands", retailerBlockBrands);
214
                map.put("retailerBlockBrands", retailerBlockBrands);
220
 
215
 
221
                try {
216
                try {
222
                    FofoStore gstStore = fofoStoreRepository.selectByRetailerId(retailer.getId());
217
                    FofoStore gstStore = fofoStoreRepository.selectByRetailerId(retailer.getId());
Line 349... Line 344...
349
 
344
 
350
        if (!retailerBlockBrands.isEmpty()) {
345
        if (!retailerBlockBrands.isEmpty()) {
351
            retailerBlockBrandsRepository.deleteBrands(retailer.getId());
346
            retailerBlockBrandsRepository.deleteBrands(retailer.getId());
352
        }
347
        }
353
 
348
 
354
        for (String blockBrand : updateRetailerRequest.getBlocksBrands()) {
349
        List<String> requestedBlockBrands = updateRetailerRequest.getBlocksBrands() != null
-
 
350
                ? updateRetailerRequest.getBlocksBrands() : new ArrayList<>();
-
 
351
 
-
 
352
        for (String blockBrand : requestedBlockBrands) {
355
            RetailerBlockBrands retailerBlockBrand = new RetailerBlockBrands();
353
            RetailerBlockBrands retailerBlockBrand = new RetailerBlockBrands();
356
 
354
 
357
            retailerBlockBrand.setFofoId(retailer.getId());
355
            retailerBlockBrand.setFofoId(retailer.getId());
358
            retailerBlockBrand.setBlockBrands(blockBrand);
356
            retailerBlockBrand.setBlockBrands(blockBrand);
359
            retailerBlockBrandsRepository.persist(retailerBlockBrand);
357
            retailerBlockBrandsRepository.persist(retailerBlockBrand);
Line 395... Line 393...
395
            fofoStore.setActive(updateRetailerRequest.isActive());
393
            fofoStore.setActive(updateRetailerRequest.isActive());
396
            List<AST> astDetail = postOfficeService.getAreasAndTerritoriesByStateName(retailerAddress.getState());
394
            List<AST> astDetail = postOfficeService.getAreasAndTerritoriesByStateName(retailerAddress.getState());
397
            map.put("astDetail", astDetail);
395
            map.put("astDetail", astDetail);
398
        }
396
        }
399
 
397
 
400
        this.createPrivateDealUser(dtrUser, updateRetailerRequest.isFofo(), updateRetailerRequest.getGstNumber(), retailer, retailerAddress.getId());
398
        this.createPrivateDealUser(dtrUser, updateRetailerRequest.getGstNumber(), retailer, retailerAddress.getId());
401
        map.put("gstNumber", updateRetailerRequest.getGstNumber());
399
        map.put("gstNumber", updateRetailerRequest.getGstNumber());
402
        this.updateSaholicUser(retailer.getId(), retailerAddress.getId());
400
        this.updateSaholicUser(retailer.getId(), retailerAddress.getId());
403
 
401
 
404
        List<Shop> shops = (List<Shop>) map.get("shops");
402
        List<Shop> shops = (List<Shop>) map.get("shops");
405
        if (shops == null) {
403
        if (shops == null) {
Line 579... Line 577...
579
        } catch (ProfitMandiBusinessException e) {
577
        } catch (ProfitMandiBusinessException e) {
580
 
578
 
581
        }
579
        }
582
    }
580
    }
583
 
581
 
584
    private void createPrivateDealUser(User user, boolean fofo, String gstNumber, Retailer retailer,
582
    private void createPrivateDealUser(User user, String gstNumber, Retailer retailer,
585
                                       int retailerAddressId) {
583
                                       int retailerAddressId) {
586
        PrivateDealUser privateDealUser = null;
584
        PrivateDealUser privateDealUser = null;
587
        try {
585
        try {
588
            privateDealUser = privateDealUserRepository.selectById(retailer.getId());
586
            privateDealUser = privateDealUserRepository.selectById(retailer.getId());
589
        } catch (ProfitMandiBusinessException profitMandiBusinessException) {
587
        } catch (ProfitMandiBusinessException profitMandiBusinessException) {
Line 592... Line 590...
592
 
590
 
593
        // = privateDealUserRepository.selectById(saholicUser.getId());
591
        // = privateDealUserRepository.selectById(saholicUser.getId());
594
        if (privateDealUser == null) {
592
        if (privateDealUser == null) {
595
            Integer counterId = this.createCounter(user.getEmailId(), gstNumber, user.getMobileNumber(), retailer.getName(), retailerAddressId);
593
            Integer counterId = this.createCounter(user.getEmailId(), gstNumber, user.getMobileNumber(), retailer.getName(), retailerAddressId);
596
            try {
594
            try {
597
                this.createPrivateDealUser(retailer.getId(), counterId, fofo);
595
                this.createPrivateDealUser(retailer.getId(), counterId);
598
            } catch (Exception e) {
596
            } catch (Exception e) {
599
                LOGGER.error("ERROR : ", e);
597
                LOGGER.error("ERROR : ", e);
600
            }
598
            }
601
        } else {
599
        } else {
602
            if (privateDealUser.getCounterId() == null) {
600
            if (privateDealUser.getCounterId() == null) {
603
                Integer counterId = this.createCounter(user.getEmailId(), gstNumber, user.getMobileNumber(), retailer.getName(), retailerAddressId);
601
                Integer counterId = this.createCounter(user.getEmailId(), gstNumber, user.getMobileNumber(), retailer.getName(), retailerAddressId);
604
                privateDealUser.setCounterId(counterId);
602
                privateDealUser.setCounterId(counterId);
605
                privateDealUser.setFofo(fofo);
-
 
606
                privateDealUserRepository.persist(privateDealUser);
603
                privateDealUserRepository.persist(privateDealUser);
607
            } else {
604
            } else {
608
                Counter counter = null;
605
                Counter counter = null;
609
                try {
606
                try {
610
                    counter = counterRepository.selectById(privateDealUser.getCounterId());
607
                    counter = counterRepository.selectById(privateDealUser.getCounterId());
Line 615... Line 612...
615
                    this.createCounter(user.getEmailId(), gstNumber, user.getMobileNumber(), retailer.getName(), retailerAddressId);
612
                    this.createCounter(user.getEmailId(), gstNumber, user.getMobileNumber(), retailer.getName(), retailerAddressId);
616
                } else {
613
                } else {
617
                    counter.setGstin(gstNumber);
614
                    counter.setGstin(gstNumber);
618
                    counterRepository.persist(counter);
615
                    counterRepository.persist(counter);
619
                }
616
                }
620
                privateDealUser.setFofo(fofo);
-
 
621
                privateDealUserRepository.persist(privateDealUser);
617
                privateDealUserRepository.persist(privateDealUser);
622
            }
618
            }
623
        }
619
        }
624
 
620
 
625
        PrivateDealUserAddressMapping privateDealUserAddressMapping = new PrivateDealUserAddressMapping();
621
        PrivateDealUserAddressMapping privateDealUserAddressMapping = new PrivateDealUserAddressMapping();
626
        privateDealUserAddressMapping.setUserId(retailer.getId());
622
        privateDealUserAddressMapping.setUserId(retailer.getId());
627
        privateDealUserAddressMapping.setAddressId(retailerAddressId);
623
        privateDealUserAddressMapping.setAddressId(retailerAddressId);
628
        privateDealUserAddressMappingRepository.persist(privateDealUserAddressMapping);
624
        privateDealUserAddressMappingRepository.persist(privateDealUserAddressMapping);
629
    }
625
    }
630
 
626
 
631
    // Specifically set isFofo to true that has to be used by old system
-
 
632
    private void createPrivateDealUser(int retailerId, int counterId, boolean fofo) {
627
    private void createPrivateDealUser(int retailerId, int counterId) {
633
        PrivateDealUser privateDealUser = new PrivateDealUser();
628
        PrivateDealUser privateDealUser = new PrivateDealUser();
634
        privateDealUser.setActive(true);
629
        privateDealUser.setActive(true);
635
        privateDealUser.setBulkShipmentAmountLimit(fofo ? 1000000 : 50000);
-
 
636
        privateDealUser.setId(retailerId);
630
        privateDealUser.setId(retailerId);
637
        privateDealUser.setCounterId(counterId);
631
        privateDealUser.setCounterId(counterId);
638
        privateDealUser.setFofo(fofo);
-
 
639
        privateDealUserRepository.persist(privateDealUser);
632
        privateDealUserRepository.persist(privateDealUser);
640
    }
633
    }
641
 
634
 
642
    private Integer createCounter(String emailId, String gstNumber, String mobileNumber, String name, int addressId) {
635
    private Integer createCounter(String emailId, String gstNumber, String mobileNumber, String name, int addressId) {
643
        if (gstNumber != null && !gstNumber.isEmpty()) {
636
        if (gstNumber != null && !gstNumber.isEmpty()) {
Line 1341... Line 1334...
1341
 
1334
 
1342
    private void createPrivateDealUser(LoginRequestResponseModel loginRequestModel) {
1335
    private void createPrivateDealUser(LoginRequestResponseModel loginRequestModel) {
1343
 
1336
 
1344
        Integer counterId = this.createCounter(loginRequestModel.getEmail(), loginRequestModel.getGstNumber(), loginRequestModel.getBusinessAddress().getPhoneNumber(), loginRequestModel.getBusinessAddress().getName(), loginRequestModel.getBusinessAddress().getId());
1337
        Integer counterId = this.createCounter(loginRequestModel.getEmail(), loginRequestModel.getGstNumber(), loginRequestModel.getBusinessAddress().getPhoneNumber(), loginRequestModel.getBusinessAddress().getName(), loginRequestModel.getBusinessAddress().getId());
1345
        try {
1338
        try {
1346
            this.createPrivateDealUser(loginRequestModel.getUserId(), counterId, false);
1339
            this.createPrivateDealUser(loginRequestModel.getUserId(), counterId);
1347
        } catch (Exception e) {
1340
        } catch (Exception e) {
1348
            LOGGER.error("ERROR : ", e);
1341
            LOGGER.error("ERROR : ", e);
1349
        }
1342
        }
1350
 
1343
 
1351
        PrivateDealUserAddressMapping privateDealUserAddressMapping = new PrivateDealUserAddressMapping();
1344
        PrivateDealUserAddressMapping privateDealUserAddressMapping = new PrivateDealUserAddressMapping();