From 377cb14fb06a5cbeda3e2c715f58ae352768e096 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 11 十一月 2024 21:48:41 +0800 Subject: [PATCH] 代码提交 --- xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java | 69 +++++++++++++++++++++------------- 1 files changed, 42 insertions(+), 27 deletions(-) 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 a9c22a3..a8bb03f 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 @@ -62,7 +62,7 @@ import java.security.interfaces.ECPublicKey; import java.time.LocalDateTime; import java.util.*; - +import java.util.stream.Collectors; /** @@ -118,12 +118,20 @@ if (byId==null){ return R.fail("订单失效"); } + if (byId.getGiveUserId()!=null){ + AppUser data1 = remoteAppUserService.getAppUserById(byId.getGiveUserId() + "").getData(); + payOrderVO.setPhone(data1.getCellPhone()); + } + + AppUser data1 = remoteAppUserService.getAppUserById(byId.getAppUserId() + "").getData(); + payOrderVO.setBalance(data1.getBalance()); payOrderVO.setOrderId(id); if (byId.getOrderFrom()==1){ Meditation data = remoteMeditationService.getMeditationById(byId.getBusinessId()).getData(); payOrderVO.setTitle(data.getMeditationTitle()); payOrderVO.setOrderFrom(1); - payOrderVO.setTargetId(data.getId()); + payOrderVO.setCoverUrl(data.getCoverUrl()); + payOrderVO.setId(data.getId()); switch (type){ case 1: payOrderVO.setAmount(data.getGeneralPrice()); @@ -140,7 +148,8 @@ payOrderVO.setTitle(data.getCourseTitle()); payOrderVO.setTutor(data.getTutor()); payOrderVO.setOrderFrom(2); - payOrderVO.setTargetId(data.getId()); + payOrderVO.setCoverUrl(data.getCoverUrl()); + payOrderVO.setId(data.getId()); switch (type){ case 1: payOrderVO.setAmount(data.getGeneralPrice()); @@ -165,10 +174,10 @@ }) public R<List<OrderCourseVO>> balanceList(Integer state, Integer pageCurr, Integer pageSize) { LoginUser loginUser = tokenService.getLoginUser(); - Long userId = loginUser.getUserid(); if (loginUser==null){ return R.tokenError("登录失效"); } + Long userId = loginUser.getUserid(); List<OrderCourseVO> res = new ArrayList<>(); List<Order> page = orderService.lambdaQuery() .eq(Order::getOrderFrom, state) @@ -176,19 +185,24 @@ .orderByDesc(BaseModel::getCreateTime).list(); List<Order> list = orderService.lambdaQuery().eq(Order::getGiveUserId, userId).list(); for (Order order : page) { + OrderCourseVO orderCourseVO = new OrderCourseVO(); + orderCourseVO.setId(order.getId()); + orderCourseVO.setOrderFrom(order.getOrderFrom()); + orderCourseVO.setBusinessId(order.getBusinessId()); if (order.getAppUserId().equals(userId) && order.getGiveUserId() == null){ - OrderCourseVO orderCourseVO = new OrderCourseVO(); BeanUtils.copyProperties(order, orderCourseVO); orderCourseVO.setBusinessId(order.getBusinessId()); res.add(orderCourseVO); } if (order.getGiveUserId()!=null&&order.getGiveUserId().equals(userId)){ - OrderCourseVO orderCourseVO = new OrderCourseVO(); BeanUtils.copyProperties(order, orderCourseVO); orderCourseVO.setBusinessId(order.getBusinessId()); res.add(orderCourseVO); + } + } + List<OrderCourseVO> res1 = new ArrayList<>(); for (OrderCourseVO orderCourseVO : res) { switch (orderCourseVO.getOrderFrom()){ case 1: @@ -202,12 +216,13 @@ orderCourseVO.setCount(data1.getRealLearnedNum()+data1.getVirtualLearnedNum()); orderCourseVO.setChargeType(data1.getChargeType()); orderCourseVO.setCoverDescription(data1.getCoverDescription()); + res1.add(orderCourseVO); break; case 2: OrderCourseVO data = remoteCourseService.getCourseByIdAny(orderCourseVO).getData(); - Course data4 = remoteCourseService.getCourseById(data.getBusinessId()).getData(); if (data==null)continue; BeanUtils.copyProperties(data, orderCourseVO); + Course data4 = remoteCourseService.getCourseById(data.getBusinessId()).getData(); List<CourseChapter> data2 = remoteCourseService.getChapterByCourseId(orderCourseVO.getBusinessId() + "").getData(); int temp = 0 ; for (CourseChapter courseChapter : data2) { @@ -220,10 +235,19 @@ orderCourseVO.setCoverUrl(data4.getCoverUrl()); orderCourseVO.setBusinessId(data4.getId()); } + res1.add(orderCourseVO); break; } } - List<OrderCourseVO> testing = testing(res.size(), pageCurr, pageSize, res); + List<OrderCourseVO> orderCourseVOS = new ArrayList<>(); + List<Long> longs1 = new ArrayList<>(); + for (OrderCourseVO orderCourseVO : res1) { + if (!longs1.contains(orderCourseVO.getBusinessId())){ + longs1.add(orderCourseVO.getBusinessId()); + orderCourseVOS.add(orderCourseVO); + } + } + List<OrderCourseVO> testing = testing(orderCourseVOS.size(), pageCurr, pageSize, orderCourseVOS); return R.ok(testing); } public static List<OrderCourseVO> testing(long total, long current, long size, List<OrderCourseVO> str){ @@ -337,13 +361,14 @@ @ApiImplicitParam(name = "vipType", value = "订单类型为会员时 必传 会员类型 1月度 2季度 3年度", dataType = "Integer", required = false), }) public R placeOrderApple( - @RequestParam(value = "targetId") Long targetId, + @RequestParam(value = "targetId", required = false) Long targetId, @RequestParam(value = "orderFrom") Integer orderFrom, @RequestParam(value = "receiverId", required = false) Long receiverId, - @RequestParam(value = "balanceFlag") Integer balanceFlag, - @RequestParam(value = "amount") BigDecimal amount, - @RequestParam(value = "vipType") Integer vipType, - @RequestParam(value = "transactionIdentifier")String transactionIdentifier) throws Exception { + @RequestParam(value = "balanceFlag", required = false) Integer balanceFlag, + @RequestParam(value = "amount", required = false) BigDecimal amount, + @RequestParam(value = "vipType", required = false) Integer vipType, + @RequestParam(value = "transactionIdentifier")String transactionIdentifier) + throws Exception { return R.ok(orderService.placeOrderApple(targetId, orderFrom, receiverId, @@ -427,6 +452,7 @@ case 2: if (receiverId!=null){ remoteAppUserService.addAppUserCourse(order.getBusinessId(),order.getGiveUserId(),order.getId(),1); + remoteAppUserService.addNotice(receiverId+"",order.getBusinessId()+"",order.getAppUserId()+"",order.getTotalAmount()+""); }else{ // 自己购买 remoteAppUserService.addAppUserCourse(order.getBusinessId(),order.getAppUserId(),order.getId(),2); @@ -448,20 +474,6 @@ appUserWalletRecord1.setChildAppUserId(order.getAppUserId()); appUserWalletRecord1.setOrderId(order.getId()); remoteAppUserService.addBalanceRecord(appUserWalletRecord1); - switch (orderFrom){ - case 1: - - break; - case 2: - - if (receiverId!=null){ - remoteAppUserService.addAppUserCourse(order.getBusinessId(),order.getGiveUserId(),order.getId(),1); - }else{ - remoteAppUserService.addAppUserCourse(order.getBusinessId(),userId,order.getId(),1); - } - break; - } - // 判断订单所属用户是否有上级 是否需要做分佣处理 AppUser data = remoteAppUserService.getAppUserById(order.getAppUserId() + "").getData(); BigDecimal realPayAmount = order.getRealPayAmount(); @@ -546,6 +558,8 @@ .ne(OrderPaymentRecord::getPaymentType, 4).one(); if (one2!=null){ one2.setPaymentStatus(2); + // 扣除用户余额 + Object data = remoteAppUserService.deleteBalance(one.getAppUserId() + "", one2.getPayAmount() + "").getData(); orderPaymentRecordService.updateById(one2); } // 实际支付金额 @@ -739,6 +753,7 @@ } one.setPaymentStatus(2); one.setPaymentTime(LocalDateTime.now()); + orderService.updateById(one); OrderPaymentRecord one2 = orderPaymentRecordService.lambdaQuery().eq(OrderPaymentRecord::getOrderId, one.getId()) .ne(OrderPaymentRecord::getPaymentType, 4).one(); if (one2!=null){ -- Gitblit v1.7.1