微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

想要消除为减少重复而创建的类中的重复

如何解决想要消除为减少重复而创建的类中的重复

有人可以帮助我如何消除重复以减少代码中创建的以下类的重复分数吗?我需要减少代码以提高编码标准不知道如何去做,请有人帮助我。

想要消除创建的类中的重复以减少重复

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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?