通知客服确认补出账号接口

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;
    }
    








}

通知客服确认补出账号接口

猜你喜欢

转载自www.cnblogs.com/xiaowoniulx/p/10950869.html
今日推荐