diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index c56f11dcc..2f5b4a698 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -257,6 +257,46 @@ public class WxOrderController extends BaseController { } } + @ApiOperation(value = "获取未支付订单", notes = "{\"couponId\":\"string\"}") + @GetMapping("/getUnPaidOrder") + public ResultData getUnPaidOrder(@RequestBody Map paramMap) { + String couponIdStr = paramMap.get("couponId"); + if (StringUtils.isBlank(couponIdStr)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponId不能为空"); + } + Long couponId = 0L; + try { + couponId = Long.valueOf(couponIdStr); + } catch (NumberFormatException e) { + logger.error("parse couponId failed"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "券ID转换异常"); + } + WxCoupon wxCoupon = null; + try { + wxCoupon = wxCouponService.getById(couponId); + } catch (Exception e) { + logger.error("券ID获取券信息失败, couponId: " + couponIdStr); + return new ResultData(ErrorCode.COUPON_IS_EMPTY); + } + if(wxCoupon == null) { + logger.error("券ID获取券信息失败, couponId: " + couponIdStr); + return new ResultData(ErrorCode.COUPON_IS_EMPTY); + } + + WxOrder order = null; + try { + order = wxOrderService.getUnPaidOrder(getUser(), wxCoupon); + if (order != null) { + return new ResultData(Result.SUCCESS, "查询成功", order); + } else { + return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); + } + } catch (Exception e) { + logger.error("parse orderId failed"); + return new ResultData(ErrorCode.DB_FAIL.getCode(), "订单查询未成功,e:" + e.getMessage()); + } + } + @ApiOperation("我的砍价-分页列表接口") @GetMapping("pressOrderList") @ApiImplicitParams({ diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java index 14a94ccc6..090e0e32b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java @@ -158,6 +158,14 @@ public interface WxOrderService { WxOrder saveOrderForCoupon(WxCUser user, WxCoupon coupon, OrderSaveDto orderSaveDto, boolean isPress); void sendOrderSuccessActionMsg(WxOrder updateOrder); + /** + * 未支付订单 + * @param cUser + * @param coupon + * @return + */ + WxOrder getUnPaidOrder(WxCUser cUser, WxCoupon coupon); + /** * 订单处理 * 1. 检查coupon是否免费 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index 0626cff64..e4524609f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -209,6 +209,36 @@ public class WxOrderServiceImpl implements WxOrderService { } + /** + * 用户购买的订单数量 + * @param user + * @param counpon + * @return + */ + public WxOrder getUnPaidOrder(WxCUser user, WxCoupon counpon) { + // + Order 待支付 + try { + WxOrder orderQ = new WxOrder(); + orderQ.setTenantId(user.getTenantId()); + orderQ.setProductId(counpon.getId()); + orderQ.setType(EnumOrderType.COUPON.getCode()); + orderQ.setCUserId(user.getId()); + List statusS = new ArrayList<>(); + statusS.add(EnumOrderStatus.ORDER_STATUS_PRESS_COMPLETE.getCode()); + statusS.add(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); + statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode()); + orderQ.setStatusS(statusS); + List orders = wxOrderMapper.findList(orderQ); + if(orders.size() > 1) { + return orders.get(0); + } + } catch (Exception e) { + logger.error("待支付Order, couponId: " + counpon.getId() + ", e:" + e.getMessage()); + throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND); + } + return null; + } + /** * 用户购买的券包数量- 待使用的券 * @param user