2007年6月20日水曜日

Creditcard関係アップグレード

スズキです。

クレジットカード関係の実装がまた入ったので、
今までの成果物をアップグレードしときました。
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/

今回のアップグレードは下記二点です。

まずはsuz-s2-validatorのCreditcardType.javaで定義されている、
クレジットカードタイプの列挙型にIDをつけました。
getId()で取得できます。

IDに関しては独断と偏見で下記のように定義しています。

1: AMEX
2: VISA
3: MASTERCARD
4: DISCOVER
5: DINERS
6: JCB

--------CreditcardType.java
package jp.co.iret.suz.s2.validator.type;
public enum CreditcardType {
  AMEX, VISA, MASTERCARD, DISCOVER, DINERS, JCB;
  public int getId() {
    switch(this) {
      case AMEX: return 1;
      case VISA: return 2;
      case MASTERCARD: return 3;
      case DISCOVER: return 4;
      case DINERS: return 5;
      case JCB: return 6;
      default: throw new RuntimeException();
    }
  }
}
--------
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/type/CreditcardType.java

次に、上記IDにのっとって、DBのクレジットカードタイプ(マスタ)テーブル
のようなものも用意しておきました。
(INSERT文はSVNにて)

--------suz_creditcard_type-oracle.sql
CREATE TABLE CREDITCARD_TYPE (
  CREDITCARD_TYPE_ID NUMBER(1) PRIMARY KEY,
  CREDITCARD_TYPE_NAME VARCHAR2(16) NOT NULL UNIQUE,
  UNAVAILABLE_FLAG NUMBER(1) NOT NULL,
  DELETE_FLAG NUMBER(1) NOT NULL
);
--------
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/sql/suz_creditcard_type-oracle.sql

使い回しながらアップグレード、の流れが続けば最高だね。

--
blog: http://suz-lab.blogspot.com/

0 コメント: