- 增加:增加 rest api(用户地址)

This commit is contained in:
fansili
2020-05-08 10:28:38 +08:00
parent 4ec0864626
commit 6b2213d580
15 changed files with 358 additions and 79 deletions

View File

@@ -0,0 +1,80 @@
package cn.iocoder.mall.user.rest.controller.user;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.security.core.context.UserSecurityContextHolder;
import cn.iocoder.mall.user.biz.dto.user.UserAddressAddDTO;
import cn.iocoder.mall.user.biz.dto.user.UserAddressUpdateDTO;
import cn.iocoder.mall.user.biz.service.user.UserAddressService;
import cn.iocoder.mall.user.rest.convert.UserAddressConvert;
import cn.iocoder.mall.user.rest.request.UserAddressAddRequest;
import cn.iocoder.mall.user.rest.request.UserAddressUpdateRequest;
import cn.iocoder.mall.user.rest.response.UserAddressResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 用户地址(user API)
*
* author: sin
* time: 2020/5/8 9:50
*/
@RestController
@Api(tags = "用户地址(user API)")
@RequestMapping("/users/user-address")
public class UsersUserAddressController {
@Autowired
private UserAddressService userAddressService;
@GetMapping("list-address")
@ApiOperation("获取 - 地址列表(all)")
public CommonResult<List<UserAddressResponse>> listAddress() {
Integer userId = UserSecurityContextHolder.getContext().getUserId();
return CommonResult.success(UserAddressConvert.INSTANCE.convert(userAddressService.listAddress(userId)));
}
@GetMapping("{addressId}")
@ApiOperation("获取 - 根据id获取")
public CommonResult<UserAddressResponse> getAddress(@PathVariable("addressId") Integer addressId) {
return CommonResult.success(UserAddressConvert.INSTANCE.convert(userAddressService.getAddress(addressId)));
}
@GetMapping("default")
@ApiOperation("获取 - 获取默认地址")
public CommonResult<UserAddressResponse> getDefaultAddress() {
Integer userId = UserSecurityContextHolder.getContext().getUserId();
return CommonResult.success(UserAddressConvert.INSTANCE.convert(userAddressService.getDefaultAddress(userId)));
}
@DeleteMapping("/{addressId}/remove")
@ApiOperation("删除 - 根据id删除")
public CommonResult<UserAddressResponse> getDefaultAddress(@PathVariable("addressId") Integer addressId) {
Integer userId = UserSecurityContextHolder.getContext().getUserId();
userAddressService.removeAddress(userId, addressId);
return CommonResult.success(null);
}
@PostMapping("/add-address")
@ApiOperation("添加地址")
public CommonResult<UserAddressResponse> addAddress(@RequestBody UserAddressAddRequest userAddressAddRequest) {
Integer userId = UserSecurityContextHolder.getContext().getUserId();
UserAddressAddDTO userAddressAddDTO = UserAddressConvert.INSTANCE.convert(userAddressAddRequest);
userAddressAddDTO.setUserId(userId);
userAddressService.addAddress(userAddressAddDTO);
return CommonResult.success(null);
}
@PutMapping("/update-address")
@ApiOperation("更新地址")
public CommonResult<UserAddressResponse> updateAddress(@RequestBody UserAddressUpdateRequest userAddressAddRequest) {
Integer userId = UserSecurityContextHolder.getContext().getUserId();
UserAddressUpdateDTO userAddressAddDTO = UserAddressConvert.INSTANCE.convert(userAddressAddRequest);
userAddressAddDTO.setUserId(userId);
userAddressService.updateAddress(userAddressAddDTO);
return CommonResult.success(null);
}
}

View File

@@ -0,0 +1,37 @@
package cn.iocoder.mall.user.rest.convert;
import cn.iocoder.mall.user.biz.bo.user.UserAddressBO;
import cn.iocoder.mall.user.biz.dto.user.UserAddressAddDTO;
import cn.iocoder.mall.user.biz.dto.user.UserAddressUpdateDTO;
import cn.iocoder.mall.user.rest.request.UserAddressAddRequest;
import cn.iocoder.mall.user.rest.request.UserAddressUpdateRequest;
import cn.iocoder.mall.user.rest.response.UserAddressResponse;
import org.mapstruct.Mapper;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 用户地址 convert
*
* author: sin
* time: 2020/5/8 10:01
*/
@Mapper
public interface UserAddressConvert {
UserAddressConvert INSTANCE = Mappers.getMapper(UserAddressConvert.class);
@Mappings({})
List<UserAddressResponse> convert(List<UserAddressBO> userAddressBOList);
@Mappings({})
UserAddressResponse convert(UserAddressBO userAddressBO);
@Mappings({})
UserAddressAddDTO convert(UserAddressAddRequest userAddressAddRequest);
@Mappings({})
UserAddressUpdateDTO convert(UserAddressUpdateRequest userAddressUpdateRequest);
}

View File

@@ -0,0 +1,41 @@
package cn.iocoder.mall.user.rest.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 用户地址 add
*
* @author Sin
* @time 2019-04-06 13:25
*/
@Data
@Accessors(chain = true)
@ApiModel("用户地址(添加)")
public class UserAddressAddRequest implements Serializable {
@NotNull
@ApiModelProperty("收件区域编号")
private String areaNo;
@NotNull
@ApiModelProperty("收件人名称")
private String name;
@NotNull
@ApiModelProperty("收件手机号")
private String mobile;
@NotNull
@ApiModelProperty("收件详细地址")
private String address;
@NotNull
@ApiModelProperty("是否默认 1 不是 2 是")
private Integer hasDefault;
}

View File

@@ -0,0 +1,45 @@
package cn.iocoder.mall.user.rest.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 用户地址 更新
*
* @author Sin
* @time 2019-04-06 13:28
*/
@Data
@Accessors(chain = true)
@ApiModel("用户地址(更新)")
public class UserAddressUpdateRequest implements Serializable {
@NotNull
@ApiModelProperty("编号")
private Integer id;
@NotNull
@ApiModelProperty("收件区域编号")
private String areaNo;
@NotNull
@ApiModelProperty("收件人名称")
private String name;
@NotNull
@ApiModelProperty("收件手机号")
private String mobile;
@NotNull
@ApiModelProperty("收件详细地址")
private String address;
@NotNull
@ApiModelProperty("是否默认地址")
private Integer hasDefault;
}

View File

@@ -0,0 +1,5 @@
/**
* author: sin
* time: 2020/5/8 9:57
*/
package cn.iocoder.mall.user.rest.request;

View File

@@ -0,0 +1,41 @@
package cn.iocoder.mall.user.rest.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 用户地址
*
* @author Sin
* @time 2019-04-06 13:28
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "用户地址")
public class UserAddressResponse implements Serializable {
@ApiModelProperty("编号")
private Integer id;
@ApiModelProperty("用户编号")
private Integer userId;
@ApiModelProperty("收件区域编号")
private String areaNo;
@ApiModelProperty("收件人名称")
private String name;
@ApiModelProperty("收件手机号")
private String mobile;
@ApiModelProperty("收件详细地址")
private String address;
@ApiModelProperty("是否默认")
private Integer hasDefault;
}

View File

@@ -0,0 +1,5 @@
/**
* author: sin
* time: 2020/5/8 9:57
*/
package cn.iocoder.mall.user.rest.response;