| @@ -294,70 +294,72 @@ 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 = "{\"composeOrderId\":\"string\"}") | |||||
| @PostMapping("/continueToPay") | |||||
| public ResultData continueToPay(@RequestBody Map<String, Object> paramMap) { | |||||
| logger.info("/api/order/continueToPay" + 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(batchOrder.getPayVendor()); | |||||
| payOrder.setComposeOrder(batchOrder.getOrderType()); | |||||
| try { | |||||
| WxPayOrder byObj = wxPayOrderService.getByObj(payOrder); | |||||
| if(byObj == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到支付订单"); | |||||
| } | |||||
| if(EnumPayStatus.PAY_STATUS_WAIT.getCode().equals(byObj.getPayOrderStatus())){ | |||||
| 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) { | |||||
| Map<String,Object> map = new HashMap<>(); | |||||
| map.put("outOrderNo",orderId); | |||||
| return new ResultData(map); | |||||
| } | |||||
| }catch(MallinkException e) { | |||||
| //已经同步了微信的支付状态,表示已经更新 | |||||
| return new ResultData(e.getErrorCode(),e.getMessage()); | |||||
| } | |||||
| return new ResultData(ErrorCode.PAY_ORDER_QUERY_ERROR.getCode(), "查询微信订单支付状态失败,请稍后!"); | |||||
| }else{ | |||||
| return new ResultData(ErrorCode.PAY_ORDER_QUERY_ERROR.getCode(), "订单"+EnumPayStatus.getEnum(payOrder.getPayOrderStatus()).getMessage()); | |||||
| } | |||||
| } 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()); | |||||
| } | |||||
| } | |||||