Ver Fonte

商家PC端门店装修部分后端代码适配

liudongzhi há 2 meses atrás
pai
commit
d77e18db8f

+ 3 - 0
alien-entity/src/main/java/shop/alien/entity/store/dto/StoreRenovationRequirementDto.java

@@ -71,6 +71,9 @@ public class StoreRenovationRequirementDto {
     @ApiModelProperty(value = "动态状态(0:草稿, 1:已发布, 2:已下架)")
     private Integer status;
 
+    @ApiModelProperty(value = "审核状态(0:待审核, 1:审核通过, 2:审核失败)")
+    private Integer auditStatus;
+
     @ApiModelProperty(value = "浏览数")
     private Integer viewCount;
 

+ 11 - 5
alien-store/src/main/java/shop/alien/store/controller/StoreRenovationRequirementController.java

@@ -83,7 +83,10 @@ public class StoreRenovationRequirementController {
             @ApiImplicitParam(name = "renovationType", value = "装修类型(1:新房装修, 2:旧房改造, 3:局部装修)", dataType = "Integer", paramType = "query"),
             @ApiImplicitParam(name = "status", value = "状态(0:草稿, 1:已发布, 2:已下架)", dataType = "Integer", paramType = "query"),
             @ApiImplicitParam(name = "auditStatus", value = "审核状态(0:待审核, 1:审核通过, 2:审核失败)", dataType = "Integer", paramType = "query"),
-            @ApiImplicitParam(name = "sortType", value = "排序类型(1:最新发布, 2:价格最高, 3:面积最大)", dataType = "Integer", paramType = "query")
+            @ApiImplicitParam(name = "sortType", value = "排序类型(1:最新发布, 2:价格最高, 3:面积最大)", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "requirementTitle", value = "需求标题(模糊查询)", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "startTime", value = "开始时间(格式:yyyy-MM-dd,查询创建时间范围)", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "endTime", value = "结束时间(格式:yyyy-MM-dd,查询创建时间范围)", dataType = "String", paramType = "query")
     })
     @GetMapping("/getPage")
     public R<IPage<StoreRenovationRequirementDto>> getPage(
@@ -94,13 +97,16 @@ public class StoreRenovationRequirementController {
             @RequestParam(required = false) Integer renovationType,
             @RequestParam(required = false) Integer status,
             @RequestParam(required = false) Integer auditStatus,
-            @RequestParam(required = false, defaultValue = "1") Integer sortType) {
-        log.info("StoreRenovationRequirementController.getPage?page={}, size={}, storeId={}, city={}, renovationType={}, status={}, auditStatus={}, sortType={}",
-                page, size, storeId, city, renovationType, status, auditStatus, sortType);
+            @RequestParam(required = false, defaultValue = "1") Integer sortType,
+            @RequestParam(required = false) String requirementTitle,
+            @RequestParam(required = false) String startTime,
+            @RequestParam(required = false) String endTime) {
+        log.info("StoreRenovationRequirementController.getPage?page={}, size={}, storeId={}, city={}, renovationType={}, status={}, auditStatus={}, sortType={}, requirementTitle={}, startTime={}, endTime={}",
+                page, size, storeId, city, renovationType, status, auditStatus, sortType, requirementTitle, startTime, endTime);
         try {
             Page<StoreRenovationRequirementDto> pageParam = new Page<>(page, size);
             IPage<StoreRenovationRequirementDto> result = requirementService.getRequirementPage(
-                    pageParam, storeId, city, renovationType, status, auditStatus, sortType);
+                    pageParam, storeId, city, renovationType, status, auditStatus, sortType, requirementTitle, startTime, endTime);
             return R.data(result);
         } catch (Exception e) {
             log.error("分页查询装修需求失败: {}", e.getMessage(), e);

+ 7 - 1
alien-store/src/main/java/shop/alien/store/service/StoreRenovationRequirementService.java

@@ -42,6 +42,9 @@ public interface StoreRenovationRequirementService extends IService<StoreRenovat
      * @param status 状态(可选,0:草稿, 1:已发布, 2:已下架)
      * @param auditStatus 审核状态(可选,0:待审核, 1:审核通过, 2:审核失败)
      * @param sortType 排序类型(1:最新发布, 2:价格最高, 3:面积最大),默认为1
+     * @param requirementTitle 需求标题(可选,模糊查询)
+     * @param startTime 开始时间(可选,格式:yyyy-MM-dd,查询创建时间范围)
+     * @param endTime 结束时间(可选,格式:yyyy-MM-dd,查询创建时间范围)
      * @return 分页结果
      */
     IPage<StoreRenovationRequirementDto> getRequirementPage(Page<StoreRenovationRequirementDto> page,
@@ -50,7 +53,10 @@ public interface StoreRenovationRequirementService extends IService<StoreRenovat
                                                              Integer renovationType,
                                                              Integer status,
                                                              Integer auditStatus,
-                                                             Integer sortType);
+                                                             Integer sortType,
+                                                             String requirementTitle,
+                                                             String startTime,
+                                                             String endTime);
 
     /**
      * 更新浏览数

+ 34 - 3
alien-store/src/main/java/shop/alien/store/service/impl/StoreRenovationRequirementServiceImpl.java

@@ -449,9 +449,12 @@ public class StoreRenovationRequirementServiceImpl extends ServiceImpl<StoreReno
                                                                      Integer renovationType,
                                                                      Integer status,
                                                                      Integer auditStatus,
-                                                                     Integer sortType) {
-        log.info("StoreRenovationRequirementServiceImpl.getRequirementPage?storeId={}, city={}, renovationType={}, status={}, auditStatus={}, sortType={}",
-                storeId, city, renovationType, status, auditStatus, sortType);
+                                                                     Integer sortType,
+                                                                     String requirementTitle,
+                                                                     String startTime,
+                                                                     String endTime) {
+        log.info("StoreRenovationRequirementServiceImpl.getRequirementPage?storeId={}, city={}, renovationType={}, status={}, auditStatus={}, sortType={}, requirementTitle={}, startTime={}, endTime={}",
+                storeId, city, renovationType, status, auditStatus, sortType, requirementTitle, startTime, endTime);
 
         LambdaQueryWrapper<StoreRenovationRequirement> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(StoreRenovationRequirement::getDeleteFlag, 0);
@@ -471,6 +474,34 @@ public class StoreRenovationRequirementServiceImpl extends ServiceImpl<StoreReno
         if (auditStatus != null) {
             wrapper.eq(StoreRenovationRequirement::getAuditStatus, auditStatus);
         }
+        // 标题模糊查询
+        if (StringUtils.hasText(requirementTitle)) {
+            wrapper.like(StoreRenovationRequirement::getRequirementTitle, requirementTitle);
+        }
+        // 时间段查询(根据创建时间)
+        if (StringUtils.hasText(startTime)) {
+            try {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date startDate = sdf.parse(startTime);
+                wrapper.ge(StoreRenovationRequirement::getCreatedTime, startDate);
+            } catch (Exception e) {
+                log.error("解析开始时间失败: startTime={}, error={}", startTime, e.getMessage());
+            }
+        }
+        if (StringUtils.hasText(endTime)) {
+            try {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date endDate = sdf.parse(endTime);
+                // 结束时间需要包含当天的23:59:59,所以加一天再减1毫秒
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(endDate);
+                calendar.add(Calendar.DAY_OF_MONTH, 1);
+                calendar.add(Calendar.MILLISECOND, -1);
+                wrapper.le(StoreRenovationRequirement::getCreatedTime, calendar.getTime());
+            } catch (Exception e) {
+                log.error("解析结束时间失败: endTime={}, error={}", endTime, e.getMessage());
+            }
+        }
 
         // 排序处理:1-最新发布, 2-价格最高, 3-面积最大
         if (sortType == null || sortType == 1) {