From dc9239d73b15b9a51c46a9e8d25c0d4400e613ce Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期一, 29 七月 2024 09:17:54 +0800 Subject: [PATCH] 7.29 --- ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java | 68 ++++++++++++++++++++++++++++++--- 1 files changed, 61 insertions(+), 7 deletions(-) diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java index 0a70ac8..2f472a4 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java @@ -1,10 +1,12 @@ package com.ruoyi.user.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.LoginUserInfo; import com.ruoyi.user.entity.UserRecipient; import com.ruoyi.user.service.UserRecipientService; import io.swagger.annotations.Api; @@ -35,12 +37,12 @@ private TokenService tokenService; /** - * 用户端首页回收分类推荐 + * 收货地址列表 */ @GetMapping(value = "/list") @ApiOperation(value = "收货地址列表", tags = {"用户端-收货地址管理"}) public R<List<UserRecipient>> list() { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } @@ -48,6 +50,23 @@ .eq(UserRecipient::getIsDelete, Constants.ZERO) .orderByDesc(UserRecipient::getIsDefault) .orderByDesc(UserRecipient::getCreateTime).list()); + } + + /** + * 收货地址列表 + */ + @GetMapping(value = "/page") + @ApiOperation(value = "收货地址分页列表", tags = {"用户端-收货地址管理"}) + public R<IPage<UserRecipient>> page(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + if (null == loginUser) { + return R.loginExpire("登录失效!"); + } + return R.ok(recipientService.lambdaQuery().eq(UserRecipient::getUserId, loginUser.getUserid()) + .eq(UserRecipient::getIsDelete, Constants.ZERO) + .orderByDesc(UserRecipient::getIsDefault) + .orderByDesc(UserRecipient::getCreateTime).page(Page.of(pageNum, pageSize))); } /** @@ -74,12 +93,37 @@ @ApiOperation(value = "新增收货地址", tags = {"用户端-收货地址管理"}) @PostMapping(value = "/save") public R<String> save(@RequestBody UserRecipient userRecipient) { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } - userRecipient.setUserId(loginUser.getUserid().intValue()); - return recipientService.save(userRecipient) ? R.ok() : R.fail(); + userRecipient.setUserId(loginUser.getUserid()); + // 当前新增收货地址为默认地址时 + boolean result = recipientService.updateBatchAddress(userRecipient, loginUser.getUserid()); + return result && recipientService.save(userRecipient) ? R.ok() : R.fail(); + } + + /** + * 设置默认收货地址 + * + * @param id 收货地址id + */ + @ApiOperation(value = "设置默认收货地址", tags = {"用户端-收货地址管理"}) + @PostMapping(value = "/defaultAddress") + public R<String> defaultAddress(@RequestParam Integer id) { + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + if (null == loginUser) { + return R.loginExpire("登录失效!"); + } + // 修改所有收货地址 + boolean update = recipientService.lambdaUpdate() + .set(UserRecipient::getIsDefault, Constants.ZERO) + .eq(UserRecipient::getUserId, loginUser.getUserid()) + .eq(UserRecipient::getIsDelete, Constants.ZERO).update(); + update = update && recipientService.lambdaUpdate() + .eq(UserRecipient::getId, id) + .set(UserRecipient::getIsDefault, Constants.ONE).update(); + return update ? R.ok() : R.fail(); } /** @@ -91,7 +135,13 @@ @ApiOperation(value = "修改收货地址", tags = {"用户端-收货地址管理"}) @PostMapping(value = "/update") public R<String> update(@RequestBody UserRecipient userRecipient) { - return recipientService.updateById(userRecipient) ? R.ok() : R.fail(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + if (null == loginUser) { + return R.loginExpire("登录失效!"); + } + // 当前修改收货地址为默认地址时 + boolean result = recipientService.updateBatchAddress(userRecipient, loginUser.getUserid()); + return result && recipientService.updateById(userRecipient) ? R.ok() : R.fail(); } /** @@ -105,6 +155,10 @@ @ApiImplicitParam(value = "收货地址id", name = "id", dataType = "String", required = true) }) public R<String> batchDelete(@RequestParam Integer id) { + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + if (null == loginUser) { + return R.loginExpire("登录失效!"); + } return recipientService.lambdaUpdate().set(UserRecipient::getIsDelete, Constants.ONE) .eq(UserRecipient::getId, id).update() ? R.ok() : R.fail(); } -- Gitblit v1.7.1