From 8b0df2572eecbccddeff03ec1bc8fe20db0826b2 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 18 Jun 2025 17:03:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=80=80=E6=8D=A2=E5=90=84=E8=87=AA?= =?UTF-8?q?=E9=A3=9F=E5=A0=82=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/HardOrderTotalController.java | 16 ++++++ .../impl/third/HardThirdPayServiceImpl.java | 1 + .../main/resources/file/部门交易金额汇总.xlsx | Bin 10306 -> 10403 bytes .../java/com/bsd/pjcloud/admin/PayTest.java | 46 +++++++++++++----- .../vo/transaction/WalletTransactionVo.java | 8 +-- .../WalletTransactionController.java | 20 ++++++++ .../mapper/WalletTransactionMapper.java | 2 + .../service/WalletTransactionService.java | 5 ++ .../impl/WalletTransactionServiceImpl.java | 10 ++++ .../mapper/WalletTransactionMapper.xml | 46 ++++++++++++++++++ 10 files changed, 139 insertions(+), 15 deletions(-) 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 a94a150d..4ca52ffe 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 @@ -417,6 +417,9 @@ public class HardOrderTotalController { // 盈利 BigDecimal orderProfitPriceSum = BigDecimal.ZERO; BigDecimal orderProfitContSum = BigDecimal.ZERO; + // 退还各自食堂金额 + BigDecimal walletReturnCanteenPriceSum = BigDecimal.ZERO; + BigDecimal walletReturnCanteenCountSum = BigDecimal.ZERO; Long lineNumber = 1L; for (HardDeptTotalVo v : list) { @@ -485,6 +488,15 @@ public class HardOrderTotalController { orderProfitContSum = orderProfitContSum.add(BigDecimal.valueOf(v.getOrderProfitCont())); v.setOrderProfitCont(BigDecimal.valueOf(v.getOrderProfitCont()).divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).longValue()); } + // 退还各自食堂金额 + 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()); + } // 批量充值 map.put("walletPriceSum", walletPriceSum.divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).toString()); map.put("walletCountSum", walletCountSum.toString()); @@ -506,6 +518,10 @@ public class HardOrderTotalController { map.put("orderProfitPriceSum", orderProfitPriceSum.divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).toString()); map.put("orderProfitContSum", orderProfitContSum.toString()); + + // 退还各自食堂金额 + map.put("walletReturnCanteenPriceSum", walletReturnCanteenPriceSum.divide(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).toString()); + map.put("walletReturnCanteenCountSum", walletReturnCanteenCountSum.toString()); } } excelWriter.fill(map, writeSheet); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/third/HardThirdPayServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/third/HardThirdPayServiceImpl.java index 3123c354..3fe30e23 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/third/HardThirdPayServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/third/HardThirdPayServiceImpl.java @@ -247,6 +247,7 @@ public class HardThirdPayServiceImpl implements HardThirdPayService { refundVo.setThirdRefundId(dto.getThirdRefundId()); refundVo.setPlatformOrderId(dto.getPlatformOrderId()); refundVo.setPlatformRefundId(String.valueOf(saveObj.getId())); + refundVo.setPrice(dto.getPrice()); baseVo.set(ThirdPayVoStatusEnum.SUCCESS); baseVo.setData(refundVo); return baseVo; 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 923260b8fc9c9ec5ef0d688296e953c47f01c4ce..8901e6a61f1b891aaf8a2e2b3ff36114a92180fa 100644 GIT binary patch delta 2961 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 delta 2898 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 VpR^JP(0|FeXM*(PaM paramsMap = new HashMap<>(); - paramsMap.put("signPhone", LbRetailSignUtils.sm4Encrypt("17683843141", config.getFieldKey())); + paramsMap.put("signPhone", LbRetailSignUtils.sm4Encrypt("17683843144", appM4KeyProd)); // paramsMap.put("signPhone", "8KKubCKESDN5TlUl3i0HaQ=="); paramsMap.put("userId", 1875049673022279681L); String body = JSONUtil.toJsonStr(paramsMap); // 发送请求 - String res = HttpRequest.post(baseUrl + walletInfoUrl).contentType("application/json").header(apiCountersign(body)).body(body).execute().body(); + String res = HttpRequest.post(baseUrl + walletInfoUrl).contentType("application/json").header(apiCountersignProd(body)).body(body).execute().body(); PayBaseVo baseVo = JSONUtil.toBean(res, PayBaseVo.class); if (ObjectUtil.isNotEmpty(baseVo)) { PayWalletInfoVo walletInfo = JSONUtil.toBean(String.valueOf(baseVo.getData()), PayWalletInfoVo.class); @@ -86,7 +89,7 @@ public class PayTest { paramsMap.put("products", null); String body = JSONUtil.toJsonStr(paramsMap); // 发送请求 - String res = HttpRequest.post(baseUrl + walletPayUrl).contentType("application/json").header(apiCountersign(body)).body(body).execute().body(); + String res = HttpRequest.post(baseUrl + walletPayUrl).contentType("application/json").header(apiCountersignProd(body)).body(body).execute().body(); log.info(res); } @@ -112,7 +115,7 @@ public class PayTest { paramsMap.put("products", carList); String body = JSONUtil.toJsonStr(paramsMap); // 发送请求 - String res = HttpRequest.post(baseUrl + walletPayUrl).contentType("application/json").header(apiCountersign(body)).body(body).execute().body(); + String res = HttpRequest.post(baseUrl + walletPayUrl).contentType("application/json").header(apiCountersignDev(body)).body(body).execute().body(); log.info(res); } @@ -121,12 +124,12 @@ public class PayTest { public void walletRefund() throws Exception { ThirdKeyManageEntity config = getLbConfig(); Map paramsMap = new HashMap<>(); - paramsMap.put("platformOrderId", "1928337501121765377"); + paramsMap.put("platformOrderId", "1935235239046193154"); paramsMap.put("thirdRefundId", System.currentTimeMillis()); - paramsMap.put("price", "300"); + paramsMap.put("price", "100"); String body = JSONUtil.toJsonStr(paramsMap); // 发送请求 - String res = HttpRequest.post(baseUrl + walletRefundUrl).contentType("application/json").header(apiCountersign(body)).body(body).execute().body(); + String res = HttpRequest.post(baseUrl + walletRefundUrl).contentType("application/json").header(apiCountersignProd(body)).body(body).execute().body(); log.info(res); } @@ -145,7 +148,7 @@ public class PayTest { paramsMap.put("orderStatus", "10"); String body = JSONUtil.toJsonStr(paramsMap); // 发送请求 - String res = HttpRequest.post(baseUrl + waterUrl).contentType("application/json").header(apiCountersign(body)).body(body).execute().body(); + String res = HttpRequest.post(baseUrl + waterUrl).contentType("application/json").header(apiCountersignProd(body)).body(body).execute().body(); log.info(res); } @@ -154,11 +157,11 @@ public class PayTest { public void detail() throws Exception { ThirdKeyManageEntity config = getLbConfig(); Map paramsMap = new HashMap<>(); - paramsMap.put("thirdOrderId", "1748586470745"); + paramsMap.put("thirdOrderId", "1750231010188"); paramsMap.put("thirdRefundId", ""); String body = JSONUtil.toJsonStr(paramsMap); // 发送请求 - String res = HttpRequest.post(baseUrl + detailUrl).contentType("application/json").header(apiCountersign(body)).body(body).execute().body(); + String res = HttpRequest.post(baseUrl + detailUrl).contentType("application/json").header(apiCountersignProd(body)).body(body).execute().body(); log.info(res); } @@ -173,7 +176,26 @@ public class PayTest { return keyManageService.get(ThirdKeyTypeEnum.LB); } - private Map> apiCountersign(String body) { + private Map> apiCountersignProd(String body) { + ThirdKeyManageEntity config = getLbConfig(); + + String appKey = "CRLAacqYWSpKMHqO"; + String appSecret = "kwziFRmR5vnxpLpn4JhzLtoKyzsThCLi"; + + String timestamp = String.valueOf(Instant.now().getEpochSecond()); + + Map> headers = new HashMap<>(); + headers.put("timestamp", List.of(timestamp)); + headers.put("app-key", List.of(appKey)); + headers.put("biz-type", List.of(config.getBizType())); + headers.put("sign", List.of()); + String signStr = String.format("%s%s%s%s%s", appKey, appSecret, config.getBizType(), timestamp, body); + String successSignMd5 = DigestUtils.md5Hex(signStr); + headers.put("sign", List.of(successSignMd5)); + return headers; + } + + private Map> apiCountersignDev(String body) { ThirdKeyManageEntity config = getLbConfig(); diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/transaction/WalletTransactionVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/transaction/WalletTransactionVo.java index 64fea753..51e6c6b6 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/transaction/WalletTransactionVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/transaction/WalletTransactionVo.java @@ -20,7 +20,6 @@ public class WalletTransactionVo extends WalletTransactionEntity implements Base /** * 用户相关 */ - private Long userId; private String username; @@ -32,7 +31,6 @@ public class WalletTransactionVo extends WalletTransactionEntity implements Base /** * 部门相关 */ - private Long deptId; private String deptName; @@ -40,7 +38,6 @@ public class WalletTransactionVo extends WalletTransactionEntity implements Base /** * 钱包相关 */ - private Long walletId; private String walletCardNumber; @@ -99,4 +96,9 @@ public class WalletTransactionVo extends WalletTransactionEntity implements Base */ private Long lineNumber; + + /** + * 审批相关 + */ + private String processId; } 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 f07c6b76..7c1eeb08 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 @@ -127,6 +127,16 @@ public class WalletTransactionController { return R.ok(walletTransactionService.scopePageList(page, dto, dataScope)); } + @Operation(summary = "后台退还各自食堂记录", description = "后台退还各自食堂记录") + @PostMapping("/page-th") + public R pageTh(@ParameterObject Page page, @RequestBody WalletTransactionDto dto) { + dto.setBizTypes(List.of(WalletBizEnum.RETURN_CANTEEN.getCode())); + dto.setIsFindOrder(false); + DataScope dataScope = new DataScope(); + return R.ok(walletTransactionService.scopePageList(page, dto, dataScope)); + } + + @Operation(summary = "分页查询复杂查询", description = "分页查询复杂查询") @GetMapping("/page-join") // TODO 这个比较公用先不加权限 @@ -206,4 +216,14 @@ public class WalletTransactionController { List list = walletTransactionService.scopeList(dto, DataScope.of()); walletTransactionService.exportByTemplate(response, dto, "file/个人退款明细.xlsx", list); } + + @Operation(summary = "后台退还各自食堂记录导出", description = "后台退还各自食堂记录导出") + @PostMapping("/export-th") + @PreAuthorize("@pms.hasPermission('wallet_walletTransaction_export')") + public void exportTh(HttpServletResponse response, @RequestBody WalletTransactionDto dto) { + dto.setBizTypes(List.of(WalletBizEnum.RETURN_CANTEEN.getCode())); + dto.setIsFindOrder(false); + List list = walletTransactionService.scopeList(dto, DataScope.of()); + walletTransactionService.exportByTemplate(response, dto, "file/退还各自食堂明细.xlsx", list); + } } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletTransactionMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletTransactionMapper.java index dcb2c041..b124fe95 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletTransactionMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletTransactionMapper.java @@ -99,6 +99,8 @@ public interface WalletTransactionMapper extends PjcloudBaseMapper scopeJzPageList(Page page, @Param("dto") WalletTransactionDto dto, DataScope dataScope); + Integer getTransactionPriceCount(@Param("month") String importTimeStr, @Param("walletId") Long walletId, @Param("bizType") String bizType); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletTransactionService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletTransactionService.java index adb8f035..62ceb1eb 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletTransactionService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletTransactionService.java @@ -16,6 +16,11 @@ public interface WalletTransactionService extends IService scopePageList(Page page, WalletTransactionDto dto, DataScope dataScope); + /** + * 记账列表 + */ + Page scopeJzPageList(Page page, WalletTransactionDto dto, DataScope dataScope); + List scopeList(WalletTransactionDto dto, DataScope dataScope); /** diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java index e9efadd6..528cb48d 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java @@ -179,6 +179,16 @@ public class WalletTransactionServiceImpl extends ServiceImpl scopeJzPageList(Page page, WalletTransactionDto dto, DataScope dataScope) { + Page list = baseMapper.scopeJzPageList(page, dto, dataScope); + disposeList(list.getRecords(), dto); + return list; + } + @Override public List scopeList(WalletTransactionDto dto, DataScope dataScope) { List list = baseMapper.scopeList(dto, dataScope); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletTransactionMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletTransactionMapper.xml index 8379e5bf..e2e3700e 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletTransactionMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletTransactionMapper.xml @@ -13,11 +13,57 @@ + select a.id, + a.wallet_id, + a.user_id, + a.dept_id, + a.biz_type, + a.biz_id, + a.title, + a.price, + a.balance, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.del_flag, + a.tenant_id, + a.del_flag = '0' + + and a.wallet_id = #{dto.walletId} + + + and a.user_id = #{dto.userId} + + + and a.biz_id = #{dto.bizId} + + + and a.biz_type = #{dto.bizType} + + + and a.price > 0 + + + and a.price < 0 + + +