From c5857a50d688d0c42b3893854e6f30dc45e61ca9 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 11 十一月 2024 22:32:12 +0800 Subject: [PATCH] 代码提交 --- xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/OrderService.java | 2 xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java | 6 +++ xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java | 4 + xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java | 79 ++++++++++++++++++++++----------------- 4 files changed, 54 insertions(+), 37 deletions(-) diff --git a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java index 3fb34cf..8be74de 100644 --- a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java +++ b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java @@ -646,6 +646,12 @@ }else{ clientCourseVO.setIsVip(0); } + List<Long> collect9 = data.stream().map(AppUser::getId).collect(Collectors.toList()); + if (!collect9.isEmpty()){ + if (collect9.contains(userId)){ + clientCourseVO.setIsBuy(1); + } + } if(byId.getChargeType() != 1){ List<CourseChapter> list = courseChapterService.lambdaQuery().eq(CourseChapter::getCourseId, byId.getId()) .list(); diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java index a8bb03f..ecfabb9 100644 --- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java +++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java @@ -306,6 +306,7 @@ @ApiOperation(value = "创建支付订单", notes = "微信|支付宝") @ApiImplicitParams({ @ApiImplicitParam(name = "targetId", value = "目标id 订单类型为会员和充值时不传", dataType = "Long", required = false), + @ApiImplicitParam(name = "orderId", value = "订单id 待支付时传", dataType = "Long", required = false), @ApiImplicitParam(name = "orderFrom", value = "订单来源 1=冥想音频 2=课程 3=购买会员 4充值", dataType = "Integer", required = true), @ApiImplicitParam(name = "receiverId", value = "被赠送课程APP用户id", dataType = "Long", required = false), @ApiImplicitParam(name = "balanceFlag", value = "是否使用余额抵扣 1=是 2=否", dataType = "Integer", required = false), @@ -315,6 +316,7 @@ }) public R<ClientPlaceOrderVO> placeOrder( @RequestParam(value = "targetId", required = false) Long targetId, + @RequestParam(value = "orderId", required = false) Long orderId, @RequestParam(value = "orderFrom") Integer orderFrom, @RequestParam(value = "receiverId", required = false) Long receiverId, @RequestParam(value = "balanceFlag", required = false) Integer balanceFlag, @@ -325,7 +327,7 @@ try { return R.ok( - orderService.placeOrder(targetId, orderFrom, receiverId, + orderService.placeOrder(targetId, orderFrom, receiverId,orderId, balanceFlag, payType,amount,vipType)); } catch (Exception e) { throw new RuntimeException(e); diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/OrderService.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/OrderService.java index 75d803e..724763c 100644 --- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/OrderService.java +++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/OrderService.java @@ -28,7 +28,7 @@ * @return 下单返回数据视图对象 * @see com.xinquan.order.domain.vo.ClientPlaceOrderVO */ - ClientPlaceOrderVO placeOrder(Long targetId, Integer orderFrom, Long receiverId, + ClientPlaceOrderVO placeOrder(Long targetId, Integer orderFrom, Long receiverId,Long orderId, Integer balanceFlag, Integer payType,BigDecimal amount,Integer vipType) throws Exception; /** diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java index 55b0678..d016a81 100644 --- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java +++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java @@ -76,7 +76,7 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public ClientPlaceOrderVO placeOrder(Long targetId, Integer orderFrom, Long receiverId, + public ClientPlaceOrderVO placeOrder(Long targetId, Integer orderFrom, Long receiverId, Long orderId, Integer balanceFlag, Integer payType,BigDecimal amount,Integer vipType) throws Exception { // 获取当前登录用户id LoginUser loginUser = tokenService.getLoginUser(); @@ -91,7 +91,6 @@ AppUser appUser = getAppUserById(userId); ClientPlaceOrderVO clientPlaceOrderVO = new ClientPlaceOrderVO(); Order order = new Order(); - order.setPayType(payType); // 购买冥想音频 if (orderFrom == 1) { Meditation meditation = remoteMeditationService.getMeditationById(targetId, @@ -101,23 +100,29 @@ String wxOpenId = appUser.getWxOpenId(); // 创建订单 String orderNo = OrderUtil.getOrderNoForPrefix("MX"); - order.setOrderFrom(orderFrom); - order.setBizOrderNo(orderNo); - order.setBusinessId(meditation.getId()); - order.setAppUserId(userId); - order.setRealPayAmount(meditation.getGeneralPrice()); - order.setPayType(payType); - order.setTotalAmount(meditation.getGeneralPrice()); - order.setGiveUserId(receiverId); - this.save(order); - Long orderId = order.getId(); + if (orderId==null){ + order.setPayType(payType); + order.setOrderFrom(orderFrom); + order.setBizOrderNo(orderNo); + order.setBusinessId(meditation.getId()); + order.setAppUserId(userId); + order.setRealPayAmount(meditation.getGeneralPrice()); + order.setPayType(payType); + order.setTotalAmount(meditation.getGeneralPrice()); + order.setGiveUserId(receiverId); + this.save(order); + }else{ + order = this.getById(orderId); + } + + Long orderId9 = order.getId(); clientPlaceOrderVO.setOrderNo(orderNo); - clientPlaceOrderVO.setId(orderId); + clientPlaceOrderVO.setId(orderId9); // 如果冥想音频价格设定为单独收费,且需要使用余额抵扣 if (balanceFlag.equals(1) && meditation.getChargeType().equals(ChargeTypeEnum.SEPARATE_CHARGE.getCode())) { BigDecimal needPayAmount = handleBalancePayment(appUser, meditation.getGeneralPrice(), - orderId); + orderId9); if (needPayAmount.compareTo(BigDecimal.ZERO) <= 0) { clientPlaceOrderVO.setZeroFlag(DisabledEnum.YES.getCode()); // 抵扣后金额为0 为余额支付 @@ -136,11 +141,11 @@ this.updateById(order); // 创建支付订单 createPayment(payType, orderNo, needPayAmount, meditationTitle, detailDescription, - wxOpenId, orderId, clientPlaceOrderVO); + wxOpenId, orderId9, clientPlaceOrderVO); } else { // 创建支付订单 createPayment(payType, orderNo, meditation.getGeneralPrice(), meditationTitle, - detailDescription, wxOpenId, orderId, clientPlaceOrderVO); + detailDescription, wxOpenId, orderId9, clientPlaceOrderVO); } } else if (orderFrom == 2){ @@ -152,22 +157,26 @@ // 创建订单 String orderNo = OrderUtil.getOrderNoForPrefix("KC"); - order.setOrderFrom(orderFrom); - order.setBizOrderNo(orderNo); - order.setGiveUserId(receiverId); - order.setBusinessId(course.getId()); - order.setAppUserId(userId); - order.setRealPayAmount(course.getGeneralPrice()); - order.setTotalAmount(course.getGeneralPrice()); - this.save(order); - Long orderId = order.getId(); + if (orderId==null){ + order.setOrderFrom(orderFrom); + order.setBizOrderNo(orderNo); + order.setGiveUserId(receiverId); + order.setBusinessId(course.getId()); + order.setAppUserId(userId); + order.setRealPayAmount(course.getGeneralPrice()); + order.setTotalAmount(course.getGeneralPrice()); + this.save(order); + }else{ + order = this.getById(orderId); + } + Long orderId8 = order.getId(); clientPlaceOrderVO.setOrderNo(orderNo); - clientPlaceOrderVO.setId(orderId); + clientPlaceOrderVO.setId(orderId8); if (balanceFlag.equals(1) && course.getChargeType() .equals(ChargeTypeEnum.SEPARATE_CHARGE.getCode())) { BigDecimal needPayAmount = handleBalancePayment(appUser, course.getGeneralPrice(), - orderId); + orderId8); if (needPayAmount.compareTo(BigDecimal.ZERO) <= 0) { clientPlaceOrderVO.setZeroFlag(DisabledEnum.YES.getCode()); @@ -186,11 +195,11 @@ } // 创建支付订单 createPayment(payType, orderNo, needPayAmount, courseTitle, description, - wxOpenId, orderId, clientPlaceOrderVO); + wxOpenId, orderId8, clientPlaceOrderVO); } else { // 创建支付订单 createPayment(payType, orderNo, course.getGeneralPrice(), courseTitle, - description, wxOpenId, orderId, clientPlaceOrderVO); + description, wxOpenId, orderId8, clientPlaceOrderVO); } } else if (orderFrom == 3){ @@ -217,12 +226,12 @@ } order.setBuyContent(vipType1); this.save(order); - Long orderId = order.getId(); + Long orderId7 = order.getId(); clientPlaceOrderVO.setOrderNo(orderNo); - clientPlaceOrderVO.setId(orderId); + clientPlaceOrderVO.setId(orderId7); // 创建支付订单 createPayment(payType, orderNo, amount, "购买会员", - vipType1, wxOpenId, orderId, clientPlaceOrderVO); + vipType1, wxOpenId, orderId7, clientPlaceOrderVO); }else { // 充值 @@ -237,12 +246,12 @@ order.setPayType(payType); order.setBuyContent("充值"); this.save(order); - Long orderId = order.getId(); + Long orderId6 = order.getId(); clientPlaceOrderVO.setOrderNo(orderNo); - clientPlaceOrderVO.setId(orderId); + clientPlaceOrderVO.setId(orderId6); // 创建支付订单 createPayment(payType, orderNo, amount, "充值余额", - "充值余额", wxOpenId, orderId, clientPlaceOrderVO); + "充值余额", wxOpenId, orderId6, clientPlaceOrderVO); } return clientPlaceOrderVO; } -- Gitblit v1.7.1