From 06f59ebb282ab74565585f77dde772d228d6075a Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 18 六月 2024 14:13:10 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 43 +++++++++++++++++++++++++++++++------------ 1 files changed, 31 insertions(+), 12 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..4e5844a 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")); @@ -416,7 +418,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{ @@ -520,23 +522,24 @@ CouponMember data = promotionClient.getCouponMember(couponMemberDTO, SecurityConstants.INNER).getData(); - if (order.getCouponId()!=null){ + if (order.getCouponId()!=0){ CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); couponMemberDTO1.setId(memberOrderDTO.getCouponId()); - couponMemberDTO1.setCouponStatus(1); + couponMemberDTO1.setCouponStatus(0); promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER); } + order.setCouponId(data.getId()); if (data.getCouponType().getCode()==1){ if (pice.doubleValue()>=data.getFullReductionAmount().doubleValue()){ - pice.subtract(data.getReductionAmount()); + pice=pice.subtract(data.getReductionAmount()); order.setDiscountMoney(data.getReductionAmount()); } } if (data.getCouponType().getCode()==2){ pice= order.getTotalAmount(); - pice.subtract(data.getVoucherAmount()); + pice=pice.subtract(data.getVoucherAmount()); order.setDiscountMoney(data.getVoucherAmount()); } if (data.getCouponType().getCode()==3){ @@ -557,11 +560,20 @@ order.setCouponId(memberOrderDTO.getCouponId()); CouponMemberDTO couponMemberDTO2=new CouponMemberDTO(); couponMemberDTO2.setId(memberOrderDTO.getCouponId()); - couponMemberDTO2.setCouponStatus(2); + couponMemberDTO2.setCouponStatus(1); promotionClient.updCouponMember(couponMemberDTO2, SecurityConstants.INNER); + }else{ + if (order.getCouponId()!=0){ + CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); + couponMemberDTO1.setId(order.getCouponId()); + couponMemberDTO1.setCouponStatus(0); + promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER); + } + order.setCouponId(0L); + order.setDiscountMoney(new BigDecimal(0)); } order.setTotalAmount(pice); @@ -588,7 +600,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 +630,9 @@ 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()); } LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); wrapper3.eq(OrderAuctionBond::getOrderId,MemberOrderList.getId()); @@ -654,8 +667,9 @@ 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()); } LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); @@ -1096,12 +1110,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