From 2427b05aeca08ee3c4998843bf749d35440d461b Mon Sep 17 00:00:00 2001 From: rentaiming <806181662@qq.com> Date: 星期六, 15 六月 2024 21:33:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java | 86 +++++++++++++++++++++++++++++++++---------- 1 files changed, 66 insertions(+), 20 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java index 943b083..415c5eb 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java @@ -9,6 +9,7 @@ import com.google.common.collect.Lists; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.enums.ClientTypeEnum; import com.ruoyi.common.core.enums.ListingStatusEnum; import com.ruoyi.common.core.enums.StartStatusEnum; import com.ruoyi.common.core.exception.ServiceException; @@ -20,9 +21,11 @@ import com.ruoyi.goods.controller.management.dto.GoodsSeckillQuery; import com.ruoyi.goods.controller.management.dto.GoodsSeckillUpd; import com.ruoyi.goods.controller.management.vo.GoodsSeckillVO; +import com.ruoyi.goods.domain.MemberGoodsCollection; import com.ruoyi.goods.mapper.GoodsSeckillMapper; import com.ruoyi.goods.service.IGoodsSeckillService; import com.ruoyi.goods.service.IGoodsSkuService; +import com.ruoyi.goods.service.IMemberGoodsCollectionService; import com.ruoyi.goods.service.async.AsyncMethodService; import com.ruoyi.system.api.constants.DelayTaskEnum; import com.ruoyi.system.api.constants.NotificationTypeConstant; @@ -40,6 +43,8 @@ import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.util.WebSocketUsers; + +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -53,6 +58,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; /** * <p> @@ -75,6 +82,9 @@ private final AsyncMethodService asyncMethodService; // 创建一个静态共享的ObjectMapper实例以重用 private static final ObjectMapper objectMapper = new ObjectMapper(); + + @Resource + private IMemberGoodsCollectionService iMemberGoodsCollectionService; @Override @Transactional(rollbackFor = Exception.class) public void addGoodsSeckill(GoodsSeckillDTO dto) { @@ -179,7 +189,7 @@ Optional.of(goods).ifPresent(goodsSku -> vo.setGoodsSkuName(goodsSku.getSkuName())); Integer num = orderClient.getSeckillMembers(goodsSeckill.getGoodsSkuId(), SecurityConstants.INNER).getData(); - vo.setNumberOfPurchasedMembers(num); + vo.setNumberOfPurchasedMembers(StringUtils.isNull(num) ? 0 : num); return vo; } @@ -212,7 +222,7 @@ map.put("target_id", seckillId); map.put("message_type", "start"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByText(msg); + WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); log.info("===================>发送websocket通知,消息体{}", msg); } @@ -239,7 +249,7 @@ map.put("target_id", seckillId); map.put("message_type", "end"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByText(msg); + WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); log.info("===================>发送websocket通知,消息体{}", msg); } @@ -248,12 +258,21 @@ LambdaQueryWrapper<GoodsSku> wrapper3= Wrappers.lambdaQuery(); wrapper3.eq(GoodsSku::getDelFlag,0); wrapper3.eq(GoodsSku::getListingStatus,0); - wrapper3.like(GoodsSku::getSkuName,homeGoodsSkuDTO.getSkuName()); - wrapper3.eq(GoodsSku::getSkuName,homeGoodsSkuDTO.getSkuName()); - wrapper3.eq(GoodsSku::getBrandId,homeGoodsSkuDTO.getBrandId()); - wrapper3.eq(GoodsSku::getCategoryId,homeGoodsSkuDTO.getCategoryId()); - wrapper3.eq(GoodsSku::getSeriesId,homeGoodsSkuDTO.getSeriesId()); - wrapper3.eq(GoodsSku::getFlavorTypeId,homeGoodsSkuDTO.getFlavorTypeId()); + if (homeGoodsSkuDTO.getSkuName()!=null){ + wrapper3.like(GoodsSku::getSkuName,homeGoodsSkuDTO.getSkuName()); + } + if (homeGoodsSkuDTO.getBrandId()!=null){ + wrapper3.eq(GoodsSku::getBrandId,homeGoodsSkuDTO.getBrandId()); + } + if (homeGoodsSkuDTO.getCategoryId()!=null){ + wrapper3.eq(GoodsSku::getCategoryId,homeGoodsSkuDTO.getCategoryId()); + } + if (homeGoodsSkuDTO.getSeriesId()!=null){ + wrapper3.eq(GoodsSku::getSeriesId,homeGoodsSkuDTO.getSeriesId()); + } + if (homeGoodsSkuDTO.getFlavorTypeId()!=null){ + wrapper3.eq(GoodsSku::getFlavorTypeId,homeGoodsSkuDTO.getFlavorTypeId()); + } if (homeGoodsSkuDTO.getSort()==2){ wrapper3.orderByAsc(GoodsSku::getPrice); } @@ -271,36 +290,51 @@ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime newTime7 = now.minusYears(30); String formattedDate7 = newTime7.format(formatter); - LocalDateTime parseTime7 = LocalDateTime.parse(formattedDate7, formatter); - wrapper3.gt(GoodsSku::getYears,parseTime7); + LocalDateTime parseTime7 = LocalDate.parse(formattedDate7).atStartOfDay(); + wrapper3.le(GoodsSku::getYears,parseTime7); } if(homeGoodsSkuDTO.getYear()==3){ LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime newTime7 = now.minusYears(30); String formattedDate7 = newTime7.format(formatter); - LocalDateTime parseTime7 = LocalDateTime.parse(formattedDate7, formatter); + LocalDateTime parseTime7 = LocalDate.parse(formattedDate7).atStartOfDay(); LocalDateTime newTime15 = now.minusYears(15); String formattedDate15 = newTime15.format(formatter); - LocalDateTime parseTime15= LocalDateTime.parse(formattedDate15, formatter); - wrapper3.gt(GoodsSku::getYears, parseTime15) - .le(GoodsSku::getYears, parseTime7); + LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay(); + wrapper3.le(GoodsSku::getYears, parseTime15) + .gt(GoodsSku::getYears, parseTime7); } - if(homeGoodsSkuDTO.getYear()==3){ + if(homeGoodsSkuDTO.getYear()==4){ LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime newTime7 = now.minusYears(5); String formattedDate7 = newTime7.format(formatter); - LocalDateTime parseTime7 = LocalDateTime.parse(formattedDate7, formatter); + LocalDateTime parseTime7 = LocalDate.parse(formattedDate7).atStartOfDay(); LocalDateTime newTime15 = now.minusYears(15); String formattedDate15 = newTime15.format(formatter); - LocalDateTime parseTime15= LocalDateTime.parse(formattedDate15, formatter); - wrapper3.ge(GoodsSku::getYears, parseTime7) - .le(GoodsSku::getYears, parseTime15); + LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay(); + wrapper3.le(GoodsSku::getYears, parseTime7) + .gt(GoodsSku::getYears, parseTime15); } + + if(homeGoodsSkuDTO.getYear()==5){ + LocalDateTime now = LocalDateTime.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDateTime newTime7 = now.minusYears(1); + String formattedDate7 = newTime7.format(formatter); + LocalDateTime parseTime7 = LocalDate.parse(formattedDate7).atStartOfDay(); + + LocalDateTime newTime15 = now.minusYears(5); + String formattedDate15 = newTime15.format(formatter); + LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay(); + wrapper3.le(GoodsSku::getYears, parseTime7) + .ge(GoodsSku::getYears, parseTime15); + } + List<GoodsSku> page1 = goodsSkuService.list(wrapper3); Set<Long> goodsSkuIdList = null; @@ -365,6 +399,18 @@ homeGoodsSeckillInfoVO.setStartTime(byId.getStartTime()); homeGoodsSeckillInfoVO.setEndTime(byId.getEndTime()); homeGoodsSeckillInfoVO.setStartStatus(byId.getStartStatus()); + + LambdaQueryWrapper<MemberGoodsCollection> wrapper3= Wrappers.lambdaQuery(); + wrapper3.eq(MemberGoodsCollection::getDelFlag,0); + wrapper3.eq(MemberGoodsCollection::getMemberId,homeGoodsSkuDTO.getMemberId()); + wrapper3.eq(MemberGoodsCollection::getTargetId,homeGoodsSkuDTO.getGoodsSkuId()); + wrapper3.eq(MemberGoodsCollection::getType,3); + List<MemberGoodsCollection> list = iMemberGoodsCollectionService.list(wrapper3); + if (list.size()>0){ + homeGoodsSeckillInfoVO.setIsCollection(2); + }else{ + homeGoodsSeckillInfoVO.setIsCollection(1); + } return homeGoodsSeckillInfoVO; } } -- Gitblit v1.7.1