|
|
|
@ -0,0 +1,95 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* https://www.mall4j.com/
|
|
|
|
|
*
|
|
|
|
|
* 未经允许,不可做商业用途!
|
|
|
|
|
*
|
|
|
|
|
* 版权所有,侵权必究!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package com.yami.shop.admin.controller; // 定义类所在的包
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; // 引入MyBatis-Plus的条件查询包装器
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; // 引入MyBatis-Plus的分页接口
|
|
|
|
|
import com.yami.shop.common.util.PageParam; // 引入分页参数工具类
|
|
|
|
|
import com.yami.shop.bean.model.UserAddr; // 引入用户地址模型类
|
|
|
|
|
import com.yami.shop.common.annotation.SysLog; // 引入自定义日志注解
|
|
|
|
|
import com.yami.shop.service.UserAddrService; // 引入用户地址服务类
|
|
|
|
|
import lombok.AllArgsConstructor; // 引入Lombok的@AllArgsConstructor注解
|
|
|
|
|
import com.yami.shop.common.response.ServerResponseEntity; // 引入服务器响应实体类
|
|
|
|
|
import org.springframework.security.access.prepost.PreAuthorize; // 引入Spring Security的PreAuthorize注解
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
import jakarta.validation.Valid; // 引入Jakarta Validation的Valid注解
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户地址管理控制器
|
|
|
|
|
* 该类包含分页获取、获取详细信息、保存、修改和删除用户地址的方法。
|
|
|
|
|
* @作者 hzm
|
|
|
|
|
* @日期 2019-04-15 10:49:40
|
|
|
|
|
*/
|
|
|
|
|
@RestController // 标注这是一个控制器类,并且其返回结果直接写入HTTP响应体中,而不是视图名称
|
|
|
|
|
@AllArgsConstructor // 使用Lombok注解生成全参构造函数
|
|
|
|
|
@RequestMapping("/user/addr") // 定义请求路径的根地址为/user/addr
|
|
|
|
|
public class UserAddrController {
|
|
|
|
|
|
|
|
|
|
private final UserAddrService userAddrService; // 自动注入用户地址服务类
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 分页获取用户地址
|
|
|
|
|
* @param page 分页对象
|
|
|
|
|
* @param userAddr 用户地址查询条件
|
|
|
|
|
* @return 服务器响应实体,包含分页后的用户地址信息
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/page")
|
|
|
|
|
public ServerResponseEntity<IPage<UserAddr>> getUserAddrPage(PageParam page, UserAddr userAddr) {
|
|
|
|
|
return ServerResponseEntity.success(userAddrService.page(page, new LambdaQueryWrapper<UserAddr>())); // 返回分页结果
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 通过ID查询用户地址
|
|
|
|
|
* @param addrId 用户地址ID
|
|
|
|
|
* @return 服务器响应实体,包含用户地址的详细信息
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/info/{addrId}")
|
|
|
|
|
public ServerResponseEntity<UserAddr> getById(@PathVariable("addrId") Long addrId) {
|
|
|
|
|
return ServerResponseEntity.success(userAddrService.getById(addrId)); // 返回用户地址信息
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 新增用户地址
|
|
|
|
|
* @param userAddr 用户地址信息
|
|
|
|
|
* @return 服务器响应实体,包含新增结果
|
|
|
|
|
*/
|
|
|
|
|
@SysLog("新增用户地址管理") // 自定义日志注解
|
|
|
|
|
@PostMapping
|
|
|
|
|
@PreAuthorize("@pms.hasPermission('user:addr:save')") // 权限检查
|
|
|
|
|
public ServerResponseEntity<Boolean> save(@RequestBody @Valid UserAddr userAddr) {
|
|
|
|
|
return ServerResponseEntity.success(userAddrService.save(userAddr)); // 保存用户地址并返回结果
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 修改用户地址
|
|
|
|
|
* @param userAddr 用户地址信息
|
|
|
|
|
* @return 服务器响应实体,包含修改结果
|
|
|
|
|
*/
|
|
|
|
|
@SysLog("修改用户地址管理") // 自定义日志注解
|
|
|
|
|
@PutMapping
|
|
|
|
|
@PreAuthorize("@pms.hasPermission('user:addr:update')") // 权限检查
|
|
|
|
|
public ServerResponseEntity<Boolean> updateById(@RequestBody @Valid UserAddr userAddr) {
|
|
|
|
|
return ServerResponseEntity.success(userAddrService.updateById(userAddr)); // 修改用户地址并返回结果
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 通过ID删除用户地址
|
|
|
|
|
* @param addrId 用户地址ID
|
|
|
|
|
* @return 服务器响应实体,包含删除结果
|
|
|
|
|
*/
|
|
|
|
|
@SysLog("删除用户地址管理") // 自定义日志注解
|
|
|
|
|
@DeleteMapping("/{addrId}")
|
|
|
|
|
@PreAuthorize("@pms.hasPermission('user:addr:delete')") // 权限检查
|
|
|
|
|
public ServerResponseEntity<Boolean> removeById(@PathVariable Long addrId) {
|
|
|
|
|
return ServerResponseEntity.success(userAddrService.removeById(addrId)); // 删除用户地址并返回结果
|
|
|
|
|
}
|
|
|
|
|
}
|