From 04d999261dbc888d902471a0d023de25e79e0bc7 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Fri, 29 Aug 2025 17:50:52 +0800 Subject: [PATCH 1/4] 1 --- .../pjcloud/hard/service/impl/order/HardOrderServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index 31048bb46..6d3f55bca 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -949,6 +949,7 @@ public class HardOrderServiceImpl extends ServiceImpl Date: Mon, 1 Sep 2025 09:58:18 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=E9=83=A8=E9=97=A8=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/api/vo/order/HardDeptTotalVo.java | 16 +++-- .../order/HardOrderTotalController.java | 62 +++++------------- .../impl/order/HardAfterSaleServiceImpl.java | 4 +- .../impl/order/HardOrderServiceImpl.java | 44 +++++++++++-- .../impl/order/HardOrderTotalServiceImpl.java | 16 ++--- .../main/resources/file/部门交易金额汇总.xlsx | Bin 10403 -> 10570 bytes .../WalletTransactionController.java | 7 ++ 7 files changed, 80 insertions(+), 69 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardDeptTotalVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardDeptTotalVo.java index 287cc9d6c..1e6e9fce4 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardDeptTotalVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardDeptTotalVo.java @@ -3,6 +3,8 @@ package com.bsd.pjcloud.hard.api.vo.order; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.math.BigDecimal; + @Data public class HardDeptTotalVo { @@ -13,7 +15,7 @@ public class HardDeptTotalVo { private String deptName; @Schema(description = "批量充值金额") - private Long walletPrice = 0L; + private BigDecimal walletPrice = BigDecimal.ZERO; @Schema(description = "批量充值次数") private Long walletCount = 0L; @@ -25,37 +27,37 @@ public class HardDeptTotalVo { private Long walletReduceCount = 0L; @Schema(description = "退还各自食堂金额") - private Long walletReturnCanteenPrice = 0L; + private BigDecimal walletReturnCanteenPrice = BigDecimal.ZERO; @Schema(description = "退还各自食堂次数") private Long walletReturnCanteenCount = 0L; @Schema(description = "单次充值金额") - private Long walletOncePrice = 0L; + private BigDecimal walletOncePrice = BigDecimal.ZERO; @Schema(description = "单次充值次数") private Long walletOnceCount = 0L; @Schema(description = "单次扣减金额") - private Long walletOnceReducePrice = 0L; + private BigDecimal walletOnceReducePrice = BigDecimal.ZERO; @Schema(description = "单次扣减次数") private Long walletOnceReduceCount = 0L; @Schema(description = "消费金额") - private Long orderPayPrice = 0L; + private BigDecimal orderPayPrice = BigDecimal.ZERO; @Schema(description = "消费次数") private Long orderPayCount = 0L; @Schema(description = "退款金额") - private Long orderRefundPrice = 0L; + private BigDecimal orderRefundPrice = BigDecimal.ZERO; @Schema(description = "退款次数") private Long orderRefundCont = 0L; @Schema(description = "盈利金额") - private Long orderProfitPrice = 0L; + private BigDecimal orderProfitPrice = BigDecimal.ZERO; @Schema(description = "盈利次数") private Long orderProfitCont = 0L; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java index 4ca52ffe1..e1a02c57e 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java @@ -427,75 +427,43 @@ public class HardOrderTotalController { lineNumber++; // 批量充值 if (ObjectUtil.isNotEmpty(v.getWalletPrice())) { - walletPriceSum = walletPriceSum.add(BigDecimal.valueOf(v.getWalletPrice())); - v.setWalletPrice(BigDecimal.valueOf(v.getWalletPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); - } - if (ObjectUtil.isNotEmpty(v.getWalletCount())) { - walletCountSum = walletCountSum.add(BigDecimal.valueOf(v.getWalletCount())); - v.setWalletCount(BigDecimal.valueOf(v.getWalletCount()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); + walletPriceSum = walletPriceSum.add(v.getWalletPrice()); + v.setWalletPrice(v.getWalletPrice().divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP)); } // 批量扣减 if (ObjectUtil.isNotEmpty(v.getWalletReducePrice())) { walletReducePriceSum = walletReducePriceSum.add(BigDecimal.valueOf(v.getWalletReducePrice())); v.setWalletReducePrice(BigDecimal.valueOf(v.getWalletReducePrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); } - if (ObjectUtil.isNotEmpty(v.getWalletReduceCount())) { - walletReduceCountSum = walletReduceCountSum.add(BigDecimal.valueOf(v.getWalletReduceCount())); - v.setWalletReduceCount(BigDecimal.valueOf(v.getWalletReduceCount()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); - } // 单次充值 if (ObjectUtil.isNotEmpty(v.getWalletOncePrice())) { - walletOncePriceSum = walletOncePriceSum.add(BigDecimal.valueOf(v.getWalletOncePrice())); - v.setWalletOncePrice(BigDecimal.valueOf(v.getWalletOncePrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); - } - if (ObjectUtil.isNotEmpty(v.getWalletOnceCount())) { - walletOnceCountSum = walletOnceCountSum.add(BigDecimal.valueOf(v.getWalletOnceCount())); - v.setWalletOnceCount(BigDecimal.valueOf(v.getWalletOnceCount()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); + walletOncePriceSum = walletOncePriceSum.add(v.getWalletOncePrice()); + v.setWalletOncePrice(v.getWalletOncePrice().divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP)); } // 单次扣减 if (ObjectUtil.isNotEmpty(v.getWalletOnceReducePrice())) { - walletOnceReducePriceSum = walletOnceReducePriceSum.add(BigDecimal.valueOf(v.getWalletOnceReducePrice())); - v.setWalletOnceReducePrice(BigDecimal.valueOf(v.getWalletOnceReducePrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); + walletOnceReducePriceSum = walletOnceReducePriceSum.add(v.getWalletOnceReducePrice()); + v.setWalletOnceReducePrice(v.getWalletOnceReducePrice().divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP)); } - if (ObjectUtil.isNotEmpty(v.getWalletOnceReduceCount())) { - walletOnceReduceCountSum = walletOnceReduceCountSum.add(BigDecimal.valueOf(v.getWalletOnceReduceCount())); - v.setWalletOnceReduceCount(BigDecimal.valueOf(v.getWalletOnceReduceCount()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); - } - // + // 消费金额 if (ObjectUtil.isNotEmpty(v.getOrderPayPrice())) { - orderPayPriceSum = orderPayPriceSum.add(BigDecimal.valueOf(v.getOrderPayPrice())); - v.setOrderPayPrice(BigDecimal.valueOf(v.getOrderPayPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); - } - if (ObjectUtil.isNotEmpty(v.getOrderPayCount())) { - orderPayCountSum = orderPayCountSum.add(BigDecimal.valueOf(v.getOrderPayCount())); - v.setOrderPayCount(BigDecimal.valueOf(v.getOrderPayCount()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); + orderPayPriceSum = orderPayPriceSum.add(v.getOrderPayPrice()); + v.setOrderPayPrice(v.getOrderPayPrice().divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP)); } // if (ObjectUtil.isNotEmpty(v.getOrderRefundPrice())) { - orderRefundPriceSum = orderRefundPriceSum.add(BigDecimal.valueOf(v.getOrderRefundPrice())); - v.setOrderRefundPrice(BigDecimal.valueOf(v.getOrderRefundPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); - } - if (ObjectUtil.isNotEmpty(v.getOrderRefundCont())) { - orderRefundContSum = orderRefundContSum.add(BigDecimal.valueOf(v.getOrderRefundCont())); - v.setOrderRefundCont(BigDecimal.valueOf(v.getOrderRefundCont()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); + orderRefundPriceSum = orderRefundPriceSum.add(v.getOrderRefundPrice()); + v.setOrderRefundPrice(v.getOrderRefundPrice().divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP)); } // if (ObjectUtil.isNotEmpty(v.getOrderProfitPrice())) { - orderProfitPriceSum = orderProfitPriceSum.add(BigDecimal.valueOf(v.getOrderProfitPrice())); - v.setOrderProfitPrice(BigDecimal.valueOf(v.getOrderProfitPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); - } - if (ObjectUtil.isNotEmpty(v.getOrderProfitCont())) { - orderProfitContSum = orderProfitContSum.add(BigDecimal.valueOf(v.getOrderProfitCont())); - v.setOrderProfitCont(BigDecimal.valueOf(v.getOrderProfitCont()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); + orderProfitPriceSum = orderProfitPriceSum.add(v.getOrderProfitPrice()); + v.setOrderProfitPrice(v.getOrderProfitPrice().divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP)); } // 退还各自食堂金额 if (ObjectUtil.isNotEmpty(v.getWalletReturnCanteenPrice())) { - walletReturnCanteenPriceSum = walletReturnCanteenPriceSum.add(BigDecimal.valueOf(v.getWalletReturnCanteenPrice())); - v.setWalletReturnCanteenPrice(BigDecimal.valueOf(v.getWalletReturnCanteenPrice()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); - } - if (ObjectUtil.isNotEmpty(v.getWalletReturnCanteenCount())) { - walletReturnCanteenCountSum = walletReturnCanteenCountSum.add(BigDecimal.valueOf(v.getWalletReturnCanteenCount())); - v.setWalletReturnCanteenCount(BigDecimal.valueOf(v.getWalletReturnCanteenCount()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); + walletReturnCanteenPriceSum = walletReturnCanteenPriceSum.add(v.getWalletReturnCanteenPrice()); + v.setWalletReturnCanteenPrice(v.getWalletReturnCanteenPrice().divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP)); } // 批量充值 map.put("walletPriceSum", walletPriceSum.divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).toString()); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java index 954dd9689..d657a0da1 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java @@ -515,10 +515,10 @@ public class HardAfterSaleServiceImpl extends ServiceImpl ObjectUtil.isNotEmpty(v.getIncrCount()) && v.getIncrCount() > 0).toList(); + }).filter(v -> ObjectUtil.isNotEmpty(v.getIncrCount()) && ObjectUtil.notEqual(v.getIncrCount(), 0.0)).toList(); dto.setItems(list); R updateSkuStockRes = supermarketSpuService.updateSpuStock(dto); if (updateSkuStockRes.getCode() != 0) { @@ -951,6 +949,44 @@ public class HardOrderServiceImpl extends ServiceImpl list = carList.stream().map(v -> { + SkuStockChangeDTO.Item item = new SkuStockChangeDTO.Item(); + item.setId(v.getProductId()); + if (ObjectUtil.isNotEmpty(v.getProductCount()) && !ObjectUtil.equals(v.getProductCount(), 0)) { + // 按数量 + int prouctCount = v.getProductCount(); + // 如果退款购物车数组里有,就用退款购物车的数量 + if (ObjectUtil.isNotEmpty(refundCarList)) { + HardCarEntity refundCarTarget = refundCarList.stream().filter(i -> ObjectUtil.equals(i.getProductId(), v.getProductId())).findFirst().orElse(null); + if (ObjectUtil.isNotEmpty(refundCarTarget) && ObjectUtil.isNotEmpty(refundCarTarget.getProductCount())) { + prouctCount = refundCarTarget.getProductCount(); + } + } + double count = BigDecimal.valueOf(prouctCount).multiply(BigDecimal.valueOf(base)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + item.setIncrCount(count); + } else if (ObjectUtil.isNotEmpty(v.getProductWeight()) && v.getProductWeight().compareTo(BigDecimal.valueOf(0)) != 0) { + // 按重量 + BigDecimal productWeight = v.getProductWeight(); + // 如果退款购物车数组里有,就用退款购物车的数量 + if (ObjectUtil.isNotEmpty(refundCarList)) { + HardCarEntity refundCarTarget = refundCarList.stream().filter(i -> ObjectUtil.equals(i.getProductId(), v.getProductId())).findFirst().orElse(null); + if (ObjectUtil.isNotEmpty(refundCarTarget) && ObjectUtil.isNotEmpty(refundCarTarget.getProductCount())) { + productWeight = refundCarTarget.getProductWeight(); + } + } + double weight = productWeight.multiply(BigDecimal.valueOf(base)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + item.setIncrCount(weight); + } + return item; + }).filter(v -> ObjectUtil.isNotEmpty(v.getIncrCount()) && ObjectUtil.notEqual(v.getIncrCount(), 0.0)).toList(); + dto.setItems(list); + R updateSkuStockRes = remoteShopSkuService.deductStock(dto); + if (updateSkuStockRes.getCode() != 0) { + log.info("|{}|{},失败,order:|{}|,isReduce:|{}|,params:|{}|", TAG, CarErrorMsg, JSON.toJSON(order), isReduce, JSON.toJSON(dto)); + throw new RuntimeException(CarErrorMsg + "错误"); + } + log.info("|{}|{},成功,order:|{}|,isReduce:|{}|,params:|{}|", TAG, CarErrorMsg, JSON.toJSON(order), isReduce, JSON.toJSON(dto)); return; } } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java index 4a6304e53..173154fbc 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java @@ -472,13 +472,12 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { for (HardDeptTotalVo v : resultList) { if (ObjectUtil.isNotEmpty(walletBatchList)) { walletBatchList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { - v.setWalletPrice(i.getSum()); + v.setWalletPrice(BigDecimal.valueOf(i.getSum())); v.setWalletCount(i.getCount()); }); } if (ObjectUtil.isNotEmpty(walletReduceList)) { walletReduceList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { - // v.setWalletReducePrice(i.getSum()); v.setWalletReducePrice(Math.abs(i.getSum())); v.setWalletReduceCount(i.getCount()); }); @@ -486,32 +485,31 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { // 退还各自食堂 if (ObjectUtil.isNotEmpty(walletRetrunCanteenList)) { walletRetrunCanteenList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { - v.setWalletReturnCanteenPrice(Math.abs(i.getSum())); + v.setWalletReturnCanteenPrice(BigDecimal.valueOf(Math.abs(i.getSum()))); v.setWalletReturnCanteenCount(i.getCount()); }); } if (ObjectUtil.isNotEmpty(walletOnceBatchList)) { walletOnceBatchList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { - v.setWalletOncePrice(i.getSum()); + v.setWalletOncePrice(BigDecimal.valueOf(i.getSum())); v.setWalletOnceCount(i.getCount()); }); } if (ObjectUtil.isNotEmpty(walletOnceReduceList)) { walletOnceReduceList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { - // v.setWalletOnceReducePrice(i.getSum()); - v.setWalletOnceReducePrice(Math.abs(i.getSum())); + v.setWalletOnceReducePrice(BigDecimal.valueOf(Math.abs(i.getSum()))); v.setWalletOnceReduceCount(i.getCount()); }); } if (ObjectUtil.isNotEmpty(payList)) { payList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { - v.setOrderPayPrice(i.getSum()); + v.setOrderPayPrice(BigDecimal.valueOf(i.getSum())); v.setOrderPayCount(i.getCount()); }); } if (ObjectUtil.isNotEmpty(refundList)) { refundList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { - v.setOrderRefundPrice(i.getSum()); + v.setOrderRefundPrice(BigDecimal.valueOf(i.getSum())); v.setOrderRefundCont(i.getCount()); }); } @@ -520,7 +518,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { for (HardDeptTotalVo v : resultList) { // 流水金额 if (ObjectUtil.isNotEmpty(v.getOrderPayPrice())) { - v.setOrderProfitPrice(v.getOrderPayPrice() - v.getOrderRefundPrice()); + v.setOrderProfitPrice(v.getOrderPayPrice().subtract(v.getOrderRefundPrice())); } // 流水次数 if (ObjectUtil.isNotEmpty(v.getOrderPayCount())) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/部门交易金额汇总.xlsx b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/部门交易金额汇总.xlsx index 8901e6a61f1b891aaf8a2e2b3ff36114a92180fa..a3b211e9c619195faf68b8242cb2efcc901752da 100644 GIT binary patch delta 3378 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 delta 3110 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 diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletTransactionController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletTransactionController.java index 6f6cbd941..5c79e3515 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletTransactionController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletTransactionController.java @@ -145,6 +145,13 @@ public class WalletTransactionController { return R.ok(walletTransactionService.scopePageList(page, dto, dataScope)); } + @Operation(summary = "分页查询复杂查询(无权限)", description = "分页查询复杂查询(无权限)") + @GetMapping("/public/page-join") + public R publicPageJoin(@ParameterObject Page page, @ParameterObject WalletTransactionDto dto) { + return R.ok(walletTransactionService.scopePageList(page, dto, null)); + } + + @Operation(summary = "通过id查询", description = "通过id查询") @GetMapping("/{id}") @PreAuthorize("@pms.hasPermission('wallet_walletTransaction_view')") From c2d52f9c03877aa2d8ea151e22fd7b1667bdbf62 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 1 Sep 2025 15:25:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=E6=89=AB=E4=B8=80=E6=89=AB=E7=9A=84?= =?UTF-8?q?=E9=80=80=E6=AC=BE(=E6=B2=A1=E6=9C=89=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6=E7=9A=84=E9=80=80=E6=AC=BE)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/800pjcloudx_hardware.sql | 1 + .../constant/order/HardOrderStatusEnum.java | 2 +- .../api/constant/order/HardPayTypeEnum.java | 5 ++ .../controller/order/HardCarController.java | 6 +- .../impl/order/HardAfterSaleServiceImpl.java | 64 ++++++++++++------- 5 files changed, 49 insertions(+), 29 deletions(-) diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index f72ad8d0e..cd04b8c58 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -233,6 +233,7 @@ CREATE TABLE hard_after_sale_car product_name varchar(128) NOT NULL COMMENT '商品名', product_pic varchar(256) NOT NULL COMMENT '商品图片', product_price bigint NOT NULL COMMENT '商品价格', + product_nature varchar(64) DEFAULT NULL COMMENT '商品性质', product_count int NOT NULL COMMENT '数量', product_weight decimal(10, 2) COMMENT '重量', total_price bigint COMMENT '总价(分)', diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java index f4a70ed82..742a76838 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java @@ -45,7 +45,7 @@ public enum HardOrderStatusEnum { ); } - public static HardOrderStatusEnum valueOfByType(Integer type) { + public static HardOrderStatusEnum valueOfByType(String type) { if (ObjectUtil.isEmpty(type)) return null; return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get(); } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardPayTypeEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardPayTypeEnum.java index 20d56f2b4..07d252638 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardPayTypeEnum.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardPayTypeEnum.java @@ -68,6 +68,11 @@ public enum HardPayTypeEnum { CSXFK ); + // 简单支付(没有购物车) + public static final List isSimplePayList = List.of( + WALLET_QR_CODE_SCAN + ); + public static HardPayTypeEnum valueOfByType(String type) { if (ObjectUtil.isEmpty(type)) return null; return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get(); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java index 933598f32..3c9263f94 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java @@ -81,11 +81,9 @@ public class HardCarController { @GetMapping("/order-id") @Operation(summary = "根据订单id查询购物车") public R> orderId(@ParameterObject Page page, @RequestParam Long orderId) { - if (ObjectUtil.isEmpty(orderId)) { - R.ok(null); - } + if (ObjectUtil.isEmpty(orderId)) R.ok(null); HardOrderEntity order = hardOrderService.getById(orderId); - if (ObjectUtil.isEmpty(order) || ObjectUtil.isEmpty(order.getParentCarId())) return null; + if (ObjectUtil.isEmpty(order) || ObjectUtil.isEmpty(order.getParentCarId())) return R.ok(null); HardCarDto dto = new HardCarDto(); dto.setParentCarId(order.getParentCarId()); return R.ok(hardCarService.pageJoin(page, dto)); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java index d657a0da1..246cf0248 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java @@ -528,26 +528,38 @@ public class HardAfterSaleServiceImpl extends ServiceImpl computerCarList = dto.getCarList().stream().map((item) -> { - HardCreateCarDto entity = new HardCreateCarDto(); - entity.setParentCarId(item.getParentCarId()); - entity.setProductId(item.getProductId()); - entity.setProductNature(HardProductNatureEnum.valueOfByType(item.getProductNature())); - entity.setProductCount(item.getProductCount()); - entity.setProductWeight(item.getProductWeight()); - return entity; - }).toList(); - int refundPrice = hardCarService.computerCarTotalPrice(HardTypeEnum.valueOfByType(order.getSysType()), HardOrderTypeEnum.valueOfByType(order.getOrderType()), computerCarList); + int refundPrice = order.getPayPrice(); + if (!isSimplePayList) { + List computerCarList = dto.getCarList().stream().map((item) -> { + HardCreateCarDto entity = new HardCreateCarDto(); + entity.setParentCarId(item.getParentCarId()); + entity.setProductId(item.getProductId()); + entity.setProductNature(HardProductNatureEnum.valueOfByType(item.getProductNature())); + entity.setProductCount(item.getProductCount()); + entity.setProductWeight(item.getProductWeight()); + return entity; + }).toList(); + refundPrice = hardCarService.computerCarTotalPrice(HardTypeEnum.valueOfByType(order.getSysType()), HardOrderTypeEnum.valueOfByType(order.getOrderType()), computerCarList); + } saveObj.setType(HardSaleTypeEnum.AFTER_SALE.getType()); saveObj.setStatus(HardSaleStatusEnum.COMPLETE.getStatus()); @@ -560,7 +572,9 @@ public class HardAfterSaleServiceImpl extends ServiceImpl carList = dto.getCarList().stream().map((item) -> + HardCarEntity.builder() + .productId(item.getProductId()) + .productCount(item.getProductCount()) + .productWeight(item.getProductWeight()) + .productNature(item.getProductName()) + .build() + ).toList(); + hardOrderService.fastenerInventory(order, carList, YesNoEnum.NO); + } // 执行退款 getSelf().refund(saveObj.getId()); - // 退库存 - List carList = dto.getCarList().stream().map((item) -> - HardCarEntity.builder() - .productId(item.getProductId()) - .productCount(item.getProductCount()) - .productWeight(item.getProductWeight()) - .productNature(item.getProductName()) - .build() - ).toList(); - hardOrderService.fastenerInventory(order, carList, YesNoEnum.NO); return true; } From 169edc5fd315741d6302c617020ff2d0382378d2 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 1 Sep 2025 19:28:45 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat:=E6=AD=A3=E5=85=83=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/order/HardAfterSaleController.java | 5 ++--- .../wallet/controller/mch/MchManageController.java | 4 ++-- .../pjcloud/wallet/service/MchManageService.java | 4 ++-- .../service/impl/WalletActiveServiceImpl.java | 2 +- .../service/impl/WalletManageServiceImpl.java | 4 ++-- .../service/impl/mch/MchDeptServiceImpl.java | 2 +- .../service/impl/mch/MchManageServiceImpl.java | 14 ++++++++------ .../impl/thrid/WalletThirdZyServiceImpl.java | 4 ++-- 8 files changed, 20 insertions(+), 19 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java index dcfb53d39..871f3a172 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java @@ -23,7 +23,6 @@ import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -106,7 +105,7 @@ public class HardAfterSaleController { @PostMapping(value = "/admin-refund") @Operation(summary = "后台退款") - @Idempotent(expireTime = 10, info = "正在退款中,请勿重复操作") + @Idempotent(expireTime = 5, info = "正在退款中,请勿重复操作") @PreAuthorize("@pms.hasPermission('hard_hardAfterSale_adminRefund')") public R adminRefund(@RequestBody HardAdminRefundDto dto) { PjcloudUser user = SecurityUtils.getUser(); @@ -115,7 +114,7 @@ public class HardAfterSaleController { @PostMapping(value = "/admin-reinforce-refund") @Operation(summary = "后台强化退款") - @Idempotent(expireTime = 10, info = "正在退款中,请勿重复操作") + @Idempotent(expireTime = 5, info = "正在退款中,请勿重复操作") @PreAuthorize("@pms.hasPermission('hard_hardAfterSale_adminRefund')") public R adminReinforceRefund(@RequestBody HardAdminRefundReinforceDto dto) { PjcloudUser user = SecurityUtils.getUser(); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java index 1a8662974..d96f46247 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java @@ -107,7 +107,7 @@ public class MchManageController { @Inner @GetMapping("/get-first-mch") public R getFirstMch(@RequestParam List deptIds, @RequestParam MerchantTypeEnum mchType) { - MchManageVo mchManage = mchManageService.getFirstMch(deptIds, mchType); + MchManageVo mchManage = mchManageService.getFirstMch(deptIds, List.of(mchType)); if (ObjectUtil.isEmpty(mchManage)) return R.failed("商户不存在"); return R.ok(mchManage); } @@ -115,7 +115,7 @@ public class MchManageController { @Inner @GetMapping("/get-first-mch-by-dept-id") public R getFirstMchByDeptId(@RequestParam Long deptId, @RequestParam MerchantTypeEnum mchType) { - MchManageVo mchManage = mchManageService.getFirstMchByDeptId(deptId, mchType); + MchManageVo mchManage = mchManageService.getFirstMchByDeptId(deptId, List.of(mchType)); if (ObjectUtil.isEmpty(mchManage)) return R.failed("商户不存在"); return R.ok(mchManage); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java index c758cb761..1350069d0 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java @@ -37,9 +37,9 @@ public interface MchManageService extends IService { MchManageVo getByDeptId(Long deptId, MerchantTypeEnum type); - MchManageVo getFirstMch(List deptIds, MerchantTypeEnum mchType); + MchManageVo getFirstMch(List deptIds, List mchTypeList); - MchManageVo getFirstMchByDeptId(Long deptId, MerchantTypeEnum mchType); + MchManageVo getFirstMchByDeptId(Long deptId, List mchTypeList); /** * 刷新商户二维码 diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletActiveServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletActiveServiceImpl.java index 07553d851..611791588 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletActiveServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletActiveServiceImpl.java @@ -160,7 +160,7 @@ public class WalletActiveServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper() .isNull(WalletActiveEntity::getUserId) diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java index 0759bbd0b..122145ffa 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java @@ -489,7 +489,7 @@ public class WalletManageServiceImpl extends ServiceImpl() .set(WalletActiveEntity::getMerchantId, mch.getId()) @@ -552,7 +552,7 @@ public class WalletManageServiceImpl extends ServiceImpl userIds = list.stream().map(WalletManageVo::getUserId).distinct().toList(); - R> userList = userService.getUserById(new ArrayList<>(userIds)); + R> userList = userService.getInnerUserById(new ArrayList<>(userIds)); if (ObjectUtil.isNotEmpty(userList.getData())) { DataUtil.convertUserList(list, CollectionUtils.convertMap(userList.getData(), SysUser::getUserId)); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchDeptServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchDeptServiceImpl.java index f47a06fb9..cf84ebb1a 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchDeptServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchDeptServiceImpl.java @@ -58,7 +58,7 @@ public class MchDeptServiceImpl extends ServiceImpl deptIds, MerchantTypeEnum mchType) { + public MchManageVo getFirstMch(List deptIds, List mchTypeList) { + List mchTypeStrList = mchTypeList.stream().map(MerchantTypeEnum::getType).toList(); + List merchantList = baseMapper.selectList(new LambdaQueryWrapper() - .eq(ObjectUtil.isNotEmpty(mchType), MchManageEntity::getTypes, mchType.getType()) + .in(ObjectUtil.isNotEmpty(mchTypeList), MchManageEntity::getTypes, mchTypeStrList) ); if (ObjectUtil.isEmpty(merchantList)) return null; for (Long id : deptIds) { for (MchManageEntity merchant : merchantList) { if (ObjectUtil.equals(merchant.getDeptId(), id)) { - if (ObjectUtil.isNotEmpty(mchType)) { - if (ObjectUtil.equals(merchant.getTypes(), mchType.getType())) { + if (ObjectUtil.isNotEmpty(mchTypeStrList)) { + if (mchTypeStrList.contains(merchant.getTypes())) { return BeanUtils.toBean(merchant, MchManageVo.class); } } else { @@ -300,13 +302,13 @@ public class MchManageServiceImpl extends ServiceImpl mchTypeList) { List parentDeptIdList = remoteDeptService.getParentDeptList(deptId).getData(); if (ObjectUtil.isEmpty(parentDeptIdList)) { return null; } List deptIds = parentDeptIdList.stream().map(SysDept::getDeptId).toList(); - return getFirstMch(deptIds, mchType); + return getFirstMch(deptIds, mchTypeList); } /** diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java index 913e279d5..110fe12d3 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java @@ -116,7 +116,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { public void syncAllDept(Long deptId, Boolean isDel) { MchManageDto dto = new MchManageDto(); if (ObjectUtil.isNotEmpty(deptId)) { - MchManageVo mchManageVo = mchManageService.getFirstMchByDeptId(deptId, MerchantTypeEnum.CANTEEN); + MchManageVo mchManageVo = mchManageService.getFirstMchByDeptId(deptId, List.of(MerchantTypeEnum.OTHER_CANTEEN, MerchantTypeEnum.CANTEEN)); if (ObjectUtil.isNotEmpty(mchManageVo)) { dto.setDeptId(mchManageVo.getDeptId()); } @@ -269,7 +269,7 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { log.error("|{}|syncAllUserGroup用户没有自动创建钱包权限|{}|", TAG, JSONUtil.toJsonStr(v)); continue; } - MchManageVo mch = mchManageService.getFirstMchByDeptId(v.getDeptId(), MerchantTypeEnum.CANTEEN); + MchManageVo mch = mchManageService.getFirstMchByDeptId(v.getDeptId(), List.of(MerchantTypeEnum.OTHER_CANTEEN, MerchantTypeEnum.CANTEEN)); // 查询是在商户下 if (ObjectUtil.isEmpty(mch)) { log.error("|{}|syncAllUserGroup用户部门商户id为空WalletManageVo|{}|", TAG, JSONUtil.toJsonStr(v));