Project

General

Profile

Specification » History » Revision 3

Revision 2 (Soh Keong, 06/29/2022 09:37 AM) → Revision 3/19 (Soh Keong, 06/29/2022 10:02 AM)

{{toc}} 

 h1. Specification 

 h1. Activity Diagram 

 !PinBase.png! 
 !PinLess.png! 

 h1. Programming Guide 

 h2. Jar version  

 |_. version |_. Description                            | 
 | 1.11        | Init                                     | 



 h2. Jar File Download 

 "Jar":/redmine/attachments/download/661/razerBill-1.0.jar "Jar": 
 "Properties":/redmine/attachments/download/662/razer.properties 
 "lib"/redmine/attachments/download/660/lib.zip "Properties": 

 h3. Classes 

 * *com.cosway.razer.bean*      - MobileInitRequestBean, MobileInitResponseBean, MobileConfirmRequestBean, MobileConfirmResponseBean, StockBean 
 * *com.cosway.razer.common*    - CommonConstant, CommonProperties, ResponseCode 
 * *com.cosway.razer.dao*       - RazerInterface 
 * *com.cosway.razer.service* - MobileService 
 * *com.cosway.razer.util*      - HttpManager, MyUtil 

 h3. properties file 

 * *razer.properties* 

 # *razer.url*              -  
 # *authetication.scheme* -  
 # *terminal.code*          -  
 # *secret.key*             -  
 # *iv.key*                 -  
 # *CONNECTION_TIMEOUT*     -  
 # *READ_TIMEOUT*           -  


 h2. Database Table 

 <pre> 
 CREATE TABLE RAZER_INTERFACE ( 
	 ORDER_ID VARCHAR(15) NOT NULL,  
	 SHOPPER_REF_NO INTEGER, 
	 CURRENCY VARCHAR(3), 
	 TEMPLATE VARCHAR(20), 
	 PRODUCT_CODE VARCHAR(20), 
	 CHARGE_AMT DECIMAL(15,2),  
	 QUANTITY INTEGER, 
	 ORDER_ID_RAZER VARCHAR(25), 
	 RES_CODE VARCHAR(20), 
	 RES_MESSAGE VARCHAR(100), 
	 IS_VALID CHARACTER NOT NULL DEFAULT 'N',  
	 CREATE_DATETIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 
	 MODIFY_DATETIME TIMESTAMP,  
	 PRIMARY KEY (ORDER_ID)) 

 CREATE TABLE RAZER_BILL_INTERFACE ( 
	 ORDER_ID VARCHAR(15) NOT NULL,  
	 BILL_REFERENCE_1 VARCHAR(20), 
	 BILL_REFERENCE_2 VARCHAR(50), 
	 BILL_REFERENCE_3 VARCHAR(50), 
	 BILL_REFERENCE_4 VARCHAR(20), 
	 BILL_REFERENCE_5 VARCHAR(20), 
	 LATEST VARCHAR(1), 	
	 PRIMARY KEY (ORDER_ID)) 

 CREATE INDEX UI_LATEST ON RAZER_BILL_INTERFACE(LATEST) 

 CREATE TABLE RAZER_STOCK_INTERFACE ( 
	 ORDER_ID VARCHAR(15) NOT NULL,  
	 SERIAL_NO_1 VARCHAR(20), 
	 SERIAL_NO_2 VARCHAR(20), 
	 SERIAL_NO_3 VARCHAR(20), 
	 SERIAL_NO_4 VARCHAR(20), 
	 SERIAL_NO_5 VARCHAR(20), 
	 PIN_1 VARCHAR(30), 
	 PIN_2 VARCHAR(30), 
	 PIN_3 VARCHAR(30), 
	 PIN_4 VARCHAR(30), 
	 PIN_5 VARCHAR(30), 
	 EXPIRY_DATE_1 DATE, 
	 EXPIRY_DATE_2 DATE, 
	 EXPIRY_DATE_3 DATE, 
	 EXPIRY_DATE_4 DATE, 
	 EXPIRY_DATE_5 DATE, 
	 PRIMARY KEY (ORDER_ID)) 
 </pre> 


 h2. Mobile Service 

 <pre> 
 com.cosway.razer.service.MobileService service = new com.cosway.razer.service.MobileService(); 
 </pre> 

 h3. mobileInit 

 <pre> 
 com.cosway.razer.bean.MobileInitResponseBean responseBean = service.mobileInit(Connection conn, MobileInitRequestBean bean); 
 </pre> 

 # *conn*             - Database connection. 
 # *bean*             - MobileInitRequestBean    object. 
 > * *orderId*        -  
 > * *ShopperRefNo* -  
 > * *Currency*       -  
 > * *ProductCode*    -  
 > * *Quantity*       -  
 > * *Template*       -  

 # *responseBean*     - MobileInitResponseBean object. 
 > * *responseCode* -  
 > * *httpMessage*    -  
 > * *orderId*        -  
 > * *amount*         -  
 > * *token*          -  

 h3. mobileConfirm / mobileQuery 

 <pre> 
 com.cosway.razer.bean.MobileConfirmResponseBean responseBean = service.mobileConfirm(Connection conn, String orderId); 
 com.cosway.razer.bean.MobileConfirmResponseBean responseBean = service.mobileQuery(Connection conn, String orderId); 
 </pre> 

 # *conn*             - Database connection. 

 # *responseBean*       - MobileConfirmResponseBean object. 
 > * *responseCode*     -  
 > * *httpMessage*      -  
 > * *orderId*          -  
 > * *walletBalance*    - Only applicable in 'mobileConfirm' 
 > * *instruction*      - 
 > * *mobileBeanList* - StockMobileBean Array 
 >> * *serialNo*     -   
 >> * *pin*          -  
 >> * *expiryDate* - Date