From d5a62c975afbaff26d17b61fa7b9fde7e2cb035d Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期六, 27 七月 2024 11:44:03 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSalesroomGoodsQuery.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java | 4 + ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml | 12 ++++ ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 24 +++---- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java | 32 ++++++---- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java | 29 +++++++-- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java | 5 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 21 ++++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/vo/GoodsGroupPurchaseVO.java | 3 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 1 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 2 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml | 13 ++++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java | 13 ++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java | 5 + 15 files changed, 127 insertions(+), 41 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSalesroomGoodsQuery.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSalesroomGoodsQuery.java index 918eaf5..415cc72 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSalesroomGoodsQuery.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSalesroomGoodsQuery.java @@ -20,6 +20,6 @@ private Long auctionSalesroomId; @ApiModelProperty(value = "商品名称") - private String goodsName; + private String goodsSkuName; } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index ec32e41..72d7a4b 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -1210,7 +1210,7 @@ .between(StringUtils.isNotNull(query.getStartTime()) && StringUtils.isNotNull( query.getEndTime()), AuctionSalesroom::getStartTime, query.getStartTime(), query.getEndTime()) - .orderByAsc(AuctionSalesroom::getCreateTime) + .orderByDesc(AuctionSalesroom::getCreateTime) .page(new Page<>(query.getPageCurr(), query.getPageSize())); List<AuctionSalesroom> records = page.getRecords(); if (StringUtils.isNull(records)) { @@ -1256,7 +1256,7 @@ vo.setAuctionSalesroomGoodsVOS(collect); if (StringUtils.isNotNull(vo.getCurrentAuctionSalesroomGoods())) { int index = collect.indexOf(vo.getCurrentAuctionSalesroomGoods()); - if (collect.size() > 1) { + if (collect.size() > 1 && index < collect.size() - 1) { vo.setNextAuctionSalesroomGoods(collect.get(index + 1)); } // 分页查询当前拍品出价信息 @@ -1371,8 +1371,8 @@ public PageDTO<MgtAuctionSalesroomGoodsVO> backupGoods(MgtAuctionSalesroomGoodsQuery query) { Page<AuctionSalesroomGoods> page = new Page<>(query.getPageCurr(), query.getPageSize()); Set<Long> goodsSkuIdSet = null; - if (StringUtils.isNotBlank(query.getGoodsName())) { - List<GoodsSku> data = goodsSkuClient.getGoodsByName(query.getGoodsName(), + if (StringUtils.isNotBlank(query.getGoodsSkuName())) { + List<GoodsSku> data = goodsSkuClient.getGoodsByName(query.getGoodsSkuName(), SecurityConstants.INNER).getData(); if (StringUtils.isNotEmpty(data)) { goodsSkuIdSet = data.stream().map(GoodsSku::getId) @@ -1650,7 +1650,6 @@ public void stopCurrentAuctionSalesroom(Long auctionSalesroomId) throws JsonProcessingException { LambdaQueryWrapper<AuctionSalesroomGoods> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AuctionSalesroomGoods::getStatus, AuctionGoodsStatusEnum.WAITING); wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId, auctionSalesroomId); wrapper.orderByDesc(AuctionSalesroomGoods::getSortNum); List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectList( @@ -1666,19 +1665,18 @@ auctionSalesroom.setStatus(AuctionStartStatusEnum.ENDED); auctionSalesroom.setEndTime(LocalDateTime.now()); auctionSalesroomMapper.updateById(auctionSalesroom); - + auctionSalesroomGoods = auctionSalesroomGoods.stream() + .filter(goods -> goods.getStatus().equals(AuctionGoodsStatusEnum.WAITING)).collect( + Collectors.toList()); if (StringUtils.isNotEmpty(auctionSalesroomGoods)) { List<GoodsStockUpdDTO> dtoList = new ArrayList<>(); for (AuctionSalesroomGoods salesroomGoods : auctionSalesroomGoods) { salesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED); // 等待中的商品退库存 - if (salesroomGoods.getStatus().equals(AuctionGoodsStatusEnum.WAITING)) { - GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); - goodsStockUpdDTO.setGoodsSkuId(salesroomGoods.getGoodsSkuId()); - goodsStockUpdDTO.setAuctionStock(salesroomGoods.getSalesroomStock()); - dtoList.add(goodsStockUpdDTO); - } - + GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); + goodsStockUpdDTO.setGoodsSkuId(salesroomGoods.getGoodsSkuId()); + goodsStockUpdDTO.setAuctionStock(salesroomGoods.getSalesroomStock()); + dtoList.add(goodsStockUpdDTO); } // 批量更新商品库存 auctionSalesroomGoodsMapper.updateBatchById(auctionSalesroomGoods); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/vo/GoodsGroupPurchaseVO.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/vo/GoodsGroupPurchaseVO.java index 674e34a..bca0a71 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/vo/GoodsGroupPurchaseVO.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/vo/GoodsGroupPurchaseVO.java @@ -41,6 +41,9 @@ @ApiModelProperty(value = "已购商品数") private Integer buyNumber; + @ApiModelProperty(value = "已参团人数") + private Integer groupedMemberNumber; + @ApiModelProperty(value = "团购开始时间") private LocalDateTime startTime; diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java index 4da224a..377a542 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO; import com.ruoyi.system.api.domain.GoodsGroupPurchase; +import java.util.List; import org.apache.ibatis.annotations.Param; /** @@ -23,4 +24,8 @@ */ Page<GoodsGroupPurchaseVO> getGoodsGroupPurchasePage(@Param("goodsSkuName") String goodsSkuName, @Param("page") Page<GoodsGroupPurchaseVO> page); + + void updateListingStatusBatch( + @Param("listingStatus") Integer listingStatus, + @Param("goodsGroupPurchaseList") List<GoodsGroupPurchase> goodsGroupPurchaseList); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java index 4f64e79..21ccdd6 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsSeckillMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.goods.controller.management.vo.GoodsSeckillVO; import com.ruoyi.system.api.domain.GoodsSeckill; +import java.util.List; import org.apache.ibatis.annotations.Param; /** @@ -18,4 +19,7 @@ Page<GoodsSeckillVO> getGoodsSeckillPage(@Param("goodsSkuName") String goodsSkuName, @Param("page") Page<GoodsSeckillVO> page); + + void updateListingStatusBatch(@Param("listingStatus") Integer listingStatus, + @Param("goodsSeckillList") List<GoodsSeckill> goodsSeckillList); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java index 7a5bdd3..aa0f0fa 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java @@ -8,8 +8,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Lists; import com.ruoyi.common.core.constant.SecurityConstants; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.enums.*; +import com.ruoyi.common.core.enums.ClientTypeEnum; +import com.ruoyi.common.core.enums.GroupStatusEnum; +import com.ruoyi.common.core.enums.ListingStatusEnum; +import com.ruoyi.common.core.enums.OrderFromEnum; +import com.ruoyi.common.core.enums.OrderStatusEnum; +import com.ruoyi.common.core.enums.StartStatusEnum; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; @@ -34,7 +38,12 @@ import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.WebsocketMessageDTO; -import com.ruoyi.system.api.domain.dto.*; +import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; +import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; +import com.ruoyi.system.api.domain.dto.ListStatusDTO; +import com.ruoyi.system.api.domain.dto.OrderDTO; +import com.ruoyi.system.api.domain.dto.OrderUpdDTO; +import com.ruoyi.system.api.domain.dto.RefundDTO; import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO; import com.ruoyi.system.api.domain.vo.OrderVO; import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO; @@ -102,7 +111,7 @@ queryWrapper.eq(GoodsGroupPurchase::getListingStatus, ListingStatusEnum.ON_SHELVES.getCode()); queryWrapper.le(GoodsGroupPurchase::getStartTime, dto.getStartTime()); - queryWrapper.ge(GoodsGroupPurchase::getEndTime, dto.getEndTime()); + queryWrapper.ge(GoodsGroupPurchase::getEndTime, dto.getStartTime()); long count = this.count(queryWrapper); if (count > 0) { throw new ServiceException("添加失败,当前商品在该时间段内有其他团购活动"); @@ -117,10 +126,6 @@ throw new ServiceException(String.format("团购商品【%s】剩余库存不足,请修改团购库存", goodsSku.getSkuName())); } - GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); - goodsStockUpdDTO.setAuctionStock(groupPurchaseStock * -1); - goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId()); - goodsSkuService.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO)); } else { GoodsGroupPurchase groupPurchase = this.getById(dto.getId()); if (StringUtils.isNull(groupPurchase)) { @@ -143,11 +148,6 @@ throw new ServiceException(String.format("团购商品%s剩余库存不足,请修改团购库存", goodsSku.getSkuName())); } - GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); - goodsStockUpdDTO.setAuctionStock(latestStock); - goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId()); - goodsSkuService.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO)); - this.updateById(goodsGroupPurchase); } if (goodsGroupPurchase.getListingStatus().equals(ListingStatusEnum.ON_SHELVES)) { asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase)); @@ -172,6 +172,12 @@ Integer num = orderClient.getGroupPurchasesGoodsNum(groupPurchase.getId(), SecurityConstants.INNER).getData(); vo.setBuyNumber(num); + List<GoodsGroupPurchaseInfo> list = goodsGroupPurchaseInfoService.lambdaQuery() + .eq(GoodsGroupPurchaseInfo::getGroupPurchaseId, id).list(); + Integer count = list.stream().map(GoodsGroupPurchaseInfo::getCurrentNumber) + .reduce(Integer::sum) + .orElse(0); + vo.setGroupedMemberNumber(count); return vo; } 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 250a8fa..9c30ad2 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 @@ -109,7 +109,7 @@ .ne(GoodsSeckill::getStartStatus, StartStatusEnum.ENDED) .eq(GoodsSeckill::getListingStatus, ListingStatusEnum.ON_SHELVES) .le(GoodsSeckill::getStartTime, dto.getStartTime()) - .ge(GoodsSeckill::getEndTime, dto.getEndTime()).list(); + .ge(GoodsSeckill::getEndTime, dto.getStartTime()).list(); Set<Long> existGoodsSkuIdSet = list.stream().map(GoodsSeckill::getGoodsSkuId) .collect(Collectors.toSet()); if (!existGoodsSkuIdSet.isEmpty()) { @@ -125,7 +125,8 @@ return goodsSkuMap.get(item.getGoodsSkuId()); }).filter(Objects::nonNull) .collect(Collectors.joining(",")); - throw new ServiceException("添加失败,当前商品在该时间段内有其他秒杀活动"); + throw new ServiceException( + String.format("添加失败,商品%s在该时间段内有其他秒杀活动", goodsSkuNames)); } } this.saveBatch(goodsSeckills); 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 8574295..5bbb2e4 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 @@ -29,7 +29,14 @@ import com.ruoyi.goods.service.IGoodsInfoTitleValueService; import com.ruoyi.goods.service.IGoodsSkuService; import com.ruoyi.goods.service.IMemberGoodsCollectionService; -import com.ruoyi.system.api.domain.*; +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.dto.GoodsStockUpdDTO; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.ListStatusDTO; @@ -48,6 +55,7 @@ import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import javax.annotation.Resource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -225,20 +233,25 @@ .eq(GoodsSeckill::getGoodsSkuId, dto.getId()); List<GoodsSeckill> goodsSeckillList = goodsSeckillMapper.selectList(queryWrapper); if (StringUtils.isNotNull(goodsSeckillList)) { - for (GoodsSeckill goodsSeckill : goodsSeckillList) { + goodsSeckillList = goodsSeckillList.stream().peek(goodsSeckill -> { goodsSeckill.setListingStatus(ListingStatusEnum.REMOVED_FROM_THE_SHELF); - goodsSeckillMapper.updateById(goodsSeckill); - } + }).collect(Collectors.toList()); + goodsSeckillMapper.updateListingStatusBatch( + ListingStatusEnum.REMOVED_FROM_THE_SHELF.getCode(), goodsSeckillList); } LambdaQueryWrapper<GoodsGroupPurchase> queryWrapper1 =new LambdaQueryWrapper<>(); queryWrapper1.eq(GoodsGroupPurchase::getListingStatus, ListingStatusEnum.ON_SHELVES) .eq(GoodsGroupPurchase::getGoodsSkuId, dto.getId()); - GoodsGroupPurchase goodsGroupPurchase = goodsGroupPurchaseMapper.selectOne(queryWrapper1); - if (StringUtils.isNotNull(goodsGroupPurchase)) { - goodsGroupPurchase.setListingStatus(ListingStatusEnum.REMOVED_FROM_THE_SHELF); - goodsGroupPurchaseMapper.updateById(goodsGroupPurchase); + List<GoodsGroupPurchase> goodsGroupPurchaseList = goodsGroupPurchaseMapper.selectList( + queryWrapper1); + if (CollUtils.isNotEmpty(goodsGroupPurchaseList)) { + goodsGroupPurchaseList = goodsGroupPurchaseList.stream().peek(goodsGroupPurchase -> { + goodsGroupPurchase.setListingStatus(ListingStatusEnum.REMOVED_FROM_THE_SHELF); + }).collect(Collectors.toList()); + goodsGroupPurchaseMapper.updateListingStatusBatch( + ListingStatusEnum.REMOVED_FROM_THE_SHELF.getCode(), goodsGroupPurchaseList); } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml index 965d060..378103e 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml @@ -1,6 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper"> + <update id="updateListingStatusBatch"> + UPDATE t_goods_group_purchase + SET listing_status = #{listingStatus} + <where> + <if test="goodsGroupPurchaseList != null and goodsGroupPurchaseList.size() > 0"> + id IN + <foreach collection="goodsGroupPurchaseList" item="item" open="(" separator="," close=")"> + #{item.id} + </foreach> + </if> + </where> + </update> <select id="getGoodsGroupPurchasePage" resultType="com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO"> @@ -17,4 +29,5 @@ </where> ORDER BY tgp.create_time DESC </select> + </mapper> diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml index 3fb1922..76d19e7 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsInfoTitleValueMapper.xml @@ -21,7 +21,7 @@ </select> - <select id="listByGoodsId" + <select id="listByGoodsId1" resultType="com.ruoyi.system.api.domain.vo.GoodsInfoTitleValueVO" parameterType="java.lang.Long"> SELECT titv.goods_info_title_id, diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml index edc088e..da55ab0 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsSeckillMapper.xml @@ -1,6 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.GoodsSeckillMapper"> + <update id="updateListingStatusBatch"> + UPDATE t_goods_seckill + SET listing_status = #{listingStatus} + <where> + <if test="goodsSeckillList != null and goodsSeckillList.size() > 0"> + id IN + <foreach collection="goodsSeckillList" item="item" open="(" separator="," close=")"> + #{item.id} + </foreach> + </if> + </where> + </update> <select id="getGoodsSeckillPage" resultType="com.ruoyi.goods.controller.management.vo.GoodsSeckillVO"> SELECT diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java index 391b0ac..c563bc6 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.AuditStatusEnum; +import com.ruoyi.common.core.enums.CouponUseEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.PaymentMethodEnum; import com.ruoyi.common.core.enums.PointStatusEnum; @@ -27,6 +28,7 @@ import com.ruoyi.system.api.domain.CustomConfig; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.Order; +import com.ruoyi.system.api.domain.dto.CouponMemberDTO; import com.ruoyi.system.api.domain.dto.LogisticsDTO; import com.ruoyi.system.api.domain.dto.MemberDTO; import com.ruoyi.system.api.domain.dto.MemberPointsDTO; @@ -35,6 +37,7 @@ import com.ruoyi.system.api.domain.vo.Express100VO; import com.ruoyi.system.api.domain.vo.OrderReturnVO; import com.ruoyi.system.api.feignClient.MemberClient; +import com.ruoyi.system.api.feignClient.PromotionClient; import com.ruoyi.system.api.feignClient.SysUserClient; import io.seata.spring.annotation.GlobalTransactional; import java.time.LocalDateTime; @@ -73,6 +76,10 @@ private LogisticsServiceImpl logisticsService; @Resource private PaylogServiceImpl paylogService; + + @Resource + private PromotionClient promotionClient; + @Override public OrderReturnVO saveOrderReturnRequest(OrderReturnDTO OrderReturnDTO) { @@ -330,6 +337,12 @@ updMembeOneDTO.setTotalPoints(Math.max(member.getTotalPoints() - order.getPoints(), 0)); memberClient.updMembeOne(updMembeOneDTO, SecurityConstants.INNER); } + if (Objects.nonNull(order.getCouponId())) { + CouponMemberDTO dto = new CouponMemberDTO(); + dto.setId(order.getCouponId()); + dto.setCouponStatus(CouponUseEnum.UNUSED.getCode()); + promotionClient.updCouponMember(dto, SecurityConstants.INNER); + } } private boolean handleRefund(PaymentMethodEnum paymentMethod, Paylog paylog, String orderNo) { diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 31c0363..3033b5b 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -8,6 +8,17 @@ import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.*; +import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; +import com.ruoyi.common.core.enums.AuditStatusEnum; +import com.ruoyi.common.core.enums.BondStatusEnum; +import com.ruoyi.common.core.enums.CouponUseEnum; +import com.ruoyi.common.core.enums.OrderFromEnum; +import com.ruoyi.common.core.enums.OrderStatusEnum; +import com.ruoyi.common.core.enums.OrderTypeEnum; +import com.ruoyi.common.core.enums.PaymentMethodEnum; +import com.ruoyi.common.core.enums.PointStatusEnum; +import com.ruoyi.common.core.enums.RequestTypeEnum; +import com.ruoyi.common.core.enums.ReturnRequestStatusEnum; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; @@ -18,7 +29,6 @@ import com.ruoyi.order.controller.management.dto.MgtOrderQuery; import com.ruoyi.order.controller.management.vo.MgtOrderReturnRequestVO; import com.ruoyi.order.controller.management.vo.MgtOrderVO; -import com.ruoyi.order.domain.MemberInvoiceOrder; import com.ruoyi.order.domain.OrderReturnRequest; import com.ruoyi.order.domain.Paylog; import com.ruoyi.order.mapper.OrderAuctionBondMapper; @@ -69,6 +79,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.function.Function; @@ -228,7 +239,7 @@ */ @Override public Integer getGroupPurchasesGoodsNum(Long id) { - List<Order> list = this.lambdaQuery().eq(Order::getId, id) + List<Order> list = this.lambdaQuery().eq(Order::getGoodsSkuId, id) .in(Order::getOrderStatus, OrderStatusEnum.TO_BE_SHIPPED, OrderStatusEnum.GOODS_TO_BE_RECEIVED, OrderStatusEnum.FINISHED).list(); return list.stream().map(Order::getGoodsQuantity).reduce(0, Integer::sum); @@ -1655,6 +1666,12 @@ updMembeOneDTO.setTotalPoints(Math.max(member.getTotalPoints() - order.getPoints(), 0)); memberClient.updMembeOne(updMembeOneDTO, SecurityConstants.INNER); } + if (Objects.nonNull(order.getCouponId())) { + CouponMemberDTO dto = new CouponMemberDTO(); + dto.setId(order.getCouponId()); + dto.setCouponStatus(CouponUseEnum.UNUSED.getCode()); + promotionClient.updCouponMember(dto, SecurityConstants.INNER); + } } private boolean handleRefund(PaymentMethodEnum paymentMethod, Paylog paylog, String orderNo) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index 2eea06d..c80acde 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -189,6 +189,7 @@ userService.checkUserDataScope(user.getUserId()); SysUser sysUser = userService.getOne(Wrappers.lambdaQuery(SysUser.class) .eq(SysUser::getPhonenumber, user.getPhonenumber()) + .in(SysUser::getUserType, "00", "01", "04") .eq(SysUser::getDelFlag,0) .last("LIMIT 1")); diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 8eb9f50..f9e12e6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -130,7 +130,7 @@ from sys_user where phonenumber = #{phonenumber} and del_flag = '0' - and user_type in ('00', '04') + and user_type in ('00', '01', '04') limit 1 </select> -- Gitblit v1.7.1