إعادة بناء الكود

خاص BaseRateType getBaseRateTypeByCdr(CallDetailItem cdr) {

 //TF الرقم المجاني / DID
 إذا ((CdrType.call == cdr.getCdrType() || CdrType.conference == cdr.getCdrType())
 && CallType.offnet == cdr.getCallType() && CallDirection.inbound == cdr.getCallDirection()
 && PrefixType.TollFree.toString().equals(cacheDataService.getPrefixTypeMap().get(cdr.getFromPrefix()))){
 // يجب التحقق من نوع المعدل الصحيح للرقم الظاهري بواسطة VNType الخاص به في ProductRatePlanCharges.
 String subNumber = cdr.getServiceId();
 String virtualNumber = cdr.getToNumber();
 إذا(!StringUtils.isEmpty(virtualNumber)){
 String ProductRatePlanId = null;
 virtualNumber = cdr.getToNumber().substring(cdr.getFromPrefix(). length(), virtualNumber. length());
 Document subDoc = zSubscriptionRepository.findLatestActiveOne(subNumber);
 List subRatePlans = subDoc.getList(ZuoraSubscriptionField.RatePlans, Document.class);
 // احصل على ProductRatePlanId من خلال خطة أسعار الاشتراك التي تحتوي على هذا الرقم الافتراضي.
 ل(خطة معدل المستند: subRatePlans){
 if(virtualNumber.equals(ratePlan.getString(ZuoraSubscriptionRatePlanField.VirtualNumber))){
 ProductRatePlanId =ratePlan.getString(ZuoraSubscriptionField.ProductRatePlanId);
 استراحة؛
 }
 }
 //اصلحني
 log.warn("getBaseRateTypeByCdr - رقم الاشتراك: {}، الرقم الظاهري: {}، ProductRatePlanId: {}"، subNumber، virtualNumber، ProductRatePlanId)؛

 إذا (StringUtils.isEmpty(productRatePlanId)) {
 log.error("getBaseRateTypeByCdr - لا يمكن العثور على ProductRatePlanId حسب الرقم الظاهري في خطط أسعار الاشتراك. رقم الاشتراك: {}"، subNumber)؛
 إرجاع BaseRateType.TollFree؛
 }
 مستند ProductRatePlan = zProductRatePlanRepository.findOneById(productRatePlanId);
 Document dbProductRatePlanCharges = ProductRatePlan.get(ZuoraProductRatePlanField.KeyValueRatePlanCharges, Document.class);
 //اصلحني
 log.warn("getBaseRateTypeByCdr - ProductRatePlan: {}"، ProductRatePlan)؛

 // احصل على vnType في dbProductRatePlanCharges
 إذا (dbProductRatePlanCharges != null && dbProductRatePlanCharges.size() > 0) {
 String vnType = null;
 لـ (مفتاح السلسلة: dbProductRatePlanCharges.keySet()) {
 vnType = ((Document)dbProductRatePlanCharges.get(key)).getString(ZuoraProductRatePlanChargeField.VNType);
 //اصلحني
 log.warn("getBaseRateTypeByCdr - vnType: {}", vnType);
 إذا(!StringUtils.isEmpty(vnType)){
 إذا (vnType.equals(VirtualNumberType.DID.toString())){
 إرجاع BaseRateType.DID؛
 }
 إذا(vnType.equals(VirtualNumberType.TollFree.toString())){
 إرجاع BaseRateType.TollFree؛
 }
 }
 }
 log.error("getBaseRateTypeByCdr - لا يمكن العثور على vnType في ProductRatePlanCharges.vnType: {}"، vnType)؛
 إرجاع BaseRateType.TollFree؛
 }آخر{
 log.error("getBaseRateTypeByCdr - لا يمكن العثور على dbProductRatePlanCharges في ProductRatePlan.dbProductRatePlanCharges size: {}"، dbProductRatePlanCharges.size());
 إرجاع BaseRateType.TollFree؛
 }
 }آخر{
 إرجاع BaseRateType.TollFree؛
 }
 }

}
{"source": "ewof/sharegpt-instruct-unfiltered-deduped", "kind": "human", "evolved_from": null}