停止充电增加订单号
This commit is contained in:
parent
e16a5a3f99
commit
05bd28159e
@ -190,6 +190,8 @@ public class XhpcChargeOrderServiceImpl implements IXhpcChargeOrderService {
|
|||||||
if(number !=0){
|
if(number !=0){
|
||||||
startChargingData.setSoc(number);
|
startChargingData.setSoc(number);
|
||||||
}
|
}
|
||||||
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<number>>>>>>>>>>>>>>>>>:"+number);
|
||||||
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<Soc>>>>>>>>>>>>>>>>>:"+startChargingData.getSoc());
|
||||||
|
|
||||||
R r1 = powerPileService.startCharging(startChargingData);
|
R r1 = powerPileService.startCharging(startChargingData);
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>");
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>");
|
||||||
@ -247,8 +249,11 @@ public class XhpcChargeOrderServiceImpl implements IXhpcChargeOrderService {
|
|||||||
if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){
|
if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){
|
||||||
version=xhpcChargingPileById.get("communicationProtocolVersion").toString();
|
version=xhpcChargingPileById.get("communicationProtocolVersion").toString();
|
||||||
}
|
}
|
||||||
|
//获取充电订单号
|
||||||
|
XhpcChargeOrder order = xhpcChargeOrderMapper.getChargingOrderId(chargingOrderId);
|
||||||
|
|
||||||
R oa = powerPileService.stopCharging(xhpcTerminal.getPileSerialNumber(), xhpcTerminal.getSerialNumber().substring(14), version);
|
|
||||||
|
R oa = powerPileService.stopCharging(order.getSerialNumber(),xhpcTerminal.getPileSerialNumber(), xhpcTerminal.getSerialNumber().substring(14), version);
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<停止充电返回>>>>>>>>>>>>>>>>>");
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<停止充电返回>>>>>>>>>>>>>>>>>");
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+oa.getCode()+">>>>>>>>>>>>>>>>>");
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+oa.getCode()+">>>>>>>>>>>>>>>>>");
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+oa.getMsg()+">>>>>>>>>>>>>>>>>");
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+oa.getMsg()+">>>>>>>>>>>>>>>>>");
|
||||||
|
|||||||
@ -1,36 +1,35 @@
|
|||||||
package com.xhpc.payment.controller;
|
package com.xhpc.payment.controller;
|
||||||
|
|
||||||
import cn.hutool.core.map.MapUtil;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.alipay.api.AlipayApiException;
|
import com.alipay.api.AlipayApiException;
|
||||||
import com.alipay.api.AlipayClient;
|
import com.alipay.api.AlipayClient;
|
||||||
import com.alipay.api.DefaultAlipayClient;
|
import com.alipay.api.DefaultAlipayClient;
|
||||||
import com.alipay.api.domain.AlipayTradeAppPayModel;
|
|
||||||
import com.alipay.api.internal.util.AlipaySignature;
|
import com.alipay.api.internal.util.AlipaySignature;
|
||||||
import com.alipay.api.request.AlipayTradeCreateRequest;
|
import com.alipay.api.request.AlipayTradeCreateRequest;
|
||||||
import com.alipay.api.response.AlipayTradeAppPayResponse;
|
|
||||||
import com.alipay.api.response.AlipayTradeCreateResponse;
|
import com.alipay.api.response.AlipayTradeCreateResponse;
|
||||||
import com.xhpc.common.core.constant.HttpStatus;
|
import com.xhpc.common.core.constant.HttpStatus;
|
||||||
import com.xhpc.common.core.constant.StatusConstants;
|
import com.xhpc.common.core.constant.StatusConstants;
|
||||||
import com.xhpc.common.core.utils.StringUtils;
|
import com.xhpc.common.core.utils.StringUtils;
|
||||||
import com.xhpc.common.core.web.domain.AjaxResult;
|
import com.xhpc.common.core.web.domain.AjaxResult;
|
||||||
import com.xhpc.payment.domain.XhpcRechargeOrder;
|
import com.xhpc.payment.domain.XhpcRechargeOrder;
|
||||||
import com.xhpc.payment.mapper.XhpcUserAccountStatementMapper;
|
|
||||||
import com.xhpc.payment.service.IXhpcRechargeOrderService;
|
import com.xhpc.payment.service.IXhpcRechargeOrderService;
|
||||||
import com.xhpc.payment.service.IXhpcRefundOrderService;
|
import com.xhpc.payment.service.IXhpcRefundOrderService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@ -44,7 +43,7 @@ public class AlipayPaymentController {
|
|||||||
private IXhpcRechargeOrderService iXhpcRechargeOrderService;
|
private IXhpcRechargeOrderService iXhpcRechargeOrderService;
|
||||||
//@Autowired
|
//@Autowired
|
||||||
//private XhpcUserAccountStatementMapper xhpcUserAccountStatementMapper;
|
//private XhpcUserAccountStatementMapper xhpcUserAccountStatementMapper;
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(AlipayPaymentController.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXhpcRefundOrderService iXhpcRefundOrderService;
|
private IXhpcRefundOrderService iXhpcRefundOrderService;
|
||||||
|
|
||||||
@ -60,9 +59,9 @@ public class AlipayPaymentController {
|
|||||||
if (StringUtils.isEmpty(amount)) {
|
if (StringUtils.isEmpty(amount)) {
|
||||||
return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能为空");
|
return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能为空");
|
||||||
}else{
|
}else{
|
||||||
if(new BigDecimal(5).compareTo(new BigDecimal(amount))==1){
|
// if(new BigDecimal(5).compareTo(new BigDecimal(amount))==1){
|
||||||
return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能少于5元");
|
// return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能少于5元");
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
//用户信息id
|
//用户信息id
|
||||||
String userId = StringUtils.valueOf(map.get("userId"));
|
String userId = StringUtils.valueOf(map.get("userId"));
|
||||||
@ -78,18 +77,17 @@ public class AlipayPaymentController {
|
|||||||
//生成充值订单
|
//生成充值订单
|
||||||
XhpcRechargeOrder xhpcRechargeOrder = iXhpcRechargeOrderService.addRechargeOrder(userId, BigDecimal.valueOf(Double.parseDouble(amount)), "2", orderNumber);
|
XhpcRechargeOrder xhpcRechargeOrder = iXhpcRechargeOrderService.addRechargeOrder(userId, BigDecimal.valueOf(Double.parseDouble(amount)), "2", orderNumber);
|
||||||
String attach = attachYu(StringUtils.valueOf(xhpcRechargeOrder.getRechargeOrderId()), StringUtils.valueOf(amount), null, orderNumber);
|
String attach = attachYu(StringUtils.valueOf(xhpcRechargeOrder.getRechargeOrderId()), StringUtils.valueOf(amount), null, orderNumber);
|
||||||
|
|
||||||
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", environment.getProperty("ALIPAYAPPID"), environment.getProperty("ALIPAYPRIVATEKEY"), "json", "utf-8", environment.getProperty("ALIPAYPUBLICKEY"), "RSA2");
|
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", environment.getProperty("ALIPAYAPPID"), environment.getProperty("ALIPAYPRIVATEKEY"), "json", "utf-8", environment.getProperty("ALIPAYPUBLICKEY"), "RSA2");
|
||||||
AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
|
AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
|
||||||
|
String encode = URLEncoder.encode(attach);
|
||||||
request.setBizContent("{" +
|
System.out.println("encode :"+encode);
|
||||||
"\"out_trade_no\":\""+orderNumber+"\"," +
|
request.setBizContent("{" + "\"out_trade_no\":\""+orderNumber+"\"," +
|
||||||
"\"total_amount\":"+amount+"," +
|
"\"total_amount\":"+amount+"," +
|
||||||
"\"subject\":\"小华充电\"," +
|
"\"subject\":\"小华充电\"," +
|
||||||
"\"timeout_express\":\"30m\"," +
|
"\"timeout_express\":\"30m\"," +
|
||||||
|
"\"passback_params\":\""+encode+"\"," +
|
||||||
"\"buyer_id\":\""+openid+"\"" +
|
"\"buyer_id\":\""+openid+"\"" +
|
||||||
"}");
|
"}");
|
||||||
//"\"passback_params\":\""+attach+"\"," +
|
|
||||||
request.setNotifyUrl(environment.getProperty("ALIPAYPSERVERDOMAIN"));
|
request.setNotifyUrl(environment.getProperty("ALIPAYPSERVERDOMAIN"));
|
||||||
try {
|
try {
|
||||||
//这里和普通的接口调用不同,使用的是sdkExecute
|
//这里和普通的接口调用不同,使用的是sdkExecute
|
||||||
@ -132,12 +130,15 @@ public class AlipayPaymentController {
|
|||||||
valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
|
valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
|
||||||
params.put(name, valueStr);
|
params.put(name, valueStr);
|
||||||
}
|
}
|
||||||
|
logger.info("支付宝回调接口1111>>>>>:"+params.toString());
|
||||||
//调用SDK验证签名
|
//调用SDK验证签名
|
||||||
boolean signVerified = AlipaySignature.rsaCheckV1(params, environment.getProperty("ALIPAYPUBLICKEY"), "utf-8", "RSA2");
|
boolean signVerified = AlipaySignature.rsaCheckV1(params, environment.getProperty("ALIPAYPUBLICKEY"), "utf-8", "RSA2");
|
||||||
//boolean类型signVerified为true时 则验证成功
|
//boolean类型signVerified为true时 则验证成功
|
||||||
if (signVerified) {
|
if (signVerified) {
|
||||||
//获取到支付的状态 TRADE_SUCCESS则支付成功
|
//获取到支付的状态 TRADE_SUCCESS则支付成功
|
||||||
String trade_status = request.getParameter("trade_status");
|
String trade_status = request.getParameter("trade_status");
|
||||||
|
Map<String, String> yu = convertRequestParamsToMap(request);
|
||||||
|
logger.info("支付宝回调接口>>>>>:"+yu.toString());
|
||||||
if (trade_status.equals("TRADE_SUCCESS")) {
|
if (trade_status.equals("TRADE_SUCCESS")) {
|
||||||
System.out.println("支付成功");
|
System.out.println("支付成功");
|
||||||
} else {
|
} else {
|
||||||
@ -146,6 +147,7 @@ public class AlipayPaymentController {
|
|||||||
}
|
}
|
||||||
//签名验证失败
|
//签名验证失败
|
||||||
else {
|
else {
|
||||||
|
logger.info("签名验证失败>>>>>:"+params.toString());
|
||||||
System.out.println(AlipaySignature.getSignCheckContentV1(params));
|
System.out.println(AlipaySignature.getSignCheckContentV1(params));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -161,4 +163,28 @@ public class AlipayPaymentController {
|
|||||||
String attach = attachSB.substring(1);
|
String attach = attachSB.substring(1);
|
||||||
return attach;
|
return attach;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 将request中的参数转换成Map
|
||||||
|
private Map<String, String> convertRequestParamsToMap(HttpServletRequest request) {
|
||||||
|
Map<String, String> retMap = new HashMap<String, String>();
|
||||||
|
Set<Map.Entry<String, String[]>> entrySet = request.getParameterMap().entrySet();
|
||||||
|
for (Map.Entry<String, String[]> entry : entrySet) {
|
||||||
|
String name = entry.getKey();
|
||||||
|
String[] values = entry.getValue();
|
||||||
|
int valLen = values.length;
|
||||||
|
if (valLen == 1) {
|
||||||
|
retMap.put(name, values[0]);
|
||||||
|
} else if (valLen > 1) {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (String val : values) {
|
||||||
|
sb.append(",").append(val);
|
||||||
|
}
|
||||||
|
retMap.put(name, sb.toString().substring(1));
|
||||||
|
} else {
|
||||||
|
retMap.put(name, "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return retMap;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,7 +43,7 @@ SERVERDOMAIN: "http://xhpc.scxhua.com/prod-api/xhpc-payment/wx/paymentCallback"
|
|||||||
WXTRANSFERS: "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"
|
WXTRANSFERS: "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"
|
||||||
|
|
||||||
#支付宝支付回调地址
|
#支付宝支付回调地址
|
||||||
ALIPAYPSERVERDOMAIN: "https://xhpc.scxhua.com/prod-api/alipay/notifyUrl"
|
ALIPAYPSERVERDOMAIN: "https://xhpc.scxhua.com/prod-api/xhpc-payment/alipay/notifyUrl"
|
||||||
#支付宝公钥
|
#支付宝公钥
|
||||||
ALIPAYPUBLICKEY: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjHDksTgZTpf0wh7oeTVRp0h3SqzTM2smjEJnx9jF1+q3WSXLRB4OzSzq7VsJ/szcyK10ZGO5PxeQ4u9GAG/U+7xhs7ei1cJB/Er55Sg9SbjfkTpwlDv181UJCRJJ/IAcqyqezwTpB8e2trYmHKovUdt0KR9/tVkGa7hsNd5GfxTOUaAFc3zADqRVM+wGimtG0NYfOF2f8tkmBEAiMMLKq5pbAnHU723a1cm/nfVp7gvXfsnO0k2GvRuHzb8mxIhWLiAnwdK9gEu5za/jWxo/xIvf2sdJPYdWj+yfyzA2e1fJkx4uRUzX31CXxZvP2/tfEcnTdI0gxN+OH2eAMiPVswIDAQAB"
|
ALIPAYPUBLICKEY: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjHDksTgZTpf0wh7oeTVRp0h3SqzTM2smjEJnx9jF1+q3WSXLRB4OzSzq7VsJ/szcyK10ZGO5PxeQ4u9GAG/U+7xhs7ei1cJB/Er55Sg9SbjfkTpwlDv181UJCRJJ/IAcqyqezwTpB8e2trYmHKovUdt0KR9/tVkGa7hsNd5GfxTOUaAFc3zADqRVM+wGimtG0NYfOF2f8tkmBEAiMMLKq5pbAnHU723a1cm/nfVp7gvXfsnO0k2GvRuHzb8mxIhWLiAnwdK9gEu5za/jWxo/xIvf2sdJPYdWj+yfyzA2e1fJkx4uRUzX31CXxZvP2/tfEcnTdI0gxN+OH2eAMiPVswIDAQAB"
|
||||||
#应用私钥
|
#应用私钥
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user