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;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @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;
|
}
|
|
/**
|
* 远程调用 通过地址id 查询地址信息
|
* @param id
|
* @return
|
*/
|
@GetMapping(value = "/getAddressById/{id}")
|
public R<TAppUserAddress> getAddressById(@PathVariable("id") Long id) {
|
TAppUserAddress byId = appUserAddressService.getById(id);
|
|
return R.ok(byId);
|
}
|
/**
|
* 查询用户地址列表
|
*/
|
@ApiOperation(tags = {"小程序-用户地址"},value = "查询用户地址列表")
|
@GetMapping(value = "/queryAddress")
|
public AjaxResult<List<TAppUserAddress>> queryAddress() {
|
// 用户id
|
Long userId = tokenService.getLoginUserApplet().getUserId();
|
List<TAppUserAddress> list = appUserAddressService.list(Wrappers.<TAppUserAddress>lambdaQuery().eq(TAppUserAddress::getAppUserId, userId));
|
list.forEach(e->e.setUid(e.getId().toString()));
|
return AjaxResult.ok(list);
|
}
|
|
/**
|
* 查询用户默认地址列表
|
*/
|
@ApiOperation(tags = {"小程序-用户地址"},value = "查询用户默认地址")
|
@GetMapping(value = "/queryDefaultAddress")
|
public AjaxResult<TAppUserAddress> queryDefaultAddress() {
|
// 用户id
|
Long userId = tokenService.getLoginUserApplet().getUserId();
|
TAppUserAddress appUserAddress = appUserAddressService.getOne(Wrappers.<TAppUserAddress>lambdaQuery().eq(TAppUserAddress::getAppUserId, userId)
|
.eq(TAppUserAddress::getDefaultAddress, 1));
|
appUserAddress.setUid(appUserAddress.getId().toString());
|
return AjaxResult.ok(appUserAddress);
|
}
|
|
|
/**
|
* 添加用户地址管理
|
*/
|
@ApiOperation(tags = {"小程序-用户地址"},value = "添加用户地址")
|
@PostMapping(value = "/add")
|
public AjaxResult<Boolean> 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 = "设置默认地址")
|
@GetMapping(value = "/setDefaultAddress")
|
public AjaxResult<String> setDefaultAddress(@RequestParam(value = "id") Long id) {
|
// 修改用户默认地址
|
appUserAddressService.updateDefaultAddress(1,tokenService.getLoginUserApplet().getUserId());
|
TAppUserAddress appUserAddress = appUserAddressService.getById(id);
|
appUserAddress.setDefaultAddress(1);
|
appUserAddressService.updateById(appUserAddress);
|
return AjaxResult.success();
|
}
|
|
/**
|
* 修改用户地址
|
*/
|
@ApiOperation(tags = {"小程序-用户地址"},value = "修改用户地址")
|
@PostMapping(value = "/update")
|
public AjaxResult<Boolean> update(@RequestBody TAppUserAddress dto) {
|
// 修改用户默认地址
|
appUserAddressService.updateDefaultAddress(dto.getDefaultAddress(),dto.getAppUserId());
|
return AjaxResult.ok(appUserAddressService.updateById(dto));
|
}
|
|
/**
|
* 通过地址id 查询地址信息
|
* @param id
|
* @return
|
*/
|
@ApiOperation(tags = {"小程序-用户地址"},value = "查询用户地址详情")
|
@GetMapping(value = "/getDetailById")
|
public R<TAppUserAddress> getDetailById(@RequestParam(value = "id")Long id) {
|
return R.ok(appUserAddressService.getById(id));
|
}
|
|
/**
|
* 删除用户地址
|
*/
|
@ApiOperation(tags = {"小程序-用户地址"},value = "删除用户地址")
|
@DeleteMapping(value = "/deleteById")
|
public AjaxResult<Boolean> deleteById(@RequestParam("id") Integer id) {
|
return AjaxResult.ok(appUserAddressService.removeById(id));
|
}
|
|
|
/**
|
* 根据id获取地址信息
|
* @param id
|
* @return
|
*/
|
@PostMapping(value = "/getAppUserAddressById/{id}")
|
public R<TAppUserAddress> getAppUserAddressById(@PathVariable Long id){
|
TAppUserAddress userAddress = appUserAddressService.getById(id);
|
return R.ok(userAddress);
|
}
|
|
}
|