diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java new file mode 100644 index 0000000..8e9b8ba --- /dev/null +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java @@ -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> getUserAddrPage(PageParam page, UserAddr userAddr) { + return ServerResponseEntity.success(userAddrService.page(page, new LambdaQueryWrapper())); // 返回分页结果 + } + + /** + * 通过ID查询用户地址 + * @param addrId 用户地址ID + * @return 服务器响应实体,包含用户地址的详细信息 + */ + @GetMapping("/info/{addrId}") + public ServerResponseEntity getById(@PathVariable("addrId") Long addrId) { + return ServerResponseEntity.success(userAddrService.getById(addrId)); // 返回用户地址信息 + } + + /** + * 新增用户地址 + * @param userAddr 用户地址信息 + * @return 服务器响应实体,包含新增结果 + */ + @SysLog("新增用户地址管理") // 自定义日志注解 + @PostMapping + @PreAuthorize("@pms.hasPermission('user:addr:save')") // 权限检查 + public ServerResponseEntity save(@RequestBody @Valid UserAddr userAddr) { + return ServerResponseEntity.success(userAddrService.save(userAddr)); // 保存用户地址并返回结果 + } + + /** + * 修改用户地址 + * @param userAddr 用户地址信息 + * @return 服务器响应实体,包含修改结果 + */ + @SysLog("修改用户地址管理") // 自定义日志注解 + @PutMapping + @PreAuthorize("@pms.hasPermission('user:addr:update')") // 权限检查 + public ServerResponseEntity 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 removeById(@PathVariable Long addrId) { + return ServerResponseEntity.success(userAddrService.removeById(addrId)); // 删除用户地址并返回结果 + } +}