This commit is contained in:
ageer
2024-04-01 22:21:29 +08:00
parent cead269b19
commit dea23f13ef
552 changed files with 2144 additions and 154437 deletions

View File

@@ -1,50 +1,57 @@
package com.xmzs.common.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* 支付配置信息
*
* @author Admin
*/
@Data
@Component
@ConfigurationProperties(prefix = "pay")
public class PayConfig {
/**
* 商户ID
*/
public static String pid = "xxx";
private String pid;
/**
* 接口地址
*/
public static String payUrl = "https://pay-cloud.vip/mapi.php";
private String payUrl;
/**
* 私钥
*/
public static String key = "xxx";
private String key ;
/**
* 服务器异步通知地址
*/
public static String notify_url = "https://www.pandarobot.chat/pay/returnUrl";
private String notify_url;
/**
* 页面跳转通知地址
*/
public static String return_url = "https://www.pandarobot.chat/pay/notifyUrl";
private String return_url;
/**
* 支付方式
*/
public static String type = "wxpay";
private String type;
/**
* 设备类型
*/
public static String device = "pc";
private String device;
/**
* 加密方式默认MD5
*/
public static String sign_type = "MD5";
private String sign_type;
}

View File

@@ -2,9 +2,11 @@ package com.xmzs.common.service.impl;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import com.xmzs.common.config.PayConfig;
import com.xmzs.common.service.PayService;
import com.xmzs.common.utils.MD5Util;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@@ -15,28 +17,31 @@ import java.util.Map;
* @author Admin
*/
@Service
@RequiredArgsConstructor
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.device + "&money=" + money + "&name=" + name + "&" +
"notify_url=" + PayConfig.notify_url + "&out_trade_no=" + out_trade_no + "&pid=" + PayConfig.pid + "&return_url=" + PayConfig.return_url +
"&type=" + PayConfig.type + PayConfig.key;
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.device);
map.put("device", payConfig.getDevice());
map.put("money", money);
map.put("name", name);
map.put("notify_url", PayConfig.notify_url);
map.put("notify_url", payConfig.getNotify_url());
map.put("out_trade_no", out_trade_no);
map.put("pid", PayConfig.pid);
map.put("return_url", PayConfig.return_url);
map.put("sign_type", PayConfig.sign_type);
map.put("type", PayConfig.type);
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.payUrl, map);
String body = HttpUtil.post(payConfig.getPayUrl(), map);
JSONObject jsonObject = new JSONObject(body);
return (String) jsonObject.get("qrcode");
}