package com.ruoyi.web.controller.system; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.model.TbAddress; import com.ruoyi.system.model.TbUser; import com.ruoyi.system.service.TbAddressService; import com.ruoyi.system.service.TbRegionService; import com.ruoyi.system.service.TbUserService; import com.ruoyi.system.vo.RegionVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; @Slf4j @RestController @RequestMapping("/user-address") @Api(tags = "用户地址模块") public class UserAddressController { @Autowired private TbRegionService regionService; @Autowired private TbAddressService addressService; @Autowired private TokenService tokenService; @ApiOperation(value = "获取用户地址",tags = {"用户地址模块"}) @GetMapping("/getAddressList") public R getAddressList() { LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); List list = addressService.list(new LambdaQueryWrapper().eq(TbAddress::getUserId, userId).eq(TbAddress::getIsDelete, 0).orderByDesc(TbAddress::getCreateTime)); return R.ok(list); } @ApiOperation(value = "添加修改用户地址",tags = {"用户地址模块"}) @PostMapping("/updateUserAddress") public R updateUserAddress(@RequestBody @Valid TbAddress tbAddress) { LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); tbAddress.setUserId(userId.toString()); tbAddress.setIsDelete(0); addressService.saveOrUpdate(tbAddress); return R.ok(); } @ApiOperation(value = "删除地址",tags = {"用户地址模块"}) @DeleteMapping("/deleteAddress/{id}") public R deleteAddress(@PathVariable("id")String id) { TbAddress address = addressService.getById(id); address.setIsDelete(1); addressService.updateById(address); return R.ok(); } @GetMapping(value = "/listRegion") @ApiOperation(value = "获取省市区三级联动列表") public R> listCity() { List regionVoList = regionService.listCityVo(); return R.ok(regionVoList); } }