Common Code
이용사별 카테고리나 상품 재질, 옵션의 코드 값을 다룹니다. 코드를 고객 측 언어로 출력하거나, 관리자측 언어로 변화합니다.
개발 시점이나, 사용 용도에 따라 저장되는 디비 테이블이 달라서 직접사용이 어렵기 때문에 JangBoGo.CommonCode.CommonCode 클래스를 이용합니다.
Quick Start
// 결제방법 값인 code 를 관리자 언어로 변경
var payTypeTextForAdmin = CommonCode.CodeMember[CommonCodeGroupType.PAYMENTTYPE, code, CommonCodeLang.KR];
// 결제방법 값인 code 를 고객 언어로 변경
var payTypeTextForUser = CommonCode.CodeMember["PAYMENTTYPE", code, CommonCodeLang.JP];
동작 방식
- 사이트 구동시점에 tblCategory, tblCodeType, tblCode, partnerCodeType, partnerCodeType 테이블의 값을 메모리에 로드
- CommonCode.CodeMember[string type, string code, CommonCodeLang lang, int joinerId]연산자를 이용해 값을 취득
값 취득 우선순위
CommonCode에서 다루는 코드는 크게 세가지 종류입니다.
- 카테고리 코드
- 파트너코드
- 코드
이중 1번 카테고리코드는 로직상에 존재하지만 사용하지 않습니다. 나머지 2. 파트너코드와 와 3. 코드는 같은 type, code를 가질 수 있습니다. 이때는 2. 파트너코드의 값을 우선시 하며 3. 코드는 무시됩니다.
DataBase 구조
tblCodeType 와 tblCode 가 한쌍으로 parterCodeType 와 parterCode 가 한쌍으로 동작합니다. 각 테이블은 adprintNewDb와 OrderMall 데이터베이스에 별도 존재합니다.
| 테이블 | 설명 | 
|---|---|
| adprintNewDB.dbo.tblCodeType OrderMall.dbo.tblCodeType | 공통 코드 타입 정보 | 
| adprintNewDB.dbo.tblCode OrderMall.dbo.tblCode | 공통 코드 정보 | 
| adprintNewDB.dbo.parterCodeType OrderMall.dbo.parterCodeType | 이용사별 코드 타입 정보 | 
| adprintNewDB.dbo.parterCode OrderMall.dbo.parterCode | 이용사별 코드 정보 | 
tblCodeType Table
| tblCodeType Table | 설명 | partnerCodeType Table | 
|---|---|---|
| intCodeTypeNum | id | id | 
| - | 이용사 id | joinerId | 
| strCodeType | 관리자용 표기값 | name | 
| strCodeTypeEng | 코드값 | code | 
| strCodeTypeJP | 유저용 표기값 | nameJP | 
| strState | 상태 (DEL, REG) | state | 
| strCodeTypeCN | 중국유저용 표기값 | - | 
tblCode Table
| tblCode Table | 설명 | parterCode Table | 
|---|---|---|
| intCodeNum | id | id | 
| intCodeTypeNum | 코드 타입 id (FK) | partnerCodeTypeId | 
| strCodeNameEng | 코드값 | code | 
| strCodeName | 관리자용 표기값 | name | 
| strCodeNameJP | 유저용 표기값 | nameJP | 
| strState | 상태 (DEL, REG) | state | 
| strCodeNameCN | 중국유저용 표기값 | - |