Переглянути джерело

feat(address): 优化地址区域查询功能

- 调整 AddressAreaServiceImpl 类的导入顺序并规范化代码格式
- 在构建查询条件时增加 level 非空判断避免无效查询
- 添加 areaName 模糊查询支持提升搜索功能
- 为 AddressAreaVo 添加 createTime 字段增强数据展示
hurx 1 тиждень тому
батько
коміт
f8ea9029e2

+ 3 - 3
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/AddressAreaVo.java

@@ -1,12 +1,10 @@
 package org.dromara.system.domain.vo;
 
-import org.dromara.system.domain.AddressArea;
 import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
 import cn.idev.excel.annotation.ExcelProperty;
-import org.dromara.common.excel.annotation.ExcelDictFormat;
-import org.dromara.common.excel.convert.ExcelDictConvert;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
+import org.dromara.system.domain.AddressArea;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -76,6 +74,8 @@ public class AddressAreaVo implements Serializable {
     @ExcelProperty(value = "数据来源")
     private String dataSource;
 
+    private Date createTime;
+
     /**
      * 树形结构
      */

+ 16 - 13
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/AddressAreaServiceImpl.java

@@ -1,27 +1,28 @@
 package org.dromara.system.service.impl;
 
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.system.domain.AddressArea;
 import org.dromara.system.domain.bo.AddressAreaBo;
 import org.dromara.system.domain.vo.AddressAreaVo;
-import org.dromara.system.domain.AddressArea;
 import org.dromara.system.mapper.AddressAreaMapper;
 import org.dromara.system.service.IAddressAreaService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -77,7 +78,9 @@ public class AddressAreaServiceImpl extends ServiceImpl<AddressAreaMapper, Addre
     private LambdaQueryWrapper<AddressArea> buildQueryWrapper(AddressAreaBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<AddressArea> lqw = Wrappers.lambdaQuery();
-        lqw.eq(AddressArea::getLevel, bo.getLevel());
+        lqw.eq(bo.getLevel() != null, AddressArea::getLevel, bo.getLevel());
+        lqw.like(StringUtils.isNotBlank(bo.getAreaName()), AddressArea::getAreaName, bo.getAreaName());
+
         lqw.orderByAsc(AddressArea::getId);
         return lqw;
     }