From b17e85469f5e8881a76f775d1239fba9dea501ae Mon Sep 17 00:00:00 2001 From: seesaw Date: Wed, 30 Oct 2024 13:59:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E4=B8=8A=E4=B8=8B=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/enums/ErrorCodeConstants.java | 1 + .../StoreSaleGoodsController.java | 4 +- .../vo/StoreSaleGoodsSaveBatchVO.java | 26 +++++++++++++ .../storesalegoods/StoreSaleGoodsService.java | 4 +- .../StoreSaleGoodsServiceImpl.java | 39 ++++++++++++++----- .../mapper/storeorder/StoreOrderMapper.xml | 2 +- 6 files changed, 61 insertions(+), 15 deletions(-) create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/vo/StoreSaleGoodsSaveBatchVO.java diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java index 50d4354b..3df70d52 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java @@ -107,6 +107,7 @@ public interface ErrorCodeConstants { ErrorCode STORE_GOODS_TYPE_NOT_EXISTS = new ErrorCode(1_007_904_002,"商品类别不存在"); ErrorCode STORE_SALE_GOODS_NOT_EXISTS = new ErrorCode(1_007_904_003, "售卖商品不存在"); + ErrorCode STORE_SALE_GOODS_EXIST = new ErrorCode(1_007_904_007, "售卖商品已在门店上架"); ErrorCode STORE_SALE_GOODS_NOT_NULL = new ErrorCode(1_007_904_04, "售卖商品不能为空"); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/StoreSaleGoodsController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/StoreSaleGoodsController.java index 8df84026..23bf5386 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/StoreSaleGoodsController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/StoreSaleGoodsController.java @@ -41,7 +41,7 @@ public class StoreSaleGoodsController { @PostMapping("/create") @Operation(summary = "创建售卖商品(上架)") @PreAuthorize("@ss.hasPermission('member:store-sale-goods:create')") - public CommonResult createStoreSaleGoods(@Valid @RequestBody StoreSaleGoodsSaveReqVO createReqVO) { + public CommonResult createStoreSaleGoods(@Valid @RequestBody StoreSaleGoodsSaveBatchVO createReqVO) { return success(storeSaleGoodsService.createStoreSaleGoods(createReqVO)); } @@ -57,7 +57,7 @@ public class StoreSaleGoodsController { @Operation(summary = "删除售卖商品(下架)") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('member:store-sale-goods:delete')") - public CommonResult deleteStoreSaleGoods(@RequestParam("id") Long id) { + public CommonResult deleteStoreSaleGoods(@RequestParam("id") String id) { storeSaleGoodsService.deleteStoreSaleGoods(id); return success(true); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/vo/StoreSaleGoodsSaveBatchVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/vo/StoreSaleGoodsSaveBatchVO.java new file mode 100644 index 00000000..28d0d028 --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/vo/StoreSaleGoodsSaveBatchVO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "管理后台 - 售卖商品新增/修改 Request VO") +@Data +public class StoreSaleGoodsSaveBatchVO { + + + + @Schema(description = "商品id", example = "11772") + private List goodsIds; + + @Schema(description = "数量") + private Integer number; + + @Schema(description = "设备ID") + private String equipmentCode; + + @Schema(description = "门店ID") + private List carteenIds; + +} \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storesalegoods/StoreSaleGoodsService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storesalegoods/StoreSaleGoodsService.java index bfd05e12..afafb29f 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storesalegoods/StoreSaleGoodsService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storesalegoods/StoreSaleGoodsService.java @@ -22,7 +22,7 @@ public interface StoreSaleGoodsService { * @param createReqVO 创建信息 * @return 编号 */ - Long createStoreSaleGoods(@Valid StoreSaleGoodsSaveReqVO createReqVO); + Integer createStoreSaleGoods(@Valid StoreSaleGoodsSaveBatchVO createReqVO); /** * 更新售卖商品 @@ -36,7 +36,7 @@ public interface StoreSaleGoodsService { * * @param id 编号 */ - void deleteStoreSaleGoods(Long id); + void deleteStoreSaleGoods(String id); /** * 获得售卖商品 diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storesalegoods/StoreSaleGoodsServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storesalegoods/StoreSaleGoodsServiceImpl.java index 73a8f4ad..002a94de 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storesalegoods/StoreSaleGoodsServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storesalegoods/StoreSaleGoodsServiceImpl.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreSaleGoodsDto import cn.iocoder.yudao.module.system.api.cashregisterinfo.CashregisterinfoApi; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -14,6 +15,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.*; import cn.iocoder.yudao.module.member.dal.dataobject.storesalegoods.StoreSaleGoodsDO; @@ -41,12 +43,28 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService { private CashregisterinfoApi cashregisterinfoApi; @Override - public Long createStoreSaleGoods(StoreSaleGoodsSaveReqVO createReqVO) { - // 插入 - StoreSaleGoodsDO storeSaleGoods = BeanUtils.toBean(createReqVO, StoreSaleGoodsDO.class); - storeSaleGoodsMapper.insert(storeSaleGoods); - // 返回 - return storeSaleGoods.getId(); + public Integer createStoreSaleGoods(StoreSaleGoodsSaveBatchVO createReqVO) { + List addList = new ArrayList<>(); + + List carteenIds = createReqVO.getCarteenIds(); + List goodsIds = createReqVO.getGoodsIds(); + for (Long carteenId : carteenIds) { + List storeSaleGoodsDOS = storeSaleGoodsMapper.selectList(Wrappers.lambdaQuery() + .eq(StoreSaleGoodsDO::getCarteenId, carteenId)); + List saleGoods = storeSaleGoodsDOS.stream().map(StoreSaleGoodsDO::getGoodsId).collect(Collectors.toList()); + for (Integer goodsId : goodsIds) { + if(saleGoods.contains(goodsId)){ + continue; + } + // 插入 + StoreSaleGoodsDO storeSaleGoods = new StoreSaleGoodsDO(); + storeSaleGoods.setCarteenId(carteenId); + storeSaleGoods.setGoodsId(goodsId); + addList.add(storeSaleGoods); + } + } + storeSaleGoodsMapper.insertBatch(addList); + return addList.size(); } @Override @@ -59,11 +77,12 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService { } @Override - public void deleteStoreSaleGoods(Long id) { - // 校验存在 - validateStoreSaleGoodsExists(id); + public void deleteStoreSaleGoods(String id) { + String[] split = id.split(","); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(StoreSaleGoodsDO::getId, Arrays.asList(split)); // 删除 - storeSaleGoodsMapper.deleteById(id); + storeSaleGoodsMapper.delete(wrapper); } private void validateStoreSaleGoodsExists(Long id) { diff --git a/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/storeorder/StoreOrderMapper.xml b/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/storeorder/StoreOrderMapper.xml index fc23d44c..b2543b30 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/storeorder/StoreOrderMapper.xml +++ b/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/storeorder/StoreOrderMapper.xml @@ -25,7 +25,7 @@ and mu.nickname like concat('%',#{vo.nickName},'%') - and mu.mobile like concat('%',#{mobile},'%') + and mu.mobile like concat('%',#{vo.mobile},'%') order by so.order_id DESC