Ver código fonte

优惠券模块修改

xdd 2 meses atrás
pai
commit
b6e949e6bc

+ 25 - 0
fs-admin/src/main/java/com/fs/store/controller/FsCouponScheduleController.java

@@ -2,8 +2,12 @@ package com.fs.store.controller;
 
 import java.util.List;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.fs.store.cache.IFsStoreOrderCacheService;
 import com.fs.store.domain.FsCouponSchedule;
+import com.fs.store.domain.FsStoreOrder;
 import com.fs.store.service.IFsCouponScheduleService;
+import com.hc.openapi.tool.util.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -34,6 +38,9 @@ public class FsCouponScheduleController extends BaseController
     @Autowired
     private IFsCouponScheduleService fsCouponScheduleService;
 
+    @Autowired
+    private IFsStoreOrderCacheService fsStoreOrderCacheService;
+
     /**
      * 查询定时发放优惠券队列列表
      */
@@ -41,8 +48,26 @@ public class FsCouponScheduleController extends BaseController
     @GetMapping("/list")
     public TableDataInfo list(FsCouponSchedule fsCouponSchedule)
     {
+
+        if(StringUtils.isNotBlank(fsCouponSchedule.getOrderCode())){
+            FsStoreOrder fsStoreOrder = fsStoreOrderCacheService.selectFsStoreOrderByOrderCode(fsCouponSchedule.getOrderCode());
+            if(ObjectUtil.isNotNull(fsStoreOrder)){
+                fsCouponSchedule.setOrderId(fsStoreOrder.getId());
+            } else {
+                fsCouponSchedule.setOrderId(-1L);
+            }
+        }
+
         startPage();
         List<FsCouponSchedule> list = fsCouponScheduleService.selectFsCouponScheduleList(fsCouponSchedule);
+        for (FsCouponSchedule couponSchedule : list) {
+            if(ObjectUtil.isNotNull(couponSchedule.getOrderId())){
+                FsStoreOrder fsStoreOrder = fsStoreOrderCacheService.selectFsStoreOrderById(couponSchedule.getOrderId());
+                if(ObjectUtil.isNotNull(fsStoreOrder)){
+                    couponSchedule.setOrderCode(fsStoreOrder.getOrderCode());
+                }
+            }
+        }
         return getDataTable(list);
     }
 

+ 11 - 0
fs-service-system/src/main/java/com/fs/store/cache/IFsStoreOrderCacheService.java

@@ -0,0 +1,11 @@
+package com.fs.store.cache;
+
+import com.fs.store.domain.FsStoreOrder;
+
+/**
+ * 订单服务缓存类
+ */
+public interface IFsStoreOrderCacheService {
+    FsStoreOrder selectFsStoreOrderById(Long id);
+    FsStoreOrder selectFsStoreOrderByOrderCode(String orderCode);
+}

+ 44 - 0
fs-service-system/src/main/java/com/fs/store/cache/impl/IFsStoreOrderCacheServiceImpl.java

@@ -0,0 +1,44 @@
+package com.fs.store.cache.impl;
+
+import com.fs.store.cache.IFsStoreOrderCacheService;
+import com.fs.store.domain.FsStoreOrder;
+import com.fs.store.domain.FsWarehouses;
+import com.fs.store.mapper.FsStoreOrderMapper;
+import com.github.benmanes.caffeine.cache.Cache;
+import com.github.benmanes.caffeine.cache.Caffeine;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.concurrent.TimeUnit;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class IFsStoreOrderCacheServiceImpl implements IFsStoreOrderCacheService {
+    /**
+     * 使用Caffeine本地缓存
+     * maximumSize: 最大缓存条数
+     * expireAfterWrite: 写入后多久过期(分钟)
+     */
+    private static final Cache<Long, FsStoreOrder> CACHE = Caffeine.newBuilder()
+            .maximumSize(1000)
+            .expireAfterWrite(1, TimeUnit.MINUTES)
+            .build();
+
+    private static final Cache<String, FsStoreOrder> ORDER_CODE_CACHE = Caffeine.newBuilder()
+            .maximumSize(1000)
+            .expireAfterWrite(1, TimeUnit.MINUTES)
+            .build();
+
+    private final FsStoreOrderMapper fsStoreOrderMapper;
+    @Override
+    public FsStoreOrder selectFsStoreOrderById(Long id) {
+        return CACHE.get(id,e->fsStoreOrderMapper.selectFsStoreOrderById(id));
+    }
+
+    @Override
+    public FsStoreOrder selectFsStoreOrderByOrderCode(String orderCode) {
+        return ORDER_CODE_CACHE.get(orderCode,e->fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode));
+    }
+}

+ 11 - 6
fs-service-system/src/main/java/com/fs/store/domain/FsCouponSchedule.java

@@ -41,6 +41,11 @@ public class FsCouponSchedule extends BaseEntity
     @Excel(name = "订单ID")
     private Long orderId;
 
+    /**
+     * 订单编号
+     */
+    private String orderCode;
+
     /** 套餐ID */
     @Excel(name = "套餐ID")
     private Long setmealId;
@@ -75,8 +80,8 @@ public class FsCouponSchedule extends BaseEntity
     private Integer status;
 
     /** 下单时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime orderTime;
 
     /** 优惠券ID */
@@ -110,13 +115,13 @@ public class FsCouponSchedule extends BaseEntity
     }
 
     /** 预计发送时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "预计发送时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "预计发送时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime sendTime;
 
     /** 实际发送时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "实际发送时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "实际发送时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime actualSendTime;
 
     /** 错误信息 */