瀏覽代碼

运营活动列表 中台 增加提交时间时间搜索

qinxuyang 18 小時之前
父節點
當前提交
c2300f3415

+ 8 - 4
alien-store/src/main/java/shop/alien/store/controller/OperationalActivityController.java

@@ -51,7 +51,9 @@ public class OperationalActivityController {
             @ApiImplicitParam(name = "pageNum", value = "当前页", dataTypeClass = Integer.class, paramType = "query"),
             @ApiImplicitParam(name = "pageSize", value = "每页数量", dataTypeClass = Integer.class, paramType = "query"),
             @ApiImplicitParam(name = "activityStatus", value = "活动状态", dataTypeClass = Integer.class, paramType = "query"),
-            @ApiImplicitParam(name = "activityName", value = "活动名称(模糊)", dataTypeClass = String.class, paramType = "query")
+            @ApiImplicitParam(name = "activityName", value = "活动名称(模糊)", dataTypeClass = String.class, paramType = "query"),
+            @ApiImplicitParam(name = "startTime", value = "提交开始时间", dataTypeClass = String.class, paramType = "query"),
+            @ApiImplicitParam(name = "endTime", value = "提交结束时间", dataTypeClass = String.class, paramType = "query")
     })
     @GetMapping("/detail")
     public R<IPage<StoreOperationalActivityVO>> pageActivityDetail(
@@ -61,10 +63,12 @@ public class OperationalActivityController {
             @RequestParam(value = "pageSize", required = false) Integer pageSize,
             @RequestParam(value = "status", required = false) Integer status,
             @RequestParam(value = "activityType", required = false) String activityType,
-            @RequestParam(value = "activityName", required = false) String activityName) {
-        log.info("OperationalActivityController.pageActivityDetail storeId={}, storeName={}, pageNum={}, pageSize={}, status={}, activityName={}", storeId, storeName, pageNum, pageSize, status, activityName);
+            @RequestParam(value = "activityName", required = false) String activityName,
+            @RequestParam(value = "startTime", required = false) String startTime,
+            @RequestParam(value = "endTime", required = false) String endTime) {
+        log.info("OperationalActivityController.pageActivityDetail storeId={}, storeName={}, pageNum={}, pageSize={}, status={}, activityName={}, startTime={}, endTime={}", storeId, storeName, pageNum, pageSize, status, activityName, startTime, endTime);
         try {
-            IPage<StoreOperationalActivityVO> result = activityService.pageActivityDetail(storeId, storeName, pageNum, pageSize, status, activityName, activityType);
+            IPage<StoreOperationalActivityVO> result = activityService.pageActivityDetail(storeId, storeName, pageNum, pageSize, status, activityName, activityType, startTime, endTime);
             return R.data(result);
         } catch (IllegalArgumentException e) {
             return R.fail(e.getMessage());

+ 3 - 1
alien-store/src/main/java/shop/alien/store/service/OperationalActivityService.java

@@ -31,9 +31,11 @@ public interface OperationalActivityService {
      * @param activityStatus 活动状态
      * @param activityName 活动名称(模糊)
      * @param activityType 活动类型(COMMENT-评论有礼, MARKETING-营销活动)
+     * @param startTime 提交开始时间
+     * @param endTime 提交结束时间
      * @return 活动分页结果
      */
-    IPage<StoreOperationalActivityVO> pageActivityDetail(Integer storeId, String storeName, Integer pageNum, Integer pageSize, Integer activityStatus, String activityName, String activityType);
+    IPage<StoreOperationalActivityVO> pageActivityDetail(Integer storeId, String storeName, Integer pageNum, Integer pageSize, Integer activityStatus, String activityName, String activityType, String startTime, String endTime);
 
     /**
      * 根据活动ID获取活动详情

+ 30 - 2
alien-store/src/main/java/shop/alien/store/service/impl/OperationalActivityServiceImpl.java

@@ -112,8 +112,8 @@ public class OperationalActivityServiceImpl implements OperationalActivityServic
     }
 
     @Override
-    public IPage<StoreOperationalActivityVO> pageActivityDetail(Integer storeId, String storeName, Integer pageNum, Integer pageSize, Integer activityStatus, String activityName, String activityType) {
-        log.info("OperationalActivityServiceImpl.pageActivityDetail: storeId={}, storeName={}, pageNum={}, pageSize={}, activityStatus={}, activityName={}, activityType={}", storeId, storeName, pageNum, pageSize, activityStatus, activityName, activityType);
+    public IPage<StoreOperationalActivityVO> pageActivityDetail(Integer storeId, String storeName, Integer pageNum, Integer pageSize, Integer activityStatus, String activityName, String activityType, String startTime, String endTime) {
+        log.info("OperationalActivityServiceImpl.pageActivityDetail: storeId={}, storeName={}, pageNum={}, pageSize={}, activityStatus={}, activityName={}, activityType={}, startTime={}, endTime={}", storeId, storeName, pageNum, pageSize, activityStatus, activityName, activityType, startTime, endTime);
 
 //        if (storeId == null && StringUtils.isBlank(storeName)) {
 //            throw new IllegalArgumentException("请至少提供商户ID或商户名称");
@@ -154,6 +154,12 @@ public class OperationalActivityServiceImpl implements OperationalActivityServic
         if (StringUtils.isNotBlank(activityType)) {
             wrapper.eq(StoreOperationalActivity::getActivityType, activityType);
         }
+        if (StringUtils.isNotBlank(startTime)) {
+            wrapper.ge(StoreOperationalActivity::getCreatedTime, normalizeStartTime(startTime));
+        }
+        if (StringUtils.isNotBlank(endTime)) {
+            wrapper.le(StoreOperationalActivity::getCreatedTime, normalizeEndTime(endTime));
+        }
 
         if (!storeIds.isEmpty()) {
             wrapper.in(StoreOperationalActivity::getStoreId, storeIds);
@@ -348,6 +354,28 @@ public class OperationalActivityServiceImpl implements OperationalActivityServic
         }
     }
 
+    private String normalizeStartTime(String timeText) {
+        if (StringUtils.isBlank(timeText)) {
+            return timeText;
+        }
+        String value = timeText.trim();
+        if (value.length() == 10) {
+            return value + " 00:00:00";
+        }
+        return value;
+    }
+
+    private String normalizeEndTime(String timeText) {
+        if (StringUtils.isBlank(timeText)) {
+            return timeText;
+        }
+        String value = timeText.trim();
+        if (value.length() == 10) {
+            return value + " 23:59:59";
+        }
+        return value;
+    }
+
     /**
      * 发送活动审核通知给商户
      *