From 3d6c34f45d76b78151d6586f93acca2943698b08 Mon Sep 17 00:00:00 2001 From: phpcjl <phpcjl@gmail.com> Date: 星期一, 09 十二月 2024 10:56:42 +0800 Subject: [PATCH] 1. --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 34 insertions(+), 22 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index d31cc5b..1d08221 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.order.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -14,25 +15,21 @@ import com.ruoyi.order.enums.OrderType; import com.ruoyi.order.mapper.OrderGoodMapper; import com.ruoyi.order.mapper.OrderMapper; +import com.ruoyi.order.model.Order; +import com.ruoyi.order.model.OrderGood; import com.ruoyi.order.service.OrderService; import com.ruoyi.order.vo.OrderDetailVO; import com.ruoyi.order.vo.OrderGoodsVO; import com.ruoyi.order.vo.OrderVO; -import com.ruoyi.other.api.domain.CouponInfo; -import com.ruoyi.other.api.domain.Goods; -import com.ruoyi.other.api.domain.OrderActivityInfo; -import com.ruoyi.other.api.domain.Technician; +import com.ruoyi.other.api.domain.*; +import com.ruoyi.other.api.feignClient.GoodsClient; +import com.ruoyi.other.api.feignClient.ShopClient; import com.ruoyi.other.api.feignClient.TechnicianClient; import com.ruoyi.system.api.model.LoginUser; -import model.Order; -import model.OrderGood; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.time.LocalDateTime; -import java.time.ZoneId; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -58,7 +55,8 @@ @Resource private TechnicianClient technicianClient; @Resource - private RedisTemplate<String, String> redisTemplate; + private ShopClient shopClient; + @Override public List<OrderVO> selectOrderListByUserId(Integer status, Long userId) { @@ -74,6 +72,11 @@ if (order == null){ throw new ServiceException("订单不存在"); } + R<Shop> shopR = shopClient.getShopById(order.getShopId()); + if (!R.isSuccess(shopR)){ + throw new ServiceException("获取门店信息失败"); + } + // 商品 List<OrderGood> orderGoods = orderGoodMapper.selectList(new LambdaQueryWrapper<OrderGood>() .eq(OrderGood::getOrderId, orderId)); @@ -82,17 +85,17 @@ for (OrderGood orderGood : orderGoods) { String goodJson = orderGood.getGoodJson(); Goods goods = JSONObject.parseObject(goodJson, Goods.class); - OrderGoodsVO orderGoodsVO = new OrderGoodsVO(); orderGoodsVO.setGoodsId(orderGood.getGoodsId()); + orderGoodsVO.setNum(orderGood.getNum()); orderGoodsVO.setGoodsName(goods.getName()); orderGoodsVO.setType(goods.getType()); - orderGoodsVO.setNum(orderGood.getNum()); orderGoodsVO.setGoodsPic(goods.getHomePagePicture()); orderGoodsVO.setSellingPrice(goods.getSellingPrice()); orderGoodsVO.setOriginalPrice(goods.getOriginalPrice()); goodsList.add(orderGoodsVO); } + // 收货地址 @@ -118,7 +121,18 @@ } OrderDetailVO orderDetailVO = new OrderDetailVO(); + + if (CollectionUtil.isNotEmpty(orderGoods)){ + String goodJson = orderGoods.get(0).getGoodJson(); + Goods goods = JSONObject.parseObject(goodJson, Goods.class); + orderDetailVO.setDistributionMode(goods.getDistributionMode()); + } + + Shop shop = shopR.getData(); + + orderDetailVO.setId(order.getId()); + orderDetailVO.setOrderStatus(order.getOrderStatus()); orderDetailVO.setPoint(order.getPoint()); orderDetailVO.setAddressId(userAddress.getId()); orderDetailVO.setRecieveName(userAddress.getRecieveName()); @@ -134,6 +148,10 @@ orderDetailVO.setPointAmount(order.getGetPoint()); orderDetailVO.setPaymentAmount(order.getPaymentAmount()); orderDetailVO.setGoodsList(goodsList); + orderDetailVO.setShopName(shop.getName()); + orderDetailVO.setShopAddress(shop.getAddress()); + orderDetailVO.setLongitude(shop.getLongitude()); + orderDetailVO.setLatitude(shop.getLatitude()); return orderDetailVO; } @@ -191,15 +209,9 @@ } - /** - * 返佣延迟队列 - * - * @param orderId 订单ID - * @param afterSalesDeadline 售后截止日期(计算日期) - */ - private void addToCommissionDelayQueue(Long orderId, LocalDateTime afterSalesDeadline) { - // 获取订单售后截止日期时间戳(秒) - long deadlineTimestamp = afterSalesDeadline.atZone(ZoneId.systemDefault()).toEpochSecond(); - redisTemplate.opsForZSet().add("delay_queue:commission", orderId.toString(), deadlineTimestamp); + + @Override + public void commission(Long orderId) { + } } -- Gitblit v1.7.1