diff --git a/yshop-common/src/main/java/co/yixiang/constant/ShopConstants.java b/yshop-common/src/main/java/co/yixiang/constant/ShopConstants.java index 2a09d1ee..6f41d468 100644 --- a/yshop-common/src/main/java/co/yixiang/constant/ShopConstants.java +++ b/yshop-common/src/main/java/co/yixiang/constant/ShopConstants.java @@ -157,6 +157,8 @@ public interface ShopConstants { String YSHOP_ORDER_CACHE_KEY = "yshop:order"; + String YSHOP_ORDER_SALE_STATUS_KEY = "yshop:order:sale:status"; + long YSHOP_ORDER_CACHE_TIME = 600L; String WECHAT_MENUS = "wechat_menus"; diff --git a/yshop-mall/src/main/java/co/yixiang/modules/sales/service/impl/StoreAfterSalesServiceImpl.java b/yshop-mall/src/main/java/co/yixiang/modules/sales/service/impl/StoreAfterSalesServiceImpl.java index 8ecab624..f1d9e93f 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/sales/service/impl/StoreAfterSalesServiceImpl.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/sales/service/impl/StoreAfterSalesServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.NumberUtil; import co.yixiang.api.YshopException; import co.yixiang.common.service.impl.BaseServiceImpl; import co.yixiang.common.utils.QueryHelpPlus; +import co.yixiang.constant.ShopConstants; import co.yixiang.dozer.service.IGenerator; import co.yixiang.enums.AfterSalesStatusEnum; import co.yixiang.enums.OrderInfoEnum; @@ -28,6 +29,7 @@ import co.yixiang.modules.sales.service.mapper.StoreAfterSalesStatusMapper; import co.yixiang.modules.sales.service.vo.StoreAfterSalesVo; import co.yixiang.modules.sales.service.vo.YxStoreOrderCartInfoVo; import co.yixiang.utils.FileUtil; +import co.yixiang.utils.RedisUtils; import co.yixiang.utils.SecurityUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -64,11 +66,14 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpllambdaQuery().eq(YxStoreOrder::getOrderId, storeAfterSalesParam.getOrderCode()).eq(YxStoreOrder::getUid, userId)); + redisUtils.set(ShopConstants.YSHOP_ORDER_SALE_STATUS_KEY + userId + storeAfterSalesParam.getOrderCode(), + yxStoreOrder.getStatus()); checkOrder(yxStoreOrder); //商品除去优惠后的总价格 BigDecimal totalPrice = BigDecimal.ZERO; @@ -250,7 +255,8 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpllambdaQuery().eq(YxStoreOrder::getOrderId, key)); - yxStoreOrder.setStatus(OrderInfoEnum.STATUS_0.getValue()); + Object o = redisUtils.get(ShopConstants.YSHOP_ORDER_SALE_STATUS_KEY + uid + key); + yxStoreOrder.setStatus(o == null ? 0 : Integer.parseInt(o.toString())); yxStoreOrder.setRefundStatus(OrderInfoEnum.STATUS_0.getValue()); storeOrderMapper.updateById(yxStoreOrder); @@ -270,6 +276,7 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl 0; } @@ -314,6 +321,8 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl