From fdf6dc807231f28bb76d959b8d6b49d46ac4a401 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 13 Jan 2025 14:17:21 +0800 Subject: [PATCH] 11 --- .../pjcloud-app-server-biz/pom.xml | 2 +- .../api/feign/RemoteCanteenSpuService.java | 2 +- .../feign/RemoteOnlineCanteenSpuService.java | 2 +- .../impl/CanteenOnlineSpuServiceImpl.java | 4 +- .../service/impl/CanteenSpuServiceImpl.java | 7 +- .../hard/service/HardOrderService.java | 2 +- .../impl/order/HardwareOrderServiceImpl.java | 64 +++++++++++++++---- .../feign/RemoteSupermarketSpuService.java | 2 +- .../impl/SupermarketSpuServiceImpl.java | 21 +++--- .../controller/WalletCodeUseController.java | 3 +- .../wallet/service/WalletCodeUseService.java | 2 +- .../impl/WalletCodeUseServiceImpl.java | 6 +- 12 files changed, 79 insertions(+), 38 deletions(-) diff --git a/pjcloud-app-server/pjcloud-app-server-biz/pom.xml b/pjcloud-app-server/pjcloud-app-server-biz/pom.xml index 405fe2206..3a441ffb0 100644 --- a/pjcloud-app-server/pjcloud-app-server-biz/pom.xml +++ b/pjcloud-app-server/pjcloud-app-server-biz/pom.xml @@ -104,7 +104,7 @@ com.bsd pjcloud-common-swagger - + com.bsd pjcloud-common-seata diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/api/feign/RemoteCanteenSpuService.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/api/feign/RemoteCanteenSpuService.java index f408a0554..3ecb3bc53 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/api/feign/RemoteCanteenSpuService.java +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/api/feign/RemoteCanteenSpuService.java @@ -56,7 +56,7 @@ public interface RemoteCanteenSpuService { * @return */ @PostMapping("/canteenSpu/ad/updateSkuStock") - R getAllSimple(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO); + R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO); /** diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/api/feign/RemoteOnlineCanteenSpuService.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/api/feign/RemoteOnlineCanteenSpuService.java index 229d00a9c..9875e7fff 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/api/feign/RemoteOnlineCanteenSpuService.java +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/api/feign/RemoteOnlineCanteenSpuService.java @@ -66,7 +66,7 @@ public interface RemoteOnlineCanteenSpuService { * @return */ @PostMapping("/canteenOnlineSpu/app/updateSkuStock") - R getAllSimple(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO); + R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO); /** diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenOnlineSpuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenOnlineSpuServiceImpl.java index c8a04c8e5..890b0a8b2 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenOnlineSpuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenOnlineSpuServiceImpl.java @@ -25,7 +25,7 @@ public class CanteenOnlineSpuServiceImpl extends ServiceImpl> getCanteenOnlineSpuList(String categoryId, String merchantId) { LambdaQueryWrapper canteenOnlineSpuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); - canteenOnlineSpuEntityLambdaQueryWrapper.eq(StringUtils.isNotEmpty(categoryId),CanteenOnlineSpuEntity::getCategoryId, categoryId); + canteenOnlineSpuEntityLambdaQueryWrapper.eq(StringUtils.isNotEmpty(categoryId), CanteenOnlineSpuEntity::getCategoryId, categoryId); canteenOnlineSpuEntityLambdaQueryWrapper.eq(CanteenOnlineSpuEntity::getMerchantId, merchantId); List canteenSpuEntities = baseMapper.selectList(canteenOnlineSpuEntityLambdaQueryWrapper); List bean = BeanUtils.toBean(canteenSpuEntities, APPOnlineSpuVO.class); @@ -38,7 +38,7 @@ public class CanteenOnlineSpuServiceImpl extends ServiceImpl { int i = baseMapper.updateStock(item.getId(), item.getIncrCount()); - if (item.getIncrCount() < 0) { + if (item.getIncrCount() <= 0) { if (i == 0) { R.failed("商品库存不足"); } diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java index 014f9433e..45a8f1098 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java @@ -40,20 +40,19 @@ public class CanteenSpuServiceImpl extends ServiceImpl { int i = baseMapper.updateStock(item.getId(), item.getIncrCount()); - if (item.getIncrCount() < 0) { + if (item.getIncrCount() <= 0) { if (i == 0) { - R.failed("商品库存不足"); + R.failed("商品库存不足"); } } }); - return R.ok(); } @Override public R getCanteenSpuList(String categoryId) { List canteenSpuEntities = baseMapper.selectListByScope(new LambdaQueryWrapper() - .eq(StringUtils.isNotEmpty(categoryId), CanteenSpuEntity::getCategoryId, categoryId),DataScope.of()); + .eq(StringUtils.isNotEmpty(categoryId), CanteenSpuEntity::getCategoryId, categoryId), DataScope.of()); List bean = BeanUtils.toBean(canteenSpuEntities, ADCanteenSpuListVO.class); return R.ok(bean); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java index e41cf81cb..32fe0995b 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java @@ -53,7 +53,7 @@ public interface HardOrderService extends IService { void generateCode(HardOrderEntity order); /** - * 扣件库存 + * 扣减库存 */ void fastenerInventory(HardOrderEntity order); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java index 5ade10c34..c29b57d41 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java @@ -10,6 +10,9 @@ import com.bsd.pjcloud.admin.api.entity.SysUser; import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.admin.api.utils.DataUtil; +import com.bsd.pjcloud.canteen.api.feign.RemoteCanteenSpuService; +import com.bsd.pjcloud.canteen.api.feign.RemoteOnlineCanteenSpuService; +import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.CollectionUtils; @@ -36,6 +39,9 @@ import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper; import com.bsd.pjcloud.hard.service.HardCarService; import com.bsd.pjcloud.hard.service.HardManagerService; import com.bsd.pjcloud.hard.service.HardOrderService; +import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketSpuService; +import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketUnitSkuService; +import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO; import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum; import com.bsd.pjcloud.wallet.api.constant.WalletCodeBizEnum; import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; @@ -89,6 +95,9 @@ public class HardwareOrderServiceImpl extends ServiceImpl reduceRes = walletTransactionService.reduceWalletBalance(reduceBuild); + if (reduceRes.getCode() != 0 || ObjectUtil.isEmpty(reduceRes.getData())) { + throw new RuntimeException("钱包扣款错误"); + } + WalletTransactionEntity walletTransaction = reduceRes.getData(); if (ObjectUtil.isNotEmpty(walletTransaction)) { // 订单表订单状态 Integer payPrice = isPay ? order.getTotalPrice() + order.getExtraPrice() : 0; @@ -307,10 +322,6 @@ public class HardwareOrderServiceImpl extends ServiceImpl res = remoteCodeUseService.generateCode(order.getId(), order.getUserId(), codeType, 1); + if (res.getCode() != 0 || !res.getData()) { + throw new RuntimeException("生成预约二维码错误"); + } } @Override - @GlobalTransactional @Transactional(rollbackFor = Exception.class) public void fastenerInventory(HardOrderEntity order) { HardTypeEnum hardTypeEnum = HardTypeEnum.valueOfByType(order.getSysType()); @@ -395,12 +407,40 @@ public class HardwareOrderServiceImpl extends ServiceImpl carList = hardCarService.getByParentCarId(order.getParentCarId()); + if (ObjectUtil.isEmpty(carList)) throw new RuntimeException("扣减库存错误,购物车不存在"); + CanteenSpuUpdateStockReqDTO dto = new CanteenSpuUpdateStockReqDTO(); + List list = carList.stream().map(v -> { + CanteenSpuUpdateStockReqDTO.Item item = new CanteenSpuUpdateStockReqDTO.Item(); + item.setId(v.getProductId()); + item.setIncrCount(v.getProductCount()); + return item; + }).toList(); + dto.setItems(list); + R updateSkuStockRes = onlineCanteenSpuService.updateSkuStock(dto); + if (updateSkuStockRes.getCode() != 0) { + throw new RuntimeException("库存不足"); + } return; } // 超市扣家库存 if (ObjectUtil.equals(hardTypeEnum, HardTypeEnum.SUPERMARKET) && ObjectUtil.equals(orderTypeEnum, HardOrderTypeEnum.RESERVE)) { - + // 查询购物车 + List carList = hardCarService.getByParentCarId(order.getParentCarId()); + if (ObjectUtil.isEmpty(carList)) throw new RuntimeException("扣减库存错误,购物车不存在"); + SupermarketSpuUpdateStockReqDTO dto = new SupermarketSpuUpdateStockReqDTO(); + List list = carList.stream().map(v -> { + SupermarketSpuUpdateStockReqDTO.Item item = new SupermarketSpuUpdateStockReqDTO.Item(); + item.setId(v.getProductId()); + item.setIncrCount(v.getProductCount()); + return item; + }).toList(); + dto.setItems(list); + R updateSkuStockRes = supermarketSpuService.updateSpuStock(dto); + if (updateSkuStockRes.getCode() != 0) { + throw new RuntimeException("扣件库存错误"); + } return; } } diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/api/feign/RemoteSupermarketSpuService.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/api/feign/RemoteSupermarketSpuService.java index 3ec9e6603..bffc597d0 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/api/feign/RemoteSupermarketSpuService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/api/feign/RemoteSupermarketSpuService.java @@ -63,7 +63,7 @@ public interface RemoteSupermarketSpuService { * @return */ @PostMapping("/supermarketSpu/ad/updateSpuStock") - R getSupermarketSpu(@RequestBody SupermarketSpuUpdateStockReqDTO updateStockReqDTO); + R updateSpuStock(@RequestBody SupermarketSpuUpdateStockReqDTO updateStockReqDTO); diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java index 730fa6b3a..9b4da6a31 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java @@ -41,6 +41,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl supermarketUnitEntity.setSpuId(supermarketSpu.getId())); supermarketUnitService.saveBatch(supermarketUnitEntityList); - }else { + } else { return R.failed("包装类型不能为空"); } //辅助条码 List supermarketAuxiliaryCodeEntityList = supermarketSpu.getSupermarketAuxiliaryCodeEntityList(); if (CollectionUtils.isNotEmpty(supermarketAuxiliaryCodeEntityList)) { supermarketAuxiliaryCodeEntityList.forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId())); - supermarketAuxiliaryCodeService.saveBatch(supermarketAuxiliaryCodeEntityList); - }else { + supermarketAuxiliaryCodeService.saveBatch(supermarketAuxiliaryCodeEntityList); + } else { return R.failed("辅助条码不能为空"); } @@ -83,7 +84,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl supermarketUnitEntity.getId() != null).collect(Collectors.toList()); supermarketUnitService.updateBatchById(updateCollect); supermarketUnitService.saveBatch(insertCollect); - }else { + } else { return R.failed("包装类型不能为空"); } //辅助条码 @@ -94,7 +95,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId())); supermarketAuxiliaryCodeService.saveBatch(insertCollect); supermarketAuxiliaryCodeService.updateBatchById(updateCollect); - }else { + } else { return R.failed("辅助条码不能为空"); } return R.ok(); @@ -106,11 +107,11 @@ public class SupermarketSpuServiceImpl extends ServiceImpl{ + list.forEach(id -> { LambdaQueryWrapper supermarketAuxiliaryCodeEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); - supermarketAuxiliaryCodeEntityLambdaQueryWrapper.eq(SupermarketAuxiliaryCodeEntity::getSpuId,id); + supermarketAuxiliaryCodeEntityLambdaQueryWrapper.eq(SupermarketAuxiliaryCodeEntity::getSpuId, id); LambdaQueryWrapper supermarketUnitEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); - supermarketUnitEntityLambdaQueryWrapper.eq(SupermarketUnitEntity::getSpuId,id); + supermarketUnitEntityLambdaQueryWrapper.eq(SupermarketUnitEntity::getSpuId, id); supermarketUnitService.remove(supermarketUnitEntityLambdaQueryWrapper); supermarketAuxiliaryCodeService.remove(supermarketAuxiliaryCodeEntityLambdaQueryWrapper); }); @@ -124,7 +125,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl { int i = baseMapper.updateStock(item.getId(), item.getIncrCount()); - if (item.getIncrCount() < 0) { + if (item.getIncrCount() <= 0) { if (i == 0) { R.failed("商品库存不足"); } @@ -142,7 +143,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl list=baseMapper.selectListAllScope(supermarketSpuQueryDTO, DataScope.of()); + List list = baseMapper.selectListAllScope(supermarketSpuQueryDTO, DataScope.of()); List bean = BeanUtils.toBean(list, SupermarketSpuVo.class); return bean; diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletCodeUseController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletCodeUseController.java index 51a8f4f6f..332b1a7d1 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletCodeUseController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletCodeUseController.java @@ -48,8 +48,7 @@ public class WalletCodeUseController { @Inner @GetMapping("/generate-code") public R generateCode(@RequestParam Long id, @RequestParam Long userId, @RequestParam WalletCodeBizEnum walletCodeBiz, @RequestParam Integer count) { - walletCodeUseService.generate(id, userId, walletCodeBiz, count); - return R.ok(true); + return R.ok(walletCodeUseService.generate(id, userId, walletCodeBiz, count)); } @Inner diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletCodeUseService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletCodeUseService.java index e9bc1e8de..81821a017 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletCodeUseService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletCodeUseService.java @@ -10,7 +10,7 @@ import jakarta.validation.constraints.NotNull; public interface WalletCodeUseService extends IService { - void generate(@NotNull Long id, @NotNull Long userId, @NotNull WalletCodeBizEnum walletCodeBizEnum, @NotNull Integer count); + Boolean generate(@NotNull Long id, @NotNull Long userId, @NotNull WalletCodeBizEnum walletCodeBizEnum, @NotNull Integer count); Page pageJoin(Page page, WalletCodeUseDto dto); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletCodeUseServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletCodeUseServiceImpl.java index 3436fc034..0aa91df44 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletCodeUseServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletCodeUseServiceImpl.java @@ -57,8 +57,8 @@ public class WalletCodeUseServiceImpl extends ServiceImpl