package cn.hobbystocks.auc.web; import cn.hobbystocks.auc.common.core.controller.BaseController; import cn.hobbystocks.auc.common.core.domain.AjaxResult; import cn.hobbystocks.auc.dto.ShippingAddressDto; import cn.hobbystocks.auc.service.AddressService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/address") @Api(tags = "用户地址管理") public class AddressController extends BaseController { @Autowired private AddressService addressService; @ApiOperation("用户收货地址查询接口") @ResponseBody @PostMapping("/list") public AjaxResult addressList(@RequestBody ShippingAddressDto addressDto){ //查询用户收货地址 if (addressDto.getUserId()==null){ AjaxResult.error("请求参数不能为空"); } LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(ShippingAddressDto::getUserId,addressDto.getUserId()); List list = addressService.list(lambdaQueryWrapper); return AjaxResult.success(list); } @ApiOperation("新增用户收货地址") @ResponseBody @PostMapping("/add") public AjaxResult addUserAddr(@RequestBody ShippingAddressDto shippingAddressDto){ boolean save = addressService.save(shippingAddressDto); if (save) return AjaxResult.success(); return AjaxResult.error("收货地址新增失败"); } @ApiOperation("编辑用户收货地址") @ResponseBody @PostMapping("/edit") public AjaxResult editUserAddr(@RequestBody ShippingAddressDto shippingAddressDto){ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); if (shippingAddressDto.getDefult()){ //如果修改默认收货地址,将现有默认地址改为否 LambdaUpdateWrapper updateWrapper1 = new LambdaUpdateWrapper<>(); updateWrapper1.eq(ShippingAddressDto::getDefult,true); updateWrapper1.eq(ShippingAddressDto::getUserId,shippingAddressDto.getUserId()); updateWrapper1.set(ShippingAddressDto::getDefult,false); addressService.update(updateWrapper1); } boolean update = addressService.update(shippingAddressDto, updateWrapper.eq(ShippingAddressDto::getId, shippingAddressDto.getId())); if (!update) return AjaxResult.error(); return AjaxResult.success(); } @ApiOperation("删除用户收货地址") @PostMapping("/delete") @ResponseBody public AjaxResult deleteUserAddr(@RequestBody ShippingAddressDto shippingAddressDto){ boolean b = addressService.removeById(shippingAddressDto.getId()); if (b) return AjaxResult.success(); return AjaxResult.error(); } //修改订单收货地址 }