[fix]增加会员收获地址的接口

This commit is contained in:
王庆祥 2025-06-19 16:20:13 +08:00
parent bfcb239df2
commit d8d68c59dd
8 changed files with 43 additions and 14 deletions

View File

@ -14,5 +14,8 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
public @interface MemberFillField {
/**
* 指向memberId字段名
*/
String id() default "";
}

View File

@ -3,7 +3,7 @@ package com.wzj.soopin.member.annotation;
import java.lang.annotation.*;
/**
* 自定义vo处理器用于标注需要填充member的对象
* 自定义vo处理器用于修饰接口如果需要自动填充vo中的用户信息则需要增加这个注解
*
* @author ruoyi
*/
@ -11,5 +11,4 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
public @interface MemberFillMethod {
String id() default "";
}

View File

@ -3,6 +3,7 @@ package com.wzj.soopin.member.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.member.annotation.MemberFillMethod;
import com.wzj.soopin.member.convert.MemberAddressConvert;
import com.wzj.soopin.member.domain.bo.MemberAddressBO;
import com.wzj.soopin.member.domain.po.MemberAddress;
@ -27,7 +28,7 @@ import java.util.List;
*/
@Tag(name ="会员收货地址接口列表")
@RestController
@RequestMapping("/ums/memberAddress")
@RequestMapping("/ums/member/address")
@RequiredArgsConstructor
public class MemberAddressController {
@ -37,6 +38,7 @@ public class MemberAddressController {
@Tag(name ="查询会员收货地址列表")
@PostMapping("/list")
@MemberFillMethod
public R list(@RequestBody MemberAddressBO query,@RequestBody Page<MemberAddress> page) {
Page<MemberAddress> list = service.page(page,query.toWrapper());
return R.ok(convert.toVO(list));
@ -53,22 +55,22 @@ public class MemberAddressController {
@Tag(name ="获取会员收货地址详细信息")
@GetMapping(value = "/{id}")
public R<MemberAddress> getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
public R<MemberAddressVO> getInfo(@PathVariable("id") Long id) {
return R.ok(convert.toVO(service.getById(id)));
}
@Tag(name ="新增会员收货地址")
@Log(title = "会员收货地址", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R<Object> add(@RequestBody MemberAddress memberAddress) {
return R.ok(service.save(memberAddress));
public R<Object> add(@RequestBody MemberAddressBO memberAddress) {
return R.ok(service.save(convert.toPo(memberAddress)));
}
@Tag(name ="修改会员收货地址")
@Log(title = "会员收货地址", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody MemberAddress memberAddress) {
service.updateById(memberAddress);
public R edit(@RequestBody MemberAddressBO memberAddress) {
service.updateById(convert.toPo(memberAddress));
return R.ok(null);
}

View File

@ -4,6 +4,7 @@ package com.wzj.soopin.member.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.member.annotation.MemberFillMethod;
import com.wzj.soopin.member.convert.MemberCartConvert;
import com.wzj.soopin.member.domain.bo.MemberCartBO;
import com.wzj.soopin.member.domain.po.MemberCart;
@ -34,6 +35,7 @@ public class MemberCartController extends BaseController {
@Tag(name = "查询购物车列表")
@PostMapping("/list")
@MemberFillMethod
public R<IPage<MemberCartVO>> list(@RequestBody MemberCartBO bo, @RequestBody Page page) {
Page<MemberCart> userPage = service.page(page, bo.toWrapper());
return R.ok(convert.toVO(userPage));
@ -51,6 +53,7 @@ public class MemberCartController extends BaseController {
@Tag(name = "获取购物车详细信息")
@GetMapping(value = "/{id}")
@MemberFillMethod
public R<MemberCartVO> getInfo(@PathVariable("id") Long id) {
return R.ok(convert.toVO(service.getById(id)));
}

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.member.domain.bo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.wzj.soopin.member.domain.po.MemberAddress;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -14,7 +13,11 @@ import org.dromara.common.core.domain.BaseBO;
*/
@Schema(description="会员收货地址 查询 对象")
@Data
public class MemberAddressBO extends BaseBO {
public class MemberAddressBO extends BaseBO<MemberAddress> {
private Long id;
@Schema(description ="MEMBER_ID 精确匹配")
private Long memberId;
@ -43,10 +46,16 @@ public class MemberAddressBO extends BaseBO {
private String detailAddress;
@Schema(description ="是否默认 精确匹配")
private Integer isDefault;
private Integer defaultFlag;
@Override
public LambdaQueryWrapper<MemberAddress> toWrapper() {
return new QueryWrapper<MemberAddress>().lambda().eq(MemberAddress::getMemberId,this.getMemberId());
return super.toWrapper().eq(city!=null,MemberAddress::getCity,city)
.eq(district!=null,MemberAddress::getDistrict,district)
.eq(detailAddress!=null,MemberAddress::getDetailAddress,detailAddress)
.eq(defaultFlag!=null,MemberAddress::getDefaultFlag,defaultFlag)
.eq(memberId!=null,MemberAddress::getMemberId,memberId)
.like(nameLike!=null,MemberAddress::getName,nameLike);
}
}

View File

@ -2,6 +2,7 @@ package com.wzj.soopin.member.domain.po;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
@ -15,7 +16,6 @@ import org.dromara.common.excel.annotation.Excel;
@Data
@TableName("ums_member_address")
public class MemberAddress extends BaseAudit {
private static final long serialVersionUID = 1L;
@Schema(description ="ID")
private Long id;
@ -24,6 +24,7 @@ public class MemberAddress extends BaseAudit {
@Excel(name = "MEMBER_ID")
private Long memberId;
@Schema(description ="收货人名称")
@Excel(name = "收货人名称")
private String name;

View File

@ -1,5 +1,7 @@
package com.wzj.soopin.member.domain.vo;
import com.wzj.soopin.member.annotation.MemberFillField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.excel.annotation.Excel;
import org.dromara.common.mybatis.core.domain.BaseEntity;
@ -16,6 +18,14 @@ public class MemberAddressVO extends BaseEntity {
/** MEMBER_ID */
@Excel(name = "MEMBER_ID")
private Long memberId;
/** MEMBER_ID */
@Excel(name = "MEMBER_ID")
@Schema(description = "MEMBER_ID")
@MemberFillField(id = "memberId")
private MemberVO member;
/** 收货人名称 */
@Excel(name = "收货人名称")
private String name;

View File

@ -1,5 +1,6 @@
package com.wzj.soopin.member.domain.vo;
import com.wzj.soopin.member.annotation.MemberFillField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.excel.annotation.Excel;
@ -35,6 +36,7 @@ public class MemberCartVO {
@Schema(description ="会员")
@Excel(name = "会员")
@MemberFillField(id = "memberId")
private MemberVO member;