From cd55aff7eea06f77a8f712cef1ad2744c44d0f8a Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 20 六月 2024 18:56:16 +0800 Subject: [PATCH] 1.修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 149 +++++++++++++++++++++++++++++-------------------- 1 files changed, 87 insertions(+), 62 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 0e7ea2a..5d0f6ee 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -52,6 +52,7 @@ import com.ruoyi.system.api.domain.dto.MemberDTO; import com.ruoyi.system.api.domain.dto.MemberOrderDTO; import com.ruoyi.system.api.domain.dto.MemberOrderListDTO; +import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO; import com.ruoyi.system.api.domain.dto.OrderDTO; import com.ruoyi.system.api.domain.dto.updMembeOneDTO; import com.ruoyi.system.api.domain.vo.Express100VO; @@ -250,6 +251,7 @@ BigDecimal pice=new BigDecimal(0); Order order=new Order(); + order.setMemberId(memberOrderDTO.getMemberId()); if (memberOrderDTO.getOrderFrom()==1){ order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER); order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP")); @@ -347,6 +349,7 @@ order.setCoverPic(goodsSku.getCoverPic()); order.setSjPrice(goodsSku.getPrice()); } + order.setOrderRemark(memberOrderDTO.getOrderRemark()); order.setMemberId(memberOrderDTO.getMemberId()); order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity()); order.setOrderTime(LocalDateTime.now()); @@ -404,6 +407,9 @@ @Override public MemberTiOrderVO updMemberOrder(MemberOrderDTO memberOrderDTO) { Order order = baseMapper.selectById(memberOrderDTO.getId()); + if(memberOrderDTO.getOrderRemark()!=null){ + order.setOrderRemark(memberOrderDTO.getOrderRemark()); + } MemberTiOrderVO memberOrderVO=new MemberTiOrderVO(); if (memberOrderDTO.getReceiverDetailAddress()!=null){ @@ -416,7 +422,7 @@ order.setOrderRemark(memberOrderDTO.getOrderRemark()); }if (memberOrderDTO.getGoodsQuantity()!=null){ if (order.getOrderFrom().getCode()==1){ - GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); + GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (goodsSku.getStock()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); }else{ @@ -513,65 +519,73 @@ } } - BigDecimal pice=order.getPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())); - if (memberOrderDTO.getCouponId()!=null){ - CouponMemberDTO couponMemberDTO=new CouponMemberDTO(); - couponMemberDTO.setId(memberOrderDTO.getCouponId()); - CouponMember data = promotionClient.getCouponMember(couponMemberDTO, SecurityConstants.INNER).getData(); - - - if (order.getCouponId()!=null){ - CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); - couponMemberDTO1.setId(memberOrderDTO.getCouponId()); - couponMemberDTO1.setCouponStatus(1); - promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER); - } - - - if (data.getCouponType().getCode()==1){ - if (pice.doubleValue()>=data.getFullReductionAmount().doubleValue()){ - pice.subtract(data.getReductionAmount()); - order.setDiscountMoney(data.getReductionAmount()); + if (memberOrderDTO.getGoodsQuantity()!=null){ + BigDecimal pice=order.getPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())); + if (memberOrderDTO.getCouponId()!=null){ + CouponMemberDTO couponMemberDTO=new CouponMemberDTO(); + couponMemberDTO.setId(memberOrderDTO.getCouponId()); + CouponMember data = promotionClient.getCouponMember(couponMemberDTO, SecurityConstants.INNER).getData(); + if (order.getCouponId()!=0){ + CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); + couponMemberDTO1.setId(memberOrderDTO.getCouponId()); + couponMemberDTO1.setCouponStatus(0); + promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER); } + + order.setCouponId(data.getId()); + + if (data.getCouponType().getCode()==1){ + if (pice.doubleValue()>=data.getFullReductionAmount().doubleValue()){ + pice=pice.subtract(data.getReductionAmount()); + order.setDiscountMoney(data.getReductionAmount()); + } + } + if (data.getCouponType().getCode()==2){ + pice= order.getTotalAmount(); + pice=pice.subtract(data.getVoucherAmount()); + order.setDiscountMoney(data.getVoucherAmount()); + } + if (data.getCouponType().getCode()==3){ + pice= order.getTotalAmount(); + BigDecimal pice1=new BigDecimal(data.getDiscountRate()); + BigDecimal pice2=new BigDecimal(0.1); + BigDecimal pice3=pice.multiply(pice1.multiply(pice2)); + BigDecimal pice4= pice.subtract(pice3); + if (pice4.doubleValue()>data.getMaxDiscount().doubleValue()){ + pice=pice.subtract(data.getMaxDiscount()); + order.setDiscountMoney(data.getMaxDiscount()); + }else{ + order.setDiscountMoney(pice4); + pice=pice3; + } + + } + order.setCouponId(memberOrderDTO.getCouponId()); + CouponMemberDTO couponMemberDTO2=new CouponMemberDTO(); + couponMemberDTO2.setId(memberOrderDTO.getCouponId()); + couponMemberDTO2.setCouponStatus(1); + promotionClient.updCouponMember(couponMemberDTO2, SecurityConstants.INNER); + }else{ + if (order.getCouponId()!=null&&order.getCouponId()!=0){ + CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); + couponMemberDTO1.setCouponStatus(0); + couponMemberDTO1.setId(order.getCouponId()); + promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER); + } + order.setCouponId(0L); + order.setDiscountMoney(new BigDecimal(0)); } - if (data.getCouponType().getCode()==2){ - pice= order.getTotalAmount(); - pice.subtract(data.getVoucherAmount()); - order.setDiscountMoney(data.getVoucherAmount()); - } - if (data.getCouponType().getCode()==3){ - pice= order.getTotalAmount(); - BigDecimal pice1=new BigDecimal(data.getDiscountRate()); - BigDecimal pice2=new BigDecimal(0.1); - BigDecimal pice3=pice.multiply(pice1.multiply(pice2)); - BigDecimal pice4= pice.subtract(pice3); - if (pice4.doubleValue()>data.getMaxDiscount().doubleValue()){ - pice=pice.subtract(data.getMaxDiscount()); - order.setDiscountMoney(data.getMaxDiscount()); - }else{ - order.setDiscountMoney(pice4); - pice=pice3; - } + order.setTotalAmount(pice); - } - order.setCouponId(memberOrderDTO.getCouponId()); - CouponMemberDTO couponMemberDTO2=new CouponMemberDTO(); - couponMemberDTO2.setId(memberOrderDTO.getCouponId()); - couponMemberDTO2.setCouponStatus(2); - promotionClient.updCouponMember(couponMemberDTO2, SecurityConstants.INNER); + CustomConfig memberPointsMoney = sysUserClient.getconfig("MEMBER_POINTS_MONEY").getData(); + CustomConfig memberPointsPoints = sysUserClient.getconfig("MEMBER_POINTS_POINTS").getData(); - - + Double aDouble= Double.valueOf(memberPointsMoney.getConfigValue()) * Double.valueOf(memberPointsPoints.getConfigValue()); + BigDecimal pi=pice.multiply(new BigDecimal(aDouble)); + order.setPoints(pi.intValue()); + baseMapper.updateById(order); } - order.setTotalAmount(pice); - CustomConfig memberPointsMoney = sysUserClient.getconfig("MEMBER_POINTS_MONEY").getData(); - CustomConfig memberPointsPoints = sysUserClient.getconfig("MEMBER_POINTS_POINTS").getData(); - - Double aDouble= Double.valueOf(memberPointsMoney.getConfigValue()) * Double.valueOf(memberPointsPoints.getConfigValue()); - BigDecimal pi=pice.multiply(new BigDecimal(aDouble)); - order.setPoints(pi.intValue()); - baseMapper.updateById(order); memberOrderVO.setId(order.getId()); memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY); @@ -588,7 +602,7 @@ memberOrderVO.setReceiverCity(order.getReceiverCity()); memberOrderVO.setReceiverDetailAddress(order.getReceiverDetailAddress()); memberOrderVO.setReceiverphone(order.getReceiverPhone()); - memberOrderVO.setYouhiPrice(order.getDiscountMoney()); + memberOrderVO.setDiscountMoney(order.getDiscountMoney()); return memberOrderVO; } @@ -618,8 +632,12 @@ Wrappers.lambdaQuery(OrderReturnRequest.class) .eq(OrderReturnRequest::getOrderId, MemberOrderList.getId()).last("limit 1")); - if (StringUtils.isNotNull(orderReturnRequest)) { + if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) { MemberOrderList.setStatus(orderReturnRequest.getStatus()); + MemberOrderList.setRequestId(orderReturnRequest.getId()); + MemberOrderList.setIsRequest(2); + }else{ + MemberOrderList.setIsRequest(1); } LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); wrapper3.eq(OrderAuctionBond::getOrderId,MemberOrderList.getId()); @@ -654,8 +672,12 @@ Wrappers.lambdaQuery(OrderReturnRequest.class) .eq(OrderReturnRequest::getOrderId, orderVO.getId()).last("limit 1")); - if (StringUtils.isNotNull(orderReturnRequest)) { + if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) { orderVO.setStatus(orderReturnRequest.getStatus()); + orderVO.setRequestId(orderReturnRequest.getId()); + orderVO.setIsRequest(2); + }else{ + orderVO.setIsRequest(1); } LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); @@ -1051,9 +1073,7 @@ boolean result = handleRefund(paymentMethod, paylog, orderNo); if (result) { paylog.setState(3);// 已退款 - order.setOrderStatus(OrderStatusEnum.REFUNDED); iPaylogService.updateById(paylog); - this.updateById(order); } OrderReturnRequest orderReturnRequest = new OrderReturnRequest(); orderReturnRequest.setOrderId(id); @@ -1096,12 +1116,17 @@ @Override public void refundReturn(Long id) { Order order = getOrder(id); - if (order.getOrderStatus() == OrderStatusEnum.TO_BE_SHIPPED - || order.getOrderStatus() == OrderStatusEnum.GOODS_TO_BE_RECEIVED - || order.getOrderStatus() == OrderStatusEnum.FINISHED) { + if (order.getOrderStatus() == OrderStatusEnum.FINISHED) { OrderReturnRequest orderReturnRequest = new OrderReturnRequest(); order.setOrderStatus(OrderStatusEnum.AFTER_SALE); this.updateById(order); + MgtAfterSaleSettingDTO data = sysUserClient.getAfterSaleSetting().getData(); + if (StringUtils.isNull(data)) { + throw new ServiceException("获取售后退货信息失败"); + } + orderReturnRequest.setRecipientName(data.getReceiverName()); + orderReturnRequest.setRecipientPhone(data.getReceiverPhone()); + orderReturnRequest.setDetailedAddress(data.getReceiverAddress()); orderReturnRequest.setOrderId(id); orderReturnRequest.setRequestTime(LocalDateTime.now()); orderReturnRequest.setRequestType(RequestTypeEnum.REFUNDS_AND_RETURNS); -- Gitblit v1.7.1