Explorar o código

address表新增备注字段;
用户端地址列表新增校内地址过滤;

codingliang hai 9 meses
pai
achega
63c59ef640

+ 3 - 2
db/update_250913.sql

@@ -1,6 +1,9 @@
 -- address 新增内部地址id
 alter table address add inside_address_id bigint comment '内部地址id' after lat;
 
+-- address 新增备注字段
+ALTER TABLE address ADD remark varchar(900) comment '备注';
+
 -- 新增系统配置 是否开启校内地址 1是,0否
 INSERT INTO common_info (id, create_at, max, min, type, value, condition_from) VALUES (442, '2025-09-14 11:34:00', null, '是否开启校内地址', 442, '1', 'xitong');
 
@@ -31,5 +34,3 @@ CREATE TABLE inside_address(
        `sort` INT NOT NULL  DEFAULT 1 COMMENT '排序' ,
        PRIMARY KEY (id)
 )  COMMENT = '内部地址';
-
-

+ 10 - 1
src/main/java/com/sqx/modules/address/dao/AddressDao.java

@@ -5,10 +5,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sqx.modules.address.entity.Address;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface AddressDao extends BaseMapper<Address> {
 
-    IPage<Address> selectAddressList(Page<Address> pages, Long userId);
+    /**
+     * 分页查询用户地址列表
+     *
+     * @param pages             分页信息
+     * @param userId            用户id
+     * @param insideAddressFlag 是否查询内部地址标识
+     * @return 用户地址列表
+     */
+    IPage<Address> selectAddressList(@Param("pages") Page<Address> pages, @Param("userId") Long userId, @Param("insideAddressFlag") Boolean insideAddressFlag);
 
 }

+ 3 - 0
src/main/java/com/sqx/modules/address/entity/Address.java

@@ -68,6 +68,9 @@ public class Address implements Serializable {
     @ApiModelProperty("是否删除(0:未删除;1:删除)")
     private Integer deleteFlag;
 
+    @ApiModelProperty("备注")
+    private String remark;
+
     @ApiModelProperty("默认地址 0:非默认  1:默认")
     @NotNull(message = "默认地址不能为空", groups = {FullAddressGroup.class, InsideAddressGroup.class})
     @Pattern(regexp = "0|1", message = "默认地址只能为0或1")

+ 8 - 1
src/main/java/com/sqx/modules/address/service/impl/AddressServiceImpl.java

@@ -35,8 +35,15 @@ public class AddressServiceImpl extends ServiceImpl<AddressDao, Address> impleme
 
     @Override
     public Result selectAddressList(Long userId, Integer page, Integer limit) {
+        CommonInfo insideAddressSetting = commonInfoService.findOne(442);
+
+        boolean insideAddressFlag = false;
+        if (ObjectUtil.isNull(insideAddressSetting) && StrUtil.equals(insideAddressSetting.getValue(), Constant.YES)) {
+            insideAddressFlag = true;
+        }
+
         Page<Address> pages=new Page<>(page,limit);
-        PageUtils pageUtils = new PageUtils(baseMapper.selectAddressList(pages, userId));
+        PageUtils pageUtils = new PageUtils(baseMapper.selectAddressList(pages, userId, insideAddressFlag));
         return Result.success().put("data", pageUtils);
     }
 

+ 12 - 4
src/main/resources/mapper/address/AddressDao.xml

@@ -3,8 +3,16 @@
 <mapper namespace="com.sqx.modules.address.dao.AddressDao">
 
     <select id="selectAddressList" resultType="com.sqx.modules.address.entity.Address">
-        select * from address where user_id = #{userId}
-        order by address_default desc, update_time desc
+        select
+            *
+        from
+            address
+        where
+            user_id = #{userId}
+            <if test="insideAddressFlag">
+                and insideAddressId is not null
+            </if>
+        order by
+            address_default desc, update_time desc
     </select>
-
-</mapper>
+</mapper>