From 60bcef1e9ba92f8d409f2572e6d3cd50cbe378ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Fri, 26 Sep 2025 11:26:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=9A=E5=91=98=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E9=87=8D=E7=BD=AE=E7=94=A8=E6=88=B7=E7=AD=89?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/MemberLevelConfigService.java | 3 ++ .../com/czg/market/vo/UMemberConfigVO.java | 1 + .../impl/TbMemberConfigServiceImpl.java | 19 ++++++++++++- .../impl/TbMemberLevelConfigServiceImpl.java | 28 +++++++++++++++---- 4 files changed, 44 insertions(+), 7 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MemberLevelConfigService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MemberLevelConfigService.java index 4357ff94..540f1a79 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MemberLevelConfigService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MemberLevelConfigService.java @@ -4,6 +4,8 @@ import com.czg.market.vo.MemberLevelVO; import com.mybatisflex.core.service.IService; import com.czg.market.entity.MemberLevelConfig; +import java.util.ArrayList; + /** * 会员等级配置 服务层。 * @@ -13,4 +15,5 @@ import com.czg.market.entity.MemberLevelConfig; public interface MemberLevelConfigService extends IService { MemberLevelVO detail(Long memberLevelId); + ArrayList listInfo(Long shopId); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/vo/UMemberConfigVO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/vo/UMemberConfigVO.java index c96e95ef..0dc2e5f6 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/vo/UMemberConfigVO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/vo/UMemberConfigVO.java @@ -26,4 +26,5 @@ public class UMemberConfigVO implements Serializable { */ private Map conditionMap; private MemberLevelVO memberLevel; + private List memberLevelList; } diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java index b1c52e60..35bc3057 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java @@ -140,6 +140,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl new ApiNotPrintException("会员等级不存在")); + Integer oldVal = levelConfig.getExperienceValue(); checkLevelDto(shopId, levelDTO); BeanUtil.copyProperties(levelDTO, levelConfig); @@ -236,7 +241,19 @@ public class TbMemberConfigServiceImpl extends ServiceImpl shopUserList = shopUserService.list(new QueryWrapper().eq(ShopUser::getSourceShopId, shopId)); + shopUserList.forEach(item -> { + MemberLevelConfig configServiceOne = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId) + .le(MemberLevelConfig::getExperienceValue, item.getExperience()).orderBy(MemberLevelConfig::getExperienceValue, false).limit(1)); + item.setMemberLevelId(configServiceOne == null ? item.getMemberLevelId() : configServiceOne.getId()); + }); + return shopUserService.updateBatch(shopUserList); + } + + return true; } @Override diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberLevelConfigServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberLevelConfigServiceImpl.java index 6d3f4937..47256b85 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberLevelConfigServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberLevelConfigServiceImpl.java @@ -4,16 +4,17 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSONArray; import com.czg.market.dto.MemberLevelDTO; -import com.czg.market.entity.ShopCoupon; import com.czg.market.service.ShopCouponService; import com.czg.market.vo.MemberLevelVO; import com.czg.service.market.mapper.TbMemberLevelConfigMapper; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; import com.czg.market.entity.MemberLevelConfig; import com.czg.market.service.MemberLevelConfigService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -26,12 +27,18 @@ import java.util.List; public class TbMemberLevelConfigServiceImpl extends ServiceImpl implements MemberLevelConfigService{ @Resource private ShopCouponService shopCouponService; + @Override - public MemberLevelVO detail(Long memberLevelId) { - MemberLevelConfig memberLevelConfig = getById(memberLevelId); - if (memberLevelConfig == null) { - return null; - } + public ArrayList listInfo(Long shopId) { + List levelConfigs = list(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId)); + ArrayList memberLevelVOS = new ArrayList<>(); + levelConfigs.forEach(memberLevelConfig -> { + memberLevelVOS.add(transVO(memberLevelConfig)); + }); + return memberLevelVOS; + } + + private MemberLevelVO transVO(MemberLevelConfig memberLevelConfig) { MemberLevelVO levelVO = BeanUtil.copyProperties(memberLevelConfig, MemberLevelVO.class, "cycleRewardCouponList"); if (StrUtil.isNotBlank(memberLevelConfig.getCycleRewardCouponList())) { List coupons = JSONArray.parseArray(memberLevelConfig.getCycleRewardCouponList()).toList(MemberLevelDTO.ConfigCoupon.class); @@ -42,4 +49,13 @@ public class TbMemberLevelConfigServiceImpl extends ServiceImpl