Subversion Repositories SmartDukaan

Rev

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

Rev 31914 Rev 31916
Line 59... Line 59...
59
 
59
 
60
@Component
60
@Component
61
public class SchemeServiceImpl implements SchemeService {
61
public class SchemeServiceImpl implements SchemeService {
62
 
62
 
63
    private static final Logger LOGGER = LogManager.getLogger(SchemeServiceImpl.class);
63
    private static final Logger LOGGER = LogManager.getLogger(SchemeServiceImpl.class);
64
    private static final Set<Integer> tagIds = new HashSet<Integer>(Arrays.asList(4));
64
    private static final Set<Integer> tagIds = new HashSet<>(Arrays.asList(4));
65
    private static final List<String> BLOCKED_IMEIS = Arrays.asList("864883056397593", "864883054606656", "864883056567815", "861950056518271", "869175055649511", "861362058924574", "866009066803036", "866009066816699", "866009066816137", "866009066815873", "866009066805536", "866009066803010", "866009066821939", "866009066802756", "866009066820592", "866009066820311", "866009066816491", "866009066816376", "866009066815899", "866009066815774", "866009066817937", "866009066819859", "866009066817655", "866009066820691", "866009066820832", "866009066803291", "866009066820733", "866009066814496", "866009066820451", "866009066820659", "866009066804976", "866009066820717", "866009066816095", "861362054898434", "869599051117852", "869599056695332", "869599056695894", "864883057389656", "862661052418692", "860118051929254", "862888051664998", "862680054625831", "862888051666316", "860118051738895", "868066050447970", "868066052424399", "865084051552576", "865084050755097", "865084050755295", "865084050754819", "864883057487278", "864883057389599", "864883057437455", "864883057388278", "862680058278058", "869599056810139", "862200053994193", "861932057188916", "861175050581774", "863933065909093", "863933065635391", "861362054889177", "864004062055154", "864004062069239", "862661050221676", "862661052416993", "866812058631475", "869599051118173", "869599051504273", "868066052729250", "864883057701397", "864883054123033", "864883054947316", "864883056235694", "868066052727692", "866030052139896", "866030052140175", "860588051522053", "860588051513193", "861932056969779", "869599056171995", "865594061074932", "863935059410491", "866088059072718", "869599055375894", "869599054306916", "863782054006472", "863782054012371", "860588053486992", "868066052726835", "868066052726694", "860688053876430", "860688053869674", "868494052222110", "868494054682394", "869599053512357");
65
    private static final List<String> BLOCKED_IMEIS = Arrays.asList("864883056397593", "864883054606656", "864883056567815", "861950056518271", "869175055649511", "861362058924574", "866009066803036", "866009066816699", "866009066816137", "866009066815873", "866009066805536", "866009066803010", "866009066821939", "866009066802756", "866009066820592", "866009066820311", "866009066816491", "866009066816376", "866009066815899", "866009066815774", "866009066817937", "866009066819859", "866009066817655", "866009066820691", "866009066820832", "866009066803291", "866009066820733", "866009066814496", "866009066820451", "866009066820659", "866009066804976", "866009066820717", "866009066816095", "861362054898434", "869599051117852", "869599056695332", "869599056695894", "864883057389656", "862661052418692", "860118051929254", "862888051664998", "862680054625831", "862888051666316", "860118051738895", "868066050447970", "868066052424399", "865084051552576", "865084050755097", "865084050755295", "865084050754819", "864883057487278", "864883057389599", "864883057437455", "864883057388278", "862680058278058", "869599056810139", "862200053994193", "861932057188916", "861175050581774", "863933065909093", "863933065635391", "861362054889177", "864004062055154", "864004062069239", "862661050221676", "862661052416993", "866812058631475", "869599051118173", "869599051504273", "868066052729250", "864883057701397", "864883054123033", "864883054947316", "864883056235694", "868066052727692", "866030052139896", "866030052140175", "860588051522053", "860588051513193", "861932056969779", "869599056171995", "865594061074932", "863935059410491", "866088059072718", "869599055375894", "869599054306916", "863782054006472", "863782054012371", "860588053486992", "868066052726835", "868066052726694", "860688053876430", "860688053869674", "868494052222110", "868494054682394", "869599053512357");
66
    private static final List<SchemeType> ACTIVATION_SCHEME_TYPES = Arrays.asList(SchemeType.ACTIVATION, SchemeType.SPECIAL_SUPPORT, SchemeType.SELLOUT);
66
    private static final List<SchemeType> ACTIVATION_SCHEME_TYPES = Arrays.asList(SchemeType.ACTIVATION, SchemeType.SPECIAL_SUPPORT, SchemeType.SELLOUT);
67
    @Autowired
67
    @Autowired
68
    StateGstRateRepository stateGstRateRepository;
68
    StateGstRateRepository stateGstRateRepository;
69
    @Autowired
69
    @Autowired
Line 1239... Line 1239...
1239
        Map<String, ActivatedImei> activatedImeiMap = activatedImeis.stream()
1239
        Map<String, ActivatedImei> activatedImeiMap = activatedImeis.stream()
1240
                .collect(Collectors.toMap(x -> x.getSerialNumber().toLowerCase(), x -> x));
1240
                .collect(Collectors.toMap(x -> x.getSerialNumber().toLowerCase(), x -> x));
1241
        for (SchemeInOut pendingPayout : pendingPayouts) {
1241
        for (SchemeInOut pendingPayout : pendingPayouts) {
1242
            Scheme scheme = schemesMap.get(pendingPayout.getSchemeId());
1242
            Scheme scheme = schemesMap.get(pendingPayout.getSchemeId());
1243
            InventoryItem ii = inventoryItemMap.get(pendingPayout.getInventoryItemId());
1243
            InventoryItem ii = inventoryItemMap.get(pendingPayout.getInventoryItemId());
1244
            InventoryPayoutModel inventoryPayoutModel = this.getPayouts(ii);
-
 
1245
            AmountModel amountModel = new AmountModel();
-
 
1246
            amountModel.setAmount(scheme.getAmount());
-
 
1247
            amountModel.setAmountType(scheme.getAmountType());
-
 
1248
            double amountToRollout = this.getAmount(inventoryPayoutModel, amountModel);
-
 
1249
            String serialNumber = ii.getSerialNumber().toLowerCase();
1244
            String serialNumber = ii.getSerialNumber().toLowerCase();
1250
            ActivatedImei activatedImei = activatedImeiMap.get(serialNumber);
1245
            ActivatedImei activatedImei = activatedImeiMap.get(serialNumber);
1251
            if (activatedImei == null) {
1246
            if (activatedImei == null) {
1252
                continue;
1247
                continue;
1253
            }
1248
            }
Line 1257... Line 1252...
1257
                int orderId = scanRecordRepository.selectByInventoryItemId(ii.getId()).stream()
1252
                int orderId = scanRecordRepository.selectByInventoryItemId(ii.getId()).stream()
1258
                        .filter(x -> x.getOrderId() > 0)
1253
                        .filter(x -> x.getOrderId() > 0)
1259
                        .sorted(Comparator.comparing(ScanRecord::getCreateTimestamp).reversed()).findFirst().get()
1254
                        .sorted(Comparator.comparing(ScanRecord::getCreateTimestamp).reversed()).findFirst().get()
1260
                        .getOrderId();
1255
                        .getOrderId();
1261
                FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(orderId);
1256
                FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(orderId);
-
 
1257
 
-
 
1258
                InventoryPayoutModel inventoryPayoutModel = this.getPayouts(ii);
-
 
1259
                AmountModel amountModel = new AmountModel();
-
 
1260
                amountModel.setAmount(scheme.getAmount());
-
 
1261
                amountModel.setAmountType(scheme.getAmountType());
-
 
1262
                double amountToRollout = this.getAmount(inventoryPayoutModel, amountModel);
1262
                if (scheme.getType().equals(SchemeType.ACTIVATION)) {
1263
                if (scheme.getType().equals(SchemeType.ACTIVATION)) {
1263
                    walletService.addAmountToWallet(fofoId, orderId, WalletReferenceType.ACTIVATION_SCHEME,
1264
                    walletService.addAmountToWallet(fofoId, orderId, WalletReferenceType.ACTIVATION_SCHEME,
1264
                            "Activation margin for " + ii.getItem().getItemDescriptionNoColor() + ", Imei - " + serialNumber, (float) amountToRollout,
1265
                            "Activation margin for " + ii.getItem().getItemDescriptionNoColor() + ", Imei - " + serialNumber, (float) amountToRollout,
1265
                            fofoOrder.getCreateTimestamp());
1266
                            fofoOrder.getCreateTimestamp());
1266
                    pendingPayout.setStatusDescription("Activation margin credited, activated on " + FormattingUtils.formatDate(activatedImei.getActivationTimestamp()));
1267
                    pendingPayout.setStatusDescription("Activation margin credited, activated on " + FormattingUtils.formatDate(activatedImei.getActivationTimestamp()));