package com.qhyf.app.bl.controller; import club.newepoch.persistent.db.common.Db; import club.newepoch.persistent.db.exception.ActiveRecordException; import club.newepoch.utils.StringUtils; import java.util.ArrayList; import java.util.LinkedHashSet; import org.plutext.jaxb.xslfo.StartingStateType; import com.jfinal.core.ActionKey; import com.jfinal.core.action.Rest; import com.jfinal.core.pojo.RestMethod; import com.mysql.fabric.xmlrpc.base.Array; import com.qhyf.app.bl.base.controller.QhyfController; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** * 通知客服确认补出账号接口 * @author lx */ public class InterfaceAffirmAccountController extends QhyfController { @Rest(method = RestMethod.POST) @ActionKey("/api/qhyf/confirm/account/") public void affirmAccount() throws ActiveRecordException { // 返回json数据 JSONObject returnJson = new JSONObject(); JSONArray data = new JSONArray(); // 数据校验是否成功标识 boolean checkFlag = true; // 存放错误信息 StringBuffer errmsgSb = new StringBuffer(); // 存放errcode StringBuffer errcodeSb = new StringBuffer(); try { // 获取付款确认书编号 String payCode = this.getPara("pay_code"); // 获取补出账原因 String reason = this.getPara("reason"); if (StringUtils.isBlank(reason)) { 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)) { String sql = " SELECT uuid from biz_pay_comfirm_info WHERE pay_id = ? and sys_status = 1 "; // 获取uuid String uuid = Db.queryStr(sql, payCode); if (StringUtils.isBlank(uuid)) { // 如果uuid为空的话 errmsgSb.append("付款确认书编号不存在;"); // 缺少参数 errcodeSb.append("4001"); // returnJson.put("errcode", errcodeSb.append("4001")); checkFlag = false; } } // 存放错误码的变量 不为空时 if (errcodeSb.length() > 0) { StringBuffer errcode = clearRepetition(errcodeSb); // 添加到返回的json数据中去 returnJson.put("errcode", errcode.toString()); } // 校验通过 if (checkFlag) { // 业务逻辑 returnJson.put("errcode", "0"); returnJson.put("errmsg", ""); } else { // 校验不通过 returnJson.put("errmsg", errmsgSb.toString()); } returnJson.put("data", data); } catch (Exception e) { // 异常处理 returnJson.put("errcode", "9999"); returnJson.put("errmsg", "内部服务处理异常!"); returnJson.put("data", data); } // 返回结果 this.renderJson(returnJson); } /** * 去掉重复的错误码 * @param errcodeSb * @return */ public StringBuffer clearRepetition(StringBuffer errcodeSb) { // 定义临时存放的 错误码的变量 ArrayList<String> list = new ArrayList<String>(); // StringBuffer 转 string数组 String[] strArray = errcodeSb.toString().split(";"); // 遍历错误信息列表,去除重复的 errcode for (String str : strArray) { // 把 错误信息 放入集合 list.add(str); } // 去除 集合里面重复的errcode LinkedHashSet<String> set = new LinkedHashSet<String>(list.size()); set.addAll(list); list.clear(); list.addAll(set); // list集合 转 Object数组 Object[] errcodes = list.toArray(); StringBuffer errcode = new StringBuffer(); // 遍历 并放入StringBuffer 中去 for (Object er : errcodes) { errcode.append(er); } // 获取存放errcode 里面的最后一个 字符 String laString = errcode.toString().substring(errcode.toString().length() - 1); // 如果最后一个字符为“ , ” 的话 ,则移除 if (",".equals(laString)) { errcode.deleteCharAt(errcode.length() - 1); } return errcode; } }
通知客服确认补出账号接口