| @@ -257,6 +257,46 @@ public class WxOrderController extends BaseController { | |||||
| } | } | ||||
| } | } | ||||
| @ApiOperation(value = "获取未支付订单", notes = "{\"couponId\":\"string\"}") | |||||
| @GetMapping("/getUnPaidOrder") | |||||
| public ResultData getUnPaidOrder(@RequestBody Map<String, String> 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("我的砍价-分页列表接口") | @ApiOperation("我的砍价-分页列表接口") | ||||
| @GetMapping("pressOrderList") | @GetMapping("pressOrderList") | ||||
| @ApiImplicitParams({ | @ApiImplicitParams({ | ||||
| @@ -158,6 +158,14 @@ public interface WxOrderService { | |||||
| WxOrder saveOrderForCoupon(WxCUser user, WxCoupon coupon, OrderSaveDto orderSaveDto, boolean isPress); | WxOrder saveOrderForCoupon(WxCUser user, WxCoupon coupon, OrderSaveDto orderSaveDto, boolean isPress); | ||||
| void sendOrderSuccessActionMsg(WxOrder updateOrder); | void sendOrderSuccessActionMsg(WxOrder updateOrder); | ||||
| /** | |||||
| * 未支付订单 | |||||
| * @param cUser | |||||
| * @param coupon | |||||
| * @return | |||||
| */ | |||||
| WxOrder getUnPaidOrder(WxCUser cUser, WxCoupon coupon); | |||||
| /** | /** | ||||
| * 订单处理 | * 订单处理 | ||||
| * 1. 检查coupon是否免费 | * 1. 检查coupon是否免费 | ||||
| @@ -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<Integer> 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<WxOrder> 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 | * @param user | ||||