| @@ -144,12 +144,12 @@ public class WxPayOrderController extends BaseController { | |||
| } | |||
| } | |||
| @ApiOperation(value = "更新支付订单状态", notes = "{\"payOrderId\":\"string\",\"orderId\":\"string\",\"status\":integer,\"reason\":\"string\"}") | |||
| @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 payOrderIdStr = (String) paramMap.get("payOrderId"); | |||
| String orderIdStr = (String) paramMap.get("orderId"); | |||
| String orderIdStr = (String) paramMap.get("composeOrderId"); | |||
| String reasonStr = (String) paramMap.get("reason"); | |||
| Integer status = (Integer) paramMap.get("status"); | |||
| if (StringUtils.isBlank(orderIdStr)) { | |||
| @@ -203,6 +203,8 @@ public class WxPayOrderController extends BaseController { | |||
| WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(payOrder.getComposeOrder()).getComposeOrder(payOrder.getOrderId(), payOrder.getTenantId()); | |||
| //查询微信订单状态并更新 | |||
| check(composeOrder,payOrder); | |||
| WxAppinfo appInfo = wxAppinfoService.getCAppInfo(payOrder, EnumPayWay.getEnum(payOrder.getPayVendor())); | |||
| //WxCUser user = getUser(); | |||
| //WxAppinfo appInfo = getAppInfo(user.getAppId()); | |||
| @@ -235,32 +237,41 @@ public class WxPayOrderController extends BaseController { | |||
| } | |||
| } | |||
| private boolean check(Long orderId,WxOrder order,WxPayOrder payOrder) { | |||
| if (null == order) { | |||
| throw new MallinkException(ErrorCode.PAY_ORDER_ERROR.getCode(), "未查询到Order["+orderId+"]."); | |||
| } | |||
| WxCoupon wxCoupon = wxCouponService.getById(order.getProductId(),order.getTenantId()); | |||
| if (null == wxCoupon) { | |||
| throw new MallinkException(ErrorCode.PAY_ORDER_ERROR.getCode(), "未查询到优惠券[orderId:"+orderId+"]."); | |||
| } | |||
| //拼团的订单,如果查询到是拼团待付款的,则重新查询是否已经真的支付,其他的直接返回订单信息 | |||
| if (wxPayOrderService.isOrderGroupCoupon(payOrder, wxCoupon)) { | |||
| if (!order.getOrderStatus().equals(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode())) { | |||
| return true; | |||
| } | |||
| }else { | |||
| //非拼团的订单,支付成功,关闭订单,撤销支付订单,支付转退款的,直接返回订单信息,其他需要查询真实支付状态 | |||
| if (payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_SUCCESS.getCode())|| | |||
| private boolean check(WxComposeOrder composeOrder,WxPayOrder payOrder) { | |||
| if (EnumComposeOrder.isSingle(composeOrder.getComposeOrderType())) { | |||
| WxOrder order = composeOrder.getSingleOrder(); | |||
| if (null == order) { | |||
| throw new MallinkException(ErrorCode.PAY_ORDER_ERROR.getCode(), "未查询到Order["+payOrder.getOrderId()+"]."); | |||
| } | |||
| WxCoupon wxCoupon = wxCouponService.getById(order.getProductId(),order.getTenantId()); | |||
| if (null == wxCoupon) { | |||
| throw new MallinkException(ErrorCode.PAY_ORDER_ERROR.getCode(), "未查询到优惠券[orderId:"+payOrder.getOrderId()+"]."); | |||
| } | |||
| //拼团的订单,如果查询到是拼团待付款的,则重新查询是否已经真的支付,其他的直接返回订单信息 | |||
| if (wxPayOrderService.isOrderGroupCoupon(payOrder, wxCoupon)) { | |||
| if (!order.getOrderStatus().equals(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode())) { | |||
| return true; | |||
| } | |||
| }else { | |||
| //非拼团的订单,支付成功,关闭订单,撤销支付订单,支付转退款的,直接返回订单信息,其他需要查询真实支付状态 | |||
| if (payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_SUCCESS.getCode())|| | |||
| payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_CLOSE.getCode())|| | |||
| payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_REVERSE.getCode())|| | |||
| payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_REFUND.getCode())) { | |||
| return true; | |||
| } | |||
| } | |||
| }else { | |||
| if (payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_SUCCESS.getCode())|| | |||
| payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_CLOSE.getCode())|| | |||
| payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_REVERSE.getCode())|| | |||
| payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_REFUND.getCode())) { | |||
| return true; | |||
| } | |||
| } | |||
| } | |||
| return false; | |||
| } | |||
| @ApiOperation("分页列表接口") | |||
| @GetMapping("/list") | |||
| @ApiImplicitParams({ | |||
| @@ -2099,7 +2099,7 @@ public class PosServiceImpl implements PosService { | |||
| payOrder.setId(idWorker.nextId()); | |||
| payOrder.updateTenantInfo(merchantBUser); | |||
| payOrder.setCUserId(memId); | |||
| payOrder.setOrderId(order.getId()); | |||
| payOrder.setOrderId(EnumComposeOrder.getPayOrderId(order)); | |||
| payOrder.setCreateTime(curDate); | |||
| payOrder.setUpdateTime(curDate); | |||
| payOrder.setPayTimeStart(curDate); | |||
| @@ -2140,7 +2140,7 @@ public class PosServiceImpl implements PosService { | |||
| Long posPayOrderId, Integer neuPaymentAmount, Date neuPosPayOrderTime, String posPayOrderNo) { | |||
| // 1. insert into PayOrder | |||
| WxPayOrder payOrderQ = new WxPayOrder(); | |||
| payOrderQ.setOrderId(order.getId()); | |||
| payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order)); | |||
| payOrderQ.updateTenantInfo(merchantBUser); | |||
| List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ); | |||
| WxPayOrder payOrder = null; | |||
| @@ -2153,7 +2153,7 @@ public class PosServiceImpl implements PosService { | |||
| payOrder.updateTenantInfo(merchantBUser); | |||
| payOrder.setCUserId(memId); | |||
| payOrder.setBUserId(merchantBUser.getId()); | |||
| payOrder.setOrderId(order.getId()); | |||
| payOrder.setOrderId(EnumComposeOrder.getPayOrderId(order)); | |||
| payOrder.setCreateTime(curDate); | |||
| payOrder.setUpdateTime(curDate); | |||
| payOrder.setPayTimeStart(curDate); | |||
| @@ -2238,7 +2238,7 @@ public class PosServiceImpl implements PosService { | |||
| // 1. insert into PayOrder | |||
| WxPayOrder payOrderQ = new WxPayOrder(); | |||
| payOrderQ.updateTenantInfo(buUser); | |||
| payOrderQ.setOrderId(order.getId()); | |||
| payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order)); | |||
| List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ); | |||
| WxPayOrder payOrder = null; | |||
| if (null == payOrderList || payOrderList.size()<=0) { | |||
| @@ -2326,7 +2326,7 @@ public class PosServiceImpl implements PosService { | |||
| payOrder.setTenantId(buUser.getTenantId()); | |||
| payOrder.updateTenantInfo(buUser); | |||
| payOrder.setCUserId(memId); | |||
| payOrder.setOrderId(order.getId()); | |||
| payOrder.setOrderId(EnumComposeOrder.getPayOrderId(order)); | |||
| payOrder.setCreateTime(curDate); | |||
| payOrder.setUpdateTime(curDate); | |||
| payOrder.setPayTimeStart(curDate); | |||
| @@ -2391,7 +2391,7 @@ public class PosServiceImpl implements PosService { | |||
| WxPayOrder payOrderQ = new WxPayOrder(); | |||
| payOrderQ.updateTenantInfo(refundOrder); | |||
| payOrderQ.setCUserId(refundOrder.getCUserId()); | |||
| payOrderQ.setOrderId(refundOrder.getId()); | |||
| payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(refundOrder)); | |||
| payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | |||
| payOrderQ.setPosPayOrderId(posPayOrderId); | |||
| @@ -400,7 +400,7 @@ public class OrderExpiringSchedule { | |||
| WxPayOrder payOrderQ = new WxPayOrder(); | |||
| payOrderQ.updateTenantInfo(order); | |||
| payOrderQ.setCUserId(order.getCUserId()); | |||
| payOrderQ.setOrderId(order.getId()); | |||
| payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order)); | |||
| //payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | |||
| WxPayOrder payOrder = null; | |||
| @@ -906,7 +906,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||
| WxPayOrder payOrder = null; | |||
| WxPayOrder payOrderQ = new WxPayOrder(); | |||
| payOrderQ.updateTenantInfo(couponOrder); | |||
| payOrderQ.setOrderId(order.getId()); | |||
| payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(order)); | |||
| payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | |||
| List<WxPayOrder> payList = wxPayOrderMapper.selectList(new QueryWrapper(payOrderQ)); | |||
| if (payList.size() > 0) { | |||
| @@ -1092,7 +1092,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||
| WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy(); | |||
| merchantSubsidy.setId(idWorker.nextId()); | |||
| merchantSubsidy.updateTenantInfo(order); | |||
| merchantSubsidy.setOrderId(record.getOrderId()); | |||
| merchantSubsidy.setOrderId(order.getId()); | |||
| merchantSubsidy.setOrderType(EnumOrderType.MICROPAY.getCode()); | |||
| WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectById(order.getProductId()); | |||
| merchantSubsidy.setMerchantId(wxMerchantBUser.getMerchantId()); | |||
| @@ -128,7 +128,6 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||
| logger.error("券ID不存在:" + couponOrderId); | |||
| throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); | |||
| } | |||
| WxOrder wxOrder = wxOrderMapper.selectById(wxCouponOrder.getOrderId(),wxCouponOrder.getTenantId()); | |||
| if (wxOrder == null) { | |||
| logger.error("订单ID不存在:" + couponOrderId); | |||
| @@ -178,7 +177,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||
| WxPayOrder payOrderQ = new WxPayOrder(); | |||
| payOrderQ.updateTenantInfo(wxCouponOrder); | |||
| payOrderQ.setCUserId(wxOrder.getCUserId()); | |||
| payOrderQ.setOrderId(wxOrder.getId()); | |||
| payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(wxOrder)); | |||
| payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | |||
| WxPayOrder payOrder = null; | |||
| @@ -376,7 +375,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||
| WxPayOrder payOrderQ = new WxPayOrder(); | |||
| payOrderQ.updateTenantInfo(wxOrder); | |||
| payOrderQ.setCUserId(wxOrder.getCUserId()); | |||
| payOrderQ.setOrderId(wxOrder.getId()); | |||
| payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(wxOrder)); | |||
| payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | |||
| WxPayOrder payOrder = null; | |||
| @@ -598,7 +597,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||
| WxPayOrder payOrderQ = new WxPayOrder(); | |||
| payOrderQ.updateTenantInfo(wxOrder); | |||
| payOrderQ.setCUserId(wxOrder.getCUserId()); | |||
| payOrderQ.setOrderId(wxOrder.getId()); | |||
| payOrderQ.setOrderId(EnumComposeOrder.getPayOrderId(wxOrder)); | |||
| //payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | |||
| WxPayOrder payOrder = null; | |||