From 065219830723896b2d256af6a2279e4358f55642 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 27 May 2025 11:42:25 +0800
Subject: [PATCH] feat(mall): 添加会员标识功能
---
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java | 4 ++
src/main/java/cc/mrbird/febs/mall/vo/memberLevel/ApiMemberLabelVo.java | 24 ++++++++++++
src/main/java/cc/mrbird/febs/mall/controller/member/ApiMallMemberController.java | 10 +++++
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 2 +
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 53 ++++++++++++++++++++++++++
5 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/member/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/member/ApiMallMemberController.java
index a385178..ec0bb79 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/member/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/member/ApiMallMemberController.java
@@ -9,6 +9,7 @@
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.IMallMemberWithdrawService;
import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.mall.vo.memberLevel.ApiMemberLabelVo;
import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -56,6 +57,15 @@
return memberService.findMemberInfo();
}
+ @ApiOperation(value = "查看会员标识详情", notes = "查看会员标识详情")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiMemberLabelVo.class)
+ })
+ @GetMapping(value = "/getLabelList")
+ public FebsResponse getLabelList() {
+ return memberService.getLabelList();
+ }
+
@ApiOperation(value = "推出登录", notes = "推出登录")
@PostMapping(value = "/logout")
public FebsResponse logout() {
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index d7e4a21..7c98ace 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -121,4 +121,6 @@
FebsResponse flowHeader();
FebsResponse newGiftEvent();
+
+ FebsResponse getLabelList();
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index ff49561..4971f43 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -14,6 +14,7 @@
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.*;
import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.mall.vo.memberLevel.ApiMemberLabelVo;
import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
import cc.mrbird.febs.pay.service.IXcxPayService;
import cc.mrbird.febs.pay.util.MD5;
@@ -90,6 +91,8 @@
private final MallDoctorMapper mallDoctorMapper;
private final HappyMemberLevelMapper happyMemberLevelMapper;
private final IApiMallMemberWalletService mallMemberWalletService;
+ private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
+ private final HappyMemberLabelMapper happyMemberLabelMapper;
@Value("${spring.profiles.active}")
@@ -323,6 +326,22 @@
mallMemberVo.setScore(wallet.getScore());
mallMemberVo.setPrizeScore(wallet.getPrizeScore());
// mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
+
+ List<HappyMemberLabelRecord> happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList(
+ new LambdaQueryWrapper<HappyMemberLabelRecord>()
+ .eq(HappyMemberLabelRecord::getMemberId, id)
+ );
+ if(CollUtil.isNotEmpty(happyMemberLabelRecords)){
+ Set<Long> collect = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getLabelId).collect(Collectors.toSet());
+ List<HappyMemberLabel> happyMemberLabels = happyMemberLabelMapper.selectList(
+ new LambdaQueryWrapper<HappyMemberLabel>()
+ .select(HappyMemberLabel::getIconPng)
+ .in(HappyMemberLabel::getId, collect)
+ );
+ if(CollUtil.isNotEmpty(happyMemberLabels)){
+ mallMemberVo.setLabelList(happyMemberLabels.stream().map(HappyMemberLabel::getIconPng).collect(Collectors.toList()));
+ }
+ }
return new FebsResponse().success().data(mallMemberVo);
}
@@ -1690,6 +1709,40 @@
return new FebsResponse().success().data(apiMemberNewGiftSettingVo);
}
+ @Override
+ public FebsResponse getLabelList() {
+
+ // 获取当前登录用户的ID
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+
+ ArrayList<ApiMemberLabelVo> apiMemberLabelVos = new ArrayList<>();
+
+ List<HappyMemberLabelRecord> happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList(
+ new LambdaQueryWrapper<HappyMemberLabelRecord>()
+ .eq(HappyMemberLabelRecord::getMemberId,memberId)
+ );
+ if(CollUtil.isNotEmpty(happyMemberLabelRecords)){
+ Set<Long> collect = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getLabelId).collect(Collectors.toSet());
+ List<HappyMemberLabel> happyMemberLabels = happyMemberLabelMapper.selectList(
+ new LambdaQueryWrapper<HappyMemberLabel>()
+ .select(HappyMemberLabel::getIconPng)
+ .in(HappyMemberLabel::getId, collect)
+ );
+ if(CollUtil.isNotEmpty(happyMemberLabels)){
+ for (HappyMemberLabel happyMemberLabel : happyMemberLabels) {
+ ApiMemberLabelVo apiMemberLabelVo = new ApiMemberLabelVo();
+ apiMemberLabelVo.setName(happyMemberLabel.getName());
+ apiMemberLabelVo.setContent(happyMemberLabel.getContent());
+ apiMemberLabelVo.setHeaderPng(happyMemberLabel.getHeaderPng());
+ apiMemberLabelVo.setIconPng(happyMemberLabel.getIconPng());
+ apiMemberLabelVos.add(apiMemberLabelVo);
+ }
+ }
+ }
+
+ return new FebsResponse().success().data(apiMemberLabelVos);
+ }
+
// public static void main(String[] args) {
// Long userld = 16425L;
// String shopAccount = "爱和美医疗";
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index 9e7aeed..fcc4fb9 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -9,6 +9,7 @@
import java.math.BigDecimal;
import java.util.Date;
+import java.util.List;
@Data
@ApiModel(value = "MallMemberVo", description = "商城用户信息返回类")
@@ -124,4 +125,7 @@
@ApiModelProperty(value = "是否领取新人礼 0-否 1-是")
private Integer newGift;
+
+ @ApiModelProperty(value = "会员标识集合")
+ private List<String> labelList;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/memberLevel/ApiMemberLabelVo.java b/src/main/java/cc/mrbird/febs/mall/vo/memberLevel/ApiMemberLabelVo.java
new file mode 100644
index 0000000..1633723
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/memberLevel/ApiMemberLabelVo.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.mall.vo.memberLevel;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiMemberLabelVo", description = "商城用户信息返回类")
+public class ApiMemberLabelVo {
+
+ @ApiModelProperty(value = "名称")
+ private String name;
+
+ @ApiModelProperty(value = "说明")
+ private String content;
+
+ @ApiModelProperty(value = "会员标识小图标")
+ private String iconPng;
+
+ @ApiModelProperty(value = "宣传海报")
+ private String headerPng;
+
+
+}
--
Gitblit v1.9.1