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 index 50550ec..77778f7 100644 --- 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 @@ -24,7 +24,9 @@ import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; /** - * 用户地址管理 + * 用户地址管理相关的控制器类,主要负责处理用户地址的增删改查操作, + * 各个方法分别实现了分页查询、根据ID获取单个地址信息、新增地址、更新地址以及删除地址等功能, + * 并且在部分操作上添加了权限控制以及操作日志记录功能,方便后续权限管理和操作记录查看。 * * @author hzm * @date 2019-04-15 10:49:40 @@ -34,26 +36,31 @@ import jakarta.validation.Valid; @RequestMapping("/user/addr") public class UserAddrController { + // 通过lombok的@AllArgsConstructor注解注入UserAddrService,用于处理与用户地址相关的业务逻辑, + // 例如地址信息的查询、保存、更新、删除等操作。 private final UserAddrService userAddrService; /** - * 分页查询 + * 分页查询用户地址信息的方法,接收分页参数(PageParam对象)和用于筛选的用户地址对象(UserAddr对象)作为参数, + * 通过UserAddrService进行分页查询,这里构建的LambdaQueryWrapper暂时没有添加额外的筛选条件, + * 最后将查询到的分页结果封装在成功的响应实体中返回给前端。此方法没有添加权限控制注解,需根据实际业务需求确认是否需要添加相应权限控制。 * - * @param page 分页对象 - * @param userAddr 用户地址管理 - * @return 分页数据 + * @param page 分页参数对象,用于指定页码、每页数量等分页相关信息。 + * @param userAddr 用户地址对象,理论上可用于添加更多筛选条件,但目前代码中未使用,可根据业务扩展添加相应条件查询逻辑。 + * @return 返回包含分页后的用户地址信息的ServerResponseEntity对象,若查询成功则响应体中包含符合条件的分页地址数据,否则返回相应错误信息。 */ @GetMapping("/page") public ServerResponseEntity> getUserAddrPage(PageParam page, UserAddr userAddr) { + // 使用UserAddrService的page方法进行分页查询,传入分页参数和一个空的LambdaQueryWrapper(目前无额外筛选条件),获取分页结果。 return ServerResponseEntity.success(userAddrService.page(page, new LambdaQueryWrapper())); } - /** - * 通过id查询用户地址管理 + * 根据用户地址ID获取用户地址详细信息的方法,通过传入的地址ID,调用UserAddrService的getById方法从数据库中查询对应的用户地址对象, + * 并将其封装在成功的响应实体中返回给前端。此方法没有添加权限控制注解,需根据实际业务需求确认是否需要添加相应权限控制。 * - * @param addrId id - * @return 单个数据 + * @param addrId 要获取详细信息的用户地址的唯一标识符。 + * @return 返回包含用户地址详细信息的ServerResponseEntity对象,若获取成功则响应体中包含对应的用户地址对象,否则返回相应错误信息。 */ @GetMapping("/info/{addrId}") public ServerResponseEntity getById(@PathVariable("addrId") Long addrId) { @@ -61,10 +68,12 @@ public class UserAddrController { } /** - * 新增用户地址管理 + * 新增用户地址信息的方法,接收一个经过验证(通过@Valid注解)的用户地址对象(UserAddr)作为请求体,代表要新增的地址信息, + * 通过UserAddrService的save方法将用户地址信息保存到数据库中,并将保存结果(布尔值,表示是否保存成功)封装在成功的响应实体中返回给前端。 + * 通过@PreAuthorize注解进行权限控制,只有具备"user:addr:save"权限的用户才能访问此方法,同时使用@SysLog注解记录此操作的日志信息,方便后续查看操作记录。 * - * @param userAddr 用户地址管理 - * @return 是否新增成功 + * @param userAddr 包含要新增的用户地址信息的请求体对象,如地址名称、详细地址、联系人等属性。 + * @return 返回表示操作成功的ServerResponseEntity对象,响应体中包含表示是否新增成功的布尔值,若保存成功则为true,否则为false。 */ @SysLog("新增用户地址管理") @PostMapping @@ -74,10 +83,12 @@ public class UserAddrController { } /** - * 修改用户地址管理 + * 修改用户地址信息的方法,接收一个经过验证(通过@Valid注解)的用户地址对象(UserAddr)作为请求体,代表要更新的地址信息, + * 通过UserAddrService的updateById方法将更新后的用户地址信息保存到数据库中,并将更新结果(布尔值,表示是否更新成功)封装在成功的响应实体中返回给前端。 + * 通过@PreAuthorize注解进行权限控制,只有具备"user:addr:update"权限的用户才能访问此方法,同时使用@SysLog注解记录此操作的日志信息,方便后续查看操作记录。 * - * @param userAddr 用户地址管理 - * @return 是否修改成功 + * @param userAddr 包含要更新的用户地址信息的请求体对象,如地址名称、详细地址、联系人等属性。 + * @return 返回表示操作成功的ServerResponseEntity对象,响应体中包含表示是否更新成功的布尔值,若更新成功则为true,否则为false。 */ @SysLog("修改用户地址管理") @PutMapping @@ -87,10 +98,12 @@ public class UserAddrController { } /** - * 通过id删除用户地址管理 + * 根据用户地址ID删除用户地址信息的方法,通过传入的地址ID,调用UserAddrService的removeById方法从数据库中删除对应的用户地址信息, + * 并将删除结果(布尔值,表示是否删除成功)封装在成功的响应实体中返回给前端。 + * 通过@PreAuthorize注解进行权限控制,只有具备"user:addr:delete"权限的用户才能访问此方法,同时使用@SysLog注解记录此操作的日志信息,方便后续查看操作记录。 * - * @param addrId id - * @return 是否删除成功 + * @param addrId 要删除的用户地址的唯一标识符。 + * @return 返回表示操作成功的ServerResponseEntity对象,响应体中包含表示是否删除成功的布尔值,若删除成功则为true,否则为false。 */ @SysLog("删除用户地址管理") @DeleteMapping("/{addrId}") @@ -99,4 +112,4 @@ public class UserAddrController { return ServerResponseEntity.success(userAddrService.removeById(addrId)); } -} +} \ No newline at end of file