如何解决想要消除为减少重复而创建的类中的重复
有人可以帮助我如何消除重复以减少代码中创建的以下类的重复分数吗?我需要减少代码以提高编码标准不知道如何去做,请有人帮助我。
想要消除创建的类中的重复以减少重复
class SubmissionFieldsSerializer(serializers.ModelSerializer):
class Meta:
model = submissionfields
fields = '__all__'
def update(self,instance,validated_data):
for key,value in validated_data.items():
if hasattr(instance,key):
if key == "email_embedd": # special case
instance.email_embedd = json.dumps(value)
else:
setattr(instance,key,value)
# instance.ef_underwriter_decision = validated_data.get('ef_underwriter_decision',# instance.ef_underwriter_decision)
# instance.ef_Feedback = validated_data.get('ef_Feedback',instance.ef_Feedback)
# NBI USE CASE
if instance.ef_underwriter_decision == configur.get('decisions','non_binding_indication'):
# enquiry Log
dict_obj = temp_dict()
# Update Submission table based on underwriter decision
submission.objects.filter(email_id=instance.email_id).update(email_status='active')
submission.objects.filter(email_id=instance.email_id).update(
email_uwriter_decision=instance.ef_underwriter_decision)
submission.objects.filter(email_id=instance.email_id).update(
email_today_mail=configur.get('mailstatus','nbi_mail_type'))
instance.email_today_mail = configur.get('mailstatus','nbi_mail_type')
# setting email_today maio to 0 for submission fields
# CR7.1 Changes (FROM COMPLETED TAB TO PROCESSED TAB)
submission.objects.filter(email_id=instance.email_id).update(
email_deleted=configur.get('mailstatus','nbi_mail_type'))
temp_email_table = submission.objects.filter(email_id=instance.email_id).values(
'email_id','enquiry_id','email_sender','email_subject','email_broker','email_outlook_date','email_today_mail','email_assigned_user','email_deleted')
for today in temp_email_table:
for t in today:
dict_obj.add(t,today[t])
if len(validated_data.get('ef_insured_name',instance.ef_insured_name)['name']) == 0:
dict_obj.add('ef_insured_name',not_avbl)
else:
dict_obj.add('ef_insured_name',validated_data.get('ef_insured_name',instance.ef_insured_name)['name'])
if len(validated_data.get('ef_obligor_name',instance.ef_obligor_name)['name']) == 0:
dict_obj.add('ef_obligor_name',not_avbl)
else:
dict_obj.add('ef_obligor_name',validated_data.get('ef_obligor_name',instance.ef_obligor_name)['name'])
if len(validated_data.get('ef_obligor_name',instance.ef_obligor_name)['country']) == 0:
dict_obj.add('el_country_name',not_avbl)
else:
dict_obj.add('el_country_name',instance.ef_obligor_name)['country'])
dict_obj.add('enquirylog_limit',validated_data.get('ef_financials',instance.ef_financials)['limit'])
dict_obj.add('ef_underwriter_decision',validated_data.get('ef_underwriter_decision',instance.ef_underwriter_decision))
dict_obj.add('ef_decision_nty_fields',validated_data.get('ef_decision_nty_fields',instance.ef_decision_nty_fields))
dict_obj.add('ef_Feedback',validated_data.get('ef_Feedback',instance.ef_Feedback))
dict_obj.add('relation_id',validated_data.get('relation_id',instance.relation_id))
dict_obj.add('enquirylog_status','active')
dict_obj.add('enquirylog_pipeline',validated_data.get('ef_pipeline',instance.ef_pipeline))
# CR3.2 Primium and basis point addition
dict_obj.add('broker_email_id',validated_data.get('broker_email_id',instance.broker_email_id))
dict_obj.add('premium',validated_data.get('premium',instance.premium))
dict_obj.add('basis_points_decision',validated_data.get('basis_points_decision',instance.basis_points_decision))
dict_obj.add('basis_points',validated_data.get('basis_points',instance.basis_points))
dict_obj.add('coverage',validated_data.get('ef_coverage',instance.ef_coverage)['coverage'])
dict_obj.add('tenor',instance.ef_coverage)['tenor'])
enquiry = enquirylog(email_id=dict_obj['email_id'],enquiry_id=dict_obj['enquiry_id'],coverage=dict_obj['coverage'],tenor=dict_obj['tenor'],email_subject=dict_obj['email_subject'],relation_id=dict_obj['relation_id'],email_broker=dict_obj['email_broker'],email_outlook_date=dict_obj['email_outlook_date'],enquirylog_limit=dict_obj['enquirylog_limit'],email_assigned_user=dict_obj['email_assigned_user'],email_today_mail=dict_obj['email_today_mail'],ef_insured_name=dict_obj['ef_insured_name'],ef_obligor_name=dict_obj['ef_obligor_name'],el_country_name=dict_obj['el_country_name'],ef_underwriter_decision=dict_obj['ef_underwriter_decision'],ef_decision_nty_fields=dict_obj['ef_decision_nty_fields'],ef_Feedback=dict_obj['ef_Feedback'],enquirylog_status=dict_obj['enquirylog_status'],enquirylog_pipeline=dict_obj['enquirylog_pipeline'],email_deleted=dict_obj['email_deleted'],premium=dict_obj['premium'],basis_points=dict_obj['basis_points'],basis_points_decision=dict_obj['basis_points_decision'],broker_email_id=dict_obj['broker_email_id']
)
enquiry.save()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。