diff --git a/src/main/java/com/qs/serve/common/util/IdUtil.java b/src/main/java/com/qs/serve/common/util/IdUtil.java index 302c65c3..70594f62 100644 --- a/src/main/java/com/qs/serve/common/util/IdUtil.java +++ b/src/main/java/com/qs/serve/common/util/IdUtil.java @@ -26,7 +26,9 @@ public class IdUtil extends cn.hutool.core.util.IdUtil { } public static void main(String[] args) { - System.out.println(getSnowFlakeId()); + for (int i = 0; i < 1000; i++) { + System.out.println(getSnowFlakeId()); + } } public static Long timeStampLong() { diff --git a/src/main/java/com/qs/serve/common/util/StringUtils.java b/src/main/java/com/qs/serve/common/util/StringUtils.java index 31aa7a2d..4b04796c 100644 --- a/src/main/java/com/qs/serve/common/util/StringUtils.java +++ b/src/main/java/com/qs/serve/common/util/StringUtils.java @@ -62,6 +62,7 @@ public class StringUtils extends org.springframework.util.StringUtils { public static void main(String[] args) { for (int i = 0; i < 100; i++) { System.out.println(genShortId()); + //System.out.println(generateOrderNo()); } } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java new file mode 100644 index 00000000..1ec3e9c6 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java @@ -0,0 +1,227 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.consts.BudgetLogOptFlag; +import com.qs.serve.common.util.CollectionUtil; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.modules.tbs.common.TbsCenterType; +import com.qs.serve.modules.tbs.common.TbsGoodsType; +import com.qs.serve.modules.tbs.entity.*; +import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; +import com.qs.serve.modules.tbs.mapper.TbsBudgetConditionMapper; +import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; +import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; +import com.qs.serve.modules.tbs.service.TbsBudgetLogService; +import com.qs.serve.modules.tbs.service.TbsCostUnItemService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author YenHex + * @since 2023/2/8 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsSupplierApplicationService { + + private TbsBudgetLogService budgetLogService; + private TbsCostUnItemService costUnItemService; + private TbsBudgetMapper budgetMapper; + private TbsBudgetConditionMapper budgetConditionMapper; + private TbsScheduleItemBudgetMapper scheduleItemBudgetMapper; + private TbsActivityMapper activityMapper; + + public void migrateRegion(String supplierId, String regionType, String orgRegionId, String newRegionId) { + //todo 待测 + LocalDateTime nowTime = LocalDateTime.now(); + LambdaQueryWrapper lqw4log = new LambdaQueryWrapper<>(); + lqw4log.eq(TbsBudgetLog::getMigrateFlag,0); + lqw4log.eq(TbsBudgetLog::getRollbackFlag,0); + lqw4log.eq(TbsBudgetLog::getSupplierId, supplierId); + lqw4log.eq(TbsBudgetLog::getCenterType, regionType); + lqw4log.eq(TbsBudgetLog::getCenterId, orgRegionId); + List budgetLogList = budgetLogService.list(lqw4log); + if(CollectionUtil.isNotEmpty(budgetLogList)){ + //查找符合条件的活动 + final List activityIds = budgetLogList.stream().map(TbsBudgetLog::getActivityId).distinct().collect(Collectors.toList()); + LambdaQueryWrapper lqwAct = new LambdaQueryWrapper<>(); + lqwAct.in(TbsActivity::getId,activityIds); + List activityList = activityMapper.selectList(lqwAct); + //查询符合条件的预算 + final List subjectIds = budgetLogList.stream().map(TbsBudgetLog::getSubjectId).distinct().collect(Collectors.toList()); + LambdaQueryWrapper lqwBudget = new LambdaQueryWrapper<>(); + lqwBudget.eq(TbsBudget::getCenterType,regionType); + lqwBudget.eq(TbsBudget::getCenterId, newRegionId); + lqwBudget.eq(TbsBudget::getBudgetState,1); + lqwBudget.and(wq->{ + wq.eq(TbsBudget::getSubjectId,0).or().in(TbsBudget::getSubjectId,subjectIds); + }); + // 将有科目条件的前置 + lqwBudget.orderByDesc(TbsBudget::getSubjectId); + List budgetList = budgetMapper.selectList(lqwBudget); + //查询预算考核期 + List budgetIds = budgetList.stream().map(TbsBudget::getId).distinct().collect(Collectors.toList()); + Map> scheduleItemBudgetsMap = null; + if(CollectionUtil.isNotEmpty(budgetIds)){ + LambdaQueryWrapper budgetItemLqw = new LambdaQueryWrapper<>(); + budgetItemLqw.in(TbsScheduleItemBudget::getBudgetId,budgetIds); + List scheduleItemBudgets = scheduleItemBudgetMapper.selectList(budgetItemLqw); + scheduleItemBudgetsMap = scheduleItemBudgets.stream().collect(Collectors.groupingBy(TbsScheduleItemBudget::getBudgetId)); + } + //查询预算条件 + List conditionBudgetIds = budgetList.stream() + .filter(a->a.getConditionFlag().equals(1)) + .map(TbsBudget::getId).distinct().collect(Collectors.toList()); + Map> budgetConditionsMap = null; + if(conditionBudgetIds.size()>0){ + LambdaQueryWrapper conditionLqw = new LambdaQueryWrapper<>(); + conditionLqw.in(TbsBudgetCondition::getBudgetId,conditionBudgetIds); + List budgetConditions = budgetConditionMapper.selectList(conditionLqw); + budgetConditionsMap = budgetConditions.stream().collect(Collectors.groupingBy(TbsBudgetCondition::getBudgetId)); + } + //用于循环筛选条件 + TbsGoodsType[] goodsTypes = new TbsGoodsType[]{ + TbsGoodsType.sku, + TbsGoodsType.spu, + TbsGoodsType.series, + TbsGoodsType.category, + TbsGoodsType.brand + }; + //已占用预算进行调增 + final Integer optType4Diff = regionType.equals(TbsCenterType.saleRegion.name())? + BudgetLogOptFlag.State_8:BudgetLogOptFlag.State_10; + final Integer optType4Add = regionType.equals(TbsCenterType.saleRegion.name())? + BudgetLogOptFlag.State_7:BudgetLogOptFlag.State_9; + List budgetLog4Adds = budgetLogList.stream().map(budgetLog->{ + TbsBudgetLog obj = CopierUtil.copy(budgetLog,new TbsBudgetLog()); + obj.setId(null); + obj.setOptType(optType4Add); + obj.setMigrateFlag(1); + obj.setMigrateTime(nowTime); + obj.setAmount(obj.getAmount().negate()); + return obj; + }).collect(Collectors.toList()); + //规则:品类条件比科目条件优先级更高 + List budgetLog4Diff = new ArrayList<>(); + //无匹配的费用支出 + List costUnItemList = new ArrayList<>(); + for (TbsBudgetLog budgetLog : budgetLogList) { + //当前活动 + TbsActivity currActivity = null; + for (TbsActivity activity : activityList) { + if(budgetLog.getActivityId().equals(activity.getId())){ + currActivity = activity; + break; + } + } + //(数据结构:value=预算id列表,key=商品类型) + Map> matchConditionBudgetIdsMap = new HashMap<>(); + if(budgetConditionsMap!=null){ + for (Long budgetId : budgetConditionsMap.keySet()) { + List budgetConditions = budgetConditionsMap.get(budgetId); + String pathName = budgetLog.getTargetLevelPathNames(); + for (TbsBudgetCondition condition : budgetConditions) { + if(pathName.contains(condition.getTargetLevelPathNames())){ + List tempList = matchConditionBudgetIdsMap.get(condition.getTargetType()); + if(tempList==null){ + tempList = new ArrayList<>(); + } + tempList.add(budgetId); + matchConditionBudgetIdsMap.put(condition.getTargetType(),tempList); + break; + } + } + } + } + //记录匹配品类条件的预算 + List matchBudgetConditionList = new ArrayList<>(); + List matchBudgetConditionList_tmp = new ArrayList<>(); + for (TbsBudget budget : budgetList) { + if(budget.getConditionFlag().equals(1)){ + for (TbsGoodsType goodsType : goodsTypes) { + List tempList = matchConditionBudgetIdsMap.get(goodsType.name()); + if(CollectionUtil.isNotEmpty(tempList)){ + for (Long budgetId01 : tempList) { + if(budgetId01.equals(budget.getId())){ + matchBudgetConditionList.add(budget); + } + } + } + } + }else { + matchBudgetConditionList_tmp.add(budget); + } + } + //有条件预算优先级更高 + matchBudgetConditionList.addAll(matchBudgetConditionList_tmp); + //第一个预算为最有匹配预算 + TbsBudget matchBudget = null; + TbsScheduleItemBudget matchItemBudget = null; + //记录匹配到的预算 + if(scheduleItemBudgetsMap!=null){ + for (TbsBudget budget : matchBudgetConditionList) { + if(matchBudget!=null){ + break; + } + List scheduleItemBudgets = scheduleItemBudgetsMap.get(budget.getId()); + for (TbsScheduleItemBudget itemBudget : scheduleItemBudgets) { + LocalDateTime actStartDate = currActivity.getPreStartDate().atStartOfDay(); + LocalDateTime actEndDate = currActivity.getPreStartDate().atStartOfDay().with(LocalDateTime.MAX); + if(actStartDate.isAfter(itemBudget.getStartDate())&&actEndDate.isBefore(itemBudget.getEndDate())){ + matchBudget = budget; + matchItemBudget = itemBudget; + break; + } + } + } + } + if(matchBudget!=null){ + //有匹配的预算 + TbsBudgetLog newLog = CopierUtil.copy(budgetLog,new TbsBudgetLog()); + newLog.setId(null); + newLog.setOptType(optType4Diff); + newLog.setBudgetId(matchBudget.getId()); + newLog.setBudgetCode(matchBudget.getBudgetCode()); + newLog.setScheduleOrgId(budgetLog.getScheduleId()); + newLog.setScheduleItemOrgId(budgetLog.getScheduleItemId()); + newLog.setScheduleItemBudgetOrgId(budgetLog.getScheduleItemBudgetId()); + //匹配到的项 + newLog.setScheduleId(matchItemBudget.getScheduleId()); + newLog.setScheduleItemId(matchItemBudget.getScheduleItemId()); + newLog.setScheduleItemBudgetId(matchItemBudget.getId()); + budgetLog4Diff.add(newLog); + }else { + //无匹配的预算 + TbsCostUnItem costUnItem = budgetLog.toTbsCostUnItem(currActivity); + costUnItemList.add(costUnItem); + } + } + //保存 + budgetLogService.saveBatch(budgetLog4Adds); + if(CollectionUtil.isNotEmpty(budgetLog4Diff)){ + budgetLogService.saveBatch(budgetLog4Diff); + } + if(CollectionUtil.isNotEmpty(costUnItemList)){ + costUnItemService.saveBatch(costUnItemList); + } + //设置已迁移状态 + List budgetLogIds = budgetLogList.stream().map(TbsBudgetLog::getId).collect(Collectors.toList()); + TbsBudgetLog updLogParam = new TbsBudgetLog(); + updLogParam.setMigrateFlag(1); + updLogParam.setMigrateTime(nowTime); + LambdaQueryWrapper updLogLqw = new LambdaQueryWrapper<>(); + updLogLqw.in(TbsBudgetLog::getId,budgetLogIds); + budgetLogService.update(updLogParam,updLogLqw); + } + } + +} diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java index 2c17ef75..bd7eda04 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java @@ -50,14 +50,7 @@ public class BmsSupplierServiceImpl extends ServiceImpl selectSupplierList(BmsSupplier bmsSupplier) { return baseMapper.selectSupplierList(bmsSupplier); @@ -104,7 +97,7 @@ public class BmsSupplierServiceImpl extends ServiceImpl lqw4log = new LambdaQueryWrapper<>(); - lqw4log.eq(TbsBudgetLog::getMigrateFlag,0); - lqw4log.eq(TbsBudgetLog::getRollbackFlag,0); - lqw4log.eq(TbsBudgetLog::getSupplierId, supplierId); - lqw4log.eq(TbsBudgetLog::getCenterType, regionType); - lqw4log.eq(TbsBudgetLog::getCenterId, orgRegionId); - List budgetLogList = budgetLogService.list(lqw4log); - if(CollectionUtil.isNotEmpty(budgetLogList)){ - //查找符合条件的活动 - final List activityIds = budgetLogList.stream().map(TbsBudgetLog::getActivityId).distinct().collect(Collectors.toList()); - LambdaQueryWrapper lqwAct = new LambdaQueryWrapper<>(); - lqwAct.in(TbsActivity::getId,activityIds); - List activityList = activityMapper.selectList(lqwAct); - //查询符合条件的预算 - final List subjectIds = budgetLogList.stream().map(TbsBudgetLog::getSubjectId).distinct().collect(Collectors.toList()); - LambdaQueryWrapper lqwBudget = new LambdaQueryWrapper<>(); - lqwBudget.eq(TbsBudget::getCenterType,regionType); - lqwBudget.eq(TbsBudget::getCenterId, newRegionId); - lqwBudget.eq(TbsBudget::getBudgetState,1); - lqwBudget.and(wq->{ - wq.eq(TbsBudget::getSubjectId,0).or().in(TbsBudget::getSubjectId,subjectIds); - }); - // 将有科目条件的前置 - lqwBudget.orderByDesc(TbsBudget::getSubjectId); - List budgetList = budgetMapper.selectList(lqwBudget); - //查询预算考核期 - List budgetIds = budgetList.stream().map(TbsBudget::getId).distinct().collect(Collectors.toList()); - Map> scheduleItemBudgetsMap = null; - if(CollectionUtil.isNotEmpty(budgetIds)){ - LambdaQueryWrapper budgetItemLqw = new LambdaQueryWrapper<>(); - budgetItemLqw.in(TbsScheduleItemBudget::getBudgetId,budgetIds); - List scheduleItemBudgets = scheduleItemBudgetMapper.selectList(budgetItemLqw); - scheduleItemBudgetsMap = scheduleItemBudgets.stream().collect(Collectors.groupingBy(TbsScheduleItemBudget::getBudgetId)); - } - //查询预算条件 - List conditionBudgetIds = budgetList.stream() - .filter(a->a.getConditionFlag().equals(1)) - .map(TbsBudget::getId).distinct().collect(Collectors.toList()); - Map> budgetConditionsMap = null; - if(conditionBudgetIds.size()>0){ - LambdaQueryWrapper conditionLqw = new LambdaQueryWrapper<>(); - conditionLqw.in(TbsBudgetCondition::getBudgetId,conditionBudgetIds); - List budgetConditions = budgetConditionMapper.selectList(conditionLqw); - budgetConditionsMap = budgetConditions.stream().collect(Collectors.groupingBy(TbsBudgetCondition::getBudgetId)); - } - //用于循环筛选条件 - TbsGoodsType[] goodsTypes = new TbsGoodsType[]{ - TbsGoodsType.sku, - TbsGoodsType.spu, - TbsGoodsType.series, - TbsGoodsType.category, - TbsGoodsType.brand - }; - //已占用预算进行调增 - final Integer optType4Diff = regionType.equals(TbsCenterType.saleRegion.name())? - BudgetLogOptFlag.State_8:BudgetLogOptFlag.State_10; - final Integer optType4Add = regionType.equals(TbsCenterType.saleRegion.name())? - BudgetLogOptFlag.State_7:BudgetLogOptFlag.State_9; - List budgetLog4Adds = budgetLogList.stream().map(budgetLog->{ - TbsBudgetLog obj = CopierUtil.copy(budgetLog,new TbsBudgetLog()); - obj.setId(null); - obj.setOptType(optType4Add); - obj.setMigrateFlag(1); - obj.setMigrateTime(nowTime); - obj.setAmount(obj.getAmount().negate()); - return obj; - }).collect(Collectors.toList()); - //规则:品类条件比科目条件优先级更高 - List budgetLog4Diff = new ArrayList<>(); - //无匹配的费用支出 - List costUnItemList = new ArrayList<>(); - for (TbsBudgetLog budgetLog : budgetLogList) { - //当前活动 - TbsActivity currActivity = null; - for (TbsActivity activity : activityList) { - if(budgetLog.getActivityId().equals(activity.getId())){ - currActivity = activity; - break; - } - } - //(数据结构:value=预算id列表,key=商品类型) - Map> matchConditionBudgetIdsMap = new HashMap<>(); - if(budgetConditionsMap!=null){ - for (Long budgetId : budgetConditionsMap.keySet()) { - List budgetConditions = budgetConditionsMap.get(budgetId); - String pathName = budgetLog.getTargetLevelPathNames(); - for (TbsBudgetCondition condition : budgetConditions) { - if(pathName.contains(condition.getTargetLevelPathNames())){ - List tempList = matchConditionBudgetIdsMap.get(condition.getTargetType()); - if(tempList==null){ - tempList = new ArrayList<>(); - } - tempList.add(budgetId); - matchConditionBudgetIdsMap.put(condition.getTargetType(),tempList); - break; - } - } - } - } - //记录匹配品类条件的预算 - List matchBudgetConditionList = new ArrayList<>(); - List matchBudgetConditionList_tmp = new ArrayList<>(); - for (TbsBudget budget : budgetList) { - if(budget.getConditionFlag().equals(1)){ - for (TbsGoodsType goodsType : goodsTypes) { - List tempList = matchConditionBudgetIdsMap.get(goodsType.name()); - if(CollectionUtil.isNotEmpty(tempList)){ - for (Long budgetId01 : tempList) { - if(budgetId01.equals(budget.getId())){ - matchBudgetConditionList.add(budget); - } - } - } - } - }else { - matchBudgetConditionList_tmp.add(budget); - } - } - //有条件预算优先级更高 - matchBudgetConditionList.addAll(matchBudgetConditionList_tmp); - //第一个预算为最有匹配预算 - TbsBudget matchBudget = null; - TbsScheduleItemBudget matchItemBudget = null; - //记录匹配到的预算 - if(scheduleItemBudgetsMap!=null){ - for (TbsBudget budget : matchBudgetConditionList) { - if(matchBudget!=null){ - break; - } - List scheduleItemBudgets = scheduleItemBudgetsMap.get(budget.getId()); - for (TbsScheduleItemBudget itemBudget : scheduleItemBudgets) { - LocalDateTime actStartDate = currActivity.getPreStartDate().atStartOfDay(); - LocalDateTime actEndDate = currActivity.getPreStartDate().atStartOfDay().with(LocalDateTime.MAX); - if(actStartDate.isAfter(itemBudget.getStartDate())&&actEndDate.isBefore(itemBudget.getEndDate())){ - matchBudget = budget; - matchItemBudget = itemBudget; - break; - } - } - } - } - if(matchBudget!=null){ - //有匹配的预算 - TbsBudgetLog newLog = CopierUtil.copy(budgetLog,new TbsBudgetLog()); - newLog.setId(null); - newLog.setOptType(optType4Diff); - newLog.setBudgetId(matchBudget.getId()); - newLog.setBudgetCode(matchBudget.getBudgetCode()); - newLog.setScheduleOrgId(budgetLog.getScheduleId()); - newLog.setScheduleItemOrgId(budgetLog.getScheduleItemId()); - newLog.setScheduleItemBudgetOrgId(budgetLog.getScheduleItemBudgetId()); - //匹配到的项 - newLog.setScheduleId(matchItemBudget.getScheduleId()); - newLog.setScheduleItemId(matchItemBudget.getScheduleItemId()); - newLog.setScheduleItemBudgetId(matchItemBudget.getId()); - budgetLog4Diff.add(newLog); - }else { - //无匹配的预算 - TbsCostUnItem costUnItem = budgetLog.toTbsCostUnItem(currActivity); - costUnItemList.add(costUnItem); - } - } - //保存 - budgetLogService.saveBatch(budgetLog4Adds); - if(CollectionUtil.isNotEmpty(budgetLog4Diff)){ - budgetLogService.saveBatch(budgetLog4Diff); - } - if(CollectionUtil.isNotEmpty(costUnItemList)){ - costUnItemService.saveBatch(costUnItemList); - } - //设置已迁移状态 - List budgetLogIds = budgetLogList.stream().map(TbsBudgetLog::getId).collect(Collectors.toList()); - TbsBudgetLog updLogParam = new TbsBudgetLog(); - updLogParam.setMigrateFlag(1); - updLogParam.setMigrateTime(nowTime); - LambdaQueryWrapper updLogLqw = new LambdaQueryWrapper<>(); - updLogLqw.in(TbsBudgetLog::getId,budgetLogIds); - budgetLogService.update(updLogParam,updLogLqw); - } - } + @Override public BmsSupplier getByCode(String code,String belong) { diff --git a/src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java b/src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java index 46fd81c0..83821022 100644 --- a/src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java @@ -55,6 +55,7 @@ public class PayPaymentServiceImpl extends ServiceImpl { @Override default List listByIds(Collection idList) { List attaches = IService.super.listByIds(idList); - attaches.forEach(a->a.setPath(null)); return attaches; } } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java index 38b4dada..6b34266f 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java @@ -436,7 +436,7 @@ public class TbsBudgetApplicationService { !budget.getCenterType().equals(centerType) ){ continue; } - if(!subjectId.equals(budget.getSubjectId())&&budget.getSubjectId().equals(0L)){ + if(!subjectId.equals(budget.getSubjectId())&&!budget.getSubjectId().equals(0L)){ continue; } List scheduleItemBudgets = activity.getScheduleItemBudgetList(); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 8ca1dbe6..00dba0f7 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -45,6 +45,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; @@ -467,6 +468,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl addFundFlowList = new ArrayList<>(); LocalDateTime now = LocalDateTime.now(); + Date now2 = Date.from(now.atZone(ZoneId.systemDefault()).toInstant()); for (VtbVerificationSubject verificationSubject : verificationSubjects) { Long subjectId = verificationSubject.getSubjectId(); BigDecimal usedAmount = verificationSubject.getUsedAmount(); @@ -504,13 +506,18 @@ public class VtbVerificationServiceImpl extends ServiceImpl