From a4e8ead1aba772b839da0eb4f3686d5c10103096 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Wed, 29 Oct 2025 13:29:06 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=95=86=E5=93=81=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=B9=E9=87=8F=E4=B8=8A=E4=B8=8B=E6=9E=B6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD,=E6=8C=89=E5=95=86=E5=93=81=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/manage/BdWaresController.java | 35 +++++++++++++++-- .../wares/mapper/BdWaresExtendMapper.java | 7 ++++ .../sale/wares/param/WaresPutOnIdsParams.java | 17 +++++++++ .../wares/service/IBdWaresExtendService.java | 4 ++ .../impl/BdWaresExtendServiceImpl.java | 38 +++++++++++++++++++ .../mapper/sale/wares/BdWaresExtendMapper.xml | 32 ++++++++++++++++ .../mapper/sale/wares/BdWaresMapper.xml | 3 ++ .../common/core/enums/EOperationBusiness.java | 4 ++ .../common/core/enums/EOperationModule.java | 4 ++ 9 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresPutOnIdsParams.java diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java index d2d98588..8aa307f8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java @@ -2,6 +2,7 @@ package com.hzs.sale.wares.controller.manage; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.nacos.client.naming.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hzs.common.core.annotation.AccessPermissions; @@ -79,8 +80,6 @@ public class BdWaresController extends BaseController { @Autowired private IBdWaresLabelService waresLabelService; @Autowired - private IBdWaresExtendService waresExtendService; - @Autowired private IBdWaresDetailService waresDetailService; @Autowired private IBdWaresSpecsSkuService waresSpecsSkuService; @@ -94,6 +93,8 @@ public class BdWaresController extends BaseController { private IBdAreaClassifyService areaClassifyService; @Autowired private UserTokenService userTokenService; + @Autowired + private IBdWaresExtendService iBdWaresExtendService; /** * 查询列表 @@ -561,7 +562,7 @@ public class BdWaresController extends BaseController { BdWares wares = iBdWaresService.getById(pkId); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(BdWaresExtend::getPkWares, pkId); - BdWaresExtend waresExtend = waresExtendService.getOne(queryWrapper); + BdWaresExtend waresExtend = iBdWaresExtendService.getOne(queryWrapper); WaresParams waresParams = new WaresParams(); waresParams.setWaresId(wares.getPkId()); waresParams.setIsPreSale(wares.getIsPreSale()); @@ -1119,4 +1120,32 @@ public class BdWaresController extends BaseController { } + /** + * 商品批量上架 + */ + @Log(module = EOperationModule.PUT_ON_LIST, business = EOperationBusiness.PUT_ON_LIST, method = EOperationMethod.RENEW, remark = "商品批量上架") + @PostMapping("/putOnList") + public AjaxResult putOnList(@RequestBody WaresPutOnIdsParams waresPutOnIdsParams) { + if (CollectionUtils.isEmpty(waresPutOnIdsParams.getPkWares())) { + return AjaxResult.error("商品ID不能为空"); + } + iBdWaresExtendService.putOnList(waresPutOnIdsParams); + return AjaxResult.success(); + } + + + /** + * 商品批量下架 + */ + @Log(module = EOperationModule.PUT_OFF_LIST, business = EOperationBusiness.PUT_OFF_LIST, method = EOperationMethod.RENEW, remark = "商品批量下架") + @PostMapping("/putOffList") + public AjaxResult putOffList(@RequestBody WaresPutOnIdsParams waresPutOnIdsParams) { + if (CollectionUtils.isEmpty(waresPutOnIdsParams.getPkWares())) { + return AjaxResult.error("商品ID不能为空"); + } + iBdWaresExtendService.putOffList(waresPutOnIdsParams); + return AjaxResult.success(); + } + + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresExtendMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresExtendMapper.java index 400d5bbf..e96257dd 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresExtendMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresExtendMapper.java @@ -49,4 +49,11 @@ public interface BdWaresExtendMapper extends BaseMapper { */ int batchUpdateInventoryUse(@Param("limitList") List limitList); + void putOnList(@Param("pkWares") List pkWares); + + void putOffList(@Param("pkWares") List pkWares); + + void updatePutOnTimeByPkWares(@Param("pkWares") List pkWares); + + void updatePutOffTimeByPkWares(@Param("pkWares") List pkWares); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresPutOnIdsParams.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresPutOnIdsParams.java new file mode 100644 index 00000000..9cda1569 --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresPutOnIdsParams.java @@ -0,0 +1,17 @@ +package com.hzs.sale.wares.param; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class WaresPutOnIdsParams { + /** + * 商品主键信息 + */ + private List pkWares; +} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresExtendService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresExtendService.java index c9c6172c..c33f3deb 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresExtendService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresExtendService.java @@ -5,6 +5,7 @@ import com.hzs.common.domain.sale.wares.BdWaresExtend; import com.hzs.common.domain.sale.wares.BdWaresMemberLimit; import com.hzs.sale.order.param.WaresNumberParam; import com.hzs.sale.order.vo.WaresPreSaleVo; +import com.hzs.sale.wares.param.WaresPutOnIdsParams; import java.util.Collection; import java.util.Date; @@ -56,4 +57,7 @@ public interface IBdWaresExtendService extends IService { */ int batchUpdateInventoryUse(List limitList); + void putOnList(WaresPutOnIdsParams waresPutOnIdsParams); + + void putOffList(WaresPutOnIdsParams waresPutOnIdsParams); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresExtendServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresExtendServiceImpl.java index 04bcae8e..de2aa101 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresExtendServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresExtendServiceImpl.java @@ -1,6 +1,7 @@ package com.hzs.sale.wares.service.impl; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.domain.sale.wares.BdWaresExtend; @@ -8,18 +9,23 @@ import com.hzs.common.domain.sale.wares.BdWaresMemberLimit; import com.hzs.sale.order.param.WaresNumberParam; import com.hzs.sale.order.vo.WaresPreSaleVo; import com.hzs.sale.wares.mapper.BdWaresExtendMapper; +import com.hzs.sale.wares.param.WaresPutOnIdsParams; import com.hzs.sale.wares.service.IBdWaresExtendService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 商品发布扩展表 服务实现类 */ @Service +@Slf4j public class BdWaresExtendServiceImpl extends ServiceImpl implements IBdWaresExtendService { @Override @@ -62,4 +68,36 @@ public class BdWaresExtendServiceImpl extends ServiceImpl bdWaresExtends = baseMapper.selectList(new LambdaQueryWrapper() + .in(BdWaresExtend::getPkWares, waresPutOnIdsParams.getPkWares()) + .eq(BdWaresExtend::getIsPutOn, 1)); + List list = bdWaresExtends.stream().map(BdWaresExtend::getPkWares).collect(Collectors.toList()); + log.info("当前未上架商品主键列表{}",list); + if (CollectionUtil.isEmpty(list)) { + return; + } + baseMapper.putOnList(list); + baseMapper.updatePutOnTimeByPkWares(list); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void putOffList(WaresPutOnIdsParams waresPutOnIdsParams) { + log.info("下架商品主键列表{}",waresPutOnIdsParams.getPkWares()); + List bdWaresExtends = baseMapper.selectList(new LambdaQueryWrapper() + .in(BdWaresExtend::getPkWares, waresPutOnIdsParams.getPkWares()) + .eq(BdWaresExtend::getIsPutOn, 0)); + List list = bdWaresExtends.stream().map(BdWaresExtend::getPkWares).collect(Collectors.toList()); + log.info("当前未下架商品主键列表{}",list); + if (CollectionUtil.isEmpty(list)) { + return; + } + baseMapper.putOffList(list); + baseMapper.updatePutOffTimeByPkWares(list); + } + } diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresExtendMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresExtendMapper.xml index 87442380..ecba0662 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresExtendMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresExtendMapper.xml @@ -100,5 +100,37 @@ when matched then update set bwe.inventory_use = bwe.inventory_use + tmp.quantity + + update BD_WARES_EXTEND + SET IS_PUT_ON = 0 + WHERE PK_WARES IN + + #{id} + + + + update BD_WARES_EXTEND + SET IS_PUT_ON = 1 + WHERE PK_WARES IN + + #{id} + + + + update BD_WARES + SET LISTING_TIME = SYSDATE + WHERE PK_ID IN + + #{id} + + + + update BD_WARES + SET REMOVAL_TIME = SYSDATE + WHERE PK_ID IN + + #{id} + + diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml index 8d1fd055..efa902e1 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml @@ -263,6 +263,9 @@ and bw.WARES_STATUS <= #{waresStatus} + + and we.IS_MAKER_GIFT = #{isMakerGift} + order by bw.sort desc, bw.CREATION_TIME desc diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java index b92c6aaa..0cc82ef5 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java @@ -110,6 +110,10 @@ public enum EOperationBusiness { WARES_LIST("商品列表"), + PUT_ON_LIST("商品批量上架"), + + PUT_OFF_LIST("商品批量下架"), + AREA_CLASSIFY("商品分类"), PRODUCT_CLASSIFY("产品分类"), diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java index 703fc2b7..50c1be4d 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java @@ -72,6 +72,10 @@ public enum EOperationModule { WARES_LIST("商品列表"), + PUT_ON_LIST("商品批量上架"), + + PUT_OFF_LIST("商品批量下架"), + AREA_CLASSIFY("商品分类"), SPECIFICATIONS_CONFIG("规格配置"),