@@ -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 = '内部地址';
-
@@ -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);
}
@@ -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")
@@ -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);
@@ -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>