From e6fa0149e0c8690efc9c444650c6ef82f04ba54b Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 14 一月 2025 19:38:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java | 2 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java | 6 ++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java | 37 +++++++++++++++++- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java | 6 ++ ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java | 6 ++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassListVo.java | 20 ++++++++++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java | 4 + ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 4 +- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java | 33 +++++++++++++++- 10 files changed, 106 insertions(+), 14 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java index c0a2a59..97a1805 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java @@ -74,9 +74,13 @@ @TableField("audit_status") private Integer auditStatus; - @ApiModelProperty(value = "状态(1=处理中,2=成功)") + @ApiModelProperty(value = "状态(1=处理中,2=成功,3=失败)") @TableField("status") private Integer status; + + @ApiModelProperty(value = "处理结果") + @TableField("remark") + private String remark; @ApiModelProperty(value = "到账时间") @TableField("arrival_time") diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java index 8795234..6bda5f6 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java @@ -59,10 +59,14 @@ @TableField("audit_msg") private String auditMsg; - @ApiModelProperty(value = "状态(1=申请中,2=已到账)") + @ApiModelProperty(value = "状态(1=申请中,2=已到账,3=失败)") @TableField("status") private Integer status; + @ApiModelProperty(value = "处理结果") + @TableField("remark") + private String remark; + @ApiModelProperty(value = "到账时间") @TableField("arrival_time") private LocalDateTime arrivalTime; diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java index 0bca4b0..1d24df4 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java @@ -98,7 +98,9 @@ List<Goods> data1 = goodsClient.getAllGoods().getData(); List<String> collect = data1.stream().map(Goods::getName).collect(Collectors.toList()); goodNames.addAll(collect); - }else{ + }else if(StringUtils.isEmpty(data.getForGoodIds())){ + goodNames.addAll(JSON.parseArray(data.getGoodsNameJson(), String.class)); + }else { String[] split = vo.getForGoodIds().split(","); R<List<Goods>> goodsById = goodsClient.getGoodsById(split); if (goodsById.getData()!=null){ diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java index bea2770..c792884 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java @@ -158,9 +158,9 @@ @PostMapping("/withdrawalCallback") public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){ Integer status = singlePayCallbackResult.getStatus(); + String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); + WithdrawalRequests withdrawalRequests = withdrawalRequestsService.getById(merchantOrderNo); if(203 == status || 205 == status){ - String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); - WithdrawalRequests withdrawalRequests = withdrawalRequestsService.getById(merchantOrderNo); if(1 == withdrawalRequests.getStatus()){ withdrawalRequests.setStatus(2); withdrawalRequests.setArrivalTime(LocalDateTime.now()); @@ -169,8 +169,39 @@ JSONObject jsonObject = new JSONObject(); jsonObject.put("statusCode", 2001); return jsonObject; + }else{ + //回退扣除的金额,添加明细记录 + //修改用户的可提现金额 + BigDecimal withdrawalAmount = withdrawalRequests.getWithdrawalAmount(); + AppUser appUser = appUserService.getById(withdrawalRequests.getAppUserId()); + BigDecimal withdrawableAmount = appUser.getWithdrawableAmount(); + BigDecimal withdrawnAmount = appUser.getWithdrawnAmount(); + BigDecimal balance = appUser.getBalance(); + appUser.setWithdrawableAmount(withdrawableAmount.add(withdrawalAmount).setScale(2, RoundingMode.HALF_EVEN)); + appUser.setWithdrawnAmount(withdrawnAmount.subtract(withdrawalAmount).setScale(2, RoundingMode.HALF_EVEN)); + appUser.setBalance(appUser.getBalance().add(withdrawalAmount).setScale(2, RoundingMode.HALF_EVEN)); + appUserService.updateById(appUser); + //添加变动明细 + BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord(); + balanceChangeRecord.setAppUserId(appUser.getId()); + balanceChangeRecord.setVipId(appUser.getVipId()); + balanceChangeRecord.setOrderId(withdrawalRequests.getId()); + balanceChangeRecord.setChangeType(2); + balanceChangeRecord.setBeforeAmount(balance); + balanceChangeRecord.setChangeAmount(withdrawalAmount); + balanceChangeRecord.setAfterAmount(appUser.getBalance()); + balanceChangeRecord.setDelFlag(0); + balanceChangeRecord.setCreateTime(LocalDateTime.now()); + balanceChangeRecordService.save(balanceChangeRecord); + + withdrawalRequests.setStatus(3); + withdrawalRequests.setRemark(singlePayCallbackResult.getErrorCodeDesc()); + withdrawalRequestsService.updateById(withdrawalRequests); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("statusCode", 2001); + return jsonObject; } - return new JSONObject(); } } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java index fe38178..146fbb7 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java @@ -42,7 +42,7 @@ // 获取提现审核中的金额 List<WithdrawalRequests> waitAuditList = withdrawalRequestsService.list(new LambdaQueryWrapper<WithdrawalRequests>() .eq(WithdrawalRequests::getAppUserId, userId) - .eq(WithdrawalRequests::getAuditStatus, WithdrawalAuditStatus.WAIT_AUDIT)); + .eq(WithdrawalRequests::getAuditStatus, WithdrawalAuditStatus.WAIT_AUDIT.getCode())); BigDecimal reduce = waitAuditList.stream().map(WithdrawalRequests::getWithdrawalAmount).reduce(BigDecimal.ZERO, BigDecimal::add); WalletVO walletVO = new WalletVO(); walletVO.setWithdrawalAmount(appUser.getWithdrawableAmount()); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassListVo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassListVo.java index 2b9ea96..16b6c46 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassListVo.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassListVo.java @@ -22,4 +22,24 @@ private Integer refundMethod; @ApiModelProperty("售后状态(1待审核2已完成3已拒绝4待退货5待平台收货)") private Integer status; + + + private String orderNumber; + private String userName; + private Integer passStatus; + + public void setOrderNumber(String orderNumber) { + this.orderNumber = orderNumber; + this.setCode(orderNumber); + } + + public void setUserName(String userName) { + this.userName = userName; + this.setName(userName); + } + + public void setPassStatus(Integer passStatus) { + this.passStatus = passStatus; + this.setStatus(passStatus); + } } diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 4be8e48..70f2159 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -62,7 +62,7 @@ point, order_status as status, distribution_mode as distributionMode - from t_order where del_flag = 0 and pay_status = 2 and end_time is not null and distribution_mode != 2 + from t_order where del_flag = 0 and pay_status = 2 <if test="null != item.code and '' != item.code"> and order_number like CONCAT('%', #{item.code}, '%') </if> @@ -85,7 +85,7 @@ and order_status in (4, 8) </if> <if test="null != item.shopId"> - and shop_id = #{item.shopId} and address_json is null + and shop_id = #{item.shopId} and distribution_mode != 2 </if> order by create_time desc </select> diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java index b7ca926..0831a8d 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java @@ -149,10 +149,14 @@ SysUser sysUser = sysUserClient.getSysUser(userid).getData(); share.setAddType(sysUser.getRoleType() == 1 ? 1 : 3); share.setAppletShare(0); - share.setAuditStatus(ShareAuditStatus.SUCCESS.getCode()); if(sysUser.getRoleType() == 2){ share.setObjectId(sysUser.getObjectId().longValue()); } + if (sysUser.getRoleType() == 1){ + share.setAuditStatus(ShareAuditStatus.SUCCESS.getCode()); + }else{ + share.setAuditStatus(ShareAuditStatus.WAIT.getCode()); + } share.setDelFlag(0); shareService.save(share); return R.ok(); diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java index 31c9504..d564c72 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java @@ -270,7 +270,7 @@ if (!shopService.cheUserByPhone(phone)) { return R.fail("该手机号未注册"); } - if (shop.getPid()!=null){ + if (shop.getPid() != null && shop.getPid() != 0){ Shop shopP = shopService.getById(shop.getPid()); if (shopP.getPid()!=null&&shopP.getPid()!=0&& shopP.getPid().equals(shop.getId())){ return R.fail("门店之间不能互相作为上级门店"); diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java index be86361..ad93c40 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java @@ -263,9 +263,9 @@ @PostMapping("/withdrawalCallback") public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){ Integer status = singlePayCallbackResult.getStatus(); + String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); + ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo); if(203 == status || 205 == status){ - String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); - ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo); if(1 == shopWithdraw.getStatus()){ shopWithdraw.setStatus(2); shopWithdraw.setArrivalTime(LocalDateTime.now()); @@ -274,8 +274,35 @@ JSONObject jsonObject = new JSONObject(); jsonObject.put("statusCode", 2001); return jsonObject; + }else{ + //回退金额和添加变动明细 + Shop shop = shopService.getById(shopWithdraw.getShopId()); + BigDecimal balance = shop.getBalance(); + BigDecimal canWithdrawMoney = shop.getCanWithdrawMoney(); + BigDecimal withdrawMoney = shop.getWithdrawMoney(); + shop.setBalance(balance.add(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); + shop.setCanWithdrawMoney(canWithdrawMoney.add(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); + shop.setWithdrawMoney(withdrawMoney.subtract(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); + shopService.updateById(shop); + //添加门店变动明细 + ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); + shopBalanceStatement.setShopId(shop.getId()); + shopBalanceStatement.setType(4); + shopBalanceStatement.setHistoricalBalance(balance); + shopBalanceStatement.setVariableAmount(shopWithdraw.getMoney()); + shopBalanceStatement.setBalance(shop.getBalance()); + shopBalanceStatement.setCreateUserId(shopWithdraw.getAuditUserId()); + shopBalanceStatement.setCreateTime(LocalDateTime.now()); + shopBalanceStatement.setObjectId(shopWithdraw.getId()); + shopBalanceStatementService.save(shopBalanceStatement); + shopWithdraw.setStatus(3); + shopWithdraw.setRemark(singlePayCallbackResult.getErrorCodeDesc()); + shopWithdrawService.updateById(shopWithdraw); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("statusCode", 2001); + return jsonObject; } - return new JSONObject(); } } -- Gitblit v1.7.1