From ac609951fb6d24339a69b3bb142d41f260b83262 Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期三, 12 二月 2025 09:52:17 +0800 Subject: [PATCH] 1 --- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java | 70 ++++++++++++++++++++++++---------- 1 files changed, 49 insertions(+), 21 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java index efdd4b7..51e7216 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java @@ -8,16 +8,16 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.core.constant.SecurityConstants; -import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; -import com.ruoyi.common.core.enums.ListingStatusEnum; -import com.ruoyi.common.core.enums.OrderFromEnum; -import com.ruoyi.common.core.enums.StartStatusEnum; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.enums.*; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.core.utils.page.Checker; import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.goods.controller.management.dto.GoodsInfoTitleValueDTO; import com.ruoyi.goods.controller.management.dto.GoodsSkuDTO; import com.ruoyi.goods.controller.management.dto.GoodsSkuQuery; @@ -33,17 +33,7 @@ import com.ruoyi.goods.service.IGoodsInfoTitleValueService; import com.ruoyi.goods.service.IGoodsSkuService; import com.ruoyi.goods.service.IMemberGoodsCollectionService; -import com.ruoyi.system.api.domain.AuctionGoods; -import com.ruoyi.system.api.domain.AuctionSalesroom; -import com.ruoyi.system.api.domain.AuctionSalesroomGoods; -import com.ruoyi.system.api.domain.GoodsBrand; -import com.ruoyi.system.api.domain.GoodsCategory; -import com.ruoyi.system.api.domain.GoodsFlavorType; -import com.ruoyi.system.api.domain.GoodsGroupPurchase; -import com.ruoyi.system.api.domain.GoodsSeckill; -import com.ruoyi.system.api.domain.GoodsSeries; -import com.ruoyi.system.api.domain.GoodsSku; -import com.ruoyi.system.api.domain.Order; +import com.ruoyi.system.api.domain.*; import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.ListStatusDTO; @@ -53,7 +43,10 @@ import com.ruoyi.system.api.domain.vo.getHomeGoodsSkuXxiVO; import com.ruoyi.system.api.feignClient.AuctionClient; import com.ruoyi.system.api.feignClient.GoodsSkuClient; +import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.OrderClient; + +import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -69,6 +62,7 @@ import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -105,8 +99,13 @@ @Resource private IMemberGoodsCollectionService iMemberGoodsCollectionService; + @Resource + private MemberClient memberClient; + private static final ObjectMapper objectMapper = new ObjectMapper(); + @Autowired + private TokenService tokenService; /** * 保存商品SKU信息。 @@ -341,6 +340,11 @@ @Override public PageDTO<HomeGoodsSkuListVO> getHomeGoodsSkuVOList(HomeGoodsSkuDTO homeGoodsSkuDTO) { + Long userId = SecurityUtils.getUserId(); + R<Member> memberR = memberClient.getMemberByUserId(userId, SecurityConstants.INNER); + Member member = memberR.getData(); + Integer vipClassify = member.getVipClassify(); + Page<GoodsSku> page = new Page<>(); page.setSize(homeGoodsSkuDTO.getPageSize()); page.setCurrent(homeGoodsSkuDTO.getPageCurr()); @@ -439,10 +443,13 @@ wrapper3.last(",IF(isnull(sort_num),1,0), sort_num DESC,create_time DESC" ); } - Page<GoodsSku> page1 = this.page(page, wrapper3); - PageDTO<HomeGoodsSkuListVO> articleCommentsVOPageDTO = PageDTO.of(page1, HomeGoodsSkuListVO.class); - return articleCommentsVOPageDTO; + for (GoodsSku record : page1.getRecords()) { + // 获取会员价格 + BigDecimal vipPrice = getVipPrice(record.getId()); + record.setPrice(vipPrice); + } + return PageDTO.of(page1, HomeGoodsSkuListVO.class); } @@ -468,7 +475,6 @@ if (data3!=null) { homeGoodsSkuInfoVO.setFlavorType(data3.getFlavorTypeName()); } - homeGoodsSkuInfoVO.setPrice(byId.getPrice()); homeGoodsSkuInfoVO.setSoldQuantity(byId.getSoldQuantity()); homeGoodsSkuInfoVO.setUnit(byId.getUnit()); homeGoodsSkuInfoVO.setSpec(byId.getSpec()); @@ -513,7 +519,9 @@ "=============================没有查询到团购信息============================="); homeGoodsSkuInfoVO.setIsGoodsGroupPurchase(1); } - + // 获取会员价格 + BigDecimal vipPrice = getVipPrice(byId.getId()); + homeGoodsSkuInfoVO.setPrice(vipPrice); LambdaQueryWrapper<MemberGoodsCollection> wrapper3= Wrappers.lambdaQuery(); wrapper3.eq(MemberGoodsCollection::getDelFlag,0); @@ -547,7 +555,7 @@ wrapper4.ge(GoodsBrowseRecord::getCreateTime, newTime7) .le(GoodsBrowseRecord::getCreateTime,now ); List<GoodsBrowseRecord> list2 = iGoodsBrowseRecordService.list(wrapper4); - if (list2.size()==0){ + if (list2.isEmpty()){ GoodsBrowseRecord auctionBrowseRecord=new GoodsBrowseRecord(); auctionBrowseRecord.setMemberId(homeGoodsSkuDTO.getMemberId()); auctionBrowseRecord.setGoodsSkuId(homeGoodsSkuDTO.getGoodsSkuId()); @@ -558,6 +566,26 @@ return homeGoodsSkuInfoVO; } + private BigDecimal getVipPrice(Long goodsSkuId){ + + if (SecurityUtils.isLogin()) { + Long userId = SecurityUtils.getUserId(); + GoodsSku byId = getById(goodsSkuId); + Member member = memberClient.getMemberByUserId(userId, SecurityConstants.INNER).getData(); + Integer vipClassify = member.getVipClassify(); + if (MemberVipClassifyEnum.NORMAL.getCode().equals(vipClassify)) { + return byId.getPrice(); + }else if (MemberVipClassifyEnum.VIP.getCode().equals(vipClassify)){ + return byId.getVipPrice(); + }else if (MemberVipClassifyEnum.SUPER_VIP.getCode().equals(vipClassify)){ + return byId.getSuperVipPrice(); + } + }else { + return getById(goodsSkuId).getPrice(); + } + throw new ServiceException("会员等级错误"); + } + @Override public List<getHomeGoodsSkuXxiVO> getHomeGoodsSkuXxi(HomeGoodsSkuDTO homeGoodsSkuDTO) { List<getHomeGoodsSkuXxiVO> homeGoodsSkuXxiVOS=new ArrayList<>(); -- Gitblit v1.7.1