パッケージcom.qhyf.app.bl.controller。 輸入club.newepoch.persistent.db.common.Db。 輸入club.newepoch.persistent.db.exception.ActiveRecordException。 輸入club.newepoch.utils.StringUtils。 輸入はjava.util.ArrayList; 輸入java.util.LinkedHashSet。 輸入org.plutext.jaxb.xslfo.StartingStateType。 輸入com.jfinal.core.ActionKey。 輸入com.jfinal.core.action.Rest; 輸入com.jfinal.core.pojo.RestMethod。 輸入com.mysql.fabric.xmlrpc.base.Array; 輸入com.qhyf.app.bl.base.controller.QhyfController。 インポートnet.sf.json.JSONArray; インポートnet.sf.json.JSONObject; / ** *インタフェースを確認するために口座番号を記入し、顧客に通知 * @author LX * / パブリック クラスを InterfaceAffirmAccountController 拡張QhyfController { @Rest(方法 = RestMethod.POSTを) @ ActionKey( "/ API / qhyf /確認/アカウント/" ) 公共 無効 affirmAccount()スローActiveRecordException { // 戻りデータがJSON JSONObject returnJson = 新新)(JSONObjectを、 JSONArrayデータ = 新新JSONArray(); // データ検証が正常に識別 ブール =更にCheckFlagをtrueに; // ストアのエラーメッセージ のStringBuffer errmsgSb = 新新のStringBuffer(); // ストアERRCODE StringBufferのerrcodeSb = 新新のStringBuffer(); 試み{ // 取得入金確認をいいえ 文字列= payCodeないこの .getPara(「pay_codeを」); //は、アカウントのうちの理由から立ち上がっ 文字列の理由= この .getPara(「理由」); IF (StringUtils.isBlank(理由)){ errmsgSb.append( "アカウントの理由は、空にすることはできません記入;" ); // 欠けているパラメータ errcodeSb.append( "3001;" ); // returnJson.put( "ERRCODE"、errcodeSb.append( "3001;") )、 更にCheckFlag = falseに; } IF (StringUtils.isBlank(payCode)){ errmsgSb.append( "支払い確認番号は空にすることはできません;" ); // 欠落パラメータ errcodeSb.append( "3001;" ); // returnJson.put( "ERRCODE"、); 更にCheckFlagは= falseに。 } // 入金確認番号が空でない、DBに存在を検出 IF (StringUtils.notBlankは(payCode)){ 文字列のSQL = "SELECTとWHERE pay_id sys_status = 1 = biz_pay_comfirm_infoからのuuid?" ; // 取得したUUID 文字列UUID = Db.queryStr(SQL、payCode); IF (のStringUtils。 ISBLANK(UUID)){ // UUIDが空の場合、 errmsgSb.append( "入金確認番号は存在しません。" ); // 引数がありません errcodeSb.append( "4001" ); // returnJson.put( "ERRCODE" 、errcodeSb.append( "4001")) 。 更にCheckFlag =偽へ; } } // 変数格納されたエラーコード空でない IF(errcodeSb.length()> 0 ){ StringBufferのERRCODE = clearRepetition(errcodeSb); // JSONに返されたデータに追加する 「(ERRCODEをreturnJson.putを"errcode.toString()); } // によって確認 IF (更にCheckFlag){ // ビジネスロジック returnJson.put( " ERRCODE "" 0 " ;) returnJson.put(のErrMsg """" )。 } 他{ //ないチェックすることにより returnJson.put( "のErrMsg" ;、errmsgSb.toString()) } returnJson.put( "データ" 、データ); } キャッチ(例外E){ // 例外処理 returnJson.put( "ERRCODE"を、 "9999" ); returnJson.put( "のErrMsg"、 "内部サービスの例外処理!" ); returnJson.put( "データ" 、データ); } // 結果を返す この.renderJson(returnJsonを)。 } / ** *重複したエラーコードを削除 * @param errcodeSb * @return * / 公共のStringBuffer clearRepetition(StringBufferのerrcodeSb){ // 一時変数に格納されているエラーコードの定義 のArrayList <ストリング>一覧= 新しい新規のArrayList <ストリング> (); // のStringBufferは文字列配列を回す 文字列[] StrArrayと= errcodeSb.toString ().split( ";" ); // エラーメッセージのリストをトラバースし、重複排除ERRCODE ため(文字列STR:StrArrayと){ // コレクションにエラーメッセージ List.add(STR); } //は内部設定削除しますERRCODE重複 LinkedHashSetの<ストリング> SETは= 新しい新しい LinkedHashSetの<文字列> (はlist.size())。 set.addAll(一覧); list.clear(); list.addAll(SET); // リストオブジェクトセットトランスフェクトされた配列 オブジェクト[] = errcodes List.toArray(); StringBufferのERRCODE = 新しい新規のStringBuffer(); // 反復しStringBufferを行く ために、{:(errcodes ERオブジェクト) ; errcode.append(ER) } // ERRCODEは、最後の文字の内側に格納されます 。..文字列laString = errcode.toString()ストリング(errcode.toString()の長さ( )--1 ); // 最後の文字が"ある場合"、そして削除 IFを "(" .equals(laString)){ errcode.deleteCharAt(errcode.length() - 1 )。 } リターンERRCODE。 } }
アカウント確認インターフェイスを記入し、顧客に通知