杨杰 4 éve
szülő
commit
230db3b803

+ 1 - 0
src/main/java/com/llisoft/pay/controller/OrderController.java

@@ -48,6 +48,7 @@ public class OrderController{
 	@ApiOperation(value="订单核对")
 	@GetMapping("/check/{orderNum}")
 	public boolean check(@PathVariable String orderNum) throws Exception{
+		logger.debug("收到订单核对请求: {}", orderNum);
 		return orderService.check(orderNum);
 	}
 	

+ 5 - 3
src/main/java/com/llisoft/pay/service/AliPayService.java

@@ -145,11 +145,13 @@ public class AliPayService {
 		request.setBizModel(queryModel);
 		String result = null;
 		try {
+			logger.debug("支付宝查询: 发起请求: {}", paynum);
 			result = alipayClient.execute(request).getBody();
-		} catch (AlipayApiException e) {
-			logger.error("请求支付宝查询接口异常: ", e);
+			logger.debug("支付宝查询: 接口返回: {}", result);
+		} catch (AlipayApiException exception) {
+			logger.error("请求支付宝查询接口异常: ", exception);
+			return false;
 		}
-		logger.debug("请求支付宝查询接口返回: {}", result);
 		// {"alipay_trade_query_response":{"code":"10000","msg":"Success","buyer_logon_id":"ipb***@sandbox.com","buyer_pay_amount":"0.00","buyer_user_id":"2088102170394382","buyer_user_type":"PRIVATE","invoice_amount":"0.00","out_trade_no":"1529637131201603","point_amount":"0.00","receipt_amount":"0.00","send_pay_date":"2018-06-22 11:12:23","total_amount":"12.00","trade_no":"2018062221001004380200826678","trade_status":"TRADE_SUCCESS"},"sign":"gnWtxKDDhkRmoWnfwLVs2RGtt4GbiY+xaVs5+G47D5e9SnQHqGnElKme4jlDdnqhAroX3aqyJLVexohBjzA+DlpRzDhIu5EZLXnDr/B2FZEVjyiU66ImVH6vSyWyOVEjbGIgmVhUslhXqXYK5KxAx3QAdLrJLQeMO/gUdjs0qWcGO9yTU/suDy0YcdLSLlFyUutwD2MBz4Ri0tBk+uHjpxXoTZeb9/lQ7e4BixwCy+wB3hcESWN1b/m77YLKztmbLy67auhxzP9TRwQQ+6WRrTdMe/9rouIt6AW9T+6XSFd/LwL73Qo+1MfQa+iEUx2Iq+AYekhSgVyLJMRgz/qoZA=="}
 		Map<String, Object> resultMap = JsonUtil.toObject(result, Map.class, String.class, Object.class);
 		Map<String, String> map = (Map<String, String>) resultMap.get("alipay_trade_query_response");

+ 2 - 0
src/main/java/com/llisoft/pay/service/OrderService.java

@@ -95,8 +95,10 @@ public class OrderService {
 	public boolean check(String orderNum) throws Exception {
 		Order order = orderDao.selectByOrderNum(orderNum);
 		if(order.getOrderStatus() == STATUS_PAYED) {
+			logger.debug("当前订单状态为已支付,直接返回: {}", orderNum);
 			return true;
 		}
+		logger.debug("当前订单状态为未支付,调用接口验证: {}", orderNum);
 		return payService.check(order.getOrderId());
 	}
 	

+ 4 - 2
src/main/java/com/llisoft/pay/service/PayService.java

@@ -121,11 +121,12 @@ public class PayService {
 	public boolean finish(String payNum, String tradeNum, int money, byte flag) throws Exception{
 		Item item = this.get(payNum);
 		if (item.getPayMoney() != money) { // 核对金额
-			throw new Exception("支付金额异常: " + money);
+			logger.error("完成支付: 支付金额异常: {} : {}", money, payNum);
+			return false;
 		}
 		// 更新支付状态
 		payDao.updatePay(item.getPayId(), tradeNum, STATUS_PAYED, flag);
-		logger.debug("支付处理成功, 状态更新为已支付: {}", payNum);
+		logger.debug("完成支付: 状态更新为已支付: {}", payNum);
 		return orderService.finish(item.getOrderId());
 	}
 	
@@ -138,6 +139,7 @@ public class PayService {
 	public boolean check(int orderId) throws Exception {
 		Item pay = payDao.selectByOrderIdLast(orderId);
 		if(Objects.isNull(pay)) {
+			logger.warn("支付记录不存在: {}", orderId);
 			return false;
 		}
 		// 未支付状态,去第三方验证