信貸業務(Ali),信貸業務ali

來源:互聯網
上載者:User

信貸業務(Ali),信貸業務ali

1、信貸業務視角

  信貸業務主要有兩個視角,借款人和出資機構。借款人關心借多少錢,還多少錢,多少利息;機構關心信貸資產風險,收益。

  領域模型上兩個視角分開:個人--->賬單、機構--->資產。出資機構可以多樣化(機構對接)。多一個機構(多一種類型的對接)。賬單--機構資產--機構對接。借記賬務,貸記賬務,資產賬務,資信調查,信貸管理。

2、一達通·流水貸

  一達通·流水貸業務:面向使用一達通出口基礎服務的客戶,以出口額度積累授信額度的無抵押、免擔保、純信用貸款服務,該服務由**聯合多家銀行共同推出。下面流向圖是業務的基本流程。

3、代碼中減少if...else...的使用

在我們的代碼中有很多是基於類型的不同而有不同的處理邏輯,最典型的,不同枚舉類型的轉換:

public static CreditSource convertCreditSource(Short quotaSource) {        if (quotaSource == null) {            return null;        }        if (StringUtils.equals(QuotaSourceEnum.CMBSX.getValue(), quotaSource.toString())) {            return CreditSource.bank_cmb;        }        if (StringUtils.equals(QuotaSourceEnum.SUNSHINESX.getValue(), quotaSource.toString())) {            return CreditSource.ecreditbao_sun;        }        if (StringUtils.equals(QuotaSourceEnum.CMBCREDITLOANSX.getValue(), quotaSource.toString())) {            return CreditSource.creditloan_cmb;        }        if (StringUtils.equals(QuotaSourceEnum.CREDITBUY_BUYERSX.getValue(), quotaSource.toString())) {            return CreditSource.creditbuy_buyer;        }        if (StringUtil.equals(QuotaSourceEnum.CREDITBUY_SELLERSX.getValue(), quotaSource.toString())) {            return CreditSource.creditbuy_seller;        }        return null;    }

如果可以將這段代碼修改成如下方式,會不會看起來更簡潔一些?

    public static CreditSource convertCreditSource(Short quotaSource) {        if (quotaSource == null) {            return null;        }        return QuotaSourceEnum.parse(quotaSource.toString()).getCreditSource();    }

要實現這種修改,即我們需要改造如下QuotaSourceEnum枚舉類:

    public enum QuotaSourceEnum {        /** 保證金授信來源 **/        BZJSX("1"),        /** 即時到賬下的行業授信 **/        INSTANT_HYSX("2"),        /** 賬期交易下的行業授信 **/        ZHANGQI_HYSX("3"),        /** 關係授信 **/        GXSX("4"),        /** 協議授信 **/        XYSX("5"),        /** 招行授信 **/        CMBSX("6"),        /** 陽光授信 **/        SUNSHINESX("7"),        /** 招行貸款 **/        CMBCREDITLOANSX("8"),        /** 買家賒購買家授信 **/        CREDITBUY_BUYERSX("9"),        /** 買家賒購賣家授信 **/        CREDITBUY_SELLERSX("10");        String value;        QuotaSourceEnum(String value){            this.value = value;        }        public String getValue() {            return value;        }        public void setValue(String value) {            this.value = value;        }        public static QuotaSourceEnum parse(String value) {            if (StringUtils.isBlank(value)) {                return null;            }            for (QuotaSourceEnum quotaSource : QuotaSourceEnum.values()) {                if (value.equals(quotaSource.value)) {                    return quotaSource;                }            }            return null;        }    }

修改成:

public enum QuotaSourceEnum {    /** 保證金授信來源 **/    BZJSX("1", null),    /** 即時到賬下的行業授信 **/    INSTANT_HYSX("2", null),    /** 賬期交易下的行業授信 **/    ZHANGQI_HYSX("3", null),    /** 關係授信 **/    GXSX("4", null),    /** 協議授信 **/    XYSX("5", null),    /** 招行授信 **/    CMBSX("6", CreditSource.bank_cmb),    /** 陽光授信 **/    SUNSHINESX("7", CreditSource.ecreditbao_sun),    /** 招行貸款 **/    CMBCREDITLOANSX("8", CreditSource.creditloan_cmb),    /** 買家賒購買家授信 **/    CREDITBUY_BUYERSX("9", CreditSource.creditbuy_buyer),    /** 買家賒購賣家授信 **/    CREDITBUY_SELLERSX("10", CreditSource.creditbuy_seller);     final String value;    final CreditSource creditSource;     QuotaSourceEnum(String value, CreditSource creditSource){        this.value = value;        this.creditSource = creditSource;    }....}

個人感覺使用Map的方式比這種if-else要簡潔一些。還有字串的比較,統一使用:

StringUtils.equals(str1, str2);StringUtils.equalsIgnoreCase(str1, str2);

4、枚舉類Enum中添加邏輯

  Enum中並不僅僅是一種枚舉類型,它其實是一種特殊的類。比如在《Effective Java》中推薦使用enum來實現單例模式。既然作為類,我們就可以向它內部添加邏輯,把和它相關的邏輯放在它的內部,而不是僅僅把它作為枚舉,然後在外部做if-else判斷。比如我們代碼中有如下的邏輯

5、

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.