捕鱼游戏机打码器的作用
論文聯系方式

試析分銷管理中的在線支付應用框架設計

導讀:增加分銷商在景區賬戶的余額。  ②分銷商通過平臺下單,平臺從分銷商賬戶余額中扣除訂單額,平臺交易日志中記錄此次“下單”明細。  ③如果執行②操作時,分銷商賬戶余額少于訂單額,自動轉入①操作,待充值額度滿足后,自動完成②的操作。  ④若景區只使用傳統支付方式(如銀行轉賬),當景區收到分銷商線下轉賬后,由景區在平
摘要:分銷管理平臺中在線支付功能是保障商務活動高效和財務安全而必定產生的應用需求。因分銷商管理和技術條件差異,仍兼容傳統的線下支付模式。在線支付將使用第三方支付平臺,同時在本地系統記錄支付過程數據,并且要保證與遠程支付操作的狀態同步和完整一致等事務管理要求。通過使用經典的struts2、spring、mybatis技術框架,本方案設計了整合遠程、本地和線上、線下不同需求的通用分層應用框架。
  關鍵詞:分銷管理;在線支付;第三方支付;struts2;spring;mybatis;多層架構
  1009-3044(2013)26-6038-03
  分銷管理中的支付應用本文是指分銷商****產品銷售,向供貨商付費結算的流程。以正在開發的某智能旅游平臺為例,景區通過平臺發布旅游產品,各分銷商獲得****權,營銷獲取客源后在線下單。下單處理中就會涉及向景區如何支付的理由。景區方為了避開未來應收款管理理由,要求在下單交易時即能結清款項,同時交易明細如金額、時間、事項存入本地日志中。根據這一需求,我們設計了支付邏輯模型。景區可與第三方支付平臺[1](本項目為易寶)合作,本地平臺開發與易寶的支付接口,分銷商通過易寶支付接口進行結算。
  1 分銷管理在線支付流程分析
  ①分銷商提前通過易寶接口支付充值,款項進入景區在易寶的賬戶,同時平臺交易日志記錄此次“充值”明細,增加分銷商在景區賬戶的余額。
  ②分銷商通過平臺下單,平臺從分銷商賬戶余額中扣除訂單額,平臺交易日志中記錄此次“下單”明細。
  ③如果執行②操作時,分銷商賬戶余額少于訂單額,自動轉入①操作,待充值額度滿足后,自動完成②的操作。
  ④若景區只使用傳統支付方式(如銀行轉賬),當景區收到分銷商線下轉賬后,由景區在平臺為分銷商執行授信操作,在平臺輸入金額數,平臺交易日志記錄此次“授信”明細,增加分銷商在景區賬戶的余額。
  上面需求分析概括了景區和其分銷商之間的結算互動關系和流程,包括充值、授信、下單三種賬戶增減不同的業務流程,要求既可利用第三方支付平臺,也要保留傳統線下支付手段。這些需求在電子分銷管理中具有典型作用,需要統一考慮。
  2 在線支付系統架構設計
  在系統架構設計時,確定以下原則,利用系統的分層架構(struts2+spring+mybatis)[2],不僅實現技術分層,還實現邏輯抽象分層,越往下層,邏輯作用越少,盡量達到以“不變應萬變”的設計效應。要把充值、授信和下單三種邏輯目標不同的流程集成到一個實現體系中來,各種安全,事務性處理統一設計。本架構設計分層從上到下分為表示層,制約層,業務層、數據映射層。表示層由jsp頁面文件組成,制約層由structs2的Action類文件組成,spring負責業務層邏輯并整合管理制約層和數據訪問層的類對象,數據映射層由mybatis配置實現[3]。圖1顯示了各層組件協同實現在線支付應用的過程
  2.1 表示層結構功能
  表示層是用戶直接界面交互的部分,由jsp頁面推送至客戶端展現,這一層次僅包括表單數據收集、基礎格式驗證和提交路徑,不包含任何業務處理邏輯或數據庫操作[4]。在線支付過程中本地系統表單主要為:在線支付發起表單,它由分銷商填寫、提交支付金額,啟動支付流程;本地系統按易寶系統接口定義生成提交的支付數據表單和驗證回復表單。其他支付操作過程中的功能頁面是界面定向到易寶接口后由其推送顯示的。
  2.2 制約層結構功能
  制約層負責接收表示層表單提交的數據,綜合調用業務邏輯層的功能對象去處理。并根據處理結果,選擇處理流程的后續轉向[5]。制約層通過structs2組件實現設計目標,在structs2的Action類定義中,將在線支付處理的實體類設為屬性對象,如充值日志記錄實體對象。然后將從表單接收的用戶定義數據整合業務狀態數據,為實體對象賦值。這樣,以實體對象為處理單元,傳遞至業務邏輯層,有利用數據封裝,邏輯作用也更加明晰。
  支付應用制約層主要包括2個Action策略。一是accountAction的rechargeAccount()策略,它從用戶發起的支付表單獲取支付數據。通過調用業務邏輯層的服務,生成易寶需要的接口數據包,并創建相應的充值日志記錄,然后制約流程定向到易寶用戶支付操作接口。使本地事務處理與外部接口操作都進入待完成狀態。
  另一個是accountAction的rechargecallback(),它是易寶通知本地系統用戶支付完成狀況而回調的接口。通過易寶回調時傳回的狀態值,本地系統可相應同步推進事務處理的進度。完成一次在線支付事務的遠程和本地的原子操作。
  2.3 業務邏輯層結構功能
  業務邏輯層由若干具有業務處理語義的執行單元組成,在制約層的指揮協調下,協同完成整個業務流程,業務邏輯層作用可以類比為一個企業中各職能部門,大家各司其職分銷管理中的在線支付應用框架設計論文資料由論文網http://www.znhfq.tw提供,轉載請保留地址.,相對獨立但又承上啟下得合作完成一個事務流程的處理。在本項目框架上,由spring組件充當業務邏輯對象[6]。
  業務邏輯層主要包括的類及其服務定義。accountService的createRechargeLog ( )負責在本地支付事務發起階段,生成本地充值記錄,并使充值記錄處于待完成狀態。此服務通過參數標識,區分“授信”和“充值”性質不同但操作細節大部分相同的事務。
  當用戶在易寶支付操作成功回調本地接口,制約層利用accountService的commitRecharge( )提交處于待完成的充值日志記錄。當支付事務完全成功,accountService的updateAccount()負責更新本地系統的分銷商賬戶數據。
  通過這三個業務邏輯服務劃分,保證了彼此不破壞不侵入其他業務區域,又方便與遠程支付狀態同步節奏。2.4 數據映射層結構功能
  數據映射層負責將直接數據庫訪問包裝成實體對象(集)管理形式,既可實現數據庫實現物理無關性,對象集合的操作形式也更反映邏輯概念本身,無論是查詢和修改都比在代碼中直接混合sql語句更易維護。本項目的數據映射采用的mybatis開源框架,該框架的優勢是既能約束以實體對象(集)的形式與數據庫互操作,又能充分發揮自定義分銷管理中的在線支付應用框架設計由優秀論文網站http://www.znhfq.tw提供,助您寫好論文.sql語句的靈活性和執行效率[7]。
  以賬戶日志記錄為例,數據映射類的接口族設計為
  public interface AccountLogMapper {
  int deleteByPrimaryKey(Integer accountLogId);
  int insertSelective(AccountLog record);//實體對象屬性有值時才生成插入字段
  AccountLog selectByPrimaryKey(Integer accountLogId);//按主鍵查詢
  int updateBySelective(AccountLog record);//組合條件查找記錄修改
  int updateByPrimaryKey(AccountLog record);//按主鍵查找記錄修改
  ArrayList selectByConditions(AccountLog record);//組合條件查詢,返回實體對象集合
  AccountLog selectLastInsertID();//返回最后一次新增記錄(獲取自增ID) }
  無論是邏輯語義環境,數據庫操作最終體現的就是sql語句的查增改刪操作,因此,最大化sql語句的通用性,在查詢條件和字段上盡量靈活組合。而把邏輯作用的區分設置在業務邏輯層生成實體對象屬性值階段,達到高內聚的設計效果。為此,在數據映射層的sql設計時把充值日志記錄的插入、查詢和修改都利用mybatis的標簽功能作了通用化設計,滿足不同支付性質、狀態實體對象的數據交互。
  3 在線支付系統的流程設計
  3.1 在線支付本地發起階段設計
  分銷商確認產品下單后,轉入支付確認交互界面。用戶填寫確認支付金額,和下單明細一起提交至制約層accountAction的recharge ()接收處理。
  ①創建本地支付日志。recharge()首先調用業務邏輯組件accountService的createRechargeLog(accountLog)服務,參數account
上一篇論文:簡論基于文化視角下的中西方物流管理思想比較 下一篇論文:簡論起重機械的安全技術管理
相關論文
業務范圍
免費本科范文
免費碩士范文
免費職稱范文
論文****
職稱論文****表
捕鱼游戏机打码器的作用 贵州十一选五有推荐分析号码吗 体育彩票6十1开奖号码 kk棋牌游戏 2009年七乐彩走势图 不联网的单机斗地主 特区吧南国彩票论坛海口社区 手机赚钱方法苹果 上海天天彩选四历史记录 pc蛋蛋预测99预测北京 云南十一选五每天开奖