再次查询充值
This commit is contained in:
parent
e198fb86d7
commit
b322b482ca
|
|
@ -83,6 +83,7 @@ public class NotifyCotroller {
|
||||||
updateTrade.setFailReason(trade_status);
|
updateTrade.setFailReason(trade_status);
|
||||||
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
||||||
//TODO 增加用户的个人钱包 acc_wallet_info
|
//TODO 增加用户的个人钱包 acc_wallet_info
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
AccTradeVo updateTrade = new AccTradeVo();
|
AccTradeVo updateTrade = new AccTradeVo();
|
||||||
updateTrade.setOrderNo(order_no);
|
updateTrade.setOrderNo(order_no);
|
||||||
|
|
@ -92,7 +93,6 @@ public class NotifyCotroller {
|
||||||
updateTrade.setFailReason(trade_status);
|
updateTrade.setFailReason(trade_status);
|
||||||
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
||||||
}
|
}
|
||||||
|
|
||||||
out.println("success");
|
out.println("success");
|
||||||
} else {
|
} else {
|
||||||
out.println("fail");
|
out.println("fail");
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
package com.bonus.canteen.core.pay.controller;
|
package com.bonus.canteen.core.pay.controller;
|
||||||
|
|
||||||
|
import com.alibaba.excel.util.StringUtils;
|
||||||
import com.alipay.api.AlipayApiException;
|
import com.alipay.api.AlipayApiException;
|
||||||
import com.alipay.api.AlipayClient;
|
import com.alipay.api.AlipayClient;
|
||||||
import com.alipay.api.request.AlipayTradePagePayRequest;
|
import com.alipay.api.request.AlipayTradePagePayRequest;
|
||||||
|
import com.alipay.api.request.AlipayTradeQueryRequest;
|
||||||
import com.alipay.api.response.AlipayTradePagePayResponse;
|
import com.alipay.api.response.AlipayTradePagePayResponse;
|
||||||
|
import com.alipay.api.response.AlipayTradeQueryResponse;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeStateEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeStateEnum;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
||||||
import com.bonus.canteen.core.account.service.IAccTradeService;
|
import com.bonus.canteen.core.account.service.IAccTradeService;
|
||||||
|
|
@ -31,7 +34,7 @@ import java.util.UUID;
|
||||||
@Api(tags = "支付接口")
|
@Api(tags = "支付接口")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/alipay")
|
@RequestMapping("/alipay")
|
||||||
public class PayCotroller {
|
public class PayController {
|
||||||
@Resource
|
@Resource
|
||||||
AlipayClient alipayClient;
|
AlipayClient alipayClient;
|
||||||
@Resource
|
@Resource
|
||||||
|
|
@ -47,8 +50,8 @@ public class PayCotroller {
|
||||||
accTradeVo.setTradeType(AccTradeTypeEnum.CONSUME.getKey().longValue());
|
accTradeVo.setTradeType(AccTradeTypeEnum.CONSUME.getKey().longValue());
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
accTradeVo.setOrderNo(GlobalConstants.TENANT_ID + "_" + UUID.randomUUID().toString().replaceAll("-","") + "_" + sdf.format(date));
|
accTradeVo.setOrderNo(sdf.format(date) + "_" + GlobalConstants.TENANT_ID + "_" + SecurityUtils.getUserId());
|
||||||
accTradeVo.setOrderName(GlobalConstants.TENANT_ID + "_" + SecurityUtils.getUserId() + "_" + GlobalConstants.PERSONAL_RECHARGE + "_" + sdf.format(date));
|
accTradeVo.setOrderName(accTradeVo.getOrderNo() + "_" + GlobalConstants.PERSONAL_RECHARGE);
|
||||||
accTradeVo.setTradeTime(new Date());
|
accTradeVo.setTradeTime(new Date());
|
||||||
accTradeVo.setAmount(accTradeVo.getPaymentAmount().multiply(new BigDecimal(100)).longValue());
|
accTradeVo.setAmount(accTradeVo.getPaymentAmount().multiply(new BigDecimal(100)).longValue());
|
||||||
accTradeVo.setPayType(PayTypeEnum.MEAL_CARD.getKey().longValue());
|
accTradeVo.setPayType(PayTypeEnum.MEAL_CARD.getKey().longValue());
|
||||||
|
|
@ -72,4 +75,43 @@ public class PayCotroller {
|
||||||
response.getWriter().println(alipayResponse.getBody());
|
response.getWriter().println(alipayResponse.getBody());
|
||||||
response.getWriter().flush();
|
response.getWriter().flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询支付宝订单状态
|
||||||
|
* @param accTradeVo 商户订单号
|
||||||
|
* @return 订单查询结果
|
||||||
|
*/
|
||||||
|
@RequestMapping("queryOrder")
|
||||||
|
public AlipayTradeQueryResponse queryOrder(@RequestBody AccTradeVo accTradeVo) {
|
||||||
|
// 创建查询请求
|
||||||
|
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
|
||||||
|
|
||||||
|
// 设置业务参数
|
||||||
|
String bizContent = String.format("{\"out_trade_no\":\"%s\"}", accTradeVo.getOrderNo());
|
||||||
|
request.setBizContent(bizContent);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 发送查询请求
|
||||||
|
AlipayTradeQueryResponse response = alipayClient.execute(request);
|
||||||
|
// 根据结果处理充值记录,成功的话,存入钱包
|
||||||
|
String trade_status = response.getTradeStatus();
|
||||||
|
String third_trade_no = response.getTradeNo();
|
||||||
|
if ("TRADE_FINISHED".equals(trade_status) || "TRADE_SUCCESS".equals(trade_status)) {
|
||||||
|
AccTradeVo updateTrade = new AccTradeVo();
|
||||||
|
updateTrade.setOrderNo(accTradeVo.getOrderNo());
|
||||||
|
updateTrade.setThirdTradeNo(third_trade_no);
|
||||||
|
updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey().longValue());
|
||||||
|
updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue());
|
||||||
|
updateTrade.setFailReason(trade_status);
|
||||||
|
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
||||||
|
//TODO 增加用户的个人钱包 acc_wallet_info
|
||||||
|
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
} catch (AlipayApiException e) {
|
||||||
|
log.error("查询异常, ", e.getErrMsg());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -50,7 +50,7 @@ public class ReturnCotroller {
|
||||||
String trade_no = request.getParameter("trade_no");
|
String trade_no = request.getParameter("trade_no");
|
||||||
//交易状态
|
//交易状态
|
||||||
String trade_status = request.getParameter("trade_status");
|
String trade_status = request.getParameter("trade_status");
|
||||||
out.println("trade_no:" + trade_no + "<br>out_trade_no:" + out_trade_no +
|
out.println("return_values: " + "<br>trade_no:" + trade_no + "<br>out_trade_no:" + out_trade_no +
|
||||||
"<br>total_amount:" + total_amount + "<br>trade_status" + trade_status);
|
"<br>total_amount:" + total_amount + "<br>trade_status" + trade_status);
|
||||||
} else {
|
} else {
|
||||||
out.println("fail");
|
out.println("fail");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue