再次查询充值
This commit is contained in:
parent
e198fb86d7
commit
b322b482ca
|
|
@ -83,6 +83,7 @@ public class NotifyCotroller {
|
|||
updateTrade.setFailReason(trade_status);
|
||||
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
||||
//TODO 增加用户的个人钱包 acc_wallet_info
|
||||
|
||||
} else {
|
||||
AccTradeVo updateTrade = new AccTradeVo();
|
||||
updateTrade.setOrderNo(order_no);
|
||||
|
|
@ -92,7 +93,6 @@ public class NotifyCotroller {
|
|||
updateTrade.setFailReason(trade_status);
|
||||
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
||||
}
|
||||
|
||||
out.println("success");
|
||||
} else {
|
||||
out.println("fail");
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
package com.bonus.canteen.core.pay.controller;
|
||||
|
||||
import com.alibaba.excel.util.StringUtils;
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.alipay.api.AlipayClient;
|
||||
import com.alipay.api.request.AlipayTradePagePayRequest;
|
||||
import com.alipay.api.request.AlipayTradeQueryRequest;
|
||||
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.AccTradeTypeEnum;
|
||||
import com.bonus.canteen.core.account.service.IAccTradeService;
|
||||
|
|
@ -31,7 +34,7 @@ import java.util.UUID;
|
|||
@Api(tags = "支付接口")
|
||||
@RestController
|
||||
@RequestMapping("/alipay")
|
||||
public class PayCotroller {
|
||||
public class PayController {
|
||||
@Resource
|
||||
AlipayClient alipayClient;
|
||||
@Resource
|
||||
|
|
@ -47,8 +50,8 @@ public class PayCotroller {
|
|||
accTradeVo.setTradeType(AccTradeTypeEnum.CONSUME.getKey().longValue());
|
||||
Date date = new Date();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
accTradeVo.setOrderNo(GlobalConstants.TENANT_ID + "_" + UUID.randomUUID().toString().replaceAll("-","") + "_" + sdf.format(date));
|
||||
accTradeVo.setOrderName(GlobalConstants.TENANT_ID + "_" + SecurityUtils.getUserId() + "_" + GlobalConstants.PERSONAL_RECHARGE + "_" + sdf.format(date));
|
||||
accTradeVo.setOrderNo(sdf.format(date) + "_" + GlobalConstants.TENANT_ID + "_" + SecurityUtils.getUserId());
|
||||
accTradeVo.setOrderName(accTradeVo.getOrderNo() + "_" + GlobalConstants.PERSONAL_RECHARGE);
|
||||
accTradeVo.setTradeTime(new Date());
|
||||
accTradeVo.setAmount(accTradeVo.getPaymentAmount().multiply(new BigDecimal(100)).longValue());
|
||||
accTradeVo.setPayType(PayTypeEnum.MEAL_CARD.getKey().longValue());
|
||||
|
|
@ -72,4 +75,43 @@ public class PayCotroller {
|
|||
response.getWriter().println(alipayResponse.getBody());
|
||||
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_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);
|
||||
} else {
|
||||
out.println("fail");
|
||||
|
|
|
|||
Loading…
Reference in New Issue