package com.ruoyi.account.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.account.api.model.TAppUserAddress;
import com.ruoyi.account.service.TAppUserAddressService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.security.service.TokenService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* 前端控制器
*
*
* @author luodangjia
* @since 2024-08-06
*/
@RestController
@RequestMapping("/t-app-user-address")
public class TAppUserAddressController {
private final TAppUserAddressService appUserAddressService;
private final TokenService tokenService;
@Autowired
public TAppUserAddressController(TAppUserAddressService appUserAddressService, TokenService tokenService) {
this.appUserAddressService = appUserAddressService;
this.tokenService = tokenService;
}
/**
* 查询用户地址列表
*/
@ApiOperation(tags = {"小程序-用户地址"},value = "查询用户地址列表")
@GetMapping(value = "/queryAddress")
public AjaxResult> queryAddress() {
// 用户id
Long userId = tokenService.getLoginUserApplet().getUserId();
return AjaxResult.ok(appUserAddressService.list(Wrappers.lambdaQuery().eq(TAppUserAddress::getAppUserId, userId)));
}
/**
* 查询用户默认地址列表
*/
@ApiOperation(tags = {"小程序-用户地址"},value = "查询用户默认地址列表")
@GetMapping(value = "/queryDefaultAddress")
public AjaxResult queryDefaultAddress() {
// 用户id
Long userId = tokenService.getLoginUserApplet().getUserId();
return AjaxResult.ok(appUserAddressService.getOne(Wrappers.lambdaQuery().eq(TAppUserAddress::getAppUserId, userId)
.eq(TAppUserAddress::getDefaultAddress,1)));
}
/**
* 添加用户地址管理
*/
@ApiOperation(tags = {"小程序-用户地址"},value = "添加用户地址")
@PostMapping(value = "/add")
public AjaxResult add(@RequestBody TAppUserAddress dto) {
// 用户id
dto.setAppUserId(tokenService.getLoginUserApplet().getUserId());
// 修改用户默认地址
appUserAddressService.updateDefaultAddress(dto.getDefaultAddress(),dto.getAppUserId());
return AjaxResult.ok(appUserAddressService.save(dto));
}
/**
* 修改用户地址
*/
@ApiOperation(tags = {"小程序-用户地址"},value = "修改用户地址")
@PostMapping(value = "/update")
public AjaxResult update(@RequestBody TAppUserAddress dto) {
// 修改用户默认地址
appUserAddressService.updateDefaultAddress(dto.getDefaultAddress(),dto.getAppUserId());
return AjaxResult.ok(appUserAddressService.updateById(dto));
}
/**
* 删除用户地址
*/
@ApiOperation(tags = {"小程序-用户地址"},value = "删除用户地址")
@DeleteMapping(value = "/deleteById")
public AjaxResult deleteById(@RequestParam("id") Integer id) {
return AjaxResult.ok(appUserAddressService.removeById(id));
}
/**
* 根据id获取地址信息
* @param id
* @return
*/
@PostMapping(value = "/getAppUserAddressById/{id}")
public R getAppUserAddressById(@PathVariable Long id){
TAppUserAddress userAddress = appUserAddressService.getById(id);
return R.ok(userAddress);
}
}