AddressController.java 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package cn.hobbystocks.auc.web;
  2. import cn.hobbystocks.auc.common.core.controller.BaseController;
  3. import cn.hobbystocks.auc.common.core.domain.AjaxResult;
  4. import cn.hobbystocks.auc.dto.ShippingAddressDto;
  5. import cn.hobbystocks.auc.service.AddressService;
  6. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  7. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.web.bind.annotation.*;
  12. import java.util.List;
  13. @RestController
  14. @RequestMapping("/address")
  15. @Api(tags = "用户地址管理")
  16. public class AddressController extends BaseController {
  17. @Autowired
  18. private AddressService addressService;
  19. @ApiOperation("用户收货地址查询接口")
  20. @ResponseBody
  21. @PostMapping("/list")
  22. public AjaxResult addressList(@RequestBody ShippingAddressDto addressDto){
  23. //查询用户收货地址
  24. if (addressDto.getUserId()==null){
  25. AjaxResult.error("请求参数不能为空");
  26. }
  27. LambdaQueryWrapper<ShippingAddressDto> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  28. lambdaQueryWrapper.eq(ShippingAddressDto::getUserId,addressDto.getUserId());
  29. List<ShippingAddressDto> list = addressService.list(lambdaQueryWrapper);
  30. return AjaxResult.success(list);
  31. }
  32. @ApiOperation("新增用户收货地址")
  33. @ResponseBody
  34. @PostMapping("/add")
  35. public AjaxResult addUserAddr(@RequestBody ShippingAddressDto shippingAddressDto){
  36. boolean save = addressService.save(shippingAddressDto);
  37. if (save)
  38. return AjaxResult.success();
  39. return AjaxResult.error("收货地址新增失败");
  40. }
  41. @ApiOperation("编辑用户收货地址")
  42. @ResponseBody
  43. @PostMapping("/edit")
  44. public AjaxResult editUserAddr(@RequestBody ShippingAddressDto shippingAddressDto){
  45. LambdaUpdateWrapper<ShippingAddressDto> updateWrapper = new LambdaUpdateWrapper<>();
  46. if (shippingAddressDto.getDefult()){
  47. //如果修改默认收货地址,将现有默认地址改为否
  48. LambdaUpdateWrapper<ShippingAddressDto> updateWrapper1 = new LambdaUpdateWrapper<>();
  49. updateWrapper1.eq(ShippingAddressDto::getDefult,true);
  50. updateWrapper1.eq(ShippingAddressDto::getUserId,shippingAddressDto.getUserId());
  51. updateWrapper1.set(ShippingAddressDto::getDefult,false);
  52. addressService.update(updateWrapper1);
  53. }
  54. boolean update = addressService.update(shippingAddressDto, updateWrapper.eq(ShippingAddressDto::getId, shippingAddressDto.getId()));
  55. if (!update)
  56. return AjaxResult.error();
  57. return AjaxResult.success();
  58. }
  59. @ApiOperation("删除用户收货地址")
  60. @PostMapping("/delete")
  61. @ResponseBody
  62. public AjaxResult deleteUserAddr(@RequestBody ShippingAddressDto shippingAddressDto){
  63. boolean b = addressService.removeById(shippingAddressDto.getId());
  64. if (b)
  65. return AjaxResult.success();
  66. return AjaxResult.error();
  67. }
  68. //修改订单收货地址
  69. }