33333333333

This commit is contained in:
777
2025-01-13 20:41:15 +08:00
parent d270c49bce
commit 7db1c286a6
4 changed files with 51 additions and 10 deletions

View File

@@ -177,6 +177,9 @@ public class AccountChangeLogServiceImpl extends ServiceImpl<AccountChangeLogMap
}else{
vo.setMessage(record.getCateAdminName());
}
if(AccountCateEnum.GIFT.getCode().equals(record.getCateId())){
vo.setImg(record.getTarImg());
}
if(AccountCateEnum.IM.getCode().equals(record.getCateId())
|| AccountCateEnum.VIDEO.getCode().equals(record.getCateId())
|| AccountCateEnum.GUARD.getCode().equals(record.getCateId())

View File

@@ -90,7 +90,7 @@ public enum TrdPayTypeEnum {
* 密钥pswWIbqnwlTlBDbZUk4qTisKbjWl5D9e
* https://31.bghyvwk.cn
*/
V8("https://31.bghyvwk.cn","/api/pay/create","/api/pay/query","/api/pay/trd/notify/v8","success"),
V8("https://31.bghyvwk.cn","/mapi.php","/api/pay/query","/api/pay/trd/notify/v8","success"),
;
private final String gatewayUrl;
private final String createOrderUrl;

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.trdpay.handle;
import cn.hutool.crypto.digest.DigestUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.cai.domain.PayTrdConfig;
@@ -22,11 +23,15 @@ import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@Slf4j
@@ -42,6 +47,22 @@ public class PayTrdV8Service implements PayTrdService {
return TrdPayTypeEnum.V8;
}
public static MultiValueMap<String,String> createParamsOfMap(Map<String, String> params, String key) {
MultiValueMap<String, String> resp = new LinkedMultiValueMap<>();
List<String> url = new ArrayList<>();
for (Map.Entry<String, String> entry : params.entrySet()) {
url.add(entry.getKey() + "=" + entry.getValue());
resp.add(entry.getKey(), entry.getValue());
}
url = url.stream().sorted().collect(Collectors.toList());
String stringSignTemp = StringUtils.join(url, "&") + key;
String sign = DigestUtil.md5Hex(stringSignTemp).toLowerCase();
url.add("sign=" + sign);
resp.add("sign",sign);
return resp;
}
@Override
public PayReturnResp createOrderAli(PayOrderInfoDTO payOrderInfoDTO, PayTrdConfig payTrdConfig) {
@@ -49,19 +70,15 @@ public class PayTrdV8Service implements PayTrdService {
RestTemplate rest = RestTemplateUtil.getNoSSLRest();
Map<String, String> params = new HashMap<>();
params.put("pid", payTrdConfig.getMchId());
params.put("method", "jump");
params.put("device", "mobile");
params.put("type", "alipay");
params.put("out_trade_no", payOrderInfoDTO.getOrderNo());
String notifyUrl = payTrdConfig.getNotifyUrl() + type.getNotifyPath();
params.put("notify_url", notifyUrl);
params.put("return_url", "");
params.put("name", payOrderInfoDTO.getSubject());
params.put("money", payOrderInfoDTO.getPriceYuanStr());
params.put("clientip", ServletUtils.getClientIP());
params.put("timestamp", System.currentTimeMillis()/1000 + "");
MultiValueMap<String, String> map = PayMd5Util.createParamsOfMap(params, payTrdConfig.getSign());
map.add("sign_type","MD5");
MultiValueMap<String, String> map = createParamsOfMap(params, payTrdConfig.getSign());
String gatewayUrl = type.getGatewayUrl();
if (StringUtils.isNotBlank(payTrdConfig.getGatewayUrl())) {
gatewayUrl = payTrdConfig.getGatewayUrl();
@@ -77,18 +94,18 @@ public class PayTrdV8Service implements PayTrdService {
log.error("第三方支付失败 V8 返回数据为空 url={} params={}",createOrderUrl,JSON.toJSONString(map));
throw new ServiceException("调用支付失败");
}
if(!"0".equals(jsonObject.getString("code"))){
if(!"1".equals(jsonObject.getString("code"))){
log.info("第三方支付失败 V8 统一支付失败失败 url={} params={} body={}, payTrdConfig={}, typeEnum={}", createOrderUrl,JSON.toJSONString(map), body, JSON.toJSONString(payTrdConfig), JSON.toJSONString(jsonObject));
throw new ServiceException("调用支付失败");
}
String payUrl = jsonObject.getString("pay_info");
String payUrl = jsonObject.getString("payurl");
return PayReturnResp.createH5(payUrl);
}
@Override
public NotifyResp getNotifyResp(Map<String, String> sourceData) {
String mchOrderNo = sourceData.get("out_trade_no");
String payOrderId = sourceData.get("api_trade_no");
String payOrderId = sourceData.get("trade_no");
String status = sourceData.get("trade_status");
NotifyResp resp = new NotifyResp();
resp.setOrderNo(mchOrderNo);