From d8d68c59dd34c13fbbf9bf4c6bf06891e6011479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BA=86=E7=A5=A5?= Date: Thu, 19 Jun 2025 16:20:13 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=E5=A2=9E=E5=8A=A0=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E6=94=B6=E8=8E=B7=E5=9C=B0=E5=9D=80=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/annotation/MemberFillField.java | 3 +++ .../member/annotation/MemberFillMethod.java | 3 +-- .../controller/MemberAddressController.java | 16 +++++++++------- .../member/controller/MemberCartController.java | 3 +++ .../member/domain/bo/MemberAddressBO.java | 17 +++++++++++++---- .../soopin/member/domain/po/MemberAddress.java | 3 ++- .../member/domain/vo/MemberAddressVO.java | 10 ++++++++++ .../soopin/member/domain/vo/MemberCartVO.java | 2 ++ 8 files changed, 43 insertions(+), 14 deletions(-) diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/annotation/MemberFillField.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/annotation/MemberFillField.java index 3f73acdd5..94aa1013c 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/annotation/MemberFillField.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/annotation/MemberFillField.java @@ -14,5 +14,8 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) public @interface MemberFillField { + /** + * 指向memberId字段名 + */ String id() default ""; } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/annotation/MemberFillMethod.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/annotation/MemberFillMethod.java index a6a06a6ac..ae1320eed 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/annotation/MemberFillMethod.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/annotation/MemberFillMethod.java @@ -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 ""; } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberAddressController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberAddressController.java index 3db97d2c3..2290df955 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberAddressController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberAddressController.java @@ -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 page) { Page 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 getInfo(@PathVariable("id") Long id) { - return R.ok(service.getById(id)); + public R getInfo(@PathVariable("id") Long id) { + return R.ok(convert.toVO(service.getById(id))); } @Tag(name ="新增会员收货地址") @Log(title = "会员收货地址", businessType = BusinessType.INSERT) @PostMapping("/add") - public R add(@RequestBody MemberAddress memberAddress) { - return R.ok(service.save(memberAddress)); + public R 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); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberCartController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberCartController.java index 3e7fa6605..2058acfc0 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberCartController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberCartController.java @@ -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> list(@RequestBody MemberCartBO bo, @RequestBody Page page) { Page 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 getInfo(@PathVariable("id") Long id) { return R.ok(convert.toVO(service.getById(id))); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/bo/MemberAddressBO.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/bo/MemberAddressBO.java index 7165c722c..cfeb84186 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/bo/MemberAddressBO.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/bo/MemberAddressBO.java @@ -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 { + + + + 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 toWrapper() { - return new QueryWrapper().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); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/po/MemberAddress.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/po/MemberAddress.java index 3101e5eef..300806831 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/po/MemberAddress.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/po/MemberAddress.java @@ -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; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberAddressVO.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberAddressVO.java index 41e0ce79b..ad178d10c 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberAddressVO.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberAddressVO.java @@ -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; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberCartVO.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberCartVO.java index c4128e2c4..4ebbbdd36 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberCartVO.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberCartVO.java @@ -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;