|
|
@@ -249,7 +249,7 @@ public class WxOrderController extends BaseController { |
|
|
WxComposeOrder order = (WxComposeOrder) resultData.data; |
|
|
WxComposeOrder order = (WxComposeOrder) resultData.data; |
|
|
Map<String, Object> data = new HashMap<>(); |
|
|
Map<String, Object> data = new HashMap<>(); |
|
|
data.put("out_order_no",order.getMainOrderId().toString()); |
|
|
data.put("out_order_no",order.getMainOrderId().toString()); |
|
|
data.put("pay_expire_seconds",300); |
|
|
|
|
|
|
|
|
// data.put("pay_expire_seconds",300); |
|
|
data.put("order_entry_schema",wxOrderService.getOrderEntrySchema(order.getMainOrderId())); |
|
|
data.put("order_entry_schema",wxOrderService.getOrderEntrySchema(order.getMainOrderId())); |
|
|
List<Map<String,Object>> goodsValid = new ArrayList<>(); |
|
|
List<Map<String,Object>> goodsValid = new ArrayList<>(); |
|
|
for (Long couponChannelId:order.getCouponChannelMap().keySet()) { |
|
|
for (Long couponChannelId:order.getCouponChannelMap().keySet()) { |
|
|
@@ -291,70 +291,70 @@ public class WxOrderController extends BaseController { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ApiOperation(value = "更新订单状态", notes = "{\"payOrderId\":\"string\",\"composeOrderId\":\"string\",\"status\":integer,\"reason\":\"string\"}") |
|
|
|
|
|
@PostMapping("/updatePayOrder") |
|
|
|
|
|
public ResultData updatePayOrder(@RequestBody Map<String, Object> paramMap) { |
|
|
|
|
|
logger.info("/api/pay/updatePayOrder" + paramMap.toString()); |
|
|
|
|
|
String orderIdStr = (String) paramMap.get("composeOrderId"); |
|
|
|
|
|
if (StringUtils.isBlank(orderIdStr)) { |
|
|
|
|
|
logger.info("orderId不能为空: " + paramMap.toString()); |
|
|
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
Long orderId = 0L; |
|
|
|
|
|
try { |
|
|
|
|
|
orderId = Long.valueOf(orderIdStr); |
|
|
|
|
|
} catch (NumberFormatException e) { |
|
|
|
|
|
logger.error("orderId参数不正确: " + paramMap.toString() + ", e:" + e.getMessage()); |
|
|
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId参数不正确"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
WxBatchOrder batchOrder = wxOrderService.getWxBatchOrder(getTenantInfo(),orderId); |
|
|
|
|
|
if(batchOrder == null){ |
|
|
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到订单"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
WxPayOrder payOrder = new WxPayOrder(); |
|
|
|
|
|
payOrder.setOrderId(orderId); |
|
|
|
|
|
payOrder.updateTenantInfo(getTenantInfo()); |
|
|
|
|
|
payOrder.setPayVendor(getPayWay().getCode()); |
|
|
|
|
|
payOrder.setComposeOrder(batchOrder.getOrderType()); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
WxPayOrder byObj = wxPayOrderService.getByObj(payOrder); |
|
|
|
|
|
if(byObj != null){ |
|
|
|
|
|
return new ResultData(Result.SUCCESS, "支付状态更新成功"); |
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(payOrder.getComposeOrder()).getComposeOrder(payOrder.getOrderId(), payOrder.getTenantId()); |
|
|
|
|
|
|
|
|
|
|
|
WxAppinfo appInfo = wxAppinfoService.getCAppInfo(payOrder, EnumPayWay.getEnum(payOrder.getPayVendor()).getPlat()); |
|
|
|
|
|
//WxCUser user = getUser(); |
|
|
|
|
|
//WxAppinfo appInfo = getAppInfo(user.getAppId()); |
|
|
|
|
|
if (null == appInfo) { |
|
|
|
|
|
return new ResultData(ErrorCode.PAY_ORDER_ERROR, "当前支付类型["+payOrder.getPayVendor()+"]找不到C端appInfo"); |
|
|
|
|
|
} |
|
|
|
|
|
WxPayAccount payAccount = wxPayAccountService.getById(appInfo.getPayId()); |
|
|
|
|
|
try { |
|
|
|
|
|
WxPayOrder wo = wxPayOrderService.handleWxOrderQuery(payOrder, composeOrder,appInfo, payAccount, IdWorker.get(),false); |
|
|
|
|
|
if (null != wo) { |
|
|
|
|
|
return new ResultData(Result.SUCCESS, "支付状态更新成功", composeOrder); |
|
|
|
|
|
} |
|
|
|
|
|
}catch(MallinkException e) { |
|
|
|
|
|
//已经同步了微信的支付状态,表示已经更新 |
|
|
|
|
|
return new ResultData(Result.SUCCESS, "支付状态更新成功", composeOrder); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return new ResultData(ErrorCode.PAY_ORDER_ERROR, "查询微信订单支付状态失败,请稍后!"); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (MallinkException e) { |
|
|
|
|
|
logger.error("支付状态更新失败2: " + payOrder.toString() + ", e:" + e.getMessage(),e); |
|
|
|
|
|
return new ResultData(e.getErrorCode(), e.getMessage()); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
logger.error("支付状态更新失败3: " + payOrder.toString() + ", e:" + e.getMessage(),e); |
|
|
|
|
|
return new ResultData(ErrorCode.PAY_ORDER_ERROR, "支付状态更新失败3: " + payOrder.toString() + ", e:" + e.getMessage()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// @ApiOperation(value = "更新订单状态", notes = "{\"payOrderId\":\"string\",\"composeOrderId\":\"string\",\"status\":integer,\"reason\":\"string\"}") |
|
|
|
|
|
// @PostMapping("/updatePayOrder") |
|
|
|
|
|
// public ResultData updatePayOrder(@RequestBody Map<String, Object> paramMap) { |
|
|
|
|
|
// logger.info("/api/pay/updatePayOrder" + paramMap.toString()); |
|
|
|
|
|
// String orderIdStr = (String) paramMap.get("composeOrderId"); |
|
|
|
|
|
// if (StringUtils.isBlank(orderIdStr)) { |
|
|
|
|
|
// logger.info("orderId不能为空: " + paramMap.toString()); |
|
|
|
|
|
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空"); |
|
|
|
|
|
// } |
|
|
|
|
|
// Long orderId = 0L; |
|
|
|
|
|
// try { |
|
|
|
|
|
// orderId = Long.valueOf(orderIdStr); |
|
|
|
|
|
// } catch (NumberFormatException e) { |
|
|
|
|
|
// logger.error("orderId参数不正确: " + paramMap.toString() + ", e:" + e.getMessage()); |
|
|
|
|
|
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId参数不正确"); |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// WxBatchOrder batchOrder = wxOrderService.getWxBatchOrder(getTenantInfo(),orderId); |
|
|
|
|
|
// if(batchOrder == null){ |
|
|
|
|
|
// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到订单"); |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// WxPayOrder payOrder = new WxPayOrder(); |
|
|
|
|
|
// payOrder.setOrderId(orderId); |
|
|
|
|
|
// payOrder.updateTenantInfo(getTenantInfo()); |
|
|
|
|
|
// payOrder.setPayVendor(getPayWay().getCode()); |
|
|
|
|
|
// payOrder.setComposeOrder(batchOrder.getOrderType()); |
|
|
|
|
|
// |
|
|
|
|
|
// try { |
|
|
|
|
|
// WxPayOrder byObj = wxPayOrderService.getByObj(payOrder); |
|
|
|
|
|
// if(byObj != null){ |
|
|
|
|
|
// return new ResultData(Result.SUCCESS, "支付状态更新成功"); |
|
|
|
|
|
// }else{ |
|
|
|
|
|
// |
|
|
|
|
|
// |
|
|
|
|
|
// WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(payOrder.getComposeOrder()).getComposeOrder(payOrder.getOrderId(), payOrder.getTenantId()); |
|
|
|
|
|
// |
|
|
|
|
|
// WxAppinfo appInfo = wxAppinfoService.getCAppInfo(payOrder, EnumPayWay.getEnum(payOrder.getPayVendor()).getPlat()); |
|
|
|
|
|
// //WxCUser user = getUser(); |
|
|
|
|
|
// //WxAppinfo appInfo = getAppInfo(user.getAppId()); |
|
|
|
|
|
// if (null == appInfo) { |
|
|
|
|
|
// return new ResultData(ErrorCode.PAY_ORDER_ERROR, "当前支付类型["+payOrder.getPayVendor()+"]找不到C端appInfo"); |
|
|
|
|
|
// } |
|
|
|
|
|
// WxPayAccount payAccount = wxPayAccountService.getById(appInfo.getPayId()); |
|
|
|
|
|
// try { |
|
|
|
|
|
// WxPayOrder wo = wxPayOrderService.handleWxOrderQuery(payOrder, composeOrder,appInfo, payAccount, IdWorker.get(),false); |
|
|
|
|
|
// if (null != wo) { |
|
|
|
|
|
// return new ResultData(Result.SUCCESS, "支付状态更新成功", composeOrder); |
|
|
|
|
|
// } |
|
|
|
|
|
// }catch(MallinkException e) { |
|
|
|
|
|
// //已经同步了微信的支付状态,表示已经更新 |
|
|
|
|
|
// return new ResultData(Result.SUCCESS, "支付状态更新成功", composeOrder); |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// return new ResultData(ErrorCode.PAY_ORDER_ERROR, "查询微信订单支付状态失败,请稍后!"); |
|
|
|
|
|
// } |
|
|
|
|
|
// } catch (MallinkException e) { |
|
|
|
|
|
// logger.error("支付状态更新失败2: " + payOrder.toString() + ", e:" + e.getMessage(),e); |
|
|
|
|
|
// return new ResultData(e.getErrorCode(), e.getMessage()); |
|
|
|
|
|
// } catch (Exception e) { |
|
|
|
|
|
// logger.error("支付状态更新失败3: " + payOrder.toString() + ", e:" + e.getMessage(),e); |
|
|
|
|
|
// return new ResultData(ErrorCode.PAY_ORDER_ERROR, "支付状态更新失败3: " + payOrder.toString() + ", e:" + e.getMessage()); |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|