Quellcode durchsuchen

易联众查询结算状态

wangjun vor 4 Jahren
Ursprung
Commit
d46a69722b

+ 90 - 0
business/base-service/src/main/java/com/yihu/jw/order/pay/ylz/YlzPayService.java

@ -11,8 +11,11 @@ import com.yihu.jw.util.common.QrcodeUtil;
import com.yihu.jw.utils.ByteToInputStream;
import com.ylzinfo.onepay.sdk.HisOnepayClient;
import com.ylzinfo.onepay.sdk.OnepayClient;
import com.ylzinfo.onepay.sdk.OnepayDefaultClient;
import com.ylzinfo.onepay.sdk.domain.RequestParams;
import com.ylzinfo.onepay.sdk.domain.ResponseParams;
import com.ylzinfo.onepay.sdk.domain.ext.*;
import com.ylzinfo.onepay.sdk.utils.DateUtil;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -560,4 +563,91 @@ public class YlzPayService {
    }
//============================================预交金充值 end======================================================
    /**
     * 查看线上结算记录
     *
     * @param cardNo 卡号,多个按逗号隔开
     * @param beginDate 开始时间(可空) yyyyMMdd:20200818
     * @param endDate 结束时间(可空) yyyyMMdd:20200818
     * @param queryType online:(不为空)记录明细一起返回,下面两个参数的合体;onlineRecord:查询结算记录 onlineRecordDetail:查询结算明细
     * @param billSn    当 queryType = onlineRecordDetail billsn和traceno必有值
     * @param traceNo
     * @param pageNo
     * @param pageSize
     * @return
     */
    public String querySettledRecord(String cardNo,String beginDate,String endDate,String queryType,String billSn,String traceNo,String pageNo,String pageSize ){
        Boolean isSuccess = true;
        String jsonObject = null;
        String error = null;
        RequestParams requestParams = new RequestParams();
        try {
        OauthYlzConfigDO oauthYlzConfigDO = oauthYlzConfigDao.findById("ylz_pay_config");
        if(oauthYlzConfigDO==null){
            return "未找到支付配置文件";
        }
        String appId = oauthYlzConfigDO.getAppId();
        String appSecret = oauthYlzConfigDO.getAppKey();
        String onepayUrl = oauthYlzConfigDO.getUrl();
        String signType=oauthYlzConfigDO.getSignType();
        String encryptType = oauthYlzConfigDO.getEncType();
        requestParams.setAppId(appId);
        requestParams.setTimestamp(DateUtil.getCurrentDateTime());
        requestParams.setSignType(signType);
        requestParams.setEncryptType(encryptType);
        requestParams.setTimestamp(DateUtil.getCurrentDateTime());
        //分页参数
        if(StringUtils.isNotBlank(queryType)&&"online".equalsIgnoreCase(queryType)){
            JSONObject pageParam = new JSONObject();
            pageParam.put("pageNo",pageNo);
            pageParam.put("pageSize",pageSize);
            requestParams.setPageParam(pageParam);
        }
        JSONObject params = new JSONObject();
        if (StringUtils.isBlank(cardNo)||StringUtils.isBlank(queryType)){
            return "cardNo或者queryType不能为空";
        }
        if (queryType.equalsIgnoreCase("onlineRecordDetail")){
            if(StringUtils.isBlank(billSn)||StringUtils.isBlank(traceNo)){
                return "billSn和traceNo不能为空";
            }
        }
        params.put("cardNo",cardNo);
        params.put("queryType",queryType);
        if (StringUtils.isNotBlank(beginDate)){
            params.put("beginDate",beginDate);
        }if (StringUtils.isNotBlank(endDate)){
            params.put("endDate",endDate);
        }
        if (StringUtils.isNotBlank(billSn)){
            params.put("billSn",billSn);
        }
        if (StringUtils.isNotBlank(traceNo)){
            params.put("traceNo",traceNo);
        }
        requestParams.setParam(params);
        requestParams.setTransType("hop.query.settle");
        OnepayDefaultClient onepayClient = new OnepayDefaultClient(onepayUrl, appId, appSecret, signType, encryptType);
        ResponseParams<JSONObject> respnse = onepayClient.execute(requestParams);
        if (respnse.getRespCode().equals("000000")){
            jsonObject = JSON.toJSONString(respnse);
        }else {
            isSuccess = false;
            jsonObject = JSON.toJSONString(respnse);
            error = "请求失败,返回结果:" + respnse.getRespCode() + "," + respnse.getRespMsg();
        }
        } catch (Exception e) {
            e.printStackTrace();
            isSuccess = false;
            StringWriter sw = new StringWriter();
            PrintWriter pw = new PrintWriter(sw);
            e.printStackTrace(pw);
            error = sw.toString();
        }
        logService.saveHttpLog(isSuccess, "hop.trade.query", "查看线上结算记录", "POST", null,JSON.toJSONString(requestParams), jsonObject, error,logService.shoppatType);
        return jsonObject;
    }
}