package org.ruoyi.common.service.impl;
|
|
import cn.hutool.http.HttpUtil;
|
import cn.hutool.json.JSONObject;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.ruoyi.common.config.PayConfig;
|
import org.ruoyi.common.service.PayService;
|
import org.ruoyi.common.utils.MD5Util;
|
import org.springframework.stereotype.Service;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 支付服务
|
* @author Admin
|
*/
|
@Service
|
@RequiredArgsConstructor
|
@Slf4j
|
public class PayServiceImpl implements PayService {
|
|
private final PayConfig payConfig;
|
|
@Override
|
public String getPayUrl(String orderNo, String name, double money, String clientIp) {
|
String out_trade_no = orderNo, sign = "";
|
//封装请求参数
|
String mdString = "clientip=" + clientIp + "&device=" + payConfig.getDevice() + "&money=" + money + "&name=" + name + "&" +
|
"notify_url=" + payConfig.getNotify_url() + "&out_trade_no=" + out_trade_no + "&pid=" + payConfig.getPid() + "&return_url=" + payConfig.getReturn_url() +
|
"&type=" + payConfig.getType() + payConfig.getKey();
|
sign = MD5Util.GetMD5Code(mdString);
|
Map<String, Object> map = new HashMap<>(10);
|
map.put("clientip", clientIp);
|
map.put("device", payConfig.getDevice());
|
map.put("money", money);
|
map.put("name", name);
|
map.put("notify_url", payConfig.getNotify_url());
|
map.put("out_trade_no", out_trade_no);
|
map.put("pid", payConfig.getPid());
|
map.put("return_url", payConfig.getReturn_url());
|
map.put("sign_type", payConfig.getSign_type());
|
map.put("type", payConfig.getType());
|
map.put("sign", sign);
|
String body = HttpUtil.post(payConfig.getPayUrl(), map);
|
log.info("支付返回信息:{},配置信息: {}",body,payConfig);
|
JSONObject jsonObject = new JSONObject(body);
|
return (String) jsonObject.get("qrcode");
|
}
|
|
}
|