package com.ruoyi.account.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.ruoyi.account.api.model.UserAddress;
|
import com.ruoyi.account.service.UserAddressService;
|
import com.ruoyi.common.core.domain.R;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
import com.ruoyi.account.api.model.AppUser;
|
import com.ruoyi.account.api.model.UserAddress;
|
import com.ruoyi.account.service.UserAddressService;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.security.service.TokenService;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author luodangjia
|
* @since 2024-11-21
|
*/
|
@RestController
|
@RequestMapping("/user-address")
|
public class UserAddressController {
|
|
@Resource
|
private UserAddressService userAddressService;
|
|
@Resource
|
private TokenService tokenService;
|
|
|
/**
|
* 获取用户默认地址
|
* @param userId
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/getDefaultUserAddress")
|
public R<UserAddress> getDefaultUserAddress(@RequestParam("userId") Long userId){
|
List<UserAddress> list = userAddressService.list(new LambdaQueryWrapper<UserAddress>().eq(UserAddress::getAppUserId, userId).eq(UserAddress::getDelFlag, 0));
|
if(list.size() == 0){
|
return R.ok();
|
}
|
UserAddress userAddress = list.stream().filter(s -> s.getIsDefault() == 1).findFirst().get();
|
if(null == userAddress){
|
userAddress = list.get(0);
|
}
|
return R.ok(userAddress);
|
}
|
|
|
@ResponseBody
|
@PostMapping("/add")
|
@ApiOperation(value = "添加", tags = {"小程序-个人中心首页-我的地址"})
|
public R add(@RequestBody UserAddress userAddress){
|
Long userId = tokenService.getLoginUserApplet().getUserId();
|
userAddress.setAppUserId(userId);
|
userAddressService.save(userAddress);
|
return R.ok();
|
}
|
@ResponseBody
|
@PostMapping("/edit")
|
@ApiOperation(value = "编辑", tags = {"小程序-个人中心首页-我的地址"})
|
public R edit(@RequestBody UserAddress userAddress){
|
userAddressService.updateById(userAddress);
|
return R.ok();
|
}
|
@ResponseBody
|
@PostMapping("/delete")
|
@ApiOperation(value = "删除", tags = {"小程序-个人中心首页-我的地址"})
|
public R edit(@RequestParam Integer id){
|
userAddressService.removeById(id);
|
return R.ok();
|
}
|
|
@ResponseBody
|
@PostMapping("/set")
|
@ApiOperation(value = "设为默认", tags = {"小程序-个人中心首页-我的地址"})
|
public R set(@RequestParam Integer id){
|
Long userId = tokenService.getLoginUserApplet().getUserId();
|
List<UserAddress> list = userAddressService.lambdaQuery().eq(UserAddress::getAppUserId, userId).list();
|
for (UserAddress userAddress : list) {
|
userAddress.setIsDefault(0);
|
}
|
userAddressService.updateBatchById(list);
|
|
UserAddress byId = userAddressService.getById(id);
|
byId.setIsDefault(1);
|
userAddressService.updateById(byId);
|
return R.ok();
|
}
|
|
}
|