getAddressList
函数重新获取地址列表通过调用API重新获取数据并更新视图
v-model="dialogVisible"
控制对话框显示/隐藏:model="addressForm"
存储表单数据:rules="rules"
定义表单验证规则(fullAddress字段为非必填)关闭对话框时触发@closed
事件,调用resetForm
重置表单
点击"取消"按钮关闭对话框并重置表单
点击"确定"调用submitForm
方法
发送POST请求到/address/save
@PostMapping
处理保存请求@RequestBody
映射JSON到AddressRequest
@Valid
验证请求参数Controller校验逻辑
Address
对象SnowflakeUtil.getId()
生成唯一IDaddressMapper.insert
插入数据库测试结果
实际效果
UserContext
存储当前用户IDUserInterceptor
解析token并设置用户信息在Mapper层添加排序条件
从UserContext
获取当前用户ID作为查询条件
pagination.size
pagination.page
为1更新当前页码并重新获取数据
接收row参数表示要删除的地址行
tableRef
访问表格组件使用@DeleteMapping
处理批量删除
deleteBatch(List<Long> ids)
AddressExample
执行删除handleEdit
函数接收一个row
参数,并将该行数据赋值给addressForm
,然后显示一个对话框
dialogTitle
计算属性根据addressForm.id
是否存在来决定对话框的标题是"编辑收货地址"还是"新增收货地址"
AddressService
的save
方法,检查request.getId()
是否为空或为0
addressMapper.insert(address)
插入数据库addressMapper.updateByPrimaryKeySelective(address)
更新数据库request.getId()
设置到address对象中(id有值的话set进去)
searchForm
,用于存储搜索表单的数据
handleSearch
,用于处理搜索操作,调用getAddressList
方法获取地址列表,并重置分页到第一页
getAddressList
获取地址列表数据,调用ListAddress
函数时,传递了分页参数和搜索关键词searchForm.keyword
listAddress
用于发送HTTP GET请求获取地址列表
接收一个参数对象params
,包含分页参数(page
和size
)以及搜索关键词(keyword
)
AddressListRequest
类继承自PageRequest
,并添加一个用于存储搜索关键词的属性keyword