Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.61 KB | None | 0 0
  1. private List<UsageDto> getVoiceAndSmsUsage( String msisdn, SubscriberWithSusgDto subscriberWithSusgDto ) throws Exception{
  2. List<PackageUsageDto> packageUsageDto = getUniquePackageUsageDtos( usageDao.getNonAmpSubscriberUsage( subscriberWithSusgDto ) );
  3.  
  4. List<UsageAmountDto> usageAmountDtos = usageDao.getUsageAmountDto( subscriberWithSusgDto );
  5. if( usageAmountDtos == null ){
  6. usageAmountDtos = new ArrayList<UsageAmountDto>();
  7. }
  8. List<UsageDto> usageDtos = generateUsageDto( packageUsageDto, usageAmountDtos );
  9. List<SubscriberServiceParamsDto> subscriberServiceParamsDtos = usageDao.getUnlimitedAmountDto( subscriberWithSusgDto );
  10.  
  11. //Let's add unlimited amount if they are defined in bcc_domain_values
  12. // if( (packageUsageDto != null) && (packageUsageDto.size() > 0) ){
  13.  
  14. List<BccDomainVO> domainValues = domainSessionFacade.getDomainValues( DOMA_CONSTANT );
  15.  
  16. for( SubscriberServiceParamsDto subscriberServiceParamsDto : subscriberServiceParamsDtos ){
  17. String usageServiceParamValue = subscriberServiceParamsDto.getNwParamValue();
  18. BccDomainVO bccDomain = domainValues.stream()
  19. .filter( line -> line.getValueCode().equals( usageServiceParamValue ) ).findAny().orElse( null );
  20. if( bccDomain != null ){
  21. List<String> voiceTacls = Arrays.asList( bccDomain.getTextValue().split( SPLITTER ) );
  22. List<String> smsTacls = Arrays.asList( bccDomain.getText1().split( SPLITTER ) );
  23. for( String voice : voiceTacls ){
  24. //kontrollime kas antud tacl on juba meil billingust tulnud
  25. usageDtos = modifyUnlimited( usageDtos, voice );
  26.  
  27. if (voice.equals("E50")) {
  28. removeUsageFor("E50", usageDtos);
  29. }
  30. if (voice.equals("E62")) {
  31. removeUsageFor("E62", usageDtos);
  32. }
  33.  
  34. UsageDto usageItem = new UsageDto();
  35. try{
  36. DailyVoiceUsageDto voiceDto = crmtUsageDao.getLastMonthVoiceUsage( msisdn );
  37. if( voiceDto != null ){
  38. if( voice.equals( "E50" ) ){
  39. usageItem.setUsed( voiceDto.getOutTele2Dur() + voiceDto.getOutRleDur() + voiceDto.getOutMuuFixDur() );
  40. }
  41. else if( voice.equals( "E62" ) ){
  42. usageItem.setUsed( voiceDto.getOutEmtDur() + voiceDto.getOutEdlDur() + voiceDto.getOutElDur() );
  43. }
  44. }
  45. else {
  46. usageItem.setUsed( 0L );
  47. }
  48. }
  49. catch( Exception e ){
  50. log.error( "exception getting data from CRM ", e );
  51. System.out.println("in the exception for getting voiceUsage " + e.getMessage());
  52. }
  53. usageItem.setTariffClass( voice );
  54. usageItem.setUnitType( UsageUnit.TIME );
  55. usageItem.setRecordType( RecordType.VOICE );
  56. usageItem.setUsageType( AllowanceTypeEnum.UNLIMITED );
  57. usageItem.setInPackage(true);
  58. usageItem.setDescription( networkTariffDao.getNetworkTariff( voice ) );
  59. usageDtos.add( usageItem );
  60. }
  61. for( String sms : smsTacls ){
  62. //kontrollime kas antud tacl on juba meil billingust tulnud
  63. usageDtos = modifyUnlimited( usageDtos, sms );
  64.  
  65. if (sms.equals("E51")) {
  66. removeUsageFor("E51", usageDtos);
  67. }
  68. if (sms.equals("E63")) {
  69. removeUsageFor("E63", usageDtos);
  70. }
  71.  
  72. UsageDto usageItem = new UsageDto();
  73. try{
  74. DailyMessageUsageDto messageDto = crmtUsageDao.getLastMonthMessageUsage( msisdn );
  75. if( messageDto != null ){
  76. if( sms.equals( "E51" ) ){
  77. usageItem.setUsed( messageDto.getOutSmsmmsRleCnt() + messageDto.getOutSmsmmsTele2Cnt() + messageDto.getOutRoamTsSmsCnt() );
  78. }
  79. else if( sms.equals( "E63" ) ){
  80. usageItem.setUsed( messageDto.getOutSmsmmsEmtCnt() + messageDto.getOutSmsmmsEdlCnt() + messageDto.getOutSmsmmsElCnt() );
  81. }
  82. }
  83. else {
  84. usageItem.setUsed( 0L );
  85. }
  86. }
  87. catch( Exception e ){
  88. System.out.println("in the exception for getting messageUsage " + e.getMessage());
  89. log.error( "exception getting data from CRM ", e );
  90. }
  91. usageItem.setTariffClass( sms );
  92. usageItem.setDescription( networkTariffDao.getNetworkTariff( sms ) );
  93. usageItem.setUnitType( UsageUnit.CNT );
  94. usageItem.setRecordType( RecordType.MESSAGES );
  95. usageItem.setUsageType( AllowanceTypeEnum.UNLIMITED );
  96. usageItem.setInPackage(true);
  97. usageDtos.add( usageItem );
  98. }
  99. }
  100. }
  101. return usageDtos;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement