/home/mjc1/public_html/plugin/nicepay/lib/nicepay/core/MessageIdVersionFactory.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
/**
 * 
 * @author kblee
 *
 */
require_once dirname(__FILE__).'/PayCardServiceIdVersionSetter.php';
require_once 
dirname(__FILE__).'/PayBankServiceIdVersionSetter.php';
require_once 
dirname(__FILE__).'/PayVbankBulkServiceIdVersionSetter.php';
require_once 
dirname(__FILE__).'/PayVbankServiceIdVersionSetter.php';
require_once 
dirname(__FILE__).'/CellPhoneRegItemIdVersionSetter.php';
require_once 
dirname(__FILE__).'/CellPhoneSelfDlverIdVersionSetter.php';
require_once 
dirname(__FILE__).'/CellPhoneSmsDlverIdVersionSetter.php';
require_once 
dirname(__FILE__).'/CellPhoneItemConfmIdVersionSetter.php';
require_once 
dirname(__FILE__).'/PayCellPhoneServiceIdVersionSetter.php';
require_once 
dirname(__FILE__).'/PayReceiptServiceIdVersionSetter.php';
require_once 
dirname(__FILE__).'/CancelServiceIdVersionSetter.php';
require_once 
dirname(__FILE__).'/PayCpBillServiceIdVersionSetter.php';
require_once 
dirname(__FILE__).'/EscrowDeliveryRegisterIdVersionSetter.php';
require_once 
dirname(__FILE__).'/EscrowBuyDecisionIdVersionSetter.php';
require_once 
dirname(__FILE__).'/EscrowBuyRejectIdVersionSetter.php';
require_once 
dirname(__FILE__).'/MessageIdVersionSetter.php';
class 
MessageIdVersionFactory{
    
    private static 
$PAY_SERVICE_IDVER_CLZZ_MAP;
    
    private static 
$CANCEL_SERVICE_IDVER_CLZZ_MAP;
    
    
    private static 
$ESCROW_SERVICE_IDVER_CLZZ_MAP;

    
/**
     * 
     */
    
public function MessageIdVersionFactory(){
        
        if(
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP == null){
            
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP = array();
            
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP[BANK_PAY_METHOD] = "PayBankServiceIdVersionSetter";
            
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP[VBANK_PAY_METHOD] = "PayVbankServiceIdVersionSetter";
            
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP[CARD_PAY_METHOD] = "PayCardServiceIdVersionSetter";
            
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP[CELLPHONE_PAY_METHOD] = "PayCellPhoneServiceIdVersionSetter";
            
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP[CPBILL_PAY_METHOD] = "PayCpBillServiceIdVersionSetter";
            
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP[VBANK_BULK_PAY_METHOD] = "PayVBankBulkServiceIdVersionSetter";
            
MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP[CASHRCPT_PAY_METHOD] = "PayReceiptServiceIdVersionSetter";
        }
        
        if(
MessageIdVersionFactory::$CANCEL_SERVICE_IDVER_CLZZ_MAP == null){
            
MessageIdVersionFactory::$CANCEL_SERVICE_IDVER_CLZZ_MAP = array();
            
MessageIdVersionFactory::$CANCEL_SERVICE_IDVER_CLZZ_MAP[CANCEL_SERVICE_CODE] = "CancelServiceIdVersionSetter";
        }
        
        if(
MessageIdVersionFactory::$ESCROW_SERVICE_IDVER_CLZZ_MAP == null){
            
MessageIdVersionFactory::$ESCROW_SERVICE_IDVER_CLZZ_MAP = array();
            
MessageIdVersionFactory::$ESCROW_SERVICE_IDVER_CLZZ_MAP[ESCROW_DELIVERY_REGISTER] = "EscrowDeliveryRegisterIdVersionSetter";
            
MessageIdVersionFactory::$ESCROW_SERVICE_IDVER_CLZZ_MAP[ESCROW_BUY_DECISION] = "EscrowBuyDecisionIdVersionSetter";
            
MessageIdVersionFactory::$ESCROW_SERVICE_IDVER_CLZZ_MAP[ESCROW_BUY_REJECT] = "EscrowBuyRejectIdVersionSetter";
        }
        
    }
    
    
/**
     * 
     * @param  $serviceMode
     * @param  $payMethod
     */
    
public function  create($serviceMode,$payMethod){
        
// ¼­ºñ½º¸ðµå¿¡ µû¸¥ version°ú ID¼³Á¤
          
$serviceIdVersionSetter null;
        if(
PAY_SERVICE_CODE == $serviceMode){
            
$serviceIdVersionSetter MessageIdVersionFactory::$PAY_SERVICE_IDVER_CLZZ_MAP[$payMethod];
        }else if(
CANCEL_SERVICE_CODE == $serviceMode){
            
$serviceIdVersionSetter MessageIdVersionFactory::$CANCEL_SERVICE_IDVER_CLZZ_MAP[$serviceMode];
        }else if(
ESCROW_SERVICE_CODE == $serviceMode){
            
$serviceIdVersionSetter MessageIdVersionFactory::$ESCROW_SERVICE_IDVER_CLZZ_MAP[$payMethod];
        }else{
            throw new 
Exception("Not Supported ServiceCode or PayMethod");
        }
        
        if(
$serviceIdVersionSetter!=null){
            
$reflectionClass = new ReflectionClass($serviceIdVersionSetter);
            if(
$reflectionClass->implementsInterface("MessageIdVersionSetter") && $reflectionClass->isInstantiable()){
                return 
$reflectionClass->newInstance();
            }else{
                throw new 
Exception("Not Existed PayServiceIdVersionSetter");
            }
        }else{
            throw new 
Exception("Not Existed PayServiceIdVersionSetter");
        }
        
/*
        else if(CELLPHONE_REG_ITEM == $serviceMode){
            return new CellPhoneRegItemIdVersionSetter();
        }else if(CELLPHONE_SELF_DLVER == $serviceMode){
            return new CellPhoneSelfDlverIdVersionSetter();
        }else if(CELLPHONE_SMS_DLVER == $serviceMode){
            return new CellPhoneSmsDlverIdVersionSetter();
        }else if(CELLPHONE_ITEM_CONFM == $serviceMode){
            return new CellPhoneItemConfmIdVersionSetter();
        }else{
            return null;
        }
        */
        
    
}
}
?>