Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private List<UsageDto> getVoiceAndSmsUsage( String msisdn, SubscriberWithSusgDto subscriberWithSusgDto ) throws Exception{
- List<PackageUsageDto> packageUsageDto = getUniquePackageUsageDtos( usageDao.getNonAmpSubscriberUsage( subscriberWithSusgDto ) );
- List<UsageAmountDto> usageAmountDtos = usageDao.getUsageAmountDto( subscriberWithSusgDto );
- if( usageAmountDtos == null ){
- usageAmountDtos = new ArrayList<UsageAmountDto>();
- }
- List<UsageDto> usageDtos = generateUsageDto( packageUsageDto, usageAmountDtos );
- List<SubscriberServiceParamsDto> subscriberServiceParamsDtos = usageDao.getUnlimitedAmountDto( subscriberWithSusgDto );
- //Let's add unlimited amount if they are defined in bcc_domain_values
- // if( (packageUsageDto != null) && (packageUsageDto.size() > 0) ){
- List<BccDomainVO> domainValues = domainSessionFacade.getDomainValues( DOMA_CONSTANT );
- for( SubscriberServiceParamsDto subscriberServiceParamsDto : subscriberServiceParamsDtos ){
- String usageServiceParamValue = subscriberServiceParamsDto.getNwParamValue();
- BccDomainVO bccDomain = domainValues.stream()
- .filter( line -> line.getValueCode().equals( usageServiceParamValue ) ).findAny().orElse( null );
- if( bccDomain != null ){
- List<String> voiceTacls = Arrays.asList( bccDomain.getTextValue().split( SPLITTER ) );
- List<String> smsTacls = Arrays.asList( bccDomain.getText1().split( SPLITTER ) );
- for( String voice : voiceTacls ){
- //kontrollime kas antud tacl on juba meil billingust tulnud
- usageDtos = modifyUnlimited( usageDtos, voice );
- if (voice.equals("E50")) {
- removeUsageFor("E50", usageDtos);
- }
- if (voice.equals("E62")) {
- removeUsageFor("E62", usageDtos);
- }
- UsageDto usageItem = new UsageDto();
- try{
- DailyVoiceUsageDto voiceDto = crmtUsageDao.getLastMonthVoiceUsage( msisdn );
- if( voiceDto != null ){
- if( voice.equals( "E50" ) ){
- usageItem.setUsed( voiceDto.getOutTele2Dur() + voiceDto.getOutRleDur() + voiceDto.getOutMuuFixDur() );
- }
- else if( voice.equals( "E62" ) ){
- usageItem.setUsed( voiceDto.getOutEmtDur() + voiceDto.getOutEdlDur() + voiceDto.getOutElDur() );
- }
- }
- else {
- usageItem.setUsed( 0L );
- }
- }
- catch( Exception e ){
- log.error( "exception getting data from CRM ", e );
- System.out.println("in the exception for getting voiceUsage " + e.getMessage());
- }
- usageItem.setTariffClass( voice );
- usageItem.setUnitType( UsageUnit.TIME );
- usageItem.setRecordType( RecordType.VOICE );
- usageItem.setUsageType( AllowanceTypeEnum.UNLIMITED );
- usageItem.setInPackage(true);
- usageItem.setDescription( networkTariffDao.getNetworkTariff( voice ) );
- usageDtos.add( usageItem );
- }
- for( String sms : smsTacls ){
- //kontrollime kas antud tacl on juba meil billingust tulnud
- usageDtos = modifyUnlimited( usageDtos, sms );
- if (sms.equals("E51")) {
- removeUsageFor("E51", usageDtos);
- }
- if (sms.equals("E63")) {
- removeUsageFor("E63", usageDtos);
- }
- UsageDto usageItem = new UsageDto();
- try{
- DailyMessageUsageDto messageDto = crmtUsageDao.getLastMonthMessageUsage( msisdn );
- if( messageDto != null ){
- if( sms.equals( "E51" ) ){
- usageItem.setUsed( messageDto.getOutSmsmmsRleCnt() + messageDto.getOutSmsmmsTele2Cnt() + messageDto.getOutRoamTsSmsCnt() );
- }
- else if( sms.equals( "E63" ) ){
- usageItem.setUsed( messageDto.getOutSmsmmsEmtCnt() + messageDto.getOutSmsmmsEdlCnt() + messageDto.getOutSmsmmsElCnt() );
- }
- }
- else {
- usageItem.setUsed( 0L );
- }
- }
- catch( Exception e ){
- System.out.println("in the exception for getting messageUsage " + e.getMessage());
- log.error( "exception getting data from CRM ", e );
- }
- usageItem.setTariffClass( sms );
- usageItem.setDescription( networkTariffDao.getNetworkTariff( sms ) );
- usageItem.setUnitType( UsageUnit.CNT );
- usageItem.setRecordType( RecordType.MESSAGES );
- usageItem.setUsageType( AllowanceTypeEnum.UNLIMITED );
- usageItem.setInPackage(true);
- usageDtos.add( usageItem );
- }
- }
- }
- return usageDtos;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement