Subversion Repositories SmartDukaan

Rev

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

Rev 32812 Rev 32821
Line 788... Line 788...
788
 
788
 
789
    @PostMapping(value = "/partner-position/update")
789
    @PostMapping(value = "/partner-position/update")
790
    public String positionUpdated(Model model, @RequestBody List<PartnerPositonUpdateModel> partnerPositionUpdateModels)
790
    public String positionUpdated(Model model, @RequestBody List<PartnerPositonUpdateModel> partnerPositionUpdateModels)
791
            throws Exception {
791
            throws Exception {
792
 
792
 
793
        Map<Integer, List<String>> positionIdsToAddMap = partnerPositionUpdateModels.stream().collect(Collectors.groupingBy(x->x.getPositionIdTo(),
793
        Map<Integer, List<String>> positionIdsToAddMap = partnerPositionUpdateModels.stream().filter(x->x.getPositionIdTo()!=0).collect(Collectors.groupingBy(x->x.getPositionIdTo(),
794
                Collectors.mapping(x->x.getStoreCode(), Collectors.toList())));
794
                Collectors.mapping(x->x.getStoreCode(), Collectors.toList())));
795
 
795
 
796
        Map<Integer, List<String>> positionIdsToRemoveMap = partnerPositionUpdateModels.stream().collect(Collectors.groupingBy(x->x.getPositionIdFrom(),
796
        Map<Integer, List<String>> positionIdsToRemoveMap = partnerPositionUpdateModels.stream().filter(x->x.getPositionIdFrom()!=0).collect(Collectors.groupingBy(x->x.getPositionIdFrom(),
797
                Collectors.mapping(x->x.getStoreCode(), Collectors.toList())));
797
                Collectors.mapping(x->x.getStoreCode(), Collectors.toList())));
798
 
798
 
799
        List<Integer> positionIdsToUpdate = new ArrayList<>();
799
        List<Integer> positionIdsToUpdate = new ArrayList<>();
800
        positionIdsToUpdate.addAll(positionIdsToAddMap.keySet());
800
        positionIdsToUpdate.addAll(positionIdsToAddMap.keySet());
801
        positionIdsToUpdate.addAll(positionIdsToRemoveMap.keySet());
801
        positionIdsToUpdate.addAll(positionIdsToRemoveMap.keySet());
Line 809... Line 809...
809
        }
809
        }
810
 
810
 
811
        for (Map.Entry<Integer, List<String>> positionIdStoreMapEntry : positionIdsToAddMap.entrySet()) {
811
        for (Map.Entry<Integer, List<String>> positionIdStoreMapEntry : positionIdsToAddMap.entrySet()) {
812
            int positionId = positionIdStoreMapEntry.getKey();
812
            int positionId = positionIdStoreMapEntry.getKey();
813
            Position position = positionsToUpdateMap.get(positionId);
813
            Position position = positionsToUpdateMap.get(positionId);
-
 
814
            LOGGER.info("positionId - {}, Position - {}", positionId, position);
814
            List<String> storeCodesToAdd = positionIdStoreMapEntry.getValue();
815
            List<String> storeCodesToAdd = positionIdStoreMapEntry.getValue();
815
            List<Integer> retailerIdsToAdd = fofoStoreRepository.selectByStoreCodes(storeCodesToAdd).stream().map(x->x.getId()).collect(Collectors.toList());
816
            List<Integer> retailerIdsToAdd = fofoStoreRepository.selectByStoreCodes(storeCodesToAdd).stream().map(x->x.getId()).collect(Collectors.toList());
816
            Map<Integer, PartnerPosition> partnerPositionsMapByFofoId  = partnerPositionRepository
817
            Map<Integer, PartnerPosition> partnerPositionsMapByFofoId  = partnerPositionRepository
-
 
818
                    .selectByRegionIdAndPostionId(Arrays.asList(position.getRegionId())
817
                    .selectByRegionIdAndPostionId(Arrays.asList(position.getRegionId()),Arrays.asList(positionId)).stream().collect(Collectors.toMap(x->x.getFofoId(),x->x));
819
                            ,Arrays.asList(positionId)).stream().collect(Collectors.toMap(x->x.getFofoId(),x->x));
818
            for (Integer retailerIdToAdd : retailerIdsToAdd) {
820
            for (Integer retailerIdToAdd : retailerIdsToAdd) {
819
                if (!partnerPositionsMapByFofoId.containsKey(retailerIdToAdd)) {
821
                if (!partnerPositionsMapByFofoId.containsKey(retailerIdToAdd)) {
820
                    PartnerPosition partnerPositionNew = new PartnerPosition();
822
                    PartnerPosition partnerPositionNew = new PartnerPosition();
821
                    partnerPositionNew.setPositionId(positionId);
823
                    partnerPositionNew.setPositionId(positionId);
822
                    partnerPositionNew.setFofoId(retailerIdToAdd);
824
                    partnerPositionNew.setFofoId(retailerIdToAdd);